Amazon Linuxにwordpressインストール

【やりたかったこと】
Cloud9開発環境(EC2)にWordPressをインストールしたい!

【環境構築】
まずは「LAMP環境の構築」から。
簡単に説明しますとLAMPとは以下の環境を指します。
L・・・Linux(OS)
A・・・Apache(Webサーバ)
M・・・MySql(DB)
P・・・PHP、Perl、Pythonなどプログラムを指します

WordPressを利用するために必須の環境になります。
今回使用したバージョンは以下の通りです。

 インストールパッケージ バージョン
 httpd(Apache)  2.4.25
PHP  5.6.30
Mysql  5.6.35
WordPress  4.6

 

では早速!

Step1 アパッチ(Apache)のインストール

yum install -y httpd24 ← バージョン指定
注)バージョンを省略するとApache2.2がインストールされます

Step2 PHPのインストール

yum install -y php56 ← バージョン指定
注)バージョンを省略するとPHP5.4がインストールされます

yum install -y php56-mcrypt php56-intl php56-mbstring php56-mysqlnd php56-opcache php56-devel

Step3 mysqlのインストール

yum install -y mysql56-server ← バージョン指定
注)バージョンを省略するとmysql5.5がインストールされます

Step4 WordPressのインストール

まずはWordPressユーザーの作成

sudo su
useradd wpuser ← 任意のユーザー名

つづいてワードプレスのインストール
インストールはワードプレスユーザーにて行います。

su wpuser
cd ~ ← インストールするディレクトリへ移動    例)/var/www/wordpress/の場合 cd /var/www/
wget https://ja.wordpress.org/wordpress-4.6-ja.zip
unzip wordpress-4.6-ja.zip

Step5 httpd(Apache)の設定

/etc/httpd/conf/httpd.confを編集します
viエディタでも良いですが、sftpソフトで直接編集が楽ですね!

#httpd.conf
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn’t have a registered DNS name, enter its IP address here.
#
ServerName ドメインまたは、IPアドレス指定:80 ← 設定する
#この辺も確認しておきましょう!
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot “/var/www/html/” ← ワードプレスインストール先

httpd.confを保存したら忘れずにhttpdリスタート!

service httpd restart

Step6 DB(mysql)の作成

例)
DB名:wordpress
DBのユーザー名:wordpress
DBのパスワード:wordpress
で作成してみます。

/etc/init.d/mysql start
mysql
create database wordpress CHARACTER SET utf8;
GRANT ALL PRIVILEGES ON wordpress.* TO wordpress@localhost IDENTIFIED BY ‘wordpress’;
quit

Step7 wordpressの初期設定

いよいよ実際にWebに表示されるか見てみよう!

ブラウザからURLにhttp://ドメインかIP/wp-admin/setup-config.phpと入力
以下の画面が表示されたら完了です!
「さぁ始めましょう!」をクリック
データベース名やユーザー名、パスワードを入力
今回の例では以下を入力し、次へ進みます。
DB名:wordpress
DBのユーザー名:wordpress
DBのパスワード:wordpress次に進むと「ようこそ」画面へ

適当に入力して完成です(^^)
お疲れ様でした!

【番外編】その他ハマったこと備忘録

「お使いのサーバーのPHPではWordPressに必要なMySQL拡張を利用できないようです」と表示された場合

1. MySQLのPHP拡張が入っていない
まず、よくありがちのものが、MySQLのPHP拡張が入っていないというパターンです。コンソール上で以下のコマンドを叩きMySQLの拡張が入っているかを確認します。

php -m | grep mysql

何も出力されない場合はmysql拡張をインストールします。

yum -y install php-mysql

再度確認

php -m | grep mysql
こんなのがでればOKです。
mysql
mysqli
mysqlnd
pdo_mysql

それでもダメならphp.iniを確認

php.iniの格納場所を探す

php –ini
Configuration File (php.ini) Path: /etc/php-5.6.conf:/etc
Loaded Configuration File: /etc/php.ini
Scan for additional .ini files in: /etc/php-5.6.d

「vi」エディタで「/etc/php.ini」を開き「extension=msql.so」という記述があるかを確認

vi /etc/php.ini

php.iniを「vi」で開き、「/extension=msql.so」と入力し検索。
コメントアウトされている場合はコメントを外しし、検索に引っかからない場合は追記しましょう!

extension=msql.so <= 追記

追記したらviエディタで保存!
ESCキー押下し、「:wq」で保存してviを閉じるべし

httpdリスタート

service httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]

完了です!

そもそもmysqlが起動しない・・・
ログを確認すると以下のようなMSGが出力されていました。

[Note] InnoDB: Initializing buffer pool, size = 128.0M InnoDB: mmap(137363456 bytes) failed; errno 12
[ERROR] InnoDB: Cannot allocate memory for the buffer pool
[ERROR] Plugin ‘InnoDB’ init function returned error.
[ERROR] Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed.
[ERROR] Unknown/unsupported storage engine: InnoDB
[ERROR] Aborting調べてみるとスワップ領域がどうのこうの。。。
メモリを見てみると。

[root@ip-xxx ~]# free
total used free shared buffers cached
Mem: 1018504 949092 69412 31980 28740 695944
-/+ buffers/cache: 224408 794096
Swap: 0 0 0

見事にスワップ領域がありません。(-_-;)

早速スワップ領域を確保!(とりあえず1024MB)

[root@ip-xxx ~]# dd if=/dev/zero of=/swapfile bs=1M count=1024  ← 指定サイズの空領域確保
[root@ip-xxx ~]# mkswap /swapfile  ← スワップ領域を確保
[root@ip-xxx ~]# swapon /swapfile  ← スワップ領域を有効化

もういちどメモリを確認してみましょう。

[root@ip-xxx ~]# free
total used free shared buffers cached
Mem: 1019280 535424 483856 10908 60608 310320
-/+ buffers/cache: 164496 854784
Swap: 1048572 446316 602256

これでバッチリ起動しました!

次回は今回立ち上げたサイトにSSL証明を追加し、常時SSL化を行ってみます!乞うご期待!