GNU/Linux >> Linux の 問題 >  >> Linux

ApacheWebサーバーを構成する方法

私は何年もの間自分のウェブサイトをホストしてきました。 20年以上前にOS/2からLinuxに切り替えて以来、私はサーバーソフトウェアとしてApacheを使用してきました。 Apacheは堅実でよく知られており、基本的なインストール用に構成するのは非常に簡単です。複数のWebサイトなど、より複雑なセットアップを構成することはそれほど難しくありません。

その他のLinuxリソース

  • Linuxコマンドのチートシート
  • 高度なLinuxコマンドのチートシート
  • 無料のオンラインコース:RHELの技術概要
  • Linuxネットワーキングのチートシート
  • SELinuxチートシート
  • Linuxの一般的なコマンドのチートシート
  • Linuxコンテナとは何ですか?
  • 最新のLinux記事

ApacheWebサーバーのインストールと構成はrootとして実行する必要があります。ファイアウォールの構成もrootとして実行する必要があります。ブラウザを使用してこの作業の結果を表示するには、root以外のユーザーとして実行する必要があります。 (私はユーザーstudentを使用します 私の仮想ホスト上で。)

インストール

注:この記事は、Fedora33とApache2.4.46を使用して更新されています。別のディストリビューションまたは別のリリースのFedoraを使用している場合、コマンドと構成ファイルの場所および内容が異なる場合があります。ただし、変更する必要のある構成行は、配布に関係なく同じです。

ApacheWebサーバーは簡単にインストールできます。 1つのコマンドで、コマンドと必要なすべての依存関係をインストールできます。

$ dnf install httpd

Apacheのすべての構成ファイルは、/etc/httpd/confにあります。 および/etc/httpd/conf.d 。 Apacheで実行するWebサイトのデータは、/var/wwwにあります。 デフォルトですが、必要に応じて変更できます。

構成

プライマリApache設定ファイルは/etc/httpd/conf/httpd.confです。 。基本的なインストールでは変更する必要のない多くの構成ステートメントが含まれています。実際、基本的なWebサイトを稼働させるには、このファイルにわずかな変更を加えるだけで済みます。ファイルは非常に大きいので、この記事を不要なものでいっぱいにするのではなく、変更する必要のあるディレクティブのみを示します。

まず、少し時間を取って、httpd.confを参照します。 それに慣れるためのファイル。ほとんどの構成ファイルのRedHatバージョンについて私が気に入っていることの1つは、ファイル内のさまざまなセクションと構成ディレクティブを説明するコメントの数です。 httpd.conf ファイルは非常によくコメントされているので、例外ではありません。これらのコメントを使用して、ファイルの構成内容を理解してください。

最初に変更する項目は、Listenです。 ステートメント。Apacheがページ要求をリッスンするIPアドレスとポートを定義します。現在、このWebサイトをローカルマシンで利用できるようにする必要があるため、localhostを使用してください 住所。終了すると、線は次のようになります。

Listen 127.0.0.1:80

このディレクティブをlocalhostのIPアドレスに設定します 、Apacheはローカルホストからの接続のみをリッスンします。 Webサーバーがリモートホストからの接続をリッスンするようにする場合は、ホストの外部IPアドレスを使用します。

DocumentRoot ディレクティブは、Webサイトのページを構成するHTMLファイルの場所を指定します。その線はすでに標準の場所を指しているため、変更する必要はありません。行は次のようになります:

DocumentRoot "/var/www/html"

ApacheインストールRPMは、/var/wwwを作成します ディレクトリツリー。 Webサイトのファイルが保存されている場所を変更する場合は、この構成アイテムを使用して変更します。たとえば、wwwに別の名前を使用したい場合があります Webサイトの識別をより明確にするためのサブディレクトリ。これは次のようになります:

DocumentRoot "/var/mywebsite/html"

シンプルなウェブサイトを作成するために必要なApache構成の変更はこれらだけです。この小さな演習では、httpd.confに1つだけ変更が加えられました。 ファイル-Listen 指令。他のすべては、動作するWebサーバーを生成するようにすでに構成されています。

ただし、もう1つの変更が必要です。ファイアウォールでポート80を開くことです。ファイアウォールとしてiptablesを使用しているので、/etc/sysconfig/iptablesを変更します HTTPプロトコルを許可するステートメントを追加します。ファイル全体は次のようになります:

# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

追加した行は下から3番目で、ポート80での着信トラフィックを許可します。次に、変更したiptables構成をリロードします。

[root@testvm1 ~]# cd /etc/sysconfig/ ; iptables-restore iptables

index.htmlファイルを作成します

index.html fileは、特定のHTMLファイル名ではなく、ドメイン名のみを使用してWebサイトにアクセスしたときにWebサーバーが提供するデフォルトのファイルです。 /var/www/html内 ディレクトリで、index.htmlという名前のファイルを作成します 。コンテンツを追加するHello World 。これを機能させるためにHTMLマークアップを追加する必要はありません。 Webサーバーの唯一の仕事はテキストデータのストリームを提供することであり、サーバーは日付が何であるか、またはそれをどのようにレンダリングするかを知りません。データストリームを要求元のホストに送信するだけです。

ファイルを保存した後、所有権をapache.apacheに設定します 。

[root@testvm1 html]# chown apache.apache index.html

Apacheを起動

Apacheは非常に簡単に起動できます。 Fedoraの現在のバージョンはsystemdを使用します 。次のコマンドを実行して起動し、サーバーのステータスを確認します。

[root@testvm1 ~]# systemctl start httpd
[root@testvm1 ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2018-02-08 13:18:54 EST; 5s ago
     Docs: man:httpd.service(8)
 Main PID: 27107 (httpd)
   Status: "Processing requests..."
    Tasks: 213 (limit: 4915)
   CGroup: /system.slice/httpd.service
           ├─27107 /usr/sbin/httpd -DFOREGROUND
           ├─27108 /usr/sbin/httpd -DFOREGROUND
           ├─27109 /usr/sbin/httpd -DFOREGROUND
           ├─27110 /usr/sbin/httpd -DFOREGROUND
           └─27111 /usr/sbin/httpd -DFOREGROUND

Feb 08 13:18:54 testvm1 systemd[1]: Starting The Apache HTTP Server...
Feb 08 13:18:54 testvm1 systemd[1]: Started The Apache HTTP Server.

コマンドはサーバーによって異なる場合があります。 SystemV開始スクリプトを使用するLinuxシステムでは、コマンドは次のようになります。

[root@testvm1 ~]# service httpd start
Starting httpd: [Fri Feb 09 08:18:07 2018]          [  OK  ]
[root@testvm1 ~]# service httpd status
httpd (pid  14649) is running...

ホストにFirefoxやChromeなどのWebブラウザがある場合は、URL localhostを使用できます。 ブラウザのURL行に、Webページをそのまま表示します。 LynxのようなテキストモードのWebブラウザを使用してWebページを表示することもできます。まず、Lynxをインストールします(まだインストールされていない場合)。

[root@testvm1 ~]# dnf -y install lynx

次に、次のコマンドを使用してWebページを表示します。

[root@testvm1 ~]# lynx localhost

私のターミナルセッションでは、結果は次のようになります。ページの空きスペースをたくさん削除しました。

  Hello World

<snip>


Commands: Use arrow keys to move, '?' for help, 'q' to quit, '<-' to go back.
  Arrow keys: Up and Down to move.  Right to follow a link; Left to go back.
 H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history list

次に、index.htmlを編集します ファイルを作成し、HTMLマークアップを少し追加して、次のようにします。

<h1>Hello World</h1>

次に、ブラウザを更新します。 Lynxの場合は、Ctrl+Rのキーの組み合わせを使用します。結果は少し異なります。テキストはカラーです。これは、端末がカラーをサポートしている場合にLynxが見出しを表示する方法であり、中央に配置されています。 GUIブラウザでは、テキストは大きなフォントになります。

                                   Hello World

<snip>


Commands: Use arrow keys to move, '?' for help, 'q' to quit, '<-' to go back.
  Arrow keys: Up and Down to move.  Right to follow a link; Left to go back.
 H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history list

別れの考え

この小さな演習からわかるように、ApacheWebサーバーをセットアップするのは簡単です。詳細は、ディストリビューションとそのディストリビューションが提供するApacheのバージョンによって異なります。私の環境では、これはかなり些細なことでした。

しかし、Apacheは非常に柔軟で強力であるため、さらに多くのことがあります。来月は、Apacheの単一インスタンスを使用して複数のWebサイトをホストする方法について説明します。

この記事は元々2018年に公開され、編集者によって更新されました。


Linux
  1. ApacheWebサーバーで複数のWebサイトを構成する方法

  2. UbuntuにApacheWebサーバーをインストールする方法

  3. Ubuntu13.10にApacheWebサーバーをインストールして構成する方法

  1. CentOS7にApacheWebサーバーをインストールする方法

  2. Centos8にApacheWebサーバーをインストールする方法

  3. Apache Web サーバー構成で構文エラーをチェックする方法

  1. UbuntuからApacheWebサーバーを削除する方法

  2. HTTPOXYの脆弱性:Webサーバーを保護およびテストする方法

  3. LinuxにApacheWebサーバーをインストールする方法