さくらのVPS(CentOS7)にopencart 3.0をインストールする

さくらの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環境を構築する

あたりを参考に、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

ライセンスを確認して、CONTINUEをクリックします。
1-License_agreement.png

(2/4)Pre-Installation

全て緑色のチェックマーク、あるいは緑色の文字でWritableとなっているのを確認して、
CONTINUEをクリックします。
2-Pre-Installation.png

(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

CONTINUEをクリックします。
3-Configuration.png

(4/4)Installation complete

入力内容に誤りが無ければ、インストールが行われます。
4-Installation_complete.png

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/ でアクセスできます。

(ショップ画面)
Your Store.png

(管理者画面)
Dashboard.png

以上です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です