CentOS7でのApacheサーバー構成

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が有効になっているため、アクセスレコードのみを表示できますが、特定のクライアントの詳細情報はありません。

おすすめ

転載: blog.csdn.net/weixin_42768634/article/details/114143613