ホスティングサービスでは当たり前のようにデフォルト導入されているBlogツールですが、VPS環境では当然自分で導入する必要があります。現時点ではMovable TypeとWordpressが2大勢力ですが、最近Wordpressの方が勢いがあるようです。
以前はMovable Typeを利用したものの、心機一転という意味であえてWordpressを選択してみました。
まずは最新版のWordpressをダウンロードし、解凍します。
[root@starplatinum ~]# wget http://ja.wordpress.org/wordpress-2.8.4-ja.tar.gz
[root@starplatinum ~]# gtar -zxvf ./wordpress-2.8.4-ja.tar.gz
ここで改めて動作環境を確認したところ、WordpressがPHP+MySQLで動作することを確認。
VPSの管理画面から、MySQLとPHPのパッケージを追加します。
#yumで入れてもいいんですが、一応….
追加完了後、MySQLをそのまま起動してみます。
[root@starplatinum init.d]# ./mysqld start
Initializing MySQL database: Installing MySQL system tables...
OK
Filling help tables...
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h starplatinum.jp password 'new-password'
See the manual for more instructions.
You can start the MySQL daemon with:
cd /usr ; /usr/bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd mysql-test ; perl mysql-test-run.pl
Please report any problems with the /usr/bin/mysqlbug script!
The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com
[ OK ]
Starting MySQL: [ OK ]
怒られたので、パスワードを変更しておきます。もちろん’hoge’はダミーです。
[root@starplatinum init.d]# /usr/bin/mysqladmin -u root password 'hoge'
[root@starplatinum init.d]# /usr/bin/mysqladmin -u root -h starplatinum.jp password 'hoge'
続いて、Wordpress用のDBユーザとDBの作成を行います。
[root@starplatinum ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 4
Server version: 5.0.45 Source distribution
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql> CREATE DATABASE wordpress;
Query OK, 1 row affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON wordpress.* TO "wpuser"@"starplatinum.jp" IDENTIFIED BY "hoge";
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> EXIT
Bye
続いて、Wordpress側のDBアクセス設定を行います。
設定サンプルをコピーしてから編集します。
[root@starplatinum ~]# cp ./wordpress/wp-config-sample.php ./wordpress/wp-config.php
[root@starplatinum ~]# vi ./wordpress/wp-config.php
私が試した限りでは改行コードがCR+LFで、懐かしのゴミがついていて萎えますが、気にせずに編集。こんな感じになるはずです。
// ** MySQL 設定 - こちらの情報はホスティング先から入手してください。 ** //^M
/** WordPress のデータベース名 */^M
define('DB_NAME', 'wordpress');^M
^M
/** MySQL のユーザー名 */^M
define('DB_USER', 'wpuser');^M
^M
/** MySQL のパスワード */^M
define('DB_PASSWORD', 'hoge');^M
^M
/** MySQL のホスト名 (ほとんどの場合変更する必要はありません。) */^M
define('DB_HOST', 'starplatinum.jp');^M
^M
/** データベーステーブルのキャラクターセット (ほとんどの場合変更する必要はありま
せん。) */^M
define('DB_CHARSET', 'utf8');^M
^M
/** データベースの照合順序 (ほとんどの場合変更する必要はありません。) */^M
define('DB_COLLATE', '');^M
WordPressのファイル群をWebサーバから見える所にコピーします。
今回はCMSとして利用する予定なので、全ファイルをDocumentRootにコピー。
[root@starplatinum ~]# cp -r ./wordpress/* /var/www/html
インストールを続けるためにWebサーバにアクセス…するも、PHPとして動作していない模様(ソースがそのまま表示される)。考えてみたら、PHPのパッケージを入れてからhttpdを再起動していなかったので、再起動してみます。
[root@starplatinum html]# /etc/rc.d/init.d/httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
改めてアクセスしてみました…が、
お使いのサーバーの PHP では MySQL 拡張を利用できないようです。
冷たいお返事….
PHPからmysqlを利用するための拡張モジュールの所在を確認します。
[root@starplatinum etc]# ls /usr/lib/php/modules/
dbase.so imap.so ncurses.so pdo.so xmlreader.so xsl.so
dom.so ldap.so odbc.so pdo_sqlite.so xmlrpc.so
gd.so mbstring.so pdo_odbc.so snmp.so xmlwriter.so
入っていない….ということで導入。
[root@starplatinum etc]# yum install php-mysql
再度確認。
[root@starplatinum etc]# ls /usr/lib/php/modules/
dbase.so ldap.so ncurses.so pdo.so xmlrpc.so
dom.so mbstring.so odbc.so pdo_sqlite.so xmlwriter.so
gd.so mysqli.so pdo_mysql.so snmp.so xsl.so
imap.so mysql.so pdo_odbc.so xmlreader.so
mysql.soが入っているのでよさそうだ。再度インストールスクリプトにアクセス。
お使いのサーバーの PHP では MySQL 拡張を利用できないようです。
冷たい返事のまま…
/etc/php.iniを確認したら、拡張モジュールをロードする記述がなかったので追加します。
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
;
; If you wish to have an extension loaded automatically, use the following
; syntax:
;
; extension=modulename.extension
;
; For example:
;
; extension=msql.so
;
; Note that it should be the name of the module only; no directory information
; needs to go here. Specify the location of the extension with the
; extension_dir directive above.
extension=mysql.so
追加後、httpdを再起動したら、無事インストールスクリプトが動作しました。ブログ名とメールアドレス、検索エンジンに表示させるかどうかを選択してボタンをクリックしたら、それで終了です。Movable Typeに比べると非常にあっけないですね。
登録アドレスにメールが来ます。ユーザ名は”admin”固定だと思いますが、パスワードがランダムなので変更を忘れないように。
ありがとうございました。
あっさり解決しました。