Webで何かを公開する時にはWebサーバーを使います。Webサーバーは端末からの要求を受け付け、コンテンツを返す役割を持ちます。
LinuxではApacheやNginx、WindowsではIISが代表的なWebサーバーです。
本サイトは比較的安価なサーバーで利用できるリソースも多くはないので、比較的少ないリソースで動作するNginxを使用しています。
Nginxはyumコマンドでインストールできます。
$ sudo yum -y install nginx
公開できるコンテンツはいろいろありますが、簡単に公開できるのはHTMLファイルや画像ファイルで構成する静的コンテンツです。本サイトも静的コンテンツとして作成しています。
コンテンツを配置するディレクトリーを作成します。このディレクトリー配下に配置したファイルが公開の対象となります。このサイトではドメイン名と合わせて/var/www/vhosts/doc.mas3.net/htdocsというディレクトリーを作っています。一般ユーザーで編集できるようディレクトリーの所有者を変更します。
$ sudo mkdir -p /var/www/vhosts/doc.mas3.net/htdocs $ sudo chown user:user /var/www/vhosts/doc.mas3.net/htdocs
コンテンツ配置ディレクトリーの場所を設定ファイルに記載します。
$ sudo vi /etc/nginx/conf.d/virtual.conf
名前ベースのバーチャルホストを利用するのでserver_nameを使用します。
server { listen 80; server_name doc.mas3.net; location / { root /var/www/vhosts/doc.mas3.net/htdocs; index index.html; } }
設定が終わったらNginxを起動します。
$ sudo service nginx start
サーバー再起動時にNginxを自動起動するように設定します。
$ sudo chkconfig nginx on
ファイアウォールの設定をするの設定例を参考にiptablesを設定していると、コンテンツ要求のリクエストをブロックしてしまうのでそれを解除します。
/etc/sysconfig/iptablesを開きます。
$ sudo vi /etc/sysconfig/iptables
80番ポートの外から中への通信を許可するために下記を追記します。
# incomming HTTP -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
設定を変更したらiptablesを再起動します。
$ sudo service iptables restart