Страница 1 из 1
Apache, mod_vhost_alias
Добавлено: 09 фев 2004, 18:26
Llama
Имеем следующий кусок конфига:
UseCanonicalName Off
<VirtualHost 65.75.134.201>
ServerName funtus.llama.fdns.net
VirtualDocumentRoot /home/funtus/public_html/%0
ErrorLog /home/funtus/logs/error.log
CustomLog /home/funtus/logs/access.log common
</VirtualHost>
Вопреки ожиданиям, в логах - пусто - все падает в общесистемный - /var/log/apache/
Я ожидал, что контент будет браться из /home/funtus/public_html/funtus.llama.fdns.net/
где могут быть грабли?
Добавлено: 09 фев 2004, 21:09
Andrej Ramaszeuski
NameVirtualHost *
<VirtualHost 65.75.134.201>
ServerName funtus.llama.fdns.net
DocumentRoot /home/funtus/public_html/untus.llama.fdns.net
ErrorLog /home/funtus/logs/error.log
CustomLog /home/funtus/logs/access.log common
</VirtualHost>
p.s.
толькі логі не раю у homedir пісаць...
для гэтага ёсьць /var/log - чытаем fhs да прасьвятленьня
Добавлено: 09 фев 2004, 21:20
Llama
b0rmann, не катит. Каждому юзверю - свои персональные логи - и удобнее всего держать их хомяке, т.е. где я буду вместе с fhs и /var/log, даже если буду держать там логи раздельно поюзверьно, если юзверь имеет тлько ftp и тот в chroot ???
А с VirtualHost ты меня не понял.
Смысл в том, чтобы URL вида
http://funtus.llama.fdns.net/index.html отражался бы на сервере в путь /home/funtus/public_html/funtus.llama.fdns.net - т.е. document root определялся бы динамически по запросу. Таким образом я хочу юзверю дать возможность самостоятельно создавать поддомены без лишних телодвижений.
Добавлено: 10 фев 2004, 13:32
Andrej Ramaszeuski
пофиг где тебе удобно держать логи. существует fhs, который абсолютно ясно говорить где их держать надо. юзеру можешь сделать symlink на его фолдер в /var/log/[apache|httpd]/vhosts/
а ещё лучше (если уж мы в chroot) сделать alias в конфигурации его virtualhost - по любому не дашь юзверю возможность логи удалять, так пусть их тянет через http.
Alias /logs /var/log/httpd/vhosts/funtus.llama.fdns.net
<Location /logs>
Options Indexes
</Location>
Добавлено: 10 фев 2004, 13:44
Andrej Ramaszeuski
А если уж мы у mod_vhost_alias, так добавь
ServerAlias *.funtus.llama.fdns.net
и иcпользуй %1 вместо %0
Поможет.
С логами ничего общего это не имеет. Интерполяция частей имени домена происходит только в директивах модуля mod_vhost_alias (Virtual*), ни в коем случае не mod_log*
Добавлено: 10 фев 2004, 17:42
Llama
b0rmann, интересно, а можно ли как-нить распихать распихать логи в соответвии с виртулаьными хостами? т.е. что-то типа %1/logs ? На первый взгляд нельзя... но а вдруг???
Добавлено: 10 фев 2004, 18:12
Andrej Ramaszeuski
На первый взгляд нельзя. На второй взгляд сушкствут возможность перенаправить log на фильтр чере pipe. Например:
CustomLog "|/usr/sbin/httplog /var/log/httpd/vhosts/funtus.llama.fdns.net/%Y%m.log -z -s /var/log/httpd/vhosts/funtus.llama.fdns.net/access.log" combined
Так вот я использую httplog для ротации. Вместо httplog может быть и другой фильтр. Который в может лог разгребсти куда попало и как попало. Хотя я, видимо, откажусь от online ротации/сортировки и буду это делать периодисчески через crontab - а то запущу апача, а с ним пара сотен httplog стартует - по копии на каждый virtualhost

Добавлено: 10 фев 2004, 18:34
Andrej Ramaszeuski
и на закуску
apt-cache show vlogger