Страница 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