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


EC-CUBEでショッピング・サイト構築(eccube 2系の場合)      2017年9月




●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)へ

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

CentOS7-8の新機能(systemdとfirewalld)

CentOS8
CentOS8のインストール〜ネットワークの設定ほか
ダイレクトルールを使ったfirewallの強化
DNS(BIND)サーバー
DHCPサーバー
FTPサーバー
FTPS(FTP over SSL/TLS)
Webサーバー
  アクセス解析ツールAwstats
Mail(Dovecot&Postfix)サーバー
MariaDB(MySQL)サーバー
SSHサーバー
Sambaサーバー
openVPNサーバー

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
ドメインの追加
PHP7.1をインストール

CentOS5〜6

SELinux

Cプログラミング


●その他
クラウド Amazon EC2
Raspberry Piで遊ぶ
印刷機関連開発 刷版絵柄面積率測定
数独をExcelで解く


●趣味の世界
相対性理論
量子力学
群論
熱力学・統計力学
解析力学
物理でつかう数学
超弦理論(ノート作成中)