株式会社ノベルワークス
home

TOP

keyboard_arrow_right

ブログ一覧

keyboard_arrow_right

初心者向け【AWS】Linuxにwordpressインストール

しもむー

2025/01/22

初心者向け【AWS】Linuxにwordpressインストール

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 wpusercd ~ ← インストールするディレクトリへ移動  
例)/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 
startmysqlcreate 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と入力

以下の画面が表示されたら完了です!

wordpressの初期設定

「さぁ始めましょう!」をクリック

データベース名やユーザー名、パスワードを入力
今回の例では以下を入力し、次へ進みます。
DB名:wordpress
DBのユーザー名:wordpress
DBのパスワード:wordpress
次に進むと「ようこそ」画面へ

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化を行ってみます!乞うご期待!