優れたソフトウェアと実用的なチュートリアル
アパッチ(Apache) 公式サイト:http://httpd.apache.org/
Apache HTTP Serverプロジェクトは、Apache HTTP Server(「Apache」および「 httpd()です。このバージョンのApacheは、Apache HTTPDの新世代2.4.xブランチの最新GAリリースであり、プロジェクトにおける15年間の革新を反映しているため、以前のバージョンよりも推奨されます。
まず、安定版(2019年8月14日にリリースされた最新バージョン2.4.41)をダウンロードしてください。2020年3月時点では、このバージョンが最新バージョンです。
wget https://downloads.apache.org//httpd/httpd-2.4.41.tar.gz tar xvf httpd-2.4.41.tar.gz cd httpd-2.4.41
ダウンロード後、盲目的にインストールしないでください。2.4.41 では、いくつかの依存環境のインストールが必要です。以下は公式サイトで提供されているインストール要件です。
Apache httpd をインストールするには、次の要件が必要です。
1. APRとAPR-Util
システムにAPRとAPR-Utilがインストールされていることを確認してください。システム提供のバージョンがインストールされていない場合、または使用したくない場合は、Apache APRの最新バージョンからAPRとAPR-Utilの両方をダウンロードし、/httpd_source_tree_root/srclib/aprと/httpd_source_tree_root/srclib/apr-utilに解凍してください(ディレクトリ名にバージョン番号が含まれていないことを確認してください。例えば、APRディストリビューションは/httpd_source_tree_root/srclib/apr/以下に配置する必要があります)。そして、./configureの--with-included-aprオプションを使用してください。プラットフォームによっては、インストールされたAPRとAPR-Utilのコピーを使用してhttpdをビルドできるように、対応する-devパッケージをインストールする必要がある場合があります。
2. Perl互換正規表現ライブラリ(PCRE)
このライブラリは必須ですが、httpdにはバンドルされていません。http://www.pcre.orgからソースコードをダウンロードするか、portまたはパッケージをインストールしてください。ビルドシステムがPCREビルドによってインストールされたpcre-configスクリプトを見つけられない場合は、--with-pcre引数でそのスクリプトを指定してください。一部のプラットフォームでは、インストール済みのPCREに対してhttpdをビルドできるように、対応する-devパッケージをインストールする必要がある場合があります。
3. ディスク容量
少なくとも50MBの一時ディスク容量を確保してください。インストール後、サーバーは約10MBのディスク容量を占有します。実際のディスク容量要件は、選択した設定オプション、サードパーティ製モジュール、サーバー上のウェブサイトのサイズによって大きく異なります。
4.ANSI-Cコンパイラとビルドシステム
ANSI-Cコンパイラがインストールされていることを確認してください。フリーソフトウェア財団(FSF)のGNU Cコンパイラ(GCC)を推奨します。GCCをお持ちでない場合は、少なくともベンダーのコンパイラがANSI準拠であることを確認してください。また、PATHにmakeなどの基本的なビルドツールが含まれている必要があります。
5. 正確なタイミング
HTTPプロトコルの要素は時刻で表現されます。そのため、システムに時刻同期機能を設定することを検討しましょう。これは通常、ネットワークタイムプロトコル(NTP)をベースにしたntpdateまたはxntpdプログラムを使用して行われます。NTPソフトウェアとパブリックタイムサーバーの詳細については、NTPのホームページをご覧ください。
6. Perl 5 [オプション]
apxs や dbmmanage など、Perl で記述された一部のサポートスクリプトには、Perl 5 インタープリタが必要です(バージョン 5.003 以上で十分です)。configure スクリプトが Perl 5 インタープリタを見つけられない場合、影響を受けるサポートスクリプトは使用されません。もちろん、Apache httpd をビルドして使用することは可能です。
まず OpenSSL をインストールします。
wget https://www.openssl.org/source/openssl-1.0.2m.tar.gz tar xvf openssl-1.0.2m.tar.gz cd openssl-1.0.2m ./config --prefix=/usr/local/ssl --shared make make install echo /usr/local/ssl/lib >> /etc/ld.so.conf ldconfig
Apache 2.4.41 をインストールします。
APR および APR-Util のダウンロード サイトは次のとおりです。http://apr.apache.org/download.cgi
2つのパッケージをApacheインストールディレクトリのsrclibディレクトリにダウンロードします。まずsrclibディレクトリに入ります。ダウンロード後、パッケージ名を変更し、バージョン番号を削除してaprとapr-utilにしてください。
cd srclib wget https://downloads.apache.org//apr/apr-1.7.0.tar.gz wget https://downloads.apache.org//apr/apr-util-1.6.1.tar.gz tar xvf apr-1.7.0.tar.gz tar xvf apr-util-1.6.1.tar.gz mv apr-1.7.0 apr mv apr-util-1.6.1 apr-util cd\
名前を変更したら、フォルダを出て、httpd-2.4.41のインストールファイルに再度cdしてインストールします。エラーメッセージが表示された場合、依存環境が不足しています。インストール前に、yumを使用して他の依存環境をインストールする必要があります。
sudo yum -y インストール pcre-devel expat-devel libxml2-devel
環境をインストールしたら、設定を行うことができます。デフォルトでインストールされるため、パラメータを変更する必要はありません。デフォルトのインストール後、インストールディレクトリは/usr/local/apache2です。
cd httpd-2.4.41 ./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite --enable-ssl --with-ssl=/usr/local/ssl --with-mpm=prefork をインストールします。
--prefix はインストールパスを指定します
--enable-so は Apache コアが DSO (Dynamic Shared Object) をロードできるようにします。
--enable-rewrite 書き換え機能を有効にする
--enable-modules モジュールをApacheにコンパイルする
--enable-ssl は SSL プロトコルをオンにします
--with-mpm は実行モデルを指定します
動作モードは 3 つあります。
1. マルチプロセスモデル: prefork
2. マルチプロセスとマルチスレッドのハイブリッドモデル: ワーカー
3. マルチプロセスとマルチスレッドのハイブリッドモデル:イベント
設定パラメータの説明:
--prefix=/usr/local/apache2 | Apacheのインストールパスを指定する |
--enable-so | これは動的共有モジュールをサポートします |
--enable-rewrite | URL書き換えをサポート |
--enable-ssl | SSLをサポート |
--with-ssl=/usr/local/openssl | これはopensslのインストール場所を指定します |
--enable-cgi | CGIを有効にする |
--enable-modules=ほとんど | httpdバイナリファイルに静的にコンパイルされるモジュール(allまたはmost)を示します。allはすべてのモジュールを意味し、mostはほとんどのモジュールを意味します。 |
--enable-mods-shared=most | DSOモードでコンパイルされるモジュールを示します。allはすべてを意味し、mostはほとんどを意味します。 |
--enable-mpms-shared=すべて | MPMのサポートされているすべてのモードを有効にします。これにより、イベント、ワーカー、プリフォークがモジュール方式でインストールされます。使用するモードはhttpd.confで設定できます。 |
--with-mpm=イベント | mpmモードを有効にするように指定します。デフォルトではenevtモードが使用されます。Apacheの初期バージョンでは、2.0ではデフォルトでprefork、2.2ではworker、2.4ではeventが使用されます。 |
--with-pcre=/usr/local/pcre | PCREをサポート |
--with-z=/usr/local/zlib | zlib圧縮ライブラリの使用 |
--with-apr=/usr/local/apr | aprのインストールパスを指定する |
--with-apr-util=/usr/local/apr-util | apr-utilのインストールパスを指定する |
--enable-expires | 設定ファイルを通じて HTTP の「Expires:」および「Cache-Control:」ヘッダー コンテンツをアクティブ化および制御します。つまり、Web サイトのイメージ、js、css などのクライアント ブラウザー キャッシュ設定を提供します。これは、Apache チューニングの重要なオプションの 1 つです。 |
--enable-deflate | コンテンツの圧縮伝送エンコーディングをサポートします。これは主にHTML、JS、CSSなどのコンテンツを含むサイトに適用されます。このパラメータを使用すると、伝送速度が大幅に向上し、訪問者のエクスペリエンスが向上します。本番環境では、Apacheのチューニングにおいて重要なオプションの一つとなります。 |
apache2.4 をインストールするときに openssl のバージョンが低すぎる場合は、openssl をインストールする必要があります。
OpenSSL 公式サイト:https://www.openssl.org/
opensslをインストールする際は、--enable-sharedパラメータを指定する必要があります。--enable-sharedパラメータは、opensslをlibまたはlib64の共有ライブラリに追加するために追加されます。そうしないと、Apacheはopensslを見つけることができません。
さて、Apache 2.4.41 がインストールされました。次のステップは、Apache 2.4.41 のインストール後の設定を行うことです。
cd /usr/local/apache2 ls -l cd conf ls -l vi httpd.conf
apache2の設定ファイルhttpd.confを編集する
ユーザーとグループの両方を www に変更し、保存して終了します。
このマシンに www ユーザー グループとユーザーが作成されていない場合は、作成する必要があります。
グループ追加 www ユーザー追加 -g www www
ウェブサイト ディレクトリのユーザー グループの権限を変更します。
chown -R www www /var/www/html
httpd.conf の詳細な設定情報については、以下を参照してください。Centos7Apache2.4のhttpd.conf設定ファイルの詳細な解釈
httpd システムサービスを追加する
ln -s /usr/local/apache2.4/bin/apachectl /etc/rc.d/init.d/httpd
余談ですが、yumインストールに比べると、手動インストールは依然として非常に面倒です。手動インストールは推奨されません。アンインストールにはディレクトリを一つ一つ削除する必要があり、起動にも設定スクリプトが必要です。手動インストールは、インストール手順を理解するためのものです。
起動時にapache2.4.41を起動するように設定する
Centos7以下のユーザー
vi /etc/rc.d/rc.local
次の内容をファイルの末尾に追加し、保存して終了します。
/usr/local/apache2/bin/apachectl スタート
スタートアップファイルに実行権限を追加する
chmod +x /etc/rc.d/rc.local
restart サーバーを再起動してください。Apache がインストールされました。
Centos7x ユーザーは、新しい Apache 起動ファイルを作成し、存在しないファイルを VI で開き、:wq を使用して保存して終了すると、ファイルが作成されます。
vi /usr/lib/systemd/system/httpd.service
次の内容をhttpd.serviceファイルにコピーします。
[Unit] 説明=Apache HTTP Server After=network.target remote-fs.target nss-lookup.target Documentation=man:httpd(8) Documentation=man:apachectl(8) [Service] タイプ=forking #EnvironmentFile=/etc/sysconfig/httpd ExecStart=/usr/local/apache2/bin/httpd $OPTIONS -k start ExecReload=/usr/local/apache2/bin/httpd $OPTIONS -k graceful ExecStop=/bin/kill -WINCH {MAINPID} KillSignal=SIGCONT PrivateTmp=true [Install] WantedBy=multi-user.target
起動ファイルをリロードしてapache2.4.41を起動します。
systemctl daemon-reload systemctl start httpd
正常に起動しているかどうかを確認するには、status コマンドを使用します。
systemctl ステータス httpd
これで、コンピューターの IP アドレスを開くと、Web ページに Apache のウェルカム ページが表示されます。おめでとうございます。Apache2.4.41 のインストールに成功しました。
"それは動作します!"