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

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


RockyLinux

RockyLinux8.4のインストール

旧サーバーからのデータ移行

ネットワークの設定ほか
ダイレクトルールを使ったfirewallの強化
DNS(BIND)サーバー
DHCPサーバー
FTPサーバー
FTPS(FTP over SSL/TLS)
Webサーバー
  アクセス解析ツールAwstats
Mail(Dovecot&Postfix)サーバー
MariaDB(MySQL)サーバー
SSHサーバー
SSHトンネル
SSH+MariaDB+Exel
Sambaサーバー
openVPNサーバー
VNCサーバー(リモートディスクトップ)

systemdとfirewalldについて


CentOS8
CentOS7
CentOS5〜6

SELinux

Cプログラミング


●その他
クラウド Amazon EC2
Raspberry Piで遊ぶ
印刷機関連開発
 刷版絵柄面積率測定
 Indesign上にPDF自動配置
数独をExcelで解く


●趣味の世界
相対性理論
量子力学
群論
熱力学・統計力学
解析力学
物理でつかう数学
超弦理論(ノート作成中)