##はじめに
EC-CUBE2.17からComposerが必要と聞いて。
折角なのでCentOS8とOpenLiteSpeedを使ってみました。
##構築する環境
- Google Cloud Platform (f1-micro 無料枠)
- CentOS8
- OpenLiteSpeed1.5.10
- EC-CUBE2.17
##各種設定
###rootパスワード設定、変更
SSHログイン後
sudo passwd root
rootでログイン(パスワードを入力)
su -
###タイムゾーン変更
timedatectl set-timezone Asia/Tokyo
###Firewall
firewall-cmd --add-port=80/tcp --permanent --add-port=443/tcp --permanent --add-port=7080/tcp --permanent
firewall-cmd --reload
(port7080はOpenLiteSpeed管理用)
###SELinux無効化のちreboot
※本番環境では適宜設定下さい。
vi /etc/selinux/config
SELINUX=enforcing ----> SELINUX=disabled に変更。
:wq
reboot
##OpenLiteSpeed Install
参考: https://blog.apar.jp/linux/10079/
dnf -y install epel-release
rpm -Uvh http://rpms.litespeedtech.com/centos/litespeed-repo-1.1-1.el8.noarch.rpm
dnf -y install openlitespeed
※ /usr/local/lswsに LiteSpeed Web Server がインストールされます。
###OpenLiteSpeed用php7.3 Install
dnf -y install lsphp73 lsphp73-devel lsphp73-pdo lsphp73-mbstring lsphp73-gd lsphp73-json lsphp73-pear lsphp73-pecl-apcu-devel zlib-devel lsphp73-xml lsphp73-mcrypt lsphp73-pgsql
####アカウント作成
/usr/local/lsws/admin/misc/admpass.sh
アカウントとパスを入力。
###起動・管理ページログイン
systemctl start lsws
chkconfig lsws on
からログイン。
Virtual Hostには初期設定でSampleが用意されているので、今回はそちらを使用。
####php設定
Server Configuration > External Appの
「Command」を
$SERVER_ROOT/lsphp73/bin/lsphp
に変更。
####サーバ設定
Listener Default > Generalの
「Address Settings」のポートを8088 -> 80に変更。
Virtual Hosts > Summary > Exampleの
「Virtual Host Root」-> /var/www/html/
Virtual Host Example > Generalの
「Document Root」 → $VH_ROOT
Index Filesを変更
Use Server Index Files -> No
Index Files -> Not set
Auto Index -> Yes
Auto Index URI -> Not set
####サーバ再起動
管理ツール右上の再起動ボタンを押す。
####php7.3のversion確認
http://IPaddress
(httpsではなく)
phpinfo()でバージョン確認。
vi /var/www/html/index.php
phpinfo();
##Composer Install
コマンドライン用のphp7.3
dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
dnf module install -y php:remi-7.3
Composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
mv composer.phar /usr/local/bin/composer
##EC-CUBE Install
cd /var/www/html/
wget https://github.com/EC-CUBE/ec-cube2/releases/download/eccube-2.17.0/eccube-2.17.0.tar.gz
tar -zxvf eccube-2.17.0.tar.gz
cd ec-cube2
composer install --no-dev --no-interaction -o
##PostgreSQL Install
参考: https://qiita.com/tomlla/items/9fa2feab1b9bd8749584
dnf install -y @postgresql:10
/usr/bin/postgresql-setup --initdb
systemctl start postgresql
systemctl enable postgresql
そのままではPeer認証のためにログイン出来ないため、md5に変更。
su postgres -c 'psql --username=postgres'
ALTER USER postgres with encrypted password 'test_password_here';
vi /var/lib/pgsql/data/pg_hba.conf
最下部のidentをmd5に変更して再起動。
systemctl restart postgresql
###ログイン、DB作成
psql -U postgres -h localhost -W
パスワードを入れてログイン後
create database testdb;
\q (ログアウト)
##EC-CUBE設定
http://IP/ec-cube2/html/install/
にアクセス。
EC-CUBEのインストールを開始します。
アクセス権のチェック
必要なファイルのコピー
ECサイトの設定
上記を適宜設定。
※DBのユーザは「postgres」
データベースの設定
サイト情報について
適宜入力。インストールが完了したら
http://IP/ec-cube2/html/
でサイト確認。
お疲れさまでした。
##注意
###phpモジュールが入っているのにインストール時にエラーが出る
lsphp73-pgsqlが入っているにもかかわらず
[Error message: extension pgsql is not compiled into PHP]
のようなエラーが出る場合は、サーバ自体をrebootする。
###.htaccessの制限
1.5.10時点でVirtual Host > RewriteからAuto Load from .htaccessを有効に出来るが、無償版のOpenLiteSpeedには機能に制限があるため、.htaccessにアクセス制限などを書いても無視されるっぽい。そのため詳細設定は管理画面から直接行う必要がある。
なので、EC-CUBE2.17の管理画面にアクセス制限をかけたい場合などは注意。
また、設定した.htaccessもウェブサーバの再起動を行わないとなかなか反映されないなど。