WordPressでPostgreSQLを使用する!!
こんにちは!!
ブログの管理に、WordPressを使ってみたいなと!!と思っていましたが、
デフォルトのデータベースがMySQLでした。。。
MySQLより、PostgreSQLの方が慣れているので、
PostgreSQL for WordPress (PG4WP)を使用して、
データベースをPostgreSQLに変更してみました!!
# 以下の手順はPostgreSQLをインストールしていることを前提にしています。
前提条件
1.OSのバージョン
# cat /etc/redhat-release CentOS release 6.5 (Final)
2.WordPressのダウンロード
# cd /var/www/html/ # wget http://ja.wordpress.org/wordpress-3.9.1-ja.zip
3.WordPressの展開
# unzip wordpress-3.9.1-ja.zip
4.WordPress設定ファイルの修正
# cd wordpress # cp -p wp-config-sample.php wp-config.php # vi wp-config.php (変更後) // **PostgreSQLの設定 define('DB_NAME', 'wordpress'); define('DB_USER', 'postgres'); define('DB_PASSWORD', ''); define('DB_HOST', 'localhost'); define('DB_CHARSET', 'utf8'); define('DB_COLLATE', ''); //https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org の秘密鍵サービスで自動生成した値を記載 define('AUTH_KEY', 'xxxxx'); (以降、省略)
5.PostgreSQL for WordPress (PG4WP)の配置
# cd /var/www/html/wordpress/wp-content/plugins/ # wget http://downloads.wordpress.org/plugin/postgresql-for-wordpress.1.3.0.zip # unzip postgresql-for-wordpress.1.3.0.zip # mv postgresql-for-wordpress/pg4wp ./ # rm postgresql-for-wordpress.1.3.0.zip
6.PostgreSQL for WordPress (PG4WP)の設定
# cd pg4wp/ # vi db.php (編集後) define( 'PG4WP_INSECURE', true); wb-content直下に移動させる # mv db.php ../../
7.WordPress用のデータベース作成
# su - postgres $ createdb wordpress
8.WordPressインストール
ブラウザから/wordpress/wp-admin/install.phpにアクセスしてインストール。
補足
a.Word-Pressインストール時のエラー対処
1.以下のメッセージがブラウザに出力された
Your PHP installation appears to be missing the PostgreSQL extension which is required by WordPress with PG4WP.
以下を実行
# yum install php-pgsql
2.ブラウザに何も表示されない。
apacheのerror_logを確認
tail -f /var/log/httpd/error_log PHP Fatal error: Call to undefined function wpsql_errno() in /var/www/html/wordpress/wp-content/plugins/pg4wp/core.php(32) : eval()'d code on line 1531
以下を修正
# vi /var/www/html/wordpress/wp-content/plugins/pg4wp/driver_pgsql.php (以下を追加) function wpsql_errno( $connection) { $result = pg_get_result($connection); $result_status = pg_result_status($result); return pg_result_error_field($result_status, PGSQL_DIAG_SQLSTATE); } ||< 参考URL https://vitoriodelage.wordpress.com/2014/06/06/add-missing-wpsql_errno-in-pg4wp-plugin/ b.インストール完了時のメッセージ (原因調査中) >|| WordPress database error: [ERROR: syntax error at or near "," LINE 1: DELETE a, b FROM wp_options a, wp_options b WHERE ^] DELETE a, b FROM wp_options a, wp_options b WHERE a.option_name LIKE '\_transient\_%' AND a.option_name NOT LIKE '\_transient\_timeout\_%' AND b.option_name = CONCAT( '_transient_timeout_', SUBSTRING( a.option_name, 12 ) ) AND b.option_value < 1403947144 WordPress database error: [ERROR: syntax error at or near "," LINE 1: DELETE a, b FROM wp_options a, wp_options b WHERE ^] DELETE a, b FROM wp_options a, wp_options b WHERE a.option_name LIKE '\_site\_transient\_%' AND a.option_name NOT LIKE '\_site\_transient\_timeout\_%' AND b.option_name = CONCAT( '_site_transient_timeout_', SUBSTRING( a.option_name, 17 ) ) AND b.option_value < 1403947144 成功しました ! WordPress がインストールされました。もっと何か作業をしたかったですか ? がっかりさせてゴメンナサイ。これだけです