WordPress & bbPress を Nginx で動かす

Ubuntu 14.04 で WordPress と bbPress のインストールを行った。

パッケージのインストール

apt-get install mariadb-server nginx php5-mysql php5-fpm php5-gd

ここでは MySQL ではなくて MariaDB を用いたが、 MySQL を使用しても同様にできるはず。

nginx の設定

/etc/nginx/sites-available/default は PHP 関係のコメントアウトされている部分を参考にして

server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;

        root /var/www/html;
        index index.html index.htm index.php;

        # Make site accessible from http://localhost/
        server_name localhost;

        location / {
                try_files $uri $uri/ =404;
        }

        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;
        }
}

のようにした。

service nginx restart

PHP のファイルが表示できるかどうかを確認する。 /var/www/html/index.php に

<?php phpinfo(); ?>

と書き、設定しているサーバの IP が 192.168.0.20 なら http://192.168.0.20/ にアクセスして確認する。

WordPress を使うには

location / {
        try_files $uri $uri/ =404;
}

の部分を

location / {
        try_files $uri $uri/ /index.php?$args;
}

とする。

WordPress

WordPress のインストール

まず、日本語版をダウンロードする。

wget https://ja.wordpress.org/wordpress-4.4.2-ja.zip

テストで使った index.php を削除してから、wordpress を設置する。

rm /var/www/html/index.php
rmdir /var/www/html
unzip wordpress-4.4.2-ja.zip
mv wordpress /var/www/html

データベースを作成する。

mysql -u root -p

create database wordpress;
grant all privileges on wordpress.* to "wpuser"@localhost identified by "wordpress-password";
flush privileges;

とする。ここでは、データベース用のユーザを wpuser、そのパスワードを wordpress-password としている。

wp-config.php の編集

cd /var/www/html
cp wp-config-sample.php wp-config.php

として wp-config.php を作り、データベースの設定を書き込む。

/** WordPress のためのデータベース名 */
define('DB_NAME', 'wordpress');

/** MySQL データベースのユーザー名 */
define('DB_USER', 'wpuser');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'wordpress-password');

https://api.wordpress.org/secret-key/1.1/salt/ にアクセスして表示される設定をファイルの該当する場所に書き込む。

define('AUTH_KEY',         '**********');
define('SECURE_AUTH_KEY',  '**********');
define('LOGGED_IN_KEY',    '**********');
define('NONCE_KEY',        '**********');
define('AUTH_SALT',        '**********');
define('SECURE_AUTH_SALT', '**********');
define('LOGGED_IN_SALT',   '**********');
define('NONCE_SALT',       '**********');

これで、WordPress の設定は終わりで、 サーバの IP が 192.168.0.20 なら http://192.168.0.20/ にアクセスして、指示にしたがって設定していく。

WordPress は FTP や SFTP を使ってプラグインをブラウザ上でインストールできるように 設定することは可能らしいが、今回は行わなかった。 SSH でアクセスして所定のディレクトリにプラグインのファイルを配置することで プラグインのインストールを行った。

bbPress

wget https://downloads.wordpress.org/plugin/bbpress.2.5.8.zip
unzip bbpress.2.5.8.zip
mv bbpress /var/www/html/wp-content/plugins/

としてから、管理画面の「プラグイン」で bbPress を有効にする。

bbPress の URL を bbPress Permalinks with ID を使って ID を使う形式にする。

wget https://downloads.wordpress.org/plugin/bbpress-permalinks-with-id.1.0.4.zip
unzip bbpress-permalinks-with-id.1.0.4.zip
mv bbpress-permalinks-with-id /var/www/html/wp-content/plugins/

としてから管理画面で有効にする。

bbPress で画像や動画の投稿をできるようにするには GD bbPress Attachments を使うには

wget https://downloads.wordpress.org/plugin/gd-bbpress-attachments.zip
unzip gd-bbpress-attachments.zip
mv gd-bbpress-attachments /var/www/html/wp-content/plugins
mkdir /var/www/html/wp-content/uploads
chmod 777 /var/www/html/wp-content/uploads

としてから、管理画面で GD bbPress Attachments を有効にする。 プラグインを有効にするだけでなく PHP や Nginx の設定でアップロードできるファイルのサイズを設定しないといけない。 たとえば、/etc/php5/fpm/php.ini で

post_max_size = 30M
upload_max_filesize = 30M

のように設定し、Nginx の設定 (ここでは、/etc/nginx/sites-available/default) には

client_max_body_size 50M;

のように設定する。

不要なプラグインの削除

次のようにして Hello Dolly を削除した。

rm /var/www/html/wp-content/plugins/hello.php

参考

Tags of current page

, ,