この記事では、CentOS 6(ここでは6.9)にApacheをインストールしてVirtualHostを設定する方法を解説します。
VirtualHost(バーチャルホスト)を設定することで、一台のサーバーで仮想的に複数のドメインを運用することができます。
目次
設定手順
以下のコマンドを実行し、Apacheをインストールします。
$ sudo yum -y install httpd
設定ファイルを開きます。
$ sudo vi /etc/httpd/conf/httpd.conf
該当の箇所を以下ように変更し、ファイルを保存してエディタを終了します。
ServerTokens Prod #レスポンスヘッダーにOSの情報を表示しない(44行目付近)
ServerSignature Off #エラー画面に表示されるApacheのバージョン情報等を表示しない(536行目付近)
NameVirtualHost *:80 #コメントアウトを外す(990行目付近)
ServerAdmin ****@hitori-josys.me #サーバー管理者のメールアドレスを指定する
VirtualHostの設定ファイルを新規作成します。
$ sudo vi /etc/httpd/conf.d/vhost.conf
新規作成したファイルに以下の内容を記述します。
# バーチャルホスト未定義のホスト名は拒否する
<VirtualHost *:80>
ServerName any
<Location />
Order Deny,Allow
Deny from All
</Location>
</VirtualHost>
サイトの設定ファイルを新規作成します。設定ファイル名は任意ですので、自身の環境に合わせてください。
$ sudo vi /etc/httpd/conf.d/pc-tech.info.conf
新規作成したファイルに以下の内容を記述します。こちらはサンプルの設定ですので、自身の環境に合わせて書き換えてください。
<VirtualHost *:80>
ServerName apache.hitori-josys.me
DocumentRoot /var/www/vhosts/apache.hitori-josys.me
CustomLog /var/log/httpd/apache.hitori-josys.me-access.log combined
ErrorLog /var/log/httpd/apache.hitori-josys.me-error.log
<Directory /var/www/vhosts/apache.hitori-josys.me>
Options FollowSymLinks MultiViews
AllowOverride All
AuthUserFile /etc/httpd/conf/.htpasswd
AuthGroupFile /dev/null
AuthName "Basic Auth"
AuthType Basic
Require valid-user
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
以下のコマンドで設定ファイルに問題がないかチェックします。
$ sudo service httpd configtest
以下のコマンドでサービスを起動します。
$ sudo service httpd start
システムの再起動時に自動でサービスが起動するように設定します。
$ sudo chkconfig httpd on