Webサーバをたてる ~ Apacheの設定
ConoHaでWebサーバをたててみますよ!
Webサーバいれてなにをするのか?
今回やってみたいことは、
- WordPressを使ってみる
- Redmineで自分のタスク管理とか
- Git, Subversionのリポジトリをたてみる
こんなことをやってみたくて構築をします。
ドメインはお名前.comでとってDNSもそちらで管理してます。ドメインとるのって結構安いです。
Webサーバの運用をするだけならグローバルIPがあれば特にドメインなくても大丈夫ですが、
せっかくなので自分の好きなドメインをとってみるのもサイトに愛着が湧きます(笑)
SSLは自分用のRedmineとWordPressの管理画面とか自分しか使わない部分での利用を想定しているので自己証明書でとりあえず済ませておきます。
一般公開するサービスでも構築するときにはまた考えることとします!
Apacheをインストールする
# まずはApache本体(ConoHaで標準のOSで作成したサーバでは入っていたと思います)
# SSLも使うので
SSL自己証明書を作成する
自己証明書を作成します。
では、やってみます!
# 作業ディレクトリをどこでもよいですが今回は/etc/httpd/conf/に証明書ファイルを作りました
cd /etc/httpd/conf/
# 秘密鍵(server.key)の作成
openssl genrsa -aes128 1024 > server.key
# 公開鍵(server.csr)の作成
openssl req -new -key server.key > server.csr
# デジタル証明書(server.crt)の作成
openssl x509 -in server.csr -days 365 -req -signkey server.key > server.crt
# パスフレーズの入力を省略する場合
mv server.key server.key.back
openssl rsa -in server.key.back > server.key
# パスフレーズを求められるので入力したら完了
証明書の作成はここを参考にしました。
ssl.confに設定を追加する
# ssl.confを編集します
# ここの設定を変更します
#SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
SSLCertificateFile /etc/httpd/conf/server.crt
#SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
SSLCertificateKeyFile /etc/httpd/conf/server.key
必要なポートを開ける
デフォルトではファイアウォールで閉じてあってApacheを起動しても外部からの接続ができません。
ファイアウォールを無効にしてしまうような暴挙には出ず、必要なポートだけ穴あけを行います。
現状のiptablesの設定は以下のコマンドで確認しましょう。
iptables -n -L
では、穴あけをします。rootで作業します。
# /etc/sysconfig/iptablesを編集します。
vi /etc/sysconfig/iptables
# 以下の内容を追記
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
# iptablesを再起動します
service iptables restart
Apacheを起動します
Apacheを起動して確認してみます
# Apacheの起動
service httpd start
# 自動起動設定
chkconfig httpd on
外部から接続できるかどうかローカルPCでtelnetを使って接続してみます
両方ともつながりましたか?
つながらない場合は、iptablesの設定、Apacheが起動しているかなど確認しましょう。
あわせて読む
実はConoHaのサイトにとりあえず、すぐにWebサーバとして利用開始する方法が紹介されてます!