Apache作業でもう迷わない。いちいちググるのが面倒なのでメモっておきました。

apache
LINEで送る
Share on GREE
Share on LinkedIn

Webサーバーの定番「Apache」ですが、サーバー管理をしていて、このモジュールの設定変更など、行う機会が多いので、
都度ググって作業していたのが、非常に面倒になってきたので、ここらでちゃんとメモしておこうと思いました。

初期構築

インストール

.htaccessを有効にする。

apacheモジュールを有効にする。

運用におけるコマンド

confファイルの設定変更を行った場合の作業

「apachectl」コマンドはgracefulと同じ内容も含まれます。

設定変更の際にapacheを再起動する

サブドメインやポートの設定追加

Apacheは、ドメイン(サブドメイン)、ポート(プロトコル)で、ルートディレクトリや各種設定を個別に振り分けることが可能です。
DNSやFirewallやローカルIPの設定などは、ちゃんと行っている事を前提として、管理方法などを記述します。

記述サンプル”/etc/apache2/sites-avalable/example.com”

「sites-avalable」はソース元管理ディレクトリで、本番用は「sites-enabled」になります。
本番用は管理用のファイルをシンボリックリンクで設置しているので、分ける必要がないという管理者もいますが、利用と停止をファイル管理で行える利点もあるので、シンボリック運用した方がいいでしょう。
また、本番用の中に複数の設定データが作られますが、ファイル名の順に設定が読み込まれて、設定が重複していた場合、後で読み込まれた設定が無効になるため、ファイル名に付番する等、優先順位をつけて管理することをオススメします。
また、管理用での設定は、細かく1サブドメイン、1ポート毎に1ファイル管理で行ったほうが格段に管理しやすいです。

リバースプロキシ設定

1つのグローバルIPアドレスで、サブドメイン毎に複数のサーバーを振り分ける場合に、リバースプロキシ(mod-proxy)を設定します。
この場合のインフラ構成等は、事前にクリアしている事を前提とします。
※あくまでapacheの設定のみ記述します。

1、サーバーA、サーバーBの準備※どちらもapacheが稼働する状態。

※proxy設定するのはサーバーAのみ

2、サーバーAのapache設定

/etc/sites-avalable/内に「proxy(任意)」ファイルを作成※default内に記述しても良い。
/etc/sites-enabled/内に「proxy」シンボリックリンクを作成

3、モジュール設定

/etc/mods-enabled/内にシンボリックリンクを作成
proxy.conf
proxy.load
proxy_http.load
proxy_balancer.conf
proxy_balancer.load

4、/etc/sites-abaleble/proxy をviで記述


ServerName proxy.hoge.com
ProxyPreserveHost On
ProxyPass / http://192.168.1.16/
ProxyPassReverse / http://192.168.1.16/

5、/etc/mods-abalable/proxy.conf をviで記述


ProxyRequests On

Order deny,allow ProxyVia On

6、apacheの再起動

/etc/init.d/apache2 restart

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*