実践Linux
CentOS7        CentOS7 目次へ  TOP(HOME)へ


EC-CUBEでショッピング・サイト構築            2017年9月




当初、EC-CUBE ver.3.0.15 のインストールを試みましたが、インストール画面が正常に表示されませんでした。
CentOS 7.2.1511 ではeccube-3.0.15の要求するシステム要件を充たしていないのかもしれません。
そこで、EC-CUBE 2.13.5 に切り替えることにしました。

●EC-CUBE 2.13.5のダウンロード
EC-CUBE 公式サイト(http://www.ec-cube.net/)からプログラムファイルのダウンロード
「各バージョンダウンロード」から、Version 2.13.5(tar.gz)を選ぶ(.zipをダウンロード・解凍すると、linuxでは権限の問題があり面倒らしいので)。
ダウンロードしたtar.gzファイルを、/var/www/に移動し(覗かれないように/var/www/htmlの上の階層に置く)、解凍。
 # tar zxvf eccube-2.13.5.tar.gz

シンボリックリンクを作成
 # ln -s /var/www/eccube-2.13.5/html /var/www/html/myshop

●インストール準備
apache、phpデーターベース(mariadb)などは基本的な設定は終わっているものとする。(各項参照)

@PHPライブラリ(システム要件 https://www.ec-cube.net/product/system_213.php、https://server-setting.info/blog/lamp-eccube-centos.html)
必須ライブラリ
 pgsql又はmysql : php-mysql
 gd : php-gd
 freetype2 : phpに組み込まれている
 mbstring : php-mbstring
 zlib : php-common
 ctype : phpに組み込まれている
 spl (PHP 5.3.0 未満の場合) : PHP 5.4なので不要
 session : php-common

推奨ライブラリ
 JSON(PHP5.2以降でオーナーズストアを使用する場合は必須) : php-common
 xml(プラグイン機能を使用する場合は必須) : php-xml
 OpenSSL : php-common
 cURL : php-common
 hash : php-common
 mhash (PHP 5.3.0 未満の場合) : PHP 5.4なので不要
 mcrypt : php-mcrypt
 zip : php-common

# php -m でインストールされているライブラリの確認。
必須では、gd、mbstringがないことがわかる。
(# yum list installed | grep php 確認)
# yum list | grep php 確認
# yum install php-mbstring インストール
# yum install php-gd
httpdの再起動  # systemctl restart httpd

Aデータベースの準備(mariadb)
ここでは、データベースeccubeとそれに対する全権ユーザーeccubee@localhoを作成。
# mysql -uroot -p
パスワード
> create database eccube;
> grant all privileges on eccube.* to eccube@localhost IDENTIFIED BY 'パスワード';
> flush privileges;
> exit

●インストール
http://www.my-dom.xxx/myshop/に接続。
インストール画面になるので指示に従って進めていく。

サイトの設定
 店名 ****-shop
 メール ****@my-dom.xxx
 管理者 admin等
 パスワード ***********
管理機能の設定
 ディレクトリ admin等
 SSL制限
 IP制限
WEBサーバーの設定
 URL(通常) http://www.my-dom.xxx/myshop/
 URL(セキュア) http://www.my-dom.xxx/myshop/
データベースの設定  注意 ここでselinuxをoffにしないと、エラーがでる!
 種類 MySQL
 サーバー 127.0.0.1
 ポート 3306
 データベース eccube
 ユーザー eccube
 パスワード パスワード
データベースの初期化 テーブル類が作成される。

インストール後、/html/install/index.phpは必ず削除しておく。(どこからでも開くことができるので危険。)

管理画面
http://www.my-dom.xxx/myshop/admin/

ショップを見る
http://www.my-dom.xxx/myshop/



●selinux関係
しかしこのままでは、selinuxをoffにして運用するしかないことになる。
audit2allowコマンドを使って調査。
# audit2allow -a -l -m mylocal等で、すでにさまざまな表示が出てしまう場合は、auditdのログを新しくとりなおしたほうがよい。/var/log/audit/audit.logを削除するか退避させておいて、その上で、auditdを再起動=# service auditd restart。
・serviceコマンドは、auditdデーモンと正しく対話する唯一の方法です。auidの値が正しく記録されるように serviceコマンドを使用する必要があります。systemctlコマンドは、enableとstatusの2つのアクションにのみ使用できます。
・audit2allowは、ログを読み込み、拒否された理由を表示します。ログファイルを指定しない場合のデフォルトは /var/log/audit/audit.log を読み込みます。ログファイルを指定する場合は「-a」の代わりに「-i ログファイル」と指定します。
・Permissiveモードは,SELinuxによって拒否されるアクセスがあっても,アクセス拒否のログを残すだけで,実際にはアクセスを通します。Permissiveモードでアプリケーションの動作確認を行うと,その間に拒否されるアクセスをログから把握できます。

# setenforce 0
この状態でアクセスしてログをとる。
# setenforce 1  ←もとに戻す
# audit2allow -a -l -m mylocal (mylocalは適当な名称)

module mylocal 1.0;

require {
type mysqld_port_t;
type httpd_t;
class tcp_socket name_connect;
}

#============= httpd_t ==============

#!!!! This avc can be allowed using one of the these booleans:
# httpd_can_network_connect, httpd_can_network_connect_db
allow httpd_t mysqld_port_t:tcp_socket name_connect;
この出力から、httpd_can_network_connect、httpd_can_network_connect_dbをonにすればよいことがわかる。(下から2行目)
# getsebool -a | grep http  調査
# setsebool -P httpd_can_network_connect on
# setsebool -P httpd_can_network_connect_db on

TOP(HOME)へ

目 次

特別企画
Raspberry Piで遊ぶ

HOME(全体のシステム構成&目次)

CentOS7
CentOS7のインストール〜ネットワークの設定ほか
CentOS7の新機能(systemdとfirewalld)
ダイレクトルールを使ったfirewallの強化
DNS(BIND)サーバー
Webサーバー
  Webでファイルの受け渡し
  アクセス解析ツールAwstats
  Wordpressでブログ構築
  EC-CUBEショッピングサイト構築
FTPサーバー
FTPS(FTP over SSL/TLS)
Mail(Dovecot&Postfix)サーバー
Sambaサーバー
MariaDB(MySQL)サーバー
DHCPサーバー
SSHサーバー
VNCサーバー
ストリーミングサーバーRed5
ドメインの追加

CentOS5〜6
ネットワーク&ファイアウォール(iptables)
DNS(BIND)サーバー
DHCPサーバー
メールサーバー(基本)
メールサーバー/実際の運用
Webサーバー
  WebDAVによるファイル共有
  Webでファイルのやり取り
  アクセス解析ツールawstats
  namazuで全文検索
  WordPressブログサイト構築
  EC-CUBEショッピングサイト構築
FTPサーバー
ファイルサーバー・Samba
データベースpostgreSQL
  ExcelからpostgreSQLを操作
データベースMySQL
SSHサーバー
VNC
SSL/TLSを利用した暗号化通信
openVPN
ストリーミングサーバー
    C++ RTMP Server
    Helix server Basic
ドメインの追加
Xen・仮想化
特定ディレクトリに容量制限

SELinux
SELinux基本設定
audit2allowを使い問題の解決
新しいタイプとポリシー・モジュールを作成してみる
マクロを利用したteファイルの記述
新しいドメインを導入してみる

coLinux
Fedora11で試す

Cプログラミング目次
X11プログラム
サイエンス・プログラム

計測・プログラム
秋月電子のデーターロガーpico ADC-16
「今すぐ使えるパソコン計測USBマイコン基板」に付属のTRZ1102
センサーの使用例

Glade2/GTK+を使ってみる
テキスト・ビューで簡易エディター
ドローイングエリアで自動描画
放物線運動(pango、cairoも試してみる)
これらを、GTK+のみで書き出す

フォントについて
ネットワーク・プログラミング
postgreSQL接続
CGI
ファイル操作

●その他
印刷機関連開発 刷版絵柄面積率測定
数独をExcelで解く