最新のWordPressを複数設定する

WordPress.ORG から最新のWordPressをダウンロードして設定します。今回は日本語版WordPressを利用します。
こちらの文書では、日本語最新版をDebianに設定していきます。同じサーバで複数のWordPressサーバを構築する事も簡単です。

wordpress-logo-hoz-rgb

WordPress以外は、Debianのパッケージ管理に任せます。こうする事で、脆弱性が見つかった時などDebianコマンド apt-get update,upgradにて随時更新が可能です

apt-get install apache2 php5 curl mysql-server php5-mysql

vi /etc/php5/apache/php.ini
; ... or under UNIX:
extension=msql.so
wget https://ja.wordpress.org/latest-ja.tar.gz
tar -xzvf latest.tar.gz
cp ./wordpress/ /var/www/
mv wordpress/ wordpress01

日本語版をダウンロードし、/var/www内に設置します。複数ドメインで違うWordPressを開けるように名前等の設定も考えます。

MySQLに設定するWordPress用のDBを準備します。これも分かりやすいように/var/www以下に配置したwordpressファイルと連携させると複数管理しやすいです。

vi wp01.sql
CREATE DATABASE wordpress01;
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER
ON wordpress01.*
TO wordpress01@localhost
IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
cat wp01.sql | mysql --defaults-extra-file=/etc/mysql/debian.cnf

 WordPressコンフィグファイルを準備

WordPressから、MySQLにアクセスできるようwp-config.phpを編集します。また、テーマやプラグインなどを直接ダウンロードできるよう設定を書き加えます。

/var/www/wordpress01# cp wp-config-sample.php wp-config.php 
/var/www/wordpress01# egrep -v '^\s*$' wp-config.php |egrep -v '^\s?\*' |egrep -v '^/'
<?php
/パスワードを合わせる
define('DB_NAME', 'wordpress01');
define('DB_USER', 'wordpress01');
define('DB_PASSWORD', 'password');
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');
define('AUTH_KEY', 'put your unique phrase here');
define('SECURE_AUTH_KEY', 'put your unique phrase here');
define('LOGGED_IN_KEY', 'put your unique phrase here');
define('NONCE_KEY', 'put your unique phrase here');
define('AUTH_SALT', 'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT', 'put your unique phrase here');
define('NONCE_SALT', 'put your unique phrase here');
$table_prefix = 'wp_';
define('WP_DEBUG', false);
if ( !defined('ABSPATH') )
 define('ABSPATH', dirname(__FILE__) . '/');
require_once(ABSPATH . 'wp-settings.php');
/以下付け加える(ftpを使わず直接ダウンロード)
define('FS_METHOD', 'direct');

指定のホスト名でアクセスがあった際に、指定のディレクトリにアクセスさせるように設定します。

ホスト名 technical.live-on.net
アクセス先ディレクトリ /var/www/wordpress01

vi /etc/apache2/sites-available/wordpress01.conf
<VirtualHost *:80>
 ServerName technical.live-on.net
 ServerAdmin webmaster@localhost
 DocumentRoot /var/www/wordpress01
 <Directory />
 Options FollowSymLinks
 AllowOverride None
 </Directory>
 <Directory /var/www/wordpress01>
 Options Indexes FollowSymLinks MultiViews
 AllowOverride All
 Order allow,deny
 allow from all
 </Directory>

 ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
 <Directory "/usr/lib/cgi-bin">
 AllowOverride None
 Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
 Order allow,deny
 Allow from all
 </Directory>
 ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
a2ensite wordpress01
/etc/init.d/apache2 restart

wp-contentがapacheから変更が加えられるようにアクセス権限を変更します

chmod 707 wp-settings.php
chmod -R 707 wp-includes
chmod -R 707 wp-admin
chmod -R 777 wp-content/
chown -R www-data:www-data wp-content/
/var/www/wordpresss01# a2enmod rewrite
Enabling module rewrite.
To activate the new configuration, you need to run:
 service apache2 restart
/var/www/wordpress01/# vi .htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
https://www.techlive.tokyo/wp-admin/install.php

以上を複数回繰り返していけば、まったく独立したWordPressサーバを構築していけます

結局更新時、パーミッションエラーで更新できない事があった。うーん、なんだかホームページの情報見てもなかなかいい情報にあたらない。結局、更新するためには、以下のようにしている。

#WordPrsssディレクトリ配下は全てwww-dataのオーナー・グループにする
/var/www/life/cloud# chown -R www-data:www-data *

#ディレクトリの権限
/var/www/life/cloud# chmod 775 -R wp-includes/
/var/www/life/cloud# chmod 775 -R wp-admin/
/var/www/life/cloud# chmod 777 -R wp-content/

#トップにあるファイル権限
/var/www/life/cloud# chmod 775 *

 

関連コンテンツ