LinuxでのApache管理とWeb最適化

Apacheの役割

Webにアクセスするときは、通常http://が使用されますhttp://
ハイパーテキスト転送プロトコル

http:// Hypertext Transfer Protocolはソフトウェアを提供します:
Apache
nginx
stgw
jfe
Tengine

Apacheインストール
dnfインストールhttpd.x86_64-y
ここに写真の説明を挿入

Apacheが有効になっている

systemctl enable --now httpdサービスを開始し、サービスビットを設定して
firewall-cmdを開始します--permanent --add-service = http
ファイアウォールでhttpアクセスを永続的に開きますfirewall-cmd--reloadファイアウォールを更新して、設定を有効にします
firewall-cmd --list-allファイアウォール情報を表示します
ここに写真の説明を挿入

firefoxの場合:172.25.254.106
はApacheページに表示されます
ここに写真の説明を挿入

Apache
サービス名の基本情報:httpd
構成ファイル:/etc/httpd/conf/httpd.confメイン構成ファイル
/etc/httpd/conf.d/*.confサブ構成ファイル
デフォルトの公開ディレクトリ:/ var / www / html
デフォルト公開ファイル:index.html
デフォルトポート:80 http
443(暗号化ポート)https
ユーザー:apache
ログ:/ etc / httpd / logs

ApacheApache
ポート変更の基本構成
vim / etc / httpd / conf / httpd.conf
Listen 1111
ここに写真の説明を挿入

Firewall-cmd --permanent --add-port = 1111 / tcp
Firewall-cmd --reload semanage port -l | grep http
semanage port -a -t http_port_t -p tcp 1111
systemctl restart httpd
ここに写真の説明を挿入

ここに写真の説明を挿入

デフォルトの公開ファイル

10の場合:
vim / etc / hosts
ここに写真の説明を挿入

20年:
vim /var/www//html/index.html
ここに写真の説明を挿入

現時点では、デフォルトのファイルコンテンツに10でアクセスできます
ここに写真の説明を挿入

デフォルトのリリースファイルを変更する場合は、次のようにリリースファイルをtest.htmlに変更できます
。vimtest.html
ここに写真の説明を挿入

vim /etc/httpd/conf/httpd.conf
167 DirectoryIndex test.html westos.html
systemctl restart httpd
ここに写真の説明を挿入

現時点では、10年にwww.westos.comにアクセスして、新しいリリースドキュメントにアクセスしてください。
ここに写真の説明を挿入

デフォルトの公開ディレクトリ
vim
/ etc / httpd / conf / httpd.conf DocumentRoot“ / westos / html”
<Directory“ / westos / html”>
すべての許可が必要
</ Directory>
ここに写真の説明を挿入

semanage fcontext -a -t httpd_sys_content_t '/ westos(/.*)?'
restorecon -RvvF / westos /
systemctl restart httpd
ここに写真の説明を挿入

Firefox http://www.westos.com
ここに写真の説明を挿入

Apacheアクセス制御
実験資料
mkdir / var / www / html / westos
vim /var/www/html/westos/index.html
<h1> westosdirのページ</ h1>
firefox http://172.25.254.106/westos

クライアントipvimに基づくアクセス制御
ipホワイトリスト
/etc/httpd/conf/httpd.conf<Directory
"/ var / www / html / westos">
Order Deny、Allow
Allow from 172.25.254.6
Deny from All
</ Directory>
ここに写真の説明を挿入

現在106はアクセスできません、6はアクセスできます
ここに写真の説明を挿入ここに写真の説明を挿入

ip黑名単
<Directory“ / var / www / html / westos”>
Order Allow、Deny
Allow from All
Deny from 172.25.254.6
</ Directory>
ここに写真の説明を挿入

6は現在アクセスできません、他はアクセス可能です
ここに写真の説明を挿入

ユーザーベースの認証
vim / etc / httpd / conf / httpd.conf <Directory“ / var / www / html / westos”>
AuthUserfile / etc / httpd / .http_user認証ファイルを指定します
AuthName「名前とパスワードを入力してください」認証プロンプト
AuthType基本認証タイプ
2で選択された認証済みユーザーを許可するユーザー管理を要求する。1
有効なユーザーを要求する-2はすべての認証済みユーザーを許可する。1
</ディレクトリ>
ここに写真の説明を挿入

htpasswd -cm .http_useradmin認証ファイルを生成します
ここに写真の説明を挿入

注:/ etc / httpd / htpasswdfileが存在する場合は、ユーザーを追加するときに-cパラメーターを追加しないでください。追加すると、ソースファイルのコンテンツが上書きされます。

現時点では、westosdirにアクセスするには、ユーザーIDを確認するためのパスワードが必要です
ここに写真の説明を挿入

Apache仮想ホスト
mkdir-p /var/www/westos.com/ {news、music}
echo "音楽のページ"> /var/www/westos.com/music/index.html
echo "ニュースのページ"> / var / www / westos.com / news / index.html

vim /etc/httpd/conf.d/Vhost.conf
<VirtualHost default:80>
DocumentRoot“ / var / www / html”
CustomLog logs /default.log結合
</ VirtualHost>

<VirtualHost *:80>
ServerName wenku.westos.com
DocumentRoot“ /var/www/westos.com/wenku”CustomLog
ログ/wenku.logの組み合わせ

</ VirtualHost> <VirtualHost *:80>
ServerName news.westos.com
DocumentRoot“ /var/www/westos.com/news”
CustomLog logs /news.logの組み合わせ
</ VirtualHost>
ここに写真の説明を挿入

テスト:vim / etc / hosts 172.25.254.106 www.westos.com music.westos.comnews.westos.com
ブラウザが配置されているホストで


ここに写真の説明を挿入

firefox http://www.westos.com
firefox http://music.westos.com
firefox http://news.westos.com
ここに写真の説明を挿入
ここに写真の説明を挿入
ここに写真の説明を挿入

Apacheの言語がサポートする
PHP
のvim /var/www/html/index.php

<?php phpinfo(); ?>

ここに写真の説明を挿入

dnf install php -y
systemctl restart httpd
firefox http://172.25.254.106/index.php
ここに写真の説明を挿入

cgi
dnf install httpd-manual
systemctl restart httpd
mkdir / var / www / html / cgi
semanage fcontext -a -t httpd_sys_script_exec_t ' / var / www / html / cgi(/.*)?'
restorecon -RvvF / var / www // html / cgi /
vim /var/www/html/cgi/index.cgi#!/
usr / bin / perl
print“ Content-type:text / html \ n \ n”;
印刷date;
chmod + x index.cgi

vim /etc/httpd/conf.d/vhost.conf
<ディレクトリ“ / var / www / html / cgidir”>
オプション+ ExecCGI
AddHandler cgi-script .cgi
</ Directory>
ここに写真の説明を挿入

Firefox http://www.westos.com/cgi/index.cgi
ここに写真の説明を挿入

Apacheの暗号化されたアクセス
暗号化プラグインの
インストール
dnfinstall mod_ssl-y証明書の生成firewall-cmd--permanent --add-service = https
Firewall-cmd --reload

openssl genrsa -out /etc/pki/tls/private/www.westos.com.key2048秘密鍵を生成します
ここに写真の説明を挿入

openssl req -new -key /etc/pki/tls/private/www.westos.com.key -out / etc / pki / tls / certs / www.westos.com.csr証明書署名ファイルを生成します
ここに写真の説明を挿入

openssl x509 -req -days 365 -in \ /etc/pki/tls/certs/www.westos.com.csr -signkey /etc/pki/tls/private/www.westos.com.key -out / etc / pki /tls/certs/www.westos.com.crt証明書を生成する
ここに写真の説明を挿入

x509証明書フォーマット
-要求要求-ロードビザ
名-
サインキー

vim /etc/httpd/conf.d/ssl.conf
ここに写真の説明を挿入

systemctl restart httpd

https://www.westos.com
から証明書をダウンロードした後、証明書情報を確認し、証明書が生成されていることを確認します
ここに写真の説明を挿入

暗号化された仮想ホスト
vim / etc / httpd / conf.d / vhosts.conf
ここに写真の説明を挿入

systemctl restart httpd
ここに写真の説明を挿入

Webページ書き換え機能

vim /etc/httpd/conf.d/vhosts.conf
ここに写真の説明を挿入

このとき、music.westos.comの閲覧は自動的に暗号化されます
ここに写真の説明を挿入

Squid + Apache
squid forward proxy
実験環境:
シングルネットワークカードホストnode1172.25.254.6はip設定でインターネットにアクセスできません、
デュアルネットワークカードホストnode2172.25.254.206はip1に設定してシングルネットワークカードホストに接続でき、ip2はインターネットにアクセスできます

実験結果
1枚のネットワークカードを持っているホストはインターネットにアクセスできませんが、ブラウザはインターネットページにアクセスできます

操作:dnf install squid -y vim /etc/squid/squid.conf http_access allow all cache_dir ufs / var / Spool / squid 100 16256
デュアルNICホスト206




ここに写真の説明を挿入

systemctl restart squid
Firewall-cmd --permanent --add-port = 3128 / tcp
Firewall-cmd --reload
ここに写真の説明を挿入

単一ネットワークカードホスト20でネットワーク
プロキシを選択します
ここに写真の説明を挿入

172.25.254.30 3128
ここに写真の説明を挿入

テスト:
単一のネットワークカードホストで
www.baidu.compingを実行ても機能しない

ブラウザでwww.baidu.comにアクセスして
ここに写真の説明を挿入

Squidリバースプロキシ
実験環境:
172.25.254.6 Apacheサーバー
172.25.254.206 Squid、キャッシュを担当するデータはありません

vim /etc/squid/squid.conf
http_port 80 vhost vport vhostは仮想ドメイン名をサポートしますvportは仮想ポートをサポートします172.25.254.206の
ポート80にアクセスすると、データは
172.25.254.6のポート80からキャッシュされますcache_peer 172.25.254.6parent 800プロキシのみ
systemctl restart squid
Firewall-cmd --permanent --add-port = 80 / tcp
Firewall-cmd --reload

ここに写真の説明を挿入

テスト:
106年:
firefox http://172.25.254.206を表示
すると、172.25.254.6のデータにアクセスできます
ここに写真の説明を挿入

おすすめ

転載: blog.csdn.net/qq_42958401/article/details/108087653