さくらのVPS(1G)にOpenCartをインストールします。
今回はOSにCentOS 7.1 を入れました。
セキュリティ設定等
さくらVPSでCentos7を建てた時に最低限やること
https://qiita.com/masaki_iwahara/items/3eb0a251a57063381cf1
opencartのインストール要件を確認する
公式ドキュメントにあるように、以下の環境が必要です。
http://docs.opencart.com/requirements/
- Web Server (Apache推奨)
- PHP 5.4以上
- Database (MySQL推奨)
他に、PHPライブラリ/モジュールとして以下が必要です。
- Curl
- ZIP
- Zlib
- GD Library
- Mcrypt
- Mbstrings
- Xml
LAMP環境を構築する
- 「サーバーってなに?」~初心者でもよくわかる!VPSによるWebサーバー構築講座(1) http://knowledge.sakura.ad.jp/beginner/2691/
あたりを参考に、LAMP環境を構築します。
- CentOS7には、mariaDBというデータベースサーバがデフォルトで入っているので、mariaDBを削除して、MySQLをインストールします。
# yum remove mariadb*
# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
# rpm -Uvh mysql-community-release-el7-5.noarch.rpm
# yum --enablerepo=mysql56-community install mysql-community-server
# systemctl start mysqld
# mysql_secure_installation
- Opencartインストール後にmysqlのWarningが出る場合は、php-mysql の代わりにphp-mysqlnd をインストールします。
Warning: mysqli::mysqli(): Headers and client library minor version mismatch. Headers:50550 Library:50637 in /var/www/html/system/library/db/mysqli.php on line 7
# yum remove php-mysql
# yum install php-mysqlnd
# systemctl restart httpd
- apacheでSSLを使うために、mod_sslをインストールします。
# yum install mod_ssl
opencartのダウンロード、展開、サーバにアップロードをする
サーバ上から直接GitHubにつないで、最新バージョン(2017年9月時点では3.0.2.0)のzipファイルをダウンロードして、展開します。
$ cd ~
$ wget https://github.com/opencart/opencart/archive/3.0.2.0.zip
$ mv 3.0.2.0.zip opencart-3.0.2.0.zip
展開して出てきたファイルを、配置します。
# cd /var/www/
# unzip /home/myname/opencart-2.3.0.2.zip
# mv html html.bak
# mv opencart-3.0.2.0/upload .
# mv upload html
configファイルのコピー、ディレクトリのパーミッションを設定する
# cd /var/www/html
# cp config-dist.php config.php
# chown apache:apache config.php
# cp admin/config-dist.php admin/config.php
# chown apache:apache admin/config.php
# chown apache:apache image image/cache image/catalog
# chown apache:apache system/storage/cache system/storage/logs
# chown apache:apache system/storage/download system/storage/upload
# chown apache:apache system/storage/modification
# chown apache:apache system/storage/session system/storage/vendor
データベースを作成する
phpMyAdminなどから、データベースとデータベースユーザを作成します。
データベース名:oc3020
ユーザ名:ocuser
パスワード:mypassword
としました。
コマンドラインから作成する場合は以下です。
# mysql -u root -p
mysql> CREATE DATABASE oc3020;
mysql> GRANT ALL ON oc3020.* TO ocuser@localhost;
mysql> FLUSH PRIVILEGES;
mysql> SET PASSWORD FOR ocuser@localhost = password('mypassword');
mysql> quit
ブラウザからインストール画面を開いてインストールする
(1/4)License agreement
(2/4)Pre-Installation
全て緑色のチェックマーク、あるいは緑色の文字でWritableとなっているのを確認して、
CONTINUEをクリックします。
(3/4)Configuration
1.データベースへの接続設定
(Usernameはデータベースユーザ名なので注意してください)
DBDriver:MySQLi
Hostname:localhost
Username:ocuser
Password:mypassword
Database:oc3020
Port:3306
Prefix:oc_
2.管理者情報を設定
Username:admin
Password:adminpassword
E-Mail:test@example.com
(4/4)Installation complete
installフォルダを削除する
# rm -r /var/www/html/install/
storage フォルダを、外部からアクセスできない場所に移動する
storageフォルダには、ログやセッション情報などが含まれていますので、外部からアクセスできない場所に移動します。
(これを行わないと、管理者画面でnotificationが表示されます)
- フォルダの移動
# mv /var/www/html/system/storage /var/www/storage
- 設定ファイルの変更(ショップ画面用)
/var/www/html/config.php を開いて、
define('DIR_STORAGE', DIR_SYSTEM . 'storage/');
を
define('DIR_STORAGE', '/var/www/storage/');
に変更します。
- 設定ファイルの変更(管理者画面用)
/var/www/html/admin/config.php を開いて、
define('DIR_STORAGE', DIR_SYSTEM . 'storage/');
を
define('DIR_STORAGE', '/var/www/storage/');
に変更します。
ショップ画面、管理者画面にアクセスする
ショップ画面は、 http://ホスト名/ でアクセスできます。
管理者画面は、 http://ホスト名/admin/ でアクセスできます。
以上です。