Установка PHP-FPM на Debian

Имеется VDS/VPS с минимальной инсталляцией Debian 5 Lenny. Требуется установить и настроить PHP с патчем FPM для работы через nginx по протоколу FastCGI.
Read the rest of this entry »

Установка DirectAdmin на CentOS

Для того, чтобы установить на минимальную инсталляцию CentOS панель управления DirectAdmin, нужно сначала инсталлировать дополнительные пакеты, которые потребуются программе инсталляции. Для этого в командной строке (доступ к которой выполняется с помощью SSH-клиента) нужно ввести команду:

yum install -y wget perl gcc gcc-c++ flex make quota

Далее скачивается инсталляционный скрипт DirectAdmin:

wget http://www.directadmin.com/setup.sh

После этого запускается программа инсталляции:

sh setup.sh

В процессе установки программа инсталляции попросить ответить на вопросы по требуемой конфигурации, номер лицензии и другие данные. После завершения установки сервер нужно перезагрузить, выполнив команду:

reboot

Установка DirectAdmin на FreeBSD

Для того, чтобы установить на минимальную инсталляцию FreeBSD панель управления DirectAdmin, нужно сначала инсталлировать дополнительные пакеты, которые потребуются программе инсталляции. Для этого в командной строке (доступ к которой выполняется с помощью SSH-клиента) нужно ввести команду:

pkg_add -r wget
pkg_add -r perl
rehash

Далее скачивается инсталляционный скрипт DirectAdmin:

wget http://www.directadmin.com/setup.sh

После этого запускается программа инсталляции:

sh setup.sh

В процессе установки программа инсталляции попросить ответить на вопросы по требуемой конфигурации, номер лицензии и другие данные. После завершения установки сервер нужно перезагрузить, выполнив команду:

reboot

Настройка кодировки MySQL-сервера

По умолчанию кодировкой MySQL является latin1. Для того, чтобы сменить кодировку по умолчанию на поддерживающую кириллицу (Windows-1251 или UTF-8), ее можно указать в конфигурационном файле MySQL. Для RadHat-совместимых систем (CentOS, Fedora) это файл /etc/my.cnf, для Debian-совместимых (Ubuntu) – /etc/mysql/my.cnf.

Для установки кодировки Windows-1251, в этот файл нужно добавить в секцию client (после строки “[client]“) строку:

default-character-set=cp1251

и в секцию mysqld (после строки “[mysqld]“) строку:

character_set_server=cp1251

Для установки кодировки UTF-8, в этот файл нужно добавить в секцию client (после строки “[client]“) строку:

default-character-set=utf8

и в секцию mysqld (после строки “[mysqld]“) строки:

character_set_server=utf8
collation_server=utf8_unicode_ci

Пример. Содержание файла my.cnf пресета “Простой хостинг”:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
character_set_server=cp1251

[client]
default-character-set=cp1251

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

Автоматическое подключение веб-сайтов к каталогам

Веб-сервер Apache можно настроить таким образом, что все каталоги, находящиеся в специальном месте, автоматически станут веб-сайтами с доменами, соответствующими названиям каталогов.

Например, если создан каталог www.domain.com, то его содержимое автоматически станет веб-сайтом www.domain.com, а для веб-сайта abc.domain.com нужно будет создать каталог abc.domain.com.

Настроить через Webmin:

  1. Войти в Webmin
  2. Выбрать в боковом меню “Службы” / “Веб сервер Apache”.
  3. На странице со список виртуальных хостов кликнуть по “Сервер по умолчанию”.
  4. Зайти в пункт “Автоматические виртуальные узлы”
  5. В пункте “Автоматический корневой каталог виртуального узла” перекючить радиокнопку из положения “нет” и ввести “/var/www/vhosts/%0″
  6. Нажать кнопку “Сохранить”
  7. Выбрать в боковом меню “Система” / “Загрузка и завершение работы системы”
  8. Отметить чекбокс в строке httpd и нажать кнопку “Restart”

На уровне Apache для этого используется модуль mod_vhost_alias.

Настройка русской локализации в Ubuntu

При минимальной инсталляции в системе установлены локали только C и POSIX. Русскоязычные локали добавляются с помощью команды генерации locale-gen:

locale-gen ru_RU.UTF-8

После этого локаль можно настроить в качестве локали по умолчанию, добавив в /etc/environment строки:

LANG=ru_RU.UTF-8
LC_ALL=ru_RU.UTF-8

или в .profile строки:

export LANG=ru_RU.UTF-8
export LC_ALL=ru_RU.UTF-8

Другие локали, которые можно генерировать таким образом:

  • ru_RU.CP1251 – русский язык, кодировка Windows-1251
  • ru_RU.KOI8-R – русский язык, кодировка KOI8
  • ru_UA.UTF-8 – русский язык, украинский вариант
  • uk_UA.UTF-8 – украинский язык
  • be_BY.UTF-8 – белорусский язык

Отключения привязки сетевых интерфейсов к MAC-адресам

В семействе Debian (Ubuntu и др.) по умолчанию осуществляется привязка имени сетевого интерфейса к MAC-адресу устройства. Это сделано для того, чтобы при добавлении или удалении сетевых карт, не перепутывались настройки для существующих карт. Для интернет-сервера это решение неудачно, т.к. такая привязка приводит к тому, что при смене MAC-адреса устройства (например, при замене сетевой карты или сервера, при перезагрузке виртуальной машины), настройки сетевой карты теряются, в следствие чего сервер становится недоступен по сети.

Привязка имени интерфейса к MAC-адресу осуществляется с помощью подсистемы udev. Для отключения привязки необходимо удалить правила в текущей конфигурации udev:
1) удалить файл /etc/udev/rules.d/70_persistent-net.rules (в нем содержится текущая привязка для сетевых карт)
2) удалить файл /etc/udev/rules.d/75_persistent-net-generator.rules (он автоматически создает новые привязки для сетевых карт)
3) удалить  файлы /lib/udev/rules.d/75-persistent-net-generator.rules, /lib/udev/write_net_rules
иначе файлы в /etc/udev/rules.d/ будут снова созданы.

В различных версиях и дистрибутивах названия этих файлов могут отличаться, но, как правило, они заканчиваются на _persistent-net.rules и _persistent-net-generator.rules.

Настройка Apache2 и Ruby on Rails

В системе установлены Apache2 и Ruby on Rails. Требуется настроить Apache таким образом, чтобы одни запросы он обрабатывал самостоятельно, а другие направлял на обработку в rails-приложение.

Привязку пути из URL запроса, пришедшего в Apache, настраиваем конфигурацией файла /etc/apache2/conf.d/rails.conf:

Alias /rails  /var/www/rails/public

<Directory /var/www/rails/public>
  RewriteEngine On
  RewriteBase /rails

  RewriteRule ^$ index.html [QSA]
  RewriteRule ^([^.]+)$ $1.html [QSA]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]

  ErrorDocument 500 "<h2>Application error</h2>Rails application failed to start properly"
</Directory>

Каталог приложения: /var/www/rails. С помощью директивы Alias привязываем путь /rails к каталогу приложения. Далее, с помощью директив RewriteRule и RewriteCond указываем, что при отсутствии запрашиваемого файла в каталоге public приложения, запрос должен передаваться rails-приложению, запускаемому в режиме FastCGI с помощью скрипта dispatch.fcgi.

Настройка русской локализации в CentOS5

В CentOS 5 установлены локали ru_RU.iso88595, ru_RU.koi8r, ru_RU.utf8. Но отсутствует локаль с самой распространенной кодировкой кириллицы Windows – CP1251.

Для генерации локали с CP1251 нужно выполнить команды:

localedef --no-archive -c -f CP1251 -i ru_RU ru_RU.CP1251
localedef -i ru_RU -f CP1251 -c /usr/share/locale/ru_RU.CP1251


После этого локаль можно настроить в качестве глобальной локали по умолчанию, добавив в /etc/environment строки:

LANG=ru_RU.CP1251

или в .profile пользователя строки:

export LANG=ru_RU.CP1251

Автоматический ремонт файловой системы при загрузке

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

Для того, чтобы fsck самостоятельно устраняла ошибки без ручного подтверждения запросов, в загрузочных параметрах требуется включить опцию автоматического подтверждения всех запросов.

CentOS, Fedora, RedHat

В конфигурационном файле /etc/sysconfig/autofsck добавляем значение -y переменной AUTOFSCK_OPT:

AUTOFSCK_OPT="$AUTOFSCK_OPT -y"
Debian, Ubuntu

В конфигурационном файле /etc/default/rcS присвоить переменной FSCKFIX значение yes:

FSCKFIX=yes
FreeBSD

В конфигурационном файле /etc/rc.conf присвоить переменной fsck_y_enable значение YES:

fsck_y_enable="YES"