リファレンス
Contents
環境
- OS
CentOS release 6.4 (64bit)
- Apache Version
2.4.7
- PHP Version
5.5.10
- MySQL Version
5.6.15
サーバの構築
MySQLの構築
MySQLのインストール
- mysqlユーザを作成する
useradd --user-group --no-create-home --shell /sbin/nologin mysql
- 関連パッケージをインストールする
yum install gcc gcc-c++ cmake perl bison ncurses-devel -y
- OSにデフォルトでインストールされているMySQLの設定ファイルを削除する
rm -f /etc/my.cnf
- scpやwgetを使用してソースコードをダウンロードする
wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.15.tar.gz
- 展開する
tar xzfv mysql-*.tar.gz
- MySQLディレクトリへ移動する
cd mysql-*
- コンパイル最適化設定を行う
export CFLAGS="-O3 -m64 -march=native" export CXXFLAGS=$CFLAGS # make時にinclude/mysqld_error.hでIllegal instruction include/mysqld_error.hエラーが出る場合は-march=nativeオプションは外す
- MySQLのインストール場所とデータ用ディレクトリを分ける場合は、データ用ディレクトリを作成する
# MySQLのデータ格納場所を<MYSQL_DATA_PATH>とする mkdir -p -m 774 <MYSQL_DATA_PATH> chown mysql:mysql <MYSQL_DATA_PATH>
- インストール設定を行う
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.15 -DMYSQL_DATADIR=<MYSQL_DATA_PATH>
- インストールする
make | tee make.log make install
- 起動スクリプトを設定
cp support-files/mysql.server /etc/init.d/mysqld chmod 554 /etc/init.d/mysqld chkconfig --add mysqld # 登録を確認する chkconfig --list mysqld
- インストールに使用したパッケージを削除する
cd ../ rm -rf mysql-*
- MySQLのシンボリックリンクを作成する
ln -s /usr/local/mysql-5.6.15 /usr/local/mysql
これによって、複数のバージョンのApacheを同居させ、リンクを切り替えることで、バージョン変更が可能 - 共通した環境とするために環境変数を設定する
export MYSQL_HOME=/usr/local/mysql export MYSQL_DATA=<MYSQL_DATA_PATH>
- ツール類にパスを通す
export PATH=$MYSQL_HOME/bin:$PATH
- 環境変数を再起動後も有効にする
vi /etc/bashrc # 以下を追記する export MYSQL_HOME=/usr/local/mysql export MYSQL_DATA=<MYSQL_DATA_PATH> export PATH=$MYSQL_HOME/bin:$PATH
- 空の設定ファイルを作成する
echo "[mysqld]" > $MYSQL_HOME/my.cnf
- 初期データベースの作成
cd $MYSQL_HOME scripts/mysql_install_db --datadir=$MYSQL_DATA --user=mysql rm -f my.cnf chown mysql:mysql $MYSQL_DATA chown mysql:mysql $MYSQL_DATA/* chown mysql:mysql $MYSQL_DATA/*/*
- mysql起動
mysqld_safe &
- セキュリティ設定
以下スクリプトを実行する。対話的に実行されるが、パスワードの入力以外は Y を入力しておけばよい。
mysql_secure_installation
WordPress用の設定
- ログインする
mysql
- データベースを作成する
create database wordpress default charset=utf8;
- ユーザを作成する
grant all on wordpress.* to wordpress@localhost identified by "wordpress";
Apacheの構築
Apacheのインストール
- 関連パッケージをインストールする
yum install wget gcc make pcre-devel lynx openssl openssl-devel -y
- ダウンロードサイトからアーカイブのURLを取得し、ダウンロードする
wget http://ftp.jaist.ac.jp/pub/apache//httpd/httpd-2.4.7.tar.gz
- アーカイブファイルを展開する
tar zfxv httpd-*.tar.gz
- Apache Portable Runtime(APR)をインストールする
※Apache Portable Runtimeとはクロスプラットフォームサポート用のライブラリ
- ダウンロードサイトからアーカイブのURLを取得し、ダウンロードする
wget http://ftp.tsukuba.wide.ad.jp/software/apache//apr/apr-1.5.0.tar.gz wget http://ftp.tsukuba.wide.ad.jp/software/apache//apr/apr-util-1.5.3.tar.gz
- アーカイブファイルを展開する
tar zfxv apr-1*.tar.gz tar zfxv apr-util-*.tar.gz
- Apacheディレクトリへ移動
mv apr-1.5.0 httpd-2.4.7/srclib/apr mv apr-util-1.5.3 httpd-2.4.7/srclib/apr-util
- ダウンロードサイトからアーカイブのURLを取得し、ダウンロードする
- Apacheのディレクトリに移動する
cd httpd-*
- コンパイル最適化設定を行う
export CFLAGS="-O3 -m64"
- configure設定を行う
./configure --prefix=/usr/local/apache-httpd-2.4.7 --enable-layout=Apache --enable-modules=all --enable-mods-shared=all --enable-ssl --enable-mpms-shared=all
- エラーが出なかった場合、インストールを行う
make | tee make.log make install
- 起動スクリプトを作成する
cp build/rpm/httpd.init /etc/init.d/httpd
- インストールに使用したパッケージを削除する
cd ../ rm -f apr-*.tar.gz rm -f httpd-*.tar.gz rm -rf httpd-*
- インストールディレクトリへのシンボリックリンクを作成する
ln -s /usr/local/apache-httpd-2.4.7 /usr/local/apache-httpd
これによって、複数のバージョンを同居させ、リンクを切り替えることで、バージョン変更が可能
環境設定
環境変数
いずれのインストール方法・場所でも同一のアクセスが可能なように環境変数でパスを設定する
- 環境変数でパスを設定する(インストールしたパスによって値は変更する)
export APACHE_HOME=/usr/local/apache-httpd export PATH=/usr/local/apache-httpd/bin:$PATH
- 環境変数を毎ログイン時に設定するようにする
vi /etc/bashrc
末尾に以下を追記する
export APACHE_HOME=/usr/local/apache-httpd export PATH=/usr/local/apache-httpd/bin:$PATH
サービス登録
サービスとして登録し、OS起動時の自動起動、serviceコマンドによる制御をできるようにする。
- 制御スクリプトを編集する
vi /etc/init.d/httpd
以下の通り編集する
# chkconfig: - 85 15 ~~~ httpd=${HTTPD-/usr/sbin/httpd} pidfile=${PIDFILE-/var/run/${prog}.pid} ~~~ CONFFILE=/etc/httpd/conf/httpd.conf
の行を
# chkconfig: 345 85 15 ~~~ httpd=${HTTPD-/usr/local/apache-httpd/bin/httpd} pidfile=${PIDFILE-/usr/local/apache-httpd/logs/httpd.pid} ~~~ CONFFILE=/usr/local/apache-httpd/conf/httpd.conf
とする - 以降、編集不可とする
chmod 554 /etc/init.d/httpd
- サービスとして追加する
chkconfig --add httpd
- ランレベル3,4,5に登録されていることを確認する
chkconfig --list httpd
PHP環境の構築
- scpやwgetを使用してソースコードをダウンロードする
wget http://jp1.php.net/get/php-5.5.10.tar.gz/from/this/mirror -O php-5.5.10.tar.gz
- 展開する
tar xzfv php-*.tar.gz
- MySQLディレクトリへ移動する
cd php-*
- コンパイル最適化設定を行う
export CFLAGS="-O3 -m64"
- インストール設定を行う
./configure --prefix=/usr/local/php-5.5.10 --with-apxs2=/usr/local/apache-httpd-2.4.7/bin/apxs --with-mysql --with-zlib-dir=/usr
- エラーが出なかった場合、インストールを行う
make | tee make.log make install
- zlibモジュールをインストールする
yum install autoconf cd ext/zlib ln -s config0.m4 config.m4 phpize ./configure --with-zlib=/usr --with-zlib-di/usr make make install
- インストールに使用したパッケージを削除する
cd ../ rm -rf php-*
- インストールディレクトリへのシンボリックリンクを作成する
ln -s /usr/local/php-5.5.10 /usr/local/php
これによって、複数のバージョンを同居させ、リンクを切り替えることで、バージョン変更が可能 - 共通した環境とするために環境変数を設定する
export PHP_HOME=/usr/local/php
- ツール類にパスを通す
export PATH=$PHP_HOME/bin:$PATH
- 環境変数を再起動後も有効にする
vi /etc/bashrc # 以下を追記する export PHP_HOME=/usr/local/php export PATH=$PHP_HOME/bin:$PATH
- 設定ファイルのベースをコピーする
cp php.ini-production /usr/local/php-5.5.10/lib/php.ini
- zlibをロードさせる
vi /usr/local/php/lib/php.ini # 以下を追記 extension=zlib.so
WordPressの構築
WordPressのインストール
WordPressの設置
- ダウンロードサイト:http://ja.wordpress.org/からアーカイブのURLを取得する
- ダウンロードする
wget http://ja.wordpress.org/wordpress-3.8.1-ja.zip
- アーカイブファイルを展開する
unzip wordpress-*-ja.zip
- アーカイブファイルを削除する
rm -f wordpress-*-ja.zip
- Apacheディレクトリへ移動する
mv wordpress $APACHE_HOME/htdocs/wordpress-3.8.1
Apacheの設定
- 設定ファイルを編集する
vi $APACHE_HOME/conf/httpd.conf
- 以下を追記する
AddType text/html .php <FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch> Alias /wordpress/ "/usr/local/apache-httpd/htdocs/wordpress-3.8.1/" <Directory "/usr/local/apache-httpd/htdocs/wordpress-3.8.1/"> Options Indexes FollowSymLinks AllowOverride None Require all granted DirectoryIndex index.php </Directory>
- 再起動する
service httpd restart
WordPressの設定
初期設定
設定ファイルが存在しないので、作成する
cd $APACHE_HOME/htdocs/wordpress-3.8.1 vi wp-config.php以下を貼り付ける
<?php define('DB_NAME', 'wordpress'); define('DB_USER', 'wordpress'); define('DB_PASSWORD', 'wordpress'); define('DB_HOST', 'localhost'); define('DB_CHARSET', 'utf8'); define('DB_COLLATE', ''); /** 可能であれば、一意な値に変更する */ define('AUTH_KEY', 'AUTH_KEY'); define('SECURE_AUTH_KEY', 'SECURE_AUTH_KEY'); define('LOGGED_IN_KEY', 'LOGGED_IN_KEY'); define('NONCE_KEY', 'NONCE_KEY'); define('AUTH_SALT', 'AUTH_SALT'); define('SECURE_AUTH_SALT', 'SECURE_AUTH_SALT'); define('LOGGED_IN_SALT', 'LOGGED_IN_SALT'); define('NONCE_SALT', 'NONCE_SALT'); $table_prefix = 'wp_'; define('WPLANG', 'ja'); define('WP_DEBUG', false); if ( !defined('ABSPATH') ) define('ABSPATH', dirname(__FILE__) . '/'); require_once(ABSPATH . 'wp-settings.php');