LoginSignup
7
7

More than 5 years have passed since last update.

初心者がさくらのサーバーにMagento2を構築してみた。

Last updated at Posted at 2015-12-07

本記事はMagento Advent Calendar 2015の6日目の記事になります。

概要


サーバー関連の勉強を始めて1か月の初心者が、さくらのレンタルサーバーにMagento2を導入してみました。
手順どおりやっても上手くいかず、幾度となくハマり自暴自棄になりかけたので、今回は初心者の観点からハマりやすいポイントを押さえつつ、丁寧に解説していきたいと思います。WebサーバーとしてNginxを選択しましたが、とにかくMagento2を入れて試してみたいだけという方はNginxよりもApache2の方がハマりポイントが少なくオススメです。

構築環境


OS : Ubuntu 14.04 LTS
Nginx : 1.8.0
MySQL : 5.6.27
PHP : 7.0
Magento2 正式版 (下記URLよりダウンロードしておいて下さい)

手順


今回はさくらのレンタルサーバーにUbuntu14.04を入れただけの状態から始めていきます。このサーバーへNginx, PHP, MySQLをインストールすることで、Magento2を構築することができます。
事前にダウンロードしたMagento2ファイルはサーバーの適当なディレクトリ(/var/wwwなど)に配置しておいてください。

1. PHPのインストール・設定
2. Nginxのインストール・設定
3. MySQLのインストール・設定
4. ブラウザからセットアップ画面にアクセス
5. Magento2インストール(コマンドラインを用いて)
6. ブラウザからフロントエンドにアクセス
7. CSSを読み込ませる

1.PHPのインストール・設定

・PHP7.0のリポジトリを追加


$sudo add-apt-repository ppa:ondrej/php-7.0 -y
$sudo apt-get update

・PHP7.0のインストール


PHP-FPMもインストールしておきます。

$sudo apt-get install php
$sudo apt-get install php7.0-fpm

PHPのインストールはこれで完了です。

・PHP-FPMの設定


今回はPHP-FPMとの接続をTCP/IPではなく、UNIXソケットを用いて行います。
/etc/php/7.0/fpm/pool.d/www.confに以下のコードが記述されているか確認してください。
ない場合は、追加しましょう。

listen = /run/php/php7.0-fpm.sock

最後にPHP-FPMの再起動をして、PHPのインストールと設定はこれで終了です。

$ sudo service php7.0-fpm restart

2.Nginxのインストール・設定

・nginxサイトが配布するPGPキーを追加

$curl http://nginx.org/keys/nginx_signing.key | sudo apt-key add -

・リポジトリを一覧に追加


$sudo sh -c "echo 'deb http://nginx.org/packages/ubuntu/ trusty nginx' >> /etc/apt/sources.list"
$sudo sh -c "echo 'deb-src http://nginx.org/packages/ubuntu/ trusty nginx' >> /etc/apt/sources.list"
$sudo apt-get update

・インストール


$sudo apt-get install nginx

・Nginxの設定


Nginxの設定ファイルがMagento2ファイルのルートディレクトリにnginx.conf.sampleとして入っているので、そのままetc/nginx/conf.d/に配置しましょう。*.confが読み込まれる設定なので、ファイル名の変更を行っておいてください(nginx.conf.sample→nginx.conf)以下のコメントアウトを外します。


upstream fastcgi_backend {
server unix:/run/php/php7.0-fpm.sock;
}
server {
listen 80;
server_name mage.dev;
set $MAGE_ROOT /var/www/Magento2;
set $MAGE_MODE developer;

3.MySQLのインストール・設定

・そのままapt-getでインストールしてはいけません。
Magento2ではMySQLのバージョンが5.6.xと指定されているため、そのままの状態でapt-getを用いてインストールするとMySQL5.5が入ってしまい、エラーが出てしまいます。そこでパッケージリストを更新することで、より新しいバージョンをインストールしていきます。

・リポジトリの追加

$sudo wget http://dev.mysql.com/get/mysql-apt-config_0.3.3-2ubuntu14.04_all.deb
次にこのままのディレクトリで、
sudo dpkg -i mysql-apt-config_0.3.3-2ubuntu14.04_all.deb
すると、以下の画面が表示されるので Server → MySQL5.6 → Applyを選択

3cadce9c-e78e-bb1c-c4db-cd83554e31c6.png

・パッケージリストの更新

$sudo apt-get update

・インストールされるパッケージの確認


$sudo apt-cache policy mysql-server
コマンド入力後、以下のように表示されていれば大丈夫です。
mysql-server:
Installed:(none)
Candidate: 5.6.27-1ubuntu14.04

・インストール


$sudo apt-get install mysql-server
これでMySQLのインストールが完了しました。

4.ブラウザからセットアップ画面にアクセス

PHP・Nginx・MySQLの設定が終わったら、一旦ブラウザからアクセスしてみたいと思います。
サーバーのURLにブラウザからアクセスしてみてください。

スクリーンショット 2015-12-07 11.38.01.png
権限が適切に与えられていないと上のようなエラー画面が表示されてしまいます。権限を適切に変更して、もう一度ブラウザからアクセスしてみてください。
スクリーンショット 2015-12-07 11.45.27.png

Magento2のセットップ画面が表示されていれば、問題ありません。
ブラウザを用いて、この画面からインストールを始めても良いのですが、今回はコマンドラインからインストールしていきます。

5.Magento2インストール(コマンドライン)


Magento2のインストールは、ブラウザとコマンドラインの二つの方法で行うことができます。当初、私はブラウザを用いたインストールを試みましたが、必ずどこかで止まってしまい、インストールを完了させることが出来ませんでした。
・コマンドラインからのインストールをオススメします
まずはディレクトリをMagento2の実行ファイルmagentoがあるbinに移します。
$ cd /var/www/Magento2/bin
各種パラーメータを適宜入力してください。
./magento setup:install
--base-url=http://~~
--db-host=localhost
--db-name=magento
--db-user=root
--db-password=
--admin-firstname=
--admin-lastname=
--admin-email=---@---
--admin-user=admin
--admin-password=admin123
--language=en_US
--currency=USD
--timezone=America/Chicago
--cleanup-database
--sales-order-increment-prefix="ORD$"
--session-save=db
--use-rewrites=1
パラメーターの設定が終わったら、インストールを実行します。
インストール中に何度か止められるので、その都度エラーの指示にしたがって、足りないものを追加してあげてください。

・PHP Fatal error: Class 'Locale' not found
PHPの拡張関数、Localeが利用できないようなので、php7.0-intlをインストールしてあげます。
$sudo apt-get install php7.0-intl
インストールが終わりましたら、もう一度Magento2のインストールを試みます。

・Database 'magento' does not exist or specified database server user does not have privileges to access this database.
「magentoのデータベースが存在しない」と言われています。
事前にデータベースを作成しておく必要があったようです。MySQLに接続して、データベースを作成します。
$ mysql -u root -p
CREATE DATABASE magento;

再度インストールを実行します。完了までには少しばかり時間がかかると思います。

[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin

上記のように表示されたら完了です。adminのURIはしっかり覚えておきましょう。

6.ブラウザからフロントエンドにアクセス

インストールが完了したら、実際にブラウザからアクセスしてみます。
うまくフロントエンド画面が表示されていれば良いのですが、サーバーエラーが表示されることが時々あります。スクリーンショット 2015-12-07 12.30.46.png
・Magento2/var以下に適切な権限を与えて下さい
私の場合は、正しい権限が与えられておらず、キャッシュに書き込みができなくなっていました。

7.CSSを読み込ませる

・CSSが反映されていないことがある

スクリーンショット 2015-12-07 12.44.03.png

ブラウザの表示が上の画像のようになっている場合はCSSが正しく読み込まれていない可能性が考えられます。
Magentoの実行ファイルを用いて、静的ファイルをデプロイしていきます。
./magento setup:static-content:deploy
デプロイが終了したら、Nginxを再起動してもう一度アクセスしてみてください。
$sudo service nginx restart
正常に表示されたら、これでMagento2の設定は完了です。

まとめ

Magento2のインストールは大変難しい作業であると痛感しました。初心者がMagento2をインストールする際は時間の余裕を持って、エラーログをしっかり確認しながら慎重に進めていく必要があります。
ブラウザからのインストールでは、コケてもエラーログが表示されず、問題の箇所を特定することができなかったので、結局インストールできないままで終わってしまいました。
Magento2をインストールする際は、権限の問題など最低限のUNIXの知識は持っていないと厳しいようです。

2.0.2 インストールパラメーター
./magento setup:install --db-host="localhost" --db-name="magento" --db-user="" --db-password="" --language="ja_JP" --timezone="Asia/Tokyo" --currency="" --admin-user="" --admin-password="" --admin-email="" --admin-firstname="" --admin-lastname="" --cleanup-database --use-sample-data

7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7