前提条件
- OS : Ubunntu 14.04.3 LTS
- nginx : 1.8.1
- PHP : 5.6.16
- MySQL Ver 14.14
1. nginx version: nginx/1.8.0
インストール
[root]
$ 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 -v
nginx version: nginx/1.8.1
nginx.confの編集
フォームからPOSTできるファイルサイズを、500MBに設定しています。
詳しくはこちら。
[root]
$ mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.`date "+%Y%m%d"`
$ cp /etc/nginx/nginx.conf.`date "+%Y%m%d"` /etc/nginx/nginx.conf
$ vi /etc/nginx/nginx.conf
/etc/nginx/nginx.conf
http {
client_max_body_size 500M;
}
[root]
# ログ出力フォルダ作成
$ mkdir -p /var/log/nginx/log/
2. php-fpm
インストール
[root]
$ sudo apt-get install php5 php5-cgi php5-cli php5-mysql php5-gd php-apc php5-fpm
$ php -v
PHP 5.5.9-1ubuntu4.14 (cli) (built: Oct 28 2015 01:34:46)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies
php-fpm.confの編集
多重I/Oの設定をしています。
epollの説明はこちらが良いかと思います。
[root]
$ mv /etc/php5/fpm/php-fpm.conf /etc/php5/fpm/php-fpm.conf.`date "+%Y%m%d"`
$ cp /etc/php5/fpm/php-fpm.conf.`date "+%Y%m%d"` /etc/php5/fpm/php-fpm.conf
$ vi /etc/php5/fpm/php-fpm.conf
/etc/php5/fpm/php-fpm.conf
events.mechanism=epoll #コメントアウトを外す
www.confの編集
[root]
$ mv /etc/php5/fpm/pool.d/www.conf /etc/php5/fpm/pool.d/www.conf.`date "+%Y%m%d"`
$ cp /etc/php5/fpm/pool.d/www.conf.`date "+%Y%m%d"` /etc/php5/fpm/pool.d/www.conf
$ vi /etc/php5/fpm/pool.d/www.conf
/etc/php5/fpm/pool.d/www.conf
user = nginx
group = nginx
listen.owner = nginx
listen.group = nginx
listen.mode = 0660 #コメントアウトを外す
php.iniの編集
フォームからPOSTできるファイルサイズを、500MBに設定しています。
[root]
$ mv /etc/php5/fpm/php.ini /etc/php5/fpm/php.ini.`date "+%Y%m%d"`
$ cp /etc/php5/fpm/php.ini.`date "+%Y%m%d"` /etc/php5/fpm/php.ini
$ vi /etc/php5/fpm/php.ini
/etc/php5/fpm/php.ini
upload_max_filesize = 500M
post_max_size = 500M
max_execution_time = 600
memory_limit = 500M
設定ができたらサービスを再起動して反映させます。
[root]
$ /etc/init.d/php5-fpm restart
3. MySQL
インストール
[root]
$ apt-get install mysql-server-5.6
※ 途中、MySQLのrootパスワード入力するコンソールが表示されるので、入力してEnter。
インストール後の初期設定ですぐに変更するので、[password]とかでもOKです。
my.cnfの編集
[root]
$ mv /etc/mysql/my.cnf /etc/mysql/my.cnf.`date "+%Y%m%d"`
$ cp /etc/mysql/my.cnf.`date "+%Y%m%d"` /etc/mysql/my.cnf
$ vi /etc/mysql/my.cnf
/etc/mysql/my.cnf
[mysqld_safe]
log-error=/var/log/mysqld.log
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
character-set-server=utf8
[mysqldump]
default-character-set=utf8
[mysql]
default-character-set=utf8
設定ができたらサービスを再起動して反映させます。
[root]
$ service mysql restart
MySQL初期設定
mysql_secure_installationを実行します。
実施される内容は、こちらが詳しいです。
[root]
$ /usr/bin/mysql_secure_installation
Change the root password? [Y/n] Y
New password: <- 新しいrootパスワードを入力
Re-enter new password: <- 新しいrootパスワードを入力
Reloading privilege tables..
... Success!
Remove anonymous users? [Y/n] Y
... Success!
Disallow root login remotely? [Y/n] Y
... Success!
Remove test database and access to it? [Y/n] Y
... Success!
Reload privilege tables now? [Y/n] Y
... Success!
Thanks for using MySQL!
Cleaning up...
WordPress用のDBを作成
[root]
$ mysql -u root -p
mysql> CREATE DATABASE wordpress;
mysql> GRANT ALL PRIVILEGES ON wordpress.* TO wordpress@localhost IDENTIFIED BY "[データベースWordPressのパスワード]";
mysql> quit;
4. Wordpress
インストール
WordPressのバージョンは新しくなっていくので、最新版のtar.gzのURLを指定して下さい。
[root]
$ cd ~
$ wget https://ja.wordpress.org/wordpress-4.4-ja.tar.gz
$ mkdir -p /var/www/samplesite/wordpress
$ tar zxvf wordpress-4.4-ja.tar.gz -C /var/www/samplesite
$ chown -R nginx:nginx /var/www/samplesite/wordpress/
$ chmod -R 707 /var/www/samplesite/wordpress/
サイトの設定
[root]
$ mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.`date "+%Y%m%d"`
$ cp /etc/nginx/conf.d/default.conf.`date "+%Y%m%d"` /etc/nginx/conf.d/default.conf
$ vi /etc/nginx/conf.d/default.conf
/etc/nginx/conf.d/default.conf
location / {
#root /usr/share/nginx/html;
#index index.php index.html index.htm;
try_files $uri $uri/ /index.php?q=$uri&$args;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;
}
location ^~ /samplesite{
alias /var/www/samplesite/wordpress;
index index.php index.html index.htm;
try_files $uri $uri/ /samplesite/index.php;
location ~ \.php$ {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_split_path_info ^(/wordpress)(/.*)$;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;
}
}
nginxとphp-fpmとの接続に UNIX socketを指定したので、/etc/php5/fpm/pool.d/www.conf で設定したuserとgroupに合わせて所有者を変更しておきます。
[root]
$ chown nginx:nginx /var/run/php5-fpm.sock
これで、一通り設定が済んだので、サービスを再起動しておきます。
[root]
$ chown nginx:nginx /var/run/php5-fpm.sock
$ /etc/init.d/nginx restart
$ /etc/init.d/php5-fpm restart
$ service mysql restart
5. WordPressの設定
ブラウザから、http://[サーバIP]/samplesite/wp-admin/setup-config.php にアクセスします。
WordPress用のテーブルを生成
項目 | 値 |
---|---|
データベース名 | wordpress |
ユーザ名 | wordpress |
パスワード | WordPress用のDBを作成したときのパスワード |
データベースのホスト名 | localhost |
テーブル接頭辞 | wp_ |
サイト情報の入力
この辺は、用途に合わせて入力して下さい。
項目 | 値 |
---|---|
サイトのタイトル | (サイト名) |
ユーザー名 | (管理者の名前) |
パスワード | (自動生成されたもの) |
メールアドレス | (管理者のメールアドレス) |
以上です!