Webサーバー · 1 min read · Jan 07, 2026
CentOS 5でBINDとApacheを使って自分のWebサーバーを作成する(簡略版) - ページ2
再びジャンプします :) 今回は少し進んで、1005行目に移動してください。
NameVirtualHost *:80NameVirtualHostディレクティブは、Apacheに名前ベースの仮想ホスティングを使用したいことを伝えます。簡単に言えば、同じIPアドレスを使用する多数のWebサイトです。’#NameVirtualHost *:80’の下にいくつかの空行を追加し、そのすぐ下の行にNameVirtualHostとホスト名またはIPアドレスを追加し、:80を続けます。’:80’は、HTTPプロトコルのために名前ベースの仮想ホスティングを使用していることを意味します。
したがって、次のようなものを生成する必要があります:
NameVirtualHost host.website.com:80これで、httpd.confファイルの設定はほぼ完了です。残っているのは、誰かがドメイン名ではなくIPを使用してサーバーにアクセスした場合に、そのユーザーに表示されるデフォルトのホスト名を設定することだけです。これを設定ファイルの最後に挿入できます。
ServerAdmin [email protected]
DocumentRoot /www
ServerName 77.77.197.69
ErrorLog logs/error_log
CustomLog logs/access_log common
httpd.confを管理しやすくするために、ファイルの下部にこの行を追加する必要があります:
Include conf/vhosts/*.confこれは、/etc/httpd/conf/vhostsからすべての.confエントリを含めることを意味し、そこにWebサイトの仮想ホストを追加していきます。進むにつれて理解しやすくなります。さて、ほぼ完了です。httpd.confを保存して進みましょう。
ウェブサイトディレクトリの作成
ウェブサイトを適切に管理するために、ウェブサイトのディレクトリ構造を作成する必要があります。まず、メインディレクトリを作成しましょう:
mkdir /www次に、/wwwの所有者をrootに設定します:
chown root.root /wwwこれ以上進む前に、1つの調整を行う必要があります。httpd.confでホスト名として使用したため、named.confにhost.website.comのゾーンを追加しなければなりません。これを行わないとエラーが発生します。したがって、named.confにこれを追加する必要があります。
zone "host.website.com" IN {
type master;
file "/var/named/host.website.com.db";
};もちろん、以下はファイルの内容です:
/var/named/chroot/var/named/host.website.com.db$TTL 14400
@ 86400 IN SOA ns1.website.com. [email protected]. (
2008021501 ; serial, todays date+todays
86400 ; refresh, seconds
7200 ; retry, seconds
3600000 ; expire, seconds
86400 ) ; minimum, seconds
host.website.com. 86400 IN NS ns1.website.com.
host.website.com. 86400 IN NS ns2.website.com.
host.website.com. IN A 77.77.197.69
localhost.host.website.com. IN A 127.0.0.1必要に応じて、任意の数のレコードを追加できます。namedを再起動する前に、リンクを作成します:
ln -s/var/named/chroot/var/named/host.website.com.db /var/named/host.website.com.dbservice named restartさて、ディレクトリ構造に戻りましょう。したがって、website.comのゾーンを追加しましたので、今度はそれに対する仮想ディレクトリが必要です。
cd /www
mkdir website.com
cd website.com
mkdir html
mkdir html/cgi-bin
mkdir databases
mkdir logsウェブサイトのためのディレクトリを作成したので、次に必要なのはこのドメイン名を管理できるユーザーです。次のように行うことができます:
useradd -d /www/your-domain/ domain_userまたは、ユーザーのシェルアクセスを制限したい場合は、次のようにします:
useradd -d /www/your-domain/ -s /sbin/nologin domain_userユーザーが追加された後、次のコマンドでパスワードを変更できます:
passwdこのユーザーにはまだ「ホーム」:) 所有する場所がありませんので、次のように追加します:
cd /www && chown domain_user:domain_user website.com「databases」ディレクトリを作成した場合は、所有者をmysqlユーザーに変更する必要があります。そうしないと、MySQLはデータベースファイルに書き込むことができません。データベースに関連するすべてのディレクトリ、サブディレクトリ、およびファイルはmysqlユーザーが所有する必要があり、次のコマンドでそれを行うことができます:
cd website.com && chown -R mysql:mysql databasesこれで、ウェブサイトのディレクトリ構造の作成が完了しました。残っているのは、Apacheにウェブサイトの場所を教えることだけです。
さて、httpd.confを設定していたときに挿入した行を振り返りましょう:
Include conf/vhosts/*.confこれを行った理由がわかるでしょう。まだフォルダーが存在しないので、作成する必要があります:
cd /etc/httpd/conf && mkdir vhosts次に、vhostsディレクトリに入ります:
cd vhostsそして、ドメイン用の新しいファイルを作成します:
nano website.com.80.confこのファイルに次の内容を挿入する必要があります:
ServerAdmin [email protected]
ServerName website.com
ServerAlias www.website.com
DocumentRoot /www/website.com/html
ScriptAlias /cgi-bin/ /www/website.com/html/cgi-bin/
ErrorLog /www/website.com/logs/error_log
CustomLog /www/website.com/logs/access_log combined
これで、Apacheにウェブサイトのディレクトリを教えたので、ブラウザからのwww.website.comへのすべてのリクエストは/www/website.com/htmlから読み取られます。そこにファイルを置く必要があります。例:index.html。これでhttpdを起動するか、すでに起動している場合は再起動できます。
service httpd startまたは
service httpd restartこのチュートリアルやApacheまたはBINDの設定に問題がある場合は、遠慮なく私に連絡してください。私もそのような問題やそれ以上の問題を経験しましたので、暇なときに喜んでお手伝いします。
著者
: Emir Ibrahimbegovic
E:
[email protected]
感謝
Tony Bhimani, Sébastien Wains, Nayyar Ahmad
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。