Debian Jessie上にWordPressを設置する

はじめに_

% more /etc/debian_version 
8.6

配布元_

PHP7のインストール_

Debian JessieはPHPのバージョンが5までであるが、WordPressの推奨がPHP 7。そこで、まずはPHP 7をDebian(jessie)にPHP 7をインストールする方法を参考にしてインストールする。

まず、PHP 7のパッケージを提供しているリポジトリを付け加える。

% cd /etc/apt/sources.list.d
% sudo touch php7.list

php7.listの中見を以下のようにする。

deb http://packages.dotdeb.org jessie all

dotdeb.orgのGPG鍵をダウンロードし登録する。

% cd /tmp
% wget https://www.dotdeb.org/dotdeb.gpg
% sudo apt-key add dotdeb.gpg

インストールする。

% sudo aptitude update
% sudo aptitude install php7.0 php7.0-mbstring
% php -v
PHP 7.0.13-1~dotdeb+8.1 (cli) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.13-1~dotdeb+8.1, Copyright (c) 1999-2016, by Zend Technologies

MariaDBのインストール_

MySQL(MariaDB)をインストールする。

% sudo aptitude install mariadb-server mariadb-client

WordPressのインストールをする_

WordPress用のデータベースを作成する。_

データベース名を my_wordpress、ユーザ名 user_wordpressとする。まず、データベースとユーザを作成する。

% mysql -u root -p
> create user 'user_wordpress'@localhost identified by 'パスワード';
> create database my_wordpress;
> grant all privileges on my_wordpress.* to 'user_wordpress'@localhost identified by 'パスワード';
> flush privileges;
> quit

MySQLとPHPとの連携ライブラリーをインストールする。

% sudo aptitude install php7.0-mysql

スクリプトの設置_

配布元から日本語版をダウンロードする。今回は /var/wordpress-www/以下に設置する。

% tar xvfz wordpress-4.7-ja.tar.gz
% sudo mkdir -p /var/wordpress-www
% sudo cp -r wordpress-4.7-ja/* /var/wordpress-www
% cd /var/wordpress-www
% sudo touch .htaccess
% sudo chown -R www-data:www-data .

うまく設定ができるまで /var/wordpress-www/.htaccess を設置し、アクセス制限をしておく。たとえば、192.168.11.0のネットワークからだけアクセスさせたい場合は以下のようにする。

Require ip 192.168.11.0/24

Apacheの設置_

% sudo aptitude install apache2

DebianのApacheの設定は /etc/apache2にある。

% cd /etc/apache2/sites-available
% sudo touch wordpress-www.conf
% vi wordpress-www.conf

wordpress-www.conf の内容を以下のようにする。

<VirtualHost *:80>
	ServerName www.hogehoge.jp
	ServerAdmin myaddress@hogehoge.jp
	DocumentRoot /var/wordpress-www

	<Directory />
		Options FollowSymLinks
		AllowOverride None
	</Directory>
	<Directory /var/wordpress-www/>
		Options ExecCGI SymLinksIfOwnerMatch MultiViews Includes
		AllowOverride All
		Require all granted
	</Directory>

	ErrorLog ${APACHE_LOG_DIR}/wordpress_www_error.log

	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn

	CustomLog ${APACHE_LOG_DIR}/wordpress_www_access.log combined
</VirtualHost>

上記の設定を反映させる。

% sudo a2ensite wordpress-www
% sudo apachectl restart

WordPressではmod_rewriteを使うので有効にする。

% sudo a2enmod rewrite
% sudo apachectl restart

インストール_

http://www.hogehoge.jp/wp-admin/install.php にアクセスして、画面の指示通りにデータベースを設定する。

バックアップ&リストア_

バックアップ_

mysqldumpを用いてデータベースの中身をバックアップをとる。

% mysqldump -u root -p my_wordpress > 20140405-1900.sql

リストア_

データベースを復旧する。

もし、データベース自体がなくなっているのであれば、データベース名を my_wordpress、ユーザ名 user_wordpressとする。まず、データベースとユーザを作成する。

% mysql -u root -p
> create user 'user_wordpress'@localhost identified by 'パスワード';
> create database my_wordpress;
> grant all privileges on my_wordpress.* to 'user_wordpress'@localhost identified by 'パスワード';
> flush privileges;
> quit

リストアする。

% mysql -u user_wordpress -p my_wordpress < 20140405-1900.sql

戻る_