WordPressをubuntu16.04へインストールする方法

 ubuntu上にWordpressを配置する方法を解説します。

LAMPのインストール

 wordpressは、LAMP上で動作します。

 ubuntuのインストール時にLAMPを選択しなかった場合は、taskselを用いてインストールしましょう。

$ sudo tasksel

 LAMP serverを選択します。

 この後、MySQLのrootパスワードを聞かれるので、任意のパスワードを入力してください。

 これで準備は完了です。

WordPressのインストール

$ sudo apt-get install wordpress

 ubuntuでは、たいていの場合は、aptコマンドを利用してリポジトリからのインストールが可能です。

 もちろん、公式サイトからパッケージをダウンロードしての手動インストールも可能ですが、今回は、一元管理が可能になるaptコマンドでインストールします。

wordpressの設定

 まず、ドキュメントが格納されているディレクトリに移動します。

$ cd /usr/share/doc/wordpress

 README.Debianというファイルは、Debian系向けのドキュメントです。もちろんubuntuにも当てはまりますので、こちらを参照しながらセットアップを進めていきます。

$ view README.Debian

Quick setup

Setup apache to point to /usr/share/wordpress. See the examples/apache.conf

Database and filesystem setup can be done with the help of a script in examples/setup-mysql.

 README.Debianによると、Apacheとデータベースのセットアップが必要なようですので、先にデータベースを設定してしまいます。

mysqlの設定

setup-mysql.gzを展開します。

$ cd examples
$ sudo gzip -d setup-mysql.gz

setup-mysqlが展開されたら、bashで実行します。

$ sudo bash setup-mysql -n wordpress blog.example.com

 wordpressとblog.example.comの部分については、ご自身の環境に読み替えてください。
 wordpressの部分は任意の名前、blog.example.comはドメインです。

 上記コマンドでwordpressを利用するための殆どの設定が完了してしまいます。

 手動インストール時に行うmysqlのユーザー設定やデータベース作成なども必要ありません。

apacheの設定

 ここまで進めていれば、カレントディレクトリは/usr/share/doc/wordpress/examplesになっていますが、もし違う場合は、cdコマンドで移動してください。

 続いて、apacheの設定に進みます。

confファイルの編集

$ sudo cp apache.conf /etc/apache2/sites-available/wordpress.conf

 wordpress.confの名前は何でも構いませんが、わかりやすいものにしておきます。無事にコピーできたら、ファイルを編集します。

$ cd /etc/apache2/sites-available
$ sudo vim wordpress.conf

 ここからは環境に依存してくるのですが、サイトのトップをwordpressにすると仮定します。

 必要な部分は以下です。これ以外はすべて#でコメントアウトしてください。

        NameVirtualHost *:80

        <VirtualHost *:80>
        ServerName blog.example.com
        DocumentRoot /usr/share/wordpress/
        DirectoryIndex index.php index.html
        ErrorLog /var/log/apache2/wp-error.log
        TransferLog /var/log/apache2/wp-access.log

        # wp-content in /var/lib/wordpress/wp-content
        Alias /wp-content /var/lib/wordpress/wp-content

        <Directory /usr/share/wordpress>
            Options FollowSymLinks
            <IfVersion < 2.3>
                Order allow,deny
                Allow from all
            </IfVersion>
            <IfVersion >= 2.3>
                Require all granted
            </IfVersion>
        </Directory>
        <Directory /var/lib/wordpress/wp-content>
            Options FollowSymLinks
            <IfVersion < 2.3>
                Order allow,deny
                Allow from all
            </IfVersion>
            <IfVersion >= 2.3>
                Require all granted
            </IfVersion>
        </Directory>
        </VirtualHost>

 ServerNameのみ、ご自分の環境に置き換えてください。

modの有効化

 confファイルにも記載されていたとおり、modを有効化します。

$ sudo a2enmod rewrite
$ sudo a2enmod vhost_alias

wordpressの日本語化

 必要ない方は飛ばしてください。

$ sudo vim /etc/wordpress/config-blog.example.com.php

 defineの一番下に以下を追記します。

define('WPLANG', 'ja');

configの有効化

 編集したconfigファイルを有効化するコマンドを実行します。あわせて、デフォルトのサイトを無効にしましょう。

$ sudo a2ensite wordpress.conf
$ sudo a2dissite 000-default.conf

 これで設定は完了です。

所有権の設定

 このままだと、ファイル書き込みのパーミッションが不足しているため、プラグインやテーマなどのダウンロード時にFTPの接続情報を問われます。

 先ほどのconfig-blog.example.com.phpにdefineを書き込む方法もありますが、せっかくなので、wordpressの所有権をサーバーのユーザーに変更してしまいます。

sudo chown -R www-data /var/lib/wordpress/wp-content

 このあたりはREADME.Debianにも書いてありますね。

apacheの再起動

 これで全ての設定は完了です。apacheを再起動して、サイトを有効化しましょう!

$ sudo /etc/init.d/apache2 restart

 URLにアクセスすればwordpressのセットアップが始まります!

wordpressの手動更新

 どうも、aptでインストールしたwordpressは、apt upgradeでの更新を前提としているためか、自動更新ができないようなので、以下に参考記事を投稿しました。よろしければ参考にしてみてください。

 ubuntu16.04で、aptコマンドを用いてWordPressをインストールした際に、自動更新が無効になっている場合があります。 ...