Linux での Apache サービスの展開と構成

Linux での Apache サービスの展開と構成

1 Apacheの役割

  • html、php、jsp などの Web ページ言語を解析します。
  • ウェブユーザーからのリクエストを受け取り、特定の応答を返す

2 Apacheのインストール

apche ソフトウェアをインストールします: dnf install httpd.x86_64 -y

3. Apacheを有効にする

  • Apache サービスを有効にし、起動時に開始するように設定します: systemctl enable --now httpd
  • Apache サービスのステータスを確認します: systemctl enable --now httpd

  • ファイアウォール情報を表示します:firewall-cmd --list-all ファイアウォールで http サービスを永続的に有効にします: firewall-cmd --permanent --add-service=http http
  • irewall-cmd --permanent --add-service=https https
  • 現在のファイアウォールの状態を変更せずにファイアウォールを更新する: firewall-cmd --reload

4 Apacheの基本情報

apcheの基本情報

  • サービス名: httpd
  • メイン設定ファイル: /etc/httpd/conf/httpd.conf
  • サブ設定ファイル: /etc/httpd/conf.d/*.conf
  • デフォルトの公開ディレクトリ: /var/www/html
  • デフォルトポート: 80 (http)、443 (https)
  • ログファイル: /etc/httpd/logs
  • apche サービスを開始した後、IP アドレスを入力してデフォルトの公開ページを表示します。

(1)apcheサービスのポート番号を変更する

  • httpd サービスのデフォルトのポート番号を表示します: netstat -antlupe |grep httpd

  • 設定ファイル/etc/httpd/conf/httpd.confを編集し、ポート番号を変更します。

  • httpd サービスを再起動します: systemctl restart httpd
  • httpd サービスのポート番号を確認します: netsat -antlupe | grep httpd

  • ポート番号を変更した後、ファイアウォールにポート 8080 が追加されていないため、IP アドレスを入力しても接続できません。

  • firewall-cmd --permanent --add-port=888/tcp
  • 現在のファイアウォールの状態を変更せずにファイアウォールを更新する: firewall-cmd --reload

  • IPアドレス:ポート番号を入力すると、通常通りアクセスできます

(2)apcheのデフォルトリリースファイルを変更する

  • デフォルトディレクトリ: cd /var/www/html
  • デフォルトの公開ディレクトリに新しいファイルindex.htmlを作成します。

  • 表示するにはhttp://172.25.254.144と入力してください

デフォルトリリースファイルは、Apache にアクセスする際にファイル名が指定されていない場合にデフォルトでアクセスされるファイルです。複数のファイルを指定できますが、アクセス順序があります。

  • 新しいファイルを作成して編集します: westo.html

  • 設定ファイルを編集します: /etc/httpd/conf/httpd.conf

  • httpd サービスを再起動します: systemctl restart httpd

(3)apcheのデフォルトのリリースディレクトリを変更する

  • 新しいディレクトリを作成します: mkdir -p /westos/html/
  • ファイルを作成します: vim /westos/html/index.html

  • apche 設定ファイルを編集します: /etc/httpd/conf/httpd.conf

  • サービスを再起動します: systemctl restart httpd
  • テスト: ブラウザに http://172.25.254.144 と入力すると、/westos/html/ ディレクトリにデフォルトで公開されたファイルが表示されます。

  • 新しいリリースディレクトリを作成します: mkdir /var/www/html/westos
  • 新しいリリースファイルを作成します: vim /var/www/html/westos/index.html

  • 設定ファイルを編集します: vim /etc/httpd/conf/httpd.conf

  • サービスを再起動します: systemctl restart httpd
  • テスト: http://172.25.254.144/westos/

5 Apache アクセス制御

5.1 クライアントIPに基づくアクセス制御

  • IP アクセスに基づいて、どの IP がアクセスでき、どの IP がアクセスできないかを指定します。設定ファイル内の deny と allow の順序によって、ブラックリストとホワイトリストのプロパティが直接決定されます。

(1)ホワイトリスト

  • IPホワイトリスト: リスト内のユーザーのみがアクセスできます
  • 設定ファイルを編集します: vim /etc/httpd/conf/httpd.conf

  • サービスを再起動します: systemctl restart httpd
  • テスト: ip=172.25.254.44 は IP ホワイトリストに含まれており、http://172.25.254.44/westos に正常にアクセスできます。

IP=172.25.254.144 のホストはホワイトリストに含まれていないため、http://172.25.254.44/westos にアクセスできません。

(2)IPブラックリスト

  • IPブラックリスト: リスト内のユーザーのみがアクセスできない
  • 設定ファイルを編集します: vim /etc/httpd/conf/httpd.conf

  • テスト: ip=172.25.254.44 は IP ブラックリストに載っており、http://172.25.254.44/westos には通常どおりアクセスできます。

IP=172.25.254.144 はブラックリストに載っておらず、http://172.25.254.44/westos に通常通りアクセスできます。

5.2 ユーザー認証に基づくアクセス制御

(1)認証を通じて一部のユーザーに共有ディレクトリへのアクセスを許可する

  • 認証ファイルを生成し、管理者ユーザーを作成します: htpasswd -cm /etc/httpd/htpasswdfile linux

  • Linux ユーザーを作成します。-c はユーザー認証ファイルを再作成し、以前の管理者ユーザーを上書きします。パスワードを入力すると、以前のユーザーが上書きされます: htpasswd -m /etc/httpd/htpasswdfile westos

  • 特定のユーザーのみが認証を通過できるようにするには、設定ファイルを編集します: vim /etc/httpd/conf/httpd.conf

  • サービスを再起動します: systemctl restart httpd
  • テスト: 認証されたユーザーのみが共有ディレクトリにアクセスできます

(2)認証を通じてすべてのユーザーが共有ディレクトリにアクセスできるようにする

  • 設定ファイルを編集します: vim /etc/httpd/conf/httpd.conf

  • サービスを再起動します: systemctl restart httpd
  • テスト: すべてのユーザーが認証を通じて共有ディレクトリにアクセスできる

6 つの Apache 仮想ホスト

仮想ホスト: 実ホスト上に複数のサイト (複数のドメイン名) が構築されます。ホストのさまざまな Web ページはドメイン名を通じてアクセスされます。ネットワーク アドレスからは、複数のホストがあるように見えます。これらのホストは仮想ホストと呼ばれます。

DNSはドメイン名のIPを解決する

Linux、ニュース、メディアのデフォルトのリリース ディレクトリを作成します: mkdir /var/www/westos.com/{linux,news,media}
Linux のデフォルトのリリース ファイル: echo "<h1>hello linux</h1>" > /var/www/westos.com/news/index.html
ニュースのデフォルトの公開ファイル: echo "<h1>hello news </h1>" > /var/www/westos.com/news/index.html
メディアのデフォルトの公開ファイル: echo "<h1>hello media </h1>" > /var/www/westos.com/media/index.html
  • 新しいapcheサブ設定ファイルを作成し、編集します: /etc/httpd/conf.d/vhost.conf

  • ローカルドメイン名解決ファイルを編集します: /etc/hosts

  • テスト結果:

7 Apache暗号化アクセス

(1)暗号化プラグインをインストールする

  • Apache の暗号化プラグインを表示: dnf search apache

  • 暗号化プラグインをインストールする

(2)秘密鍵を生成する: openssl genrsa -out /etc/pki/tls/private/www.westos.com.key

(3)証明書署名ファイルを生成する: openssl req -new -key /etc/pki/tls/private/www.westos.com.key -out /etc/pki/tls/cert/www.westos.com.csr

(4)証明書を生成する:

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:証明書フォーマット ## -req リクエスト ## -in ビザ名をロード ## -signkey 

  • 設定ファイルを編集します: /etc/httpd/conf.d/ssl.conf

  • apcheのサブ設定ファイルを編集し、以下を編集します: /etc/httpd/conf.d/vhost.conf

  • サービスを再起動します: systemctl restart httpd

  • テスト: これで、https暗号化サービスを正常に使用できるようになりました

8. Webページの書き換え

ブラウザにmedia.westos.comと入力すると、自動的に次のインターフェースにジャンプします。

  • media.westos.com にアクセスした後に https://media.westos.com にリダイレクトしたい場合は、Web ページを書き換えることでこれを実現できます。つまり、http (ポート 80) にアクセスすると自動的に https (ポート 443) にリダイレクトされます。
  • ウェブページの書き換えを実装する手順

(1)apcheサブ設定ファイルを編集する:/etc/httpd/conf.d/vhost.conf

(2)サービスを再起動する:systemctl restart httpd

(3)テスト、ドメイン名を入力するとhttpsが自動的に読み込まれます

9 フォワードプロキシ

(1)Squidクライアントを設定する(ホストがインターネットにアクセスできる)

  • 設定ファイルを編集します: /etc/squid/squid.conf

  • squid サービスを開始します: systemctl start squid.service

(2)クライアント:インターネットにアクセスできないホストでテストし、ブラウザに以下を入力します:www.baidu.comにアクセスできません

  • プロキシの追加: 設定 -> ネットワーク設定 -> 手動プロキシ設定

  • squid サービスのホストとポート番号を入力します。設定が完了すると、ホストはインターネットに接続されていなくても、プロキシ経由で www.baidu.com やその他の Web サイトにアクセスできるようになります。

  • クライアントでテスト済み、www.baidu.com に正常にアクセスできます

しかし、クライアントホストは依然としてwww.baidu.comにpingできません。

10 リバースプロキシ

node1: Apache サービスのない仮想マシン 172.25.254.244

node2: Apacheサービスを正常に使用できる仮想マシン172.25.254.193、Apacheリリースファイルを構成する

  • プロキシをダウンロードします: dnf install squid -y

  • 設定ファイルを編集します: vim /etc/squid/squid.conf

  • squid サービスを再起動します: systemctl restart squid
    元々Apacheサービスがなかったホスト172.25.254.244は、172.25.254.193のポート80(http)を介してデータをキャッシュできます。

Apacheがサポートする1​​1の言語

php

Apache サービスを再起動します: systemctl restart httpd.service

テスト: http://172.25.254.144/index.php

CG-10 ...

mkdir /var/www/html/cgi

vim /var/www/html/cgi/index.cgi

/var/www/html/cgi をコピーします

chmod +x index.cgi

./var/www/html/cgi/index.cgi

テスト: http://172.25.254.144/cgi/index.cgi

仮想ホスト設定ファイルを編集します: vim /etc/httpd/conf.d/vhost.conf

サービスを再起動します: systemctl restart httpd.service

テスト: http://172.25.254.144/cgi/index.cgi

Linux での Apache サービスの展開と構成に関するこの記事はこれで終わりです。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援して頂ければ幸いです。

以下もご興味があるかもしれません:
  • Linux インストール Apache サーバー構成プロセス
  • Linux で Apache を使用してファイル サーバーを構築する手順
  • Linux オペレーティング システムに Apache サービスをインストールする方法
  • LinuxベースのApacheウェブサイトサービス構成の詳細な説明
  • Linux での Apache サーバーの構成と管理の簡単な分析

<<:  CSS3セレクターの新機能の実装

>>:  vue+elementUI で埋め込みテーブルを実装する方法の例

推薦する

Linux で特定の時間にコマンドを実行する方法

先日、rsync を使用して LAN 上の別のシステムに大きなファイルを転送していました。非常に大き...

WEB 標準ウェブページ構造

背景画像でも、ページ上のテキストサイズでも、1 ピクセルの違いは非常に明白です。そして、私は学生時代...

MySQLデータベーステーブルの定期バックアップの実装の詳細な説明

Mysqlデータベーステーブルの定期的なバックアップの実装0. 背景実際の開発環境では、フロントエン...

HTML で margin:0 auto を使用するとページ全体が中央に配置されない問題の解決方法

今日、jsp ページを書きました。<div style="margin:0 auto...

ズームインとズームアウトの閉じるボタンを実現する CSS (サンプル コード)

この効果はブラウザ ページで最もよく見られます。まずは効果の画像をご覧ください。 上の図に示すように...

CSSのclip-pathプロパティを使用して不規則なグラフィックを表示する

clip-path CSS プロパティはクリッピングを使用して要素の表示可能領域を作成します。領域内...

VMware vSphere 6.7 (ESXI 6.7) のグラフィック インストール手順

環境: VMware VCSA 6.7 (VMware-VCSA-all-6.7.0-8169922...

MySql ストレージ エンジンとインデックスに関する知識のまとめ

ストレージエンジンデータベース ストレージ エンジンとは何ですか?データベース エンジンは、データベ...

Dreamweaver で Zen コーディングを使用する方法

前回の記事「Zen Coding: HTML/CSS コードを素早く記述する方法」を公開した後、一部...

CSSフロートの特性についての簡単な説明

この記事では、CSS フロートの特徴を紹介します。皆さんと共有し、自分用のメモとして残したいと思いま...

Dockerはローカルイメージとコンテナの保存場所を設定します

指定したサイズより大きいファイルを検索するには、find コマンドを使用します。 検索 / -typ...

スパンの最小高さを定義するソリューションは効果がありません

span タグは HTML ウェブページを作成するときによく使用されますが、このタグの使い方がよくわ...

CentOS 7にChromeブラウザをインストールする方法

この記事では、CentOS 7 に Chrome ブラウザをインストールする方法を紹介します。詳細は...

Vue のループフォーム項目例の詳細な説明

場合によっては、ユーザーがボタンをクリックして同様のフォームを追加し、クリックごとに 1 回追加でき...

v-model 双方向バインディングデータを実装する vue カスタム コンポーネントのサンプル コード

プロジェクトでは、プロジェクトが呼び出すカスタム パブリック コンポーネントに遭遇します。通常、pr...