サーバ

DebianでApacheのモジュールを有効化/非有効化する

Debian系のLinuxではApacheは以下の様なディレクトリ構成になっています。

/etc/apache2$ ls -l
total 80
-rw-r--r-- 1 root root  7115 Sep 19 19:07 apache2.conf
drwxr-xr-x 2 root root  4096 Dec  9 03:08 conf-available
drwxr-xr-x 2 root root  4096 Dec  9 03:08 conf-enabled
-rw-r--r-- 1 root root  1782 Sep 19 19:07 envvars
-rw-r--r-- 1 root root 31063 Sep 19 19:07 magic
drwxr-xr-x 2 root root 12288 Nov 28 21:25 mods-available
drwxr-xr-x 2 root root  4096 Dec 19 15:02 mods-enabled
-rw-r--r-- 1 root root   320 Sep 19 19:07 ports.conf
drwxr-xr-x 2 root root  4096 Dec 17 01:28 sites-available
drwxr-xr-x 2 root root  4096 Dec 17 01:15 sites-enabled

conf-(available|enabled)、mods-(available|enabled)、sites-(available|enabled)、というディレクトリがあります。
confには設定ファイル、modsは拡張機能、sitesにはサイトの設定があります。
それぞれ
a2enconf、a2enmod、a2ensiteコマンドで有効化、a2disconf、a2dismod、a2dissiteコマンドで無効化します。
Manpages of apache2 in Debian jessie

たとえばコンテンツの有効期限を指定できるmod_expiresを有効化したければ以下の通り。

$ sudo a2enmod expires
Enabling module expires.
To activate the new configuration, you need to run:
service apache2 restart
$ sudo service apache2 restart

考え無しに編集しているとごちゃごちゃしてしまいがちなhttpd.confですが、Debianではスッキリしていていいですね。

参考にしたサイト:
Manpages of apache2 in Debian jessie
Apache2 Debian conf どこになにを置けばいいのか – Qiita