Записи с тегом «*nix»

Запуск задания cron в последний день месяца

14.03.2010 12:08 / Артём Волк / 309 просмотров

Стандартный cron не позволяет создать такое расписание, чтобы задание выполнялось только в конце месяца (именно в последний день месяца максимально близко к полуночи, а не в первый день следующего месяца). Одно из решений было найдено на форуме и слегка модицифировано.

читать дальше...

Установка OpenWebmail на сервер с Debian и ISPManager

07.02.2010 20:17 / Артём Волк / 247 просмотров

По умолчанию в ISPManager в качестве webmail'a использует SquirellMail. Для установки OpenWebmail использовался deb-пакет.

читать дальше...

Установка ISPManager на сервер за роутером (с локальным IP-адресом)

18.01.2010 23:03 / Артём Волк / 320 просмотров

Для установки и работы системы лицензирования ISPManager необходимо, чтобы хотя бы на одном из сетевых интерфейсов (лучше на первом в выводе ifconfig) был определён (опять же, лучше первым по счёту) реальный IP-адрес, на который выдана лицензия.

В случае, если сервер находится за роутером и на его интерфейсах — только локальные IP, реальные же определены на роутере и с него прокидываются на сервер для корректной установки достаточно будет прописать алиасом лицензируемый IP на первом интерфейсе. Этот адрес, естественно, использоваться не будет, но ISPManager будет доволен :)

Способ опробован для установки легально приобретённой копии ISPManager на выделенный сервер.

Базовая оптимизация производительности VDS на *nix

21.11.2009 9:58 / Артём Волк / 816 просмотров

Этот список — не более, чем памятка: что нужно проверить на типичном VDS (Apache, PHP, MySQL) перед тем, как докупать ресурсов :). Не претендует на точность и полноту, потому как рассматриваемый предмет (оптимизация производительности), пожалуй, один из самых сложных.

читать...

Замер времени выполнения команд в shell, запись сообщений в syslog

11.11.2009 23:43 / Артём Волк / 150 просмотров

Пример замера времени выполнения определённых команд и записи этого времени в системный лог:

#!/bin/sh
START=$(date +%s)

#
# Нужные команды 
#

END=$(date +%s)                                 
DIFF=$(( $END - $START ))
echo "It took $DIFF seconds"
/usr/bin/logger -t [MyScript] "Task finished in $DIFF seconds"

Префиксы для баз данных и имён пользователей MySQL в ISPManager

11.11.2009 23:39 / Артём Волк / 286 просмотров

Для того, чтобы к имени базы данных добавлялся префикс в виде <имя системного пользователя>_, необходимо добавить в ispmgr.conf опцию:

Option DatabasePrefix

Чтобы включить добавление подобного префикса к именам MySQL-пользователей необходима следующая опция:

Option DatabaseUserPrefix

Выключение отображения версии веб-сервера в заголовках

08.11.2009 19:52 / Артём Волк / 174 просмотра

Для того, чтобы в заголовках не указывалась версия Apache, в его конфиг нужно добавить параметр:

ServerTokens Prod

Для nginx в секцию http:

server_tokens off;

На стандартных экранах с ошибками отображение версии Apache отключается параметром:

ServerSignature Off

Для nginx'а соответствующий параметр пока не найден :)

P.S. Запретить добавление заголовка X-Powered-By с версией PHP можно путём добавления параметра в php.ini

expose_php = Off

P.P.S. Для ASP.NET запретить добавление заголовка X-Powered-By можно в настройках IIS в разделе HTTP Headers - Custom HTTP Headers. Заголовок X-AspNet-Version можно выключить путём установки параметра в Web.config:

<httpRuntime enableVersionHeader="false"/>

P.P.P.S. Решение для IIS7 и ASP.NET MVC (заголовок X-AspNetMvc-Version) тоже нашлось.

PHP-функция mail(), sendmail, ISPManager

07.11.2009 0:16 / Артём Волк / 288 просмотров

Часто для отправки почты из PHP-скриптов используется функция mail. На серверах под управлением ISPManager и использующих sendmail могут возникнуть проблемы, если адрес отправителя не существует. Например, скрипт пытается отправить почту с обратным адресом no-reply@example.com, а ящика такого нет. Создавать подобные почтовые ящики не всегда необходимо.

варианты решения проблемы

Фильтрация и проверка почты в OpenWebmail с командной строки

07.11.2009 0:15 / Артём Волк / 156 просмотров

OpenWebmail имеет встроенные почтовые фильтры, которые срабатывают при входе пользователя, в случае, если пользователи используют кроме веб-интерфейса почтовые клиенты — фильтрацию необходимо реализовывать другими способами. Один из вариантов, оставить эту работу всё-таки OpenWebmail'у, периодически запуская скрипт openwebmail-tool.pl.

Например, для проверки (и применения фильтров) к почте всех пользователяй можно выполнить:

./openwebmai-tool.pl -m -a

Решение проблемы со spamassassin в Debian

07.11.2009 0:14 / Артём Волк / 277 просмотров

Почему-то после установки spamassassin на Debian 4, он упорно отказывался запускаться от root, используя пользователя nobody. Из-за этого база Байесовского фильтра не могла быть куда-либо сохранена. Не очень красивое решение из старого баг-репорта.

adduser --disabled-login --system --home /var/spool/spamd spamd

В файле /etc/default/spamassassin в параметр OPTIONS был добавлен параметр

-u spamd

Дополнение: для того, чтобы в логи не сыпались ошибки о том, что у spamd не получилось создать файлы личных настроек пользователей, необходимо добавить следующие параметры:

-u spamd -x --virtual-config-dir=/var/spool/spamd

Поиск более правильного решения продолжается.

Бонус: настройка OpenWebmail

OpenWebmail имеет встроенные средства для вызова sa-learn если пользователь помечает письмо как «spam» или «ham» (не спам). Для того, чтобы при этом обновлялась не локальная база пользователя, а база в указанном каталоге, необходимо изменить два параметра в конфигурации OpenWebmail:

learnspam_pipe	/usr/bin/sa-learn --dbpath=/var/spool/spamd/bayes --mbox --spam
learnham_pipe	/usr/bin/sa-learn --dbpath=/var/spool/spamd/bayes --mbox --ham

Страница 1 из 2