鯖memo

主にDebianを使って色々と遊んでみます

Apacheのインストールと設定 - さくらのVPSでWordPressを動かしてみる(4)

f:id:log134:20140124112459p:plain
WordPress › 日本語

WordPressを動かすのに必要なApache・PHP・MySQLをインストールし設定します。
運用していくにあたり、不具合が発生したりや負荷対策をしていく必要がありますが、ひとまずWordPressが動くという環境を構築します。

Debianの場合は、下記のコマンド一発でWordPressがインストールされるのですが、インストールされるバージョンが低いことやカスタマイズ、設定変更の柔軟性を考えるとこの方法はおすすめしません。

apt-get install wordpress

Apacheをインストール

Debianが用意した方法とソースからビルドする方法があります。
今回は簡単なパッケージからのインストールです。

apt-get install apache2

パッケージからインストールする方法であればこれだけです。

Apacheの設定

今後負荷対策などで設定を変更する必要性が出てくるかもしれませんが、とりあえず動く状態にします。

不必要な情報を非表示に

DebianにパッケージからApacheを入れると、初期状態でサーバのOSやApacheのバージョンなどが外部に公開される設定になっているので、これを非表示にします。

# vi /etc/apache2/conf.d/security

このファイルの該当箇所を下記のように編集します。

ServerTokens Prod
ServerSignature Off
バーチャルホストの設定

1サーバ=1ドメインで運用するのもいいですが、複数のドメインを利用して使うのが一般的だと思いますので、バーチャルホストの設定を行います。
今回は、blog.sample.com というサブドメイン(URL)で運用することにします。
sample.comはご自分のドメインに置き換えて下さい。

ファイル名は何でも構いませんが、/etc/apache2/sites-available/ 以下に設定ファイルを作成します。

# /etc/apache2/sites-available/blog.sample.com

/va/www 以下に blog.sample.com というディレクトリを作り、その下にログをはき出す「logs」とドキュメントルートの「web」を配置するという構成です。

<VirtualHost *:80>
	ServerAdmin YOURMAILADDRESS@sample.com
	ServerName blog.sample.com

	DocumentRoot /var/www/blog.sample.com
	
	<Directory /var/www/blog.sample.com/web>
		Options -Indexes
		AllowOverride All
		Order allow,deny
		allow from all
	</Directory>

	ErrorLog /var/www/blog.sample.com/logs/error.log
        LogLevel warn

	CustomLog /var/www/blog.sample.com/logs/access.log combined
</VirtualHost>

上のように設定ファイルを作成したら、必要なディレクトリを作ります。
作成したディレクトリはApacheの実行ユーザーへ所有者を変更します。

# mkdir /var/www/blog.sample.com
# mkdir /var/www/blog.sample.com/logs
# mkdir /var/www/blog.sample.com/web
# chown -R www-data:www-data /var/www/blog.sample.com/

apachectl configtes で設定ファイルに問題がないかチェックします。
OKと出れば問題ありません。
問題がなければ、blog.sample.com の設定を有効にします。

# apachectl configtes
# a2ensite blog.sample.com
# /etc/init.d/apache2 reload

apacheをreloadすると設定が有効になります。
ブラウザから blog.sample.com を確認できるようになったはずです。

mod_rewrite を有効にする

WordPressはmod_rewriteというApacheの機能を利用するのでこれを有効化します。
これが無効な状態だと、404 Not Foundというエラーが発生して、WordPressで作成したページを閲覧することができなくなります。

# a2enmod rewrite
# /etc/init.d/apache2 restart

Apacheを再起動したら、ひとまずApacheは設定完了です。
次回は、MySQLとPHPのインストールです。

サーバ構築の実際がわかる Apache[実践]運用/管理 (Software Design plus)

サーバ構築の実際がわかる Apache[実践]運用/管理 (Software Design plus)