Apacheとは
正式名称をApache HTTP Serverといい、Webサーバとして機能するソフトウェアの一種です。Apacheは世界で一番使用されているWebサーバであり、多くのWebページで使用されています。
もし、あなたのパソコンにApacheをインストールした場合、あなたのパソコンがWebサーバになるイメージです。
Apacheはどんな機能があるのか
Web画面からの要求を受け取り、必要な返答を返す機能があります。
例えば、あなたがAmazonで買い物をするとき”購入ボタン”をクリックします。その際にApacheがあなたのアカウントでこの商品を購入しましたという情報を受け取ります。その後、Apacheは購入が完了しましたという画面を表示します。
上記のようなやりとりをApacheが実行してくれるわけです。
Apache基本設定について
設定が必要な項目は以下の通りです。
- サーバ名の設定
- 自動起動設定
- ログローテーションの設定
ほかにも必要な設定がいくつかありますが、今回は基本的な設定のみ紹介します。
また、今回紹介するのはLinuxの設定ですので、Windowsの方は別記事を参照してください
サーバ名の設定
Apacheをインストールした時点では、ホスト名は自動登録されません。
/etc/httpd/conf/httpd.conf に設定項目があります。
設定項目は cat /etc/httpd/conf/httpd.conf | grep ServerNameで検索すると表示されます。
自分のサーバのホスト名を登録すれば設定完了です。
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup
#
# If this is not set to valid DNS name for your host, server-generated
# redirections will not work. See also the UseCanonicalName directive.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
# You will have to access it by its address anyway, and this will make
# redirections work in a sensible way.
#
#ServerName www.example.com:80
自動起動設定
Apacheは基本的に起動したままのソフトウェアですが、メンテナンスなどで年に数回サーバの再起動をお行う必要があるかと思います。再起動した際に、初期設定ではApacheは手動で起動コマンドを実行しないと起動しません。
自動起動設定は以下のコマンドで確認できます。
systemctl status httpd.service
上記では起動状況などの確認もできます。上記コマンドを実行した際に”disenable”と表示がある場合は自動起動設定がオフになっています。その場合は以下のコマンドを実行し自動起動設定をしましょう
systemctl enable httpd.service
上記コマンドを実行後に”disenable”から”enable”ステータスが変更されていれば設定完了です。
また、参考ですが以下コマンドで起動やシャットダウン、再起動が可能です。
systemctl start httpd.service #起動
systemctl stop httpd.service #シャットダウン
systemctl reboot httpd.service #再起動
ログローテーションの設定
ログローテーションの設定は、Apacheが収集するログの管理を行う設定です。Apacheは誰がサイトにアクセスしたのか、時間や操作情報を記録しています。多くの人がアクセスした場合ログによってサーバの容量が圧迫され最悪の場合サーバがパンクしてしまいます。
そんな問題を解決するため一定期間を超えたログを削除する設定を追加します。
ログが出力される場所
[root@Webserver ~]# ls -l /var/log/httpd
-rw-r--r-- 1 root root 1285 Oct 27 13:44 access_log
-rw-r--r-- 1 root root 1832 Oct 27 15:02 error_log
ログローテーションの設定場所
[root@Webserver ~]#cat /etc/logrotate.d/httpd
/var/log/httpd/*log {
daily #日にちで指定
rotate 2 #2日で指定日経過したファイル削除
missingok
ifempty
dateext
sharedscripts
postrotate
/sbin/service httpd reload > /dev/null 2>/dev/null || true
endscript
}
最後に
Apacheの基本的な設定について記述しました。
このほかにも沢設定する項目はありますが、ほかの記事で紹介したいと思います。
最後まで読んで頂きありがとうございます。