記事のディレクトリ
1. [ Windows Install Loopback Network Card]の記事をクリックして、ネットワーク構成を完了します
2. DNSサービスを構成します(CentOS7で[ DDNS構成とアプリケーション]をクリックして構成を完了します
3.APACHEサービスを構成します
3.1APACHEがシステムにインストールされているかどうかを確認します
# rpm -q httpd
インストールされていない場合は、yumを使用してインストールしてください
# yum install httpd
3.2メイン設定ファイル(#vi / etc / httpd / conf / httpd.conf)を開き、以下の要件に従って変更します。
3.2.1基本構成
ファイルが長すぎるため、vimキーワードを使用して対応するコードを見つけて変更し、コマンドモードで対角バー(/)を押してから、キーワードを入力してEnterキーを押します。
対応するキーワードを見つけたら、次のコードに変更します
ServerRoot "/etc/httpd"
Listen 80
ServerName dns.example.com:80
DocumentRoot "/var/www/html"
ホームページを設定する
# echo 'hello world!'> /var/www/html/index.html
サービスを再開します
# systemctl restart httpd
テスト方法:LinuxまたはWindowsブラウザでの入力:http://www.example.com
3.2.2ローカルユーザーが個人のホームページを確立するのをサポートする
userdir.confを変更します(/etc/httpd/conf.d/userdir.conf)
# vim /etc/httpd/conf.d/userdir.conf
キーワードを見つけたら、次のコードを変更します
UserDir public_html
例:ユーザーmaryの個人用サイト構成を開きます(maryが既に存在すると仮定します)。コマンドラインで次の手順を実行します。
# cd /home/mary
# mkdir public_html
# chown mary:mary public_html
# cd ..
# chmod 711 mary
テスト用に、ディレクトリ/ home / mary / public_htmlに簡単なホームページファイルを作成します。特定の設定は、次のようにモデル化できます。
# vim /home/mary/public_html/index.html
次のように入力します
Hi,I’m Mary!
サービスを再起動します。
# systemctl restart httpd
テスト方法:ブラウザへの入力:http://172.16.51.1/~mary
3.2.3パスエイリアスとユーザー認証設定を設定する
# vim /etc/httpd/conf/httpd.conf
次の情報を追加します
Alias /mysecret "/var/www/mysecret"
<Directory "/var/www/mysecret">
Options Indexes MultiViews
AllowOverride None
AuthType Basic
AuthName "This is a private directory.Please Login:"
AuthUserFile /etc/httpd/mysecretpwd
Require user mary john
</Directory>
コマンドラインで次のコマンドを入力します。
# mkdir -p /var/www/mysecret
パスワードファイルを作成し、ユーザーメアリーを追加します
# htpasswd -c /etc/httpd/mysecretpwd mary
パスワードファイルにユーザーが含まれている場合は、「-c」パラメータを使用し
てサービスを再起動しないでください。
# systemctl restart httpd
テスト方法:ブラウザへの入力:http://172.16.51.1/mysecret
3.2.4カスタムカタログ情報を閲覧する
仮想マシンに共有ディレクトリを設定します。ディレクトリの名前はもちろんです。
このディレクトリには、仮想マシンの/ mnt / hgfsディレクトリからアクセスできます。(/ mnt / hgfsディレクトリが仮想マシンに表示されない場合は、Vmwaretoolsをインストールまたは再インストールしてください)
# ll /mnt/hgfs/
/etc/httpd/conf/httpd.conf構成ファイルで、ルートディレクトリのアクセス許可とアクセス方法を変更します。
<Directory />
AllowOverride none
Options FollowSymLinks
</Directory>
同時に、次のステートメントを挿入します。
Alias /Course "/mnt/hgfs/Course/"
<Directory "/mnt/hgfs/Course">
Options Indexes MultiViews
IndexOptions Charset=UTF-8
AllowOverride None
Order allow,deny
Allow from all
</Directory>
サービスを再起動し、次のようにテストします。
# systemctl restart httpd
3.2.5IPベースの仮想ホスト構成
# vim /etc/httpd/conf/httpd.conf
<VirtualHost 172.16.51.201>
ServerAdmin [email protected]
DocumentRoot "/var/www/web1"
ServerName 172.16.51.201:80
DirectoryIndex index.html
ErrorLog logs/web1/error_log
CustomLog logs/web1/access_log common
</VirtualHost>
<VirtualHost 172.16.51.202>
ServerAdmin [email protected]
DocumentRoot "/var/www/web2"
ServerName 172.16.51.202:80
DirectoryIndex index.html
ErrorLog logs/web2/error_log
CustomLog logs/web2/access_log common
</VirtualHost>
コマンドラインで次のコマンドを入力します。
# ifconfig ens33:1 172.16.51.201 netmask 255.255.255.0
# ifconfig ens33:2 172.16.51.202 netmask 255.255.255.0
それぞれ/ var / www / web1と/ var / www / web2にテストホームページindex.htmlを確立します
# mkdir -p /var/www/web1
# mkdir -p /var/www/web2
# echo "hello,web1" >/var/www/web1/index.html
# echo "hello,web2" >/var/www/web2/index.html
/ etc / httpd / logs /にweb1およびweb2ディレクトリを作成し、各ディレクトリにerror_logファイルとaccess_logファイルを作成します(注:これら2つのファイルはディレクトリファイルではありません)
# mkdir -p /etc/httpd/logs/web1/
# mkdir -p /etc/httpd/logs/web2/
# touch /etc/httpd/logs/web1/error_log
# touch /etc/httpd/logs/web1/access_log
# touch /etc/httpd/logs/web2/error_log
# touch /etc/httpd/logs/web2/access_log
サービスを再起動します。
# systemctl restart httpd
テスト方法:ブラウザへの入力:http://172.16.51.201
ブラウザに入力します:http://172.16.51.202
3.2.6ドメイン名に基づく仮想ホストの構成
# vim /etc/httpd/conf/httpd.conf
NameVirtualHost 172.16.51.203
<VirtualHost abc.example.com>
ServerAdmin [email protected]
DocumentRoot "/var/www/web3"
ServerName abc.example.com
DirectoryIndex index.html
ErrorLog logs/web3/error_log
CustomLog logs/web3/access_log common
</VirtualHost>
<VirtualHost xyz.example.com>
ServerAdmin [email protected]
DocumentRoot "/var/www/web4"
ServerName xyz.example.com
DirectoryIndex index.html
ErrorLog logs/web4/error_log
CustomLog logs/web4/access_log combined
</VirtualHost>
DNSの転送データゾーンに2つのAマークを追加します
# vim /var/named/data/example.com.zone
abc IN A 172.16.51.203
xyz IN A 172.16.51.203
DNSのリバースデータゾーンに2つのPTRマークを追加します
# vim /var/named/data/172.16.51.arpa
203 PTR abc.example.com.
PTR xyz.example.com.
コマンドラインで次のコマンドを入力します。
# ifconfig ens33:3 172.16.51.203 netmask 255.255.255.0
サービスを再起動します。
# systemctl restart named
それぞれ/ var / www / web3と/ var / www / web4にテストホームページindex.htmlを確立します
# mkdir -p /var/www/web3
# mkdir -p /var/www/web4
# echo "hello,web3" > /var/www/web3/index.html
# echo "hello,web4" > /var/www/web4/index.html
上記と同じように、/ etc / httpd / logsはweb3およびweb4ディレクトリを作成し、対応するerror_logおよびaccess_logファイルを作成します
# mkdir -p /etc/httpd/logs/web3
# mkdir -p /etc/httpd/logs/web4
# touch /etc/httpd/logs/web3/error_log
# touch /etc/httpd/logs/web3/access_log
# touch /etc/httpd/logs/web4/error_log
# touch /etc/httpd/logs/web4/access_log
サービスを再起動します。
# systemctl restart httpd
テストの前に、テストマシンのDNSアドレスがLinuxサーバーを指していることを確認してください。
# cat /etc/resolv.conf
Linuxサーバーを指していない場合は、NATモードでインターネットに接続するネットワークカードを無効にするだけです。私の名前はens37です。
# ifdown ens37
テスト方法:WindowsブラウザとLinuxブラウザでそれぞれテストします
Linuxテスト
Windowsテスト
wgetを使用してLinuxホストにホームページをダウンロードし、次のコマンドを入力します。
#wget http://xyz.example.com
ログファイルを表示する/ etc / httpd / logs / web4 / access_log
# # cat /etc/httpd/logs/web4/access_log
ログファイルを表示する/ etc / httpd / logs / web3 / access_log
# wget http://abc.example.com
# cat /etc/httpd/logs/web3/access_log
common log format commonが有効になっているため、アクセスレコードのみを表示できますが、特定のクライアントの詳細情報はありません。