実践Linux
CentOS5/6.5 CentOS5/6.5 目次へ TOP(HOME)へ
WordPressでブログサーバーを構築(CentOS5の場合) 2011年3月
WordPressでブログサーバーを構築するには、PHPとMySQLが必要。
CentOS5にはインストール済み。
MySQLの基本設定
データベースの初期化
もし初めてMySQLをインストールしたときは、データベースを初期化します。
(バージョンアップのための再インストール時には、絶対にしないこと。)
# /usr/bin/mysql_install_db --user=mysql
/var/lib/mysql以下にmysqlとtestディレクトリができ、testという空のデータベースができる。)
設定ファイル/etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
default-character-set=utf8 ← 追記(デフォルトのサーバ文字コードを指定する。ujis, sjis, utf8等が指定可能)
skip-character-set-client-handshake ← 追記(サーバーの文字コード設定をクライアントでもそのまま使うようにする)
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
mysqlサービスを起動
mysqlのrootのパスワードを設定
# mysqladmin -u root password '**************' ←**************はrootのパスワード
ユーザーwordpressの作成(ここではユーザー名、データベース名をwordpressにした)
# mysql -u root -p
> grant all privileges on wordpress.* to wordpress@localhost identified
by '*********'; ←*********はユーザーのパスワード
> select user from mysql.user where user='wordpress'; 確認
> exit
データベースwordpressの作成
# mysql -u wordpress -p
> create database wordpress;
> show databases;
> exit
WordPressインストール
php-mysqlインストール
WordPressはPHPで動作するため、PHPからMySQLデータベースへアクセスするためのパッケージであるphp-mysqlをインストールする
# yum install php-mysql ← php-mysqlインストール
WordPressインストール
# wget http://ja.wordpress.org/wordpress-3.0.5-ja.zip ← WordPressダウンロード
最新版のURLはダウンロードページで確認すること
# unzip wordpress-3.0.5-ja.zip ← WordPress解凍
# mv wordpress /var/www/ ← WordPress解凍先ディレクトリを/var/wwwディレクトリ下へ移動
# chown -R apache:apache /var/www/wordpress/ ← WordPressディレクトリ所有者をApache実行ユーザへ変更
# rm -f wordpress-2.5-ja.zip ← ダウンロードしたファイルを削除
WordPress設定
設定ファイルをサンプルよりコピー
# cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php
/var/www/wordpress/wp-config.php設定ファイル編集
// ** MySQL 設定 ** //
define('DB_NAME', 'wordpress'); // データベース名
define('DB_USER', 'wordpress'); //データベースユーザー名
define('DB_PASSWORD', '*********'); // パスワード ← *********はユーザーパスワード
define('DB_HOST', 'localhost'); // MySQL のホスト名 確認
define('DB_CHARSET', 'utf8'); // データベースのテーブルを作成する際のデータベースのキャラクターセット 確認
Apache設定
http://www.my-dom.xxx/blogでアクセスできるようにする。
/etc/httpd/conf.d/wordpress.confを作成
Alias /blog /var/www/wordpress ← 記入
Apache再起動
selinux
# restorecon -RF /var/www/wordpress
文字化け対策
PHPの設定(/etc/php.ini)で下記の設定をしている場合はこの部分の設定は必要ないが、すでにphp.iniでpostgreSQL用等にmbstring.internal_encoding
= EUC-JPの設定をしている場合は、.htaccessを設置して設定をUTF-8に変更してやる。
.htaccessでPHPの設定を行う(下層の設定が優先される=php.iniより優先される)
/var/www/wordpress/.htaccessを作成
下記内容を記載
php_value mbstring.language neutral
php_value mbstring.internal_encoding UTF-8
php_value mbstring.http_output UTF-8
php_value default_charset UTF-8
Apacheの設定
/etc/httpd/conf/httpd.confに追加
<Directory "/var/www/wordpress">
AllowOverride All ←.htaccess による設定変更を許可
</Directory>
# chown -R apache:apache /var/www/wordpress/
# restorecon -RF /var/www/wordpress
Apache再起動
WordPress
WordPress初期設定
http://www.my-dom.xxx/blog/にアクセス
「ブログタイトル」、「ユーザー名」、「パスワード」、「メールアドレス」を入力して「インストール」ボタン
設定したメールアドレス宛に通知メールが送信されてくる
ブログ閲覧
http://www.my-dom.xxx/blog/へアクセスする
ブログ管理
http://サーバー名/blog/wp-login.phpにアクセス
複数のブログを開設する
WPを複数インストールする方法でもう1つブログを設置できる。
「データベース」は同じものを共用し、テーブルを変えるだけ。
/home/new-dom/wordpressにインストールしてみる。(ドメインの追加 new-dom.xxxを取得した例を参照)
今回はwinSCPでアップロードしてみる。
SSHでchrootしている場合は、winSCPでは/home/new-dom/直下にはアップロードできないので、あらかじめサーバー側で/home/new-dom/wordpressを作成し、所有者:グループを他と同じようにnew-dom:sftponlyにしておく。(SSHのページ参照)
通常のインストールと同じようにダウンロードして解凍。
wp-config.phpのテーブルの接頭辞を違うものに変更(あとは同じ設定)
デフォルトは wp_ となっているので、wp1_, wp2_ などのように変更。具体的には
$table_prefix = ‘wp_’;
を
$table_prefix = ‘wp1_’;
等に変更する。
.htaccessファイルも同じものを準備する。
winSCPで/home/new-dom/wordpressフォルダの中に以上を含めたWP関係のファイルをUPする。
/etc/httpd/conf/httpd.confの編集
<VirtualHost 219.117.243.210>
ScriptAlias /cgi-bin/ /home/new-dom/cgi-bin/
ServerAdmin root@localhost
DocumentRoot /home/new-dom/public_html
ServerName www.new-dom.net
ErrorLog logs/new-dom_error_log
CustomLog logs/new-dom_access_log combined env=!nolog
Alias /blog /home/new-dom/wordpress http://www.new-dom.net/blogでアクセスできるようにする。
</VirtualHost>
<Directory "/home/new-dom/wordpress"> 追加
AllowOverride All
</Directory>
Apache再起動
●selinux
アクセスできないので、# ls -Zで見てみると、/home/new-dom/wordpressにはuser_home_tが割り当てられている。これをhttpd_sys_content_tに変えてやる。
# semanage fcontext -a -t httpd_sys_content_t "/home/new-dom/wordpress(/.*)?"
# restorecon -RF /home/new-dom/wordpress
TOP(HOME)へ