Назад | Перейти на главную страницу

«Правильный способ» включения модулей / виртуальных хостов в Apache

Системы Debian (и, возможно, другие) имеют следующую структуру в / etc / apache2 /

mods-available/   mods-enables/   sites-available/   sites-enabled/

В настройках по умолчанию есть тонна файлов как в доступных модах, так и в доступных для сайтов, а также есть символические ссылки на эти файлы в * -enabled /.

Я никогда не беспокоился о символических ссылках. Я всегда просто перемещал файлы.

Я утверждаю, что это позволяет вам легко увидеть, какие моды / сайты были включены, а какие нет. Символьные ссылки позволяют увидеть только то, какие из них были включены (в любом случае, легко, без использования diff). Однако мой коллега считает иначе.

Итак, что такое правильный путь и почему?

«Правильный путь» - использовать a2enmod и a2dismod для включения и отключения модулей, a2ensite и a2dissite для включения и отключения сайтов.

Команды a2 * mod предоставляют вам список [отключенных | разрешенных] модулей, установленных в вашей системе, которые вы затем можете [включить | отключить]. То же самое с командами сайта a2 *, однако они работают со списком файлов конфигурации сайта (как доступных по умолчанию, так и созданных вами) в каталоге 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)?

Я всегда фанат создания домашних каталогов для учетных записей виртуального хостинга. У этого есть несколько преимуществ, таких как простой chroot с ftp и ssh, и, конечно, проще управлять разрешениями.

Я не думаю, что есть "правильный" путь, есть разные способы, и у каждого свои методы.

Одно можно сказать наверняка. Мне не нравится, как серверы apache debian (или Ubuntu) настраивают виртуальные хосты. Мне нравится установка Apache в CentOS.

Вы можете увидеть мою настройку в моем скрипте создания виртуальных хостов (https://github.com/metalmini/vhostusers/blob/master/vhostusers.sh)

Есть ли смысл иметь список отключенных модулей? Несомненно, важным фактором является то, поддерживает ли сервер что-либо, и вы можете определить это, посмотрев, есть ли это в списке разрешенных или нет.

Всегда включены символические ссылки для использования.

Таким образом, у вас всегда есть полный список и список работ, который работает сейчас. Также символические ссылки могут иметь такие имена, как 001-site, Client-id-12-site и т. Д., Так что некоторая структура.

Также вам не нужно делать изменения в тоннах места. Измените только один файл.

Также это выглядит красиво.

И я не вижу минусов в этой структуре, так почему бы и нет? ;)