在 Apache 中启用模块/虚拟主机的“正确方法”

5 debian apache-2.2

Debian 系统(可能还有其他系统)在 /etc/apache2/ 中有以下布局

mods-available/   mods-enables/   sites-available/   sites-enabled/
Run Code Online (Sandbox Code Playgroud)

默认设置在 mods-available 和 sites-available 中都有大量文件,然后在 *-enabled/ 中有指向这些文件的符号链接。

我从来没有打扰过符号链接。我一直只是移动文件。

我认为这可以让您轻松查看哪些模块/站点已启用,哪些尚未启用。符号链接只能让您看到哪些已启用(无论如何,无需求助于差异即可轻松查看)。但是,我的同事认为不同。

那么,什么是正确的方法,为什么?

gsr*_*lds 11

“正确的方法”是使用 a2enmod & a2dismod 来启用和禁用模块,使用 a2ensite & a2dissite 来启用和禁用站点。

a2*mod 命令会向您显示系统上安装的 [disabled|enabled] 模块列表,然后您可以 [enable|disable]。与 a2*site 命令相同,但它们使用 sites-avaliable 目录中的站点配置文件列表(默认情况下可用的和您创建的)。

您还可以手动将符号链接从 *-avaliable 符号链接到 *-enabled,但是这些命令已提供并且几乎都在这样做。

a2enmod 的示例输出:

Your choices are: actions alias asis auth_basic auth_digest authn_alias 
    authn_anon authn_dbd authn_dbm authn_default authn_file authnz_ldap authz_dbm 
    authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache 
    cern_meta cgi cgid charset_lite dav dav_fs dav_lock dbd deflate dir disk_cache dump_io 
    env expires ext_filter file_cache filter headers ident imagemap include info ldap 
    log_forensic mem_cache mime mime_magic negotiation pagespeed php5 proxy proxy_ajp 
    proxy_balancer proxy_connect proxy_ftp proxy_http proxy_scgi reqtimeout rewrite setenvif 
    speling ssl status substitute suexec unique_id userdir usertrack version vhost_alias
Which module(s) do you want to enable (wildcards ok)?
Run Code Online (Sandbox Code Playgroud)