実践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)へ

目 次

特別企画
Raspberry Piで遊ぶ

HOME(全体のシステム構成&目次)

CentOS7
CentOS7のインストール〜ネットワークの設定ほか
CentOS7の新機能(systemdとfirewalld)
ダイレクトルールを使ったfirewallの強化
DNS(BIND)サーバー
Webサーバー
  Webでファイルの受け渡し
  アクセス解析ツールAwstats
  Wordpressでブログ構築
FTPサーバー
FTPS(FTP over SSL/TLS)
Mail(Dovecot&Postfix)サーバー
Sambaサーバー
MariaDB(MySQL)サーバー
DHCPサーバー
SSHサーバー
VNCサーバー
ストリーミングサーバーRed5
ドメインの追加

CentOS5〜6
ネットワーク&ファイアウォール(iptables)
DNS(BIND)サーバー
DHCPサーバー
メールサーバー(基本)
メールサーバー/実際の運用
Webサーバー
  WebDAVによるファイル共有
  Webでファイルのやり取り
  アクセス解析ツールawstats
  namazuで全文検索
  WordPressブログサイト構築
  EC-CUBEショッピングサイト構築
FTPサーバー
ファイルサーバー・Samba
データベースpostgreSQL
  ExcelからpostgreSQLを操作
データベースMySQL
SSHサーバー
VNC
SSL/TLSを利用した暗号化通信
openVPN
ストリーミングサーバー
    C++ RTMP Server
    Helix server Basic
ドメインの追加
Xen・仮想化
特定ディレクトリに容量制限

SELinux
SELinux基本設定
新しいタイプとポリシー・モジュールを作成してみる
マクロを利用したteファイルの記述
新しいドメインを導入してみる

coLinux
Fedora11で試す

Cプログラミング目次
X11プログラム
サイエンス・プログラム

計測・プログラム
秋月電子のデーターロガーpico ADC-16
「今すぐ使えるパソコン計測USBマイコン基板」に付属のTRZ1102
センサーの使用例

Glade2/GTK+を使ってみる
テキスト・ビューで簡易エディター
ドローイングエリアで自動描画
放物線運動(pango、cairoも試してみる)
これらを、GTK+のみで書き出す

フォントについて
ネットワーク・プログラミング
postgreSQL接続
CGI
ファイル操作

●その他
印刷機関連開発 刷版絵柄面積率測定
数独をExcelで解く