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
での更新を前提としているためか、自動更新ができないようなので、以下に参考記事を投稿しました。よろしければ参考にしてみてください。