Ubuntu+php5-fpm+mysql で LEMP 環境に WordPress をインストール

Ubuntu Server 14.04 LTS, php5-fpm, mysql を VMware にローカル環境構築をするメモ

目次

Ubuntu Server 14.04 LTS をダウンロード

http://www.ubuntu.com/download/server からダウンロードする

apt-get を update する

$ sudo apt-get update

openssh-server をインストールする

$ sudo apt-get install openssh-server

設定を反映させるために ssh をリスタートする

$ sudo service ssh restart

IP を調べる

$ ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0c:29:66:57:87
          inet addr:172.16.10.140  Bcast:172.16.10.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe66:5787/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:176865 errors:0 dropped:0 overruns:0 frame:0
          TX packets:190937 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:25338398 (25.3 MB)  TX bytes:175144308 (175.1 MB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:16 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1184 (1.1 KB)  TX bytes:1184 (1.1 KB)

IP を調べる
$ ifconfig は非推奨らしい

出典 : https://dougvitale.wordpress.com/2011/12/21/deprecated-linux-networking-commands-and-their-replacements/

$ ip a
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:66:57:87 brd ff:ff:ff:ff:ff:ff
    inet 172.16.10.140/24 brd 172.16.10.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe66:5787/64 scope link 
       valid_lft forever preferred_lft forever

inet addr:172.16.10.140 が IP になる

vim の設定

vim のインストール

$ sudo apt-get install vim

.vimrc の設定をする

参考: vim 導入直後に .vimrc を最低限これだけ設定しておきたい

公開鍵の設定

Ubuntu のホームディレクトリに .ssh フォルダを作成する

$ mkdir ~/.ssh

公開鍵をローカル(Mac側)から Ubuntu へアップロードする

mac$ scp -P 22 ~/.ssh/id_rsa.pub USER@IP:~/.ssh/authorized_keys

パーミッションを変更する

$ chmod 700 .ssh
$ chmod 600 .ssh/authorized_keys

設定ファイルを編集する

$ sudo vim /etc/ssh/sshd_config
~
Port 22
-> 任意の Port 番号を指定
~
PermitRootLogin yes
-> PermitRootLogin no
~
#PasswordAuthentication yes
-> PasswordAuthentication no
~

設定を反映させる

$ sudo service ssh restart

ufw ファイアーウォールの設定

ufw をインストール

$ sudo apt-get install ufw

ufw の status 確認

$ sudo ufw status

ファイアーウォールを全部閉じる

$ sudo ufw default deny

$ sudo vim /etc/ssh/sshd_config で指定した Port を開ける

$ sudo ufw allow PORT

80 番 Port を開ける

$ sudo ufw allow 80

ファイアーウォールを有効化

$ sudo ufw enable

設定の確認

$ sudo ufw status

php5-fpm の設定

$ sudo apt-get install php5 php5-cgi php5-cli php5-mysql php5-gd php-apc php5-fpm php5-curl php5-json php5-dev

各種設定ファイルはバックアップをとる

$ sudo cp /etc/php5/fpm/php-fpm.conf /etc/php5/fpm/php-fpm.conf.org
$ sudo vim /etc/php5/fpm/php-fpm.conf
~
;events.mechanism = epoll
-> events.mechanism = epoll
~
$ sudo cp /etc/php5/fpm/pool.d/www.conf /etc/php5/fpm/pool.d/www.conf.org
$ sudo vim /etc/php5/fpm/pool.d/www.conf
~
listen = 127.0.0.1:9000
-> listen = /var/run/php5-fpm.sock
~
$ sudo cp /etc/php5/fpm/php.ini /etc/php5/fpm/php.ini.org
$ sudo vim /etc/php5/fpm/php.ini
~
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =
-> date.timezone = "Asia/Tokyo"
~

php5-fpm の設定を反映

$ sudo service php5-fpm restart

mysql の設定

mysql をインストール

$ sudo apt-get install mysql-server mysql-client

mysql の設定ファイルをコピーして編集

$ sudo cp /etc/mysql/my.cnf /etc/mysql/my.cnf.org
$ sudo vim /etc/mysql/my.cnf
[client]
port    = 3306
socket    = /var/run/mysqld/mysqld.sock
+ default-character-set=utf8
~
[mysqld]
#
# * Basic Settings
#
user    = mysql
pid-file  = /var/run/mysqld/mysqld.pid
socket    = /var/run/mysqld/mysqld.sock
port    = 3306
basedir    = /usr
datadir    = /var/lib/mysql
tmpdir    = /tmp
lc-messages-dir  = /usr/share/mysql
skip-external-locking
+ skip-character-set-client-handshake
+ character-set-server = utf8
+ collation-server = utf8_general_ci
+ init-connect = SET NAMES utf8

mysql の設定を反映させる

$ sudo service mysql restart

databaseの作成

$ mysql -u root -p
mysql> CREATE DATABASE `hoge.com`;
mysql> exit;

/var/www/ 直下にディレクトリを作成

$ sudo mkdir -p /var/www/hoge.com

nginx の設定

nginx をインストール

$ sudo apt-get install nginx

.conf ファイルを作成する

$ sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.org
$ sudo rm /etc/nginx/sites-available/default
$ sudo rm /etc/nginx/sites-enabled/default

.conf ファイルを編集する

$ sudo vim /etc/nginx/sites-available/hoge.com.conf
#
# A virtual host using mix of IP-, name-, and port-based configuration
#

server {
    listen       80;
    server_name  hoge.com;
    root /var/www/hoge.com/;
    index index.html index.php;
    access_log      /var/log/nginx/hoge.com.access.log;
    error_log       /var/log/nginx/hoge.com.error.log;
    
    location / {
            index  index.php index.html index.htm;
            try_files $uri $uri/ /index.php?$uri&$args;
    }

    location ~ \.php$ {
            fastcgi_pass  unix:/var/run/php5-fpm.sock;
            fastcgi_index   index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include        fastcgi_params;
    }
}

置換

:%s/hoge.com/piyo.com/g

シンボリックリンクを作成する

$ sudo ln -s /etc/nginx/sites-available/hoge.com.conf /etc/nginx/sites-enabled/

nginx が正常に動作するかチェック

$ sudo nginx -t

nginx の設定を反映させる

$ sudo service nginx restart

WordPress のインストール

wget,unzip,zip コマンドをインストール

$ sudo apt-get install wget unzip zip

/var/tmp/ へ移動する

$ cd /var/tmp/

WordPress をインストール

$ wget http://ja.wordpress.org/wordpress~

解凍

$ unzip wordpress~

wordpress フォルダへ移動

$ cd wordpress/

wordpress フォルダの中身を全部 /var/www/hoge.com/ へコピーする

$ sudo cp -rp * /var/www/hoge.com/

dev グループを作成する

$ sudo groupadd dev

/var/www/hoge.com 以下を www-data:dev 権限へ編集する

$ sudo chown -R www-data:dev /var/www/hoge.com

www-data を dev グループに追加

$ sudo usermod -aG dev www-data

USER を dev グループに追加

$ sudo usermod -aG dev USER

root 権限になる

$ sudo su -

移動

# cd /var/www/hoge.com/

ファイルのパーミッションを 664 に変更する

# find . -type f -print | xargs chmod 664

フォルダのパーミッションを 2775 に変更する

# find . -type d -print | xargs chmod 2775
# exit

WordPress の設定ファイルを編集する

$ cp /var/www/hoge.com/wp-config-sample.php /var/www/hoge.com/wp-config.php

データベースの情報を記述する

$ vim /var/www/hoge.com/wp-config.php

ブラウザから確認

インストール画面に進んだら終了