Archive

Archive for August, 2009

Проблемы со статистикой (webalizer) в DirectAdmin

August 13th, 2009

Иногда бывает, что ДиректАдмин по каким-то причинам не считает статистику по доменам. Вот несколько пунктов по которым это может происходить:

  • отсутствует библиотека GD. Симптом: “ebalizer: error while loading shared libraries: libgd.so.2: cannot open shared object file: No such file or directory”. Чтобы починить:
    yum install gd
  • Не установлен или не работает crond. Чтобы починить:
    yum -y install vixie-cron
    service crond start
    chkconfig crond on
  • Не прописан создатель домена. Например, в общем случае, в /usr/local/directadmin/data/users/admin/users.list должны быть прописаны все пользователи DirectAdmin-а
  • Сам webalizer не корректно собран. Для проверки просто запускаем webalizer и смотрим не появятся ли ошибки.
  • Анализ логов отключен в directadmin.conf. Чтобы починить ищем и исправляем в directadmin.conf строки:
    webalizer=0
    rotation=0
  • Какие либо проблемы в самом webalizer. Чтобы проверить это запускаем обсчет статистики вручную для конкретного домена:
    /usr/bin/webalizer -p -n domain -o /home/user/domains/domain.com/stats /var/log/httpd/domains/domain.com.log
  • Логи апача по каким-либо причинам не пишутся для этого домена. Проверяем здесь /var/log/httpd/domains/domain.com.log

Чтобы проверить статистику делаем:

echo "action=tally&value=all" >> /usr/local/directadmin/data/task.queue

и смотрим /var/log/directadmin/system.log & /var/log/directadmin/error.log

Еще фишка с настройками вебалайзера. По дефолту, используются умолчальные настройки и они забиты в бинарник ДиректАдмина.
Чтобы кастомизировать настройки webalizer надо создать конфиг в /usr/local/directadmin/data/templates/custom/webalizer.conf и поместить туда директивы, которые должны отличаться от дефолтных, например:

AllReferrers    yes

Apache ,

suPHP для PHP под Apache

August 4th, 2009

Если по простому,то suPHP это штука, которая позволяет выполнять PHP-скрипты под Apache с правами их владельца, а не с правами веб-сервера. Это бывает необходимо если на сервере несколько пользователей (например, фтп), они активно меняют контент сайтов, но веб-серверу тоже нужен доступ к этим файлам. Тут то и происходит конфликт владельцев.
suPHP есть и в портах для FreeBSD:

cd /usr/ports/www/suphp && make install clean

и в пакетах для CentOS:

yum install mod_suphp

Запускается как обычный модуль для апача:

LoadModule php5_module libexec/apache2/libphp5.so
LoadModule suphp_module libexec/apache2/mod_suphp.so

Конфиги в файле suphp.conf

Внимательнее к параметрам:

; Security options
allow_file_group_writeable=false
allow_file_others_writeable=false
allow_directory_group_writeable=false
allow_directory_others_writeable=false

Из-за них может посыпаться много ошибок.

Для активации надо прописать либо в глобальной секции httpd.conf, либо в конкретном виртуал-хосте:

suPHP_Engine on
suPHP_AddHandler application/x-httpd-php

Не путать с модулем для апача suexec!

Замечен такой косяк: если надо запускать что-то через exec и по относительному пути исполняемый файл не находится, то надо убедится, что в suphp.conf прописано с кавычками!

env_path="/bin:/usr/bin"

Apache, php , ,