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 で埋め込みテーブルを実装する方法の例

推薦する

MySQL レプリケーション問題の 3 つのパラメータの分析

目次01 sql_slave_skip_counter パラメータ02 スレーブスキップエラーパラメ...

自分のブログを構築しながら学んだこと

<br />ブログを始めて 1 年、私はブログの内外で多くのことを個人的に学びました。ま...

複数のプロジェクトをデプロイする Docker nginx の例

前提条件1. ローカルコンピュータとサーバーにDockerがインストールされています。ダウンロード方...

Web ページ WB.ExecWB 制御印刷メソッド呼び出しの説明とパラメータの紹介

WebページWB.ExecWB制御印刷方法コードをコピーコードは次のとおりです。 <テーブルの...

jQueryはフェードインとフェードアウト効果を実現します

jQuery を使用してフェードインとフェードアウト効果を完成させる前に、まずいくつかのコードを理解...

一般的な XHTML タグの使用方法の紹介

XHTML には多くのタグがありますが、頻繁に使用されるのはごくわずかであり、習得する必要があるのは...

Dockerコンテナの状態変換の実装

Dockerコンテナの状態遷移図2度目の実戦 [root@localhost ~]# docker ...

JavaScriptはフォームデータの非同期送信を実装します

この記事では、フォームデータの非同期送信を実装するためのJavaScriptの具体的なコードを参考ま...

MySQL 主キー ID を生成する方法 (自己増分、一意、不規則)

目次1. uuid関数を使用して、一意かつ不規則な主キーIDを生成します。 2. idの自動成長1....

Spark と Scala を使用して Apache アクセス ログを分析する方法

インストールまず、Java と Scala をインストールし、次に Spark をダウンロードしてイ...

MYSQL メタデータ ロック (MDL ロック) の理論とロック タイプ テスト

目次MYSQL メタデータ ロック (MDL ロック) 学習理論とロック タイプ テスト1. 予備的...

CSS 8 目を引く HOVER 効果のサンプル コード

1. エフェクトHTMLを送信する <div id="送信ボタン">...

dockercompose を使用して springboot-mysql-nginx アプリケーションをビルドする

前回の記事では、Docker を使用して、コンパイルされた jar パッケージをイメージに組み込む ...

CSS コンテナ背景 10 色グラデーション デモ (linear-gradient())

文法 背景: linear-gradient(direction,color-stop1,color...

美容・スタイリングウェブサイト向けのカラーマッチングテクニックと効果表示

色はあらゆるウェブサイトにとって最も重要な要素の 1 つであり、閲覧者に大きな影響を与えるため、色の...