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ユーザーの作成
useradd 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ソフトで直接編集が楽ですね!
# 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リスタート!
Step6 DB(mysql)の作成
例)
DB名:wordpress
DBのユーザー名:wordpress
DBのパスワード:wordpress
で作成してみます。
mysql
create database wordpress CHARACTER SET utf8;
GRANT ALL PRIVILEGES ON wordpress.* TO wordpress@localhost IDENTIFIED BY ‘wordpress’;
quit
Step7 wordpressの初期設定
いよいよ実際にWebに表示されるか見てみよう!
今回の例では以下を入力し、次へ進みます。
DB名:wordpress
DBのユーザー名:wordpress
DBのパスワード:wordpress次に進むと「ようこそ」画面へ
適当に入力して完成です(^^)
お疲れ様でした!
【番外編】その他ハマったこと備忘録
「お使いのサーバーのPHPではWordPressに必要なMySQL拡張を利用できないようです」と表示された場合
まず、よくありがちのものが、MySQLのPHP拡張が入っていないというパターンです。コンソール上で以下のコマンドを叩きMySQLの拡張が入っているかを確認します。
何も出力されない場合はmysql拡張をインストールします。
再度確認
こんなのがでればOKです。
mysql
mysqli
mysqlnd
pdo_mysql
それでもダメなら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」という記述があるかを確認
php.iniを「vi」で開き、「/extension=msql.so」と入力し検索。
コメントアウトされている場合はコメントを外しし、検索に引っかからない場合は追記しましょう!
追記したらviエディタで保存!
ESCキー押下し、「:wq」で保存してviを閉じるべし
httpdリスタート
Starting httpd: [ OK ]
完了です!
そもそもmysqlが起動しない・・・
ログを確認すると以下のようなMSGが出力されていました。
[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調べてみるとスワップ領域がどうのこうの。。。
メモリを見てみると。
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 ~]# mkswap /swapfile ← スワップ領域を確保
[root@ip-xxx ~]# swapon /swapfile ← スワップ領域を有効化
もういちどメモリを確認してみましょう。
total used free shared buffers cached
Mem: 1019280 535424 483856 10908 60608 310320
-/+ buffers/cache: 164496 854784
Swap: 1048572 446316 602256
これでバッチリ起動しました!
次回は今回立ち上げたサイトにSSL証明を追加し、常時SSL化を行ってみます!乞うご期待!