ISPmanager + Ubuntu 12.04 подводные камни с которыми я столкнулся при настройке сервера

И так, как писал ранее, мы переехали на новый хостинг ihc.ru. Ранее хостились на hoster.by, пока в Белоруссии действовал декрет-60 или как там его, для сегментов зоны by. А так как клиентских, да и личных проектов в зоне by было предостаточно, приходилось пользоваться хочу заметить не самыми производительными ресурсами, зато тех.поддержка Hoster.By заслуживает отдельного уважения.

Ubuntu ISPmanager LAMP php-fastcgi nginx ihc

И так, теперь мы дружим с IHC.RU. И тут как обычно столкнулись с новыми проблемам о коих решил написать. Себе на заметку, да и другим в помощь кто столкнется с подобным. Хочу расписать нюансы по настройке сервера, с которыми я столкнулся. Все примеры исключительно описывают специфику "Интернет Хостинг Центр".

Покупалась ядерная виртуализация KVM - причины выбора описывать не буду. В качестве ОС сервера и панели управления ставилась связка: Ubuntu 12.04 + ISPmanager. В принципе установка с коробки позволяет полноценно работать без дополнительных телодвижений. Но как дотошного кодера и совсем не системного администратора процесс оптимизации волнует в первую очередь. Скажу сразу, процесс подбора (проб и ошибок) оптимальных настроек занял около недели. В итоге откатился к коробочным значениям ))), все же выигрыш небольшой. Но есть и нюансики. Постараюсь описать в последовательности настройки.

1. В коробочной Ubuntu не оказалось русской локали. (данный баг вылез в настройке SquirrelMail, не переключался на русский). Мне помогло добавление ru_RU локали в базу Ubuntu

Добавляем в список нужные локали. (в принице должно хватить и UTF-8, но на всякий случай добавил и CP1251)

root@server:~# locale-gen ru_RU.UTF-8
root@server:~# locale-gen ru_RU.CP1251

и генерируем локали

root@server:~# dpkg-reconfigure locales

update-locale на ru_RU локализацию делать не обязательно, я бы даже не рекомендовал этого делать.

Приведу ниже еще распространенные вакцины для локализации.

Редактируем конфиг Apache, nano /etc/apache2/conf.d/squirrelmail.conf

# Закоментировать или удалить
php_admin_value safe_mode off
# либо сменить value на flag
php_admin_flag safe_mode off

Так же можно выставить ru_RU локализация WebMail по умолчанию, nano /etc/squirrelmail/config.php

# Приводим следующие переменные к такому виду
$squirrelmail_default_language = 'ru_RU';
$default_charset = 'utf-8';

2. Munin - по умолчанию не понятно какой ставит пароль на папку статистики, меняем пароль доступа

root@server:~# htpasswd -c /etc/munin/munin-htpasswd user

user - соответственно логин, под которым будем логиниться. Пароль вводим в диалоге.

3. Бывает так что временная зона не хочет меняться через панель управления: Настройки сервера -> Параметры сервера

меняем через ssh

root@server:~# dpkg-reconfigure tzdate

в диалоговом окне выбираем Europe/Moscow - или необходимую нам.

4. У меня стоит связка Apache2 + nginx + php-fastcgi. Статика отдается nginx, динамика через php-fastcgi и при закачке архивов выскакивает вот такая ошибка, смотрим логи

[warn] [client 178.172.154.43] mod_fcgid: HTTP request length 138105 (so far) exceeds MaxRequestLen (131072), referer:

Это связано с тем что в конфигах стоит ограничение на размер request запросов. Редактируем конфиг, nano /etc/apache2/mods-available/fcgid.conf

# добавляем параметр с ограничением 15Mb
MaxRequestLen 15728640

Так же можно уменьшить количество деток/процессов запущенных php. Пока большой нагрузки на сервер нету, нет смысла плодить процессы пожирающие память. Редактируем конфиг, nano /etc/apache2/mods-available/fcgid.conf

FcgidMaxProcesses 8
FcgidMaxProcessesPerClass 8
FcgidMinProcessesPerClass 1

где, FcgidMaxProcesses - максимальное количество процессов FastCGI
FcgidMaxProcessesPerClass - максимальное количество процессов на программу FastCGI
FcgidMinProcessesPerClass - минимальное количество процессов на программу FastCGI

и рестартим, /etc/init.d/apache2 restart

5. Самое важное и болезненное с чем я столкнулся это с косяком отправки почты, после установки почта отправляется и принимается, но стоит перегрузить сервер, и почта умирает. Выдает сообщение:

The error that the other server returned was: 550 all relevant MX records point to non-existent hosts

в логах ошибок пишет следующее:

Apr 5 22:38:56 vik-san dovecot: imap-login: Login: user=<Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.>, method=PLAIN, rip=::1, lip=::1, mpid=5332, secured Apr 5 22:38:56 vik-san dovecot: imap(Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.): Disconnected: Logged out bytes=85/681

Долго мучался с тех.поддержкой. Пока с третьим админом не нашли косяк в их шаблонах установки. Пообещали в ближайшее время все пофиксить. Ошибка сидела в конфиге exim4, редактируем nano /etc/exim4/exim4.conf.template

# В группе dnslookup меняет IP VPS на 0.0.0.0 : 127.0.0.0/8
        dnslookup:
                driver = dnslookup
                domains = !+dummy_domains
                transport = remote_smtp
                ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
                self = pass
                no_more

6. Ну и напоследок смена лицензии и обновление версии ISPmanager

Для перехода с Lite на Pro вводим следующее:

root@server:~# /usr/local/ispmgr/sbin/up2prof.sh

для возврата

root@server:~# /usr/local/ispmgr/sbin/down2lite.sh

В случае если ругается на лицензию, помогает

root@server:~# wget -O /usr/local/ispmgr/etc/ispmgr.lic "http://lic.ispsystem.com/ispmgr.lic?ip=ваш.ip.адрес"

 

Описал то что осталось в памяти, по ходу нахождения бакгов, буду дописывать заметку.

  • У меня нет этого файла вообще. /etc/apache2/mods-available/fcgid.conf Что делать ? аааааааа ))