Установка и настройки панели управления DirectAdmin

25 Jun 2014 | Автор: anchous |

Прикупил тут некий голландский VPS для переноса части проектов из рунета и сгоряча включил в прайс  DirectAdmin Leased License, полагая что мне выдадут уже настроенную систему. Но не тут то было, это оказалось просто зареганная на тебя панелька, которую надо ставить самому.

Теоретически у хостера имеются в наличии прединсталлированные имиджи XEN, которые можно развернуть сразу на систему, в том числе и с установленной панелью DirectAdmin, но коли выпал такой случай, то решил поковырять самостоятельно.

Прежде чем начать инсталять панельку, необходимо выполнить подготовку к установке. Для начала надо заметить, что лицензия и система у вас должны совпадать, т.е. 32 или 64 бита там и там, иначе возникнут траблы в самом конце установки, когда скрипт не будет видеть нужные библиотеки в дефолтной для него директории lib или lib64.

Сначала апргейдим систему:
# yum update

После этого доставляем необходимые при установке прилады (в моем случае для Rehat/Fedora/CentOS):
# yum  -y install wget gcc gcc-c++ flex bison make bind bind-libs bind-utils openssl openssl-devel perl quota libaio libcom_err-devel libcurl-devel tar diffutils nano gd zlib-devel zip unzip libcap-devel cronie bzip2 autoconf automake libtool which dbus.x86_64 db4-devel cyrus-sasl-devel perl-ExtUtils-Embed.x86_64 cpan

На первом этапе необходимо настроить доступ ssh, если вы логинились не рутовым пользователем, прежде чем перелогинитесь, иначе доступ будет потерян. Для этого в файл  /etc/ssh/sshd_config надо добавить (или раcкомментировать) строчку “AllowUsers username“.
Теперь можем со спокойной совестью переходить к установке самого DirectAdmin
# wget http://www.directadmin.com/setup.sh
# chmod 755 setup.sh
# ./setup.sh

Тут установщик спросит у нас про Client ID &  License ID , которые у нас уже должен быть заготовлен.

После чего будет несколько вопросов по наличиствующих IP, имени машины и IP адресе, к которому надо привязывать лицензию. Затем мы выберем тип инсталяции DirectAdmin, т.к. от него будут зависеть версии пакетов установленных в систему. Для себя я выбрал пункт 3:
custombuild 1.2: Production version: Apache 2.x, php 5, 6, or both in cli and/or suphp. Defaults to php 5.3

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

Логиниться можно по адресу http://IP:2222

После установки желательно добавить в конфиг DA /usr/local/directadmin/conf/directadmin.conf интерфейс на котором висит лицензионный IP, добавив в файл строчку
ethernet_dev=YOUR_INTERFACE

Затем можем подкрутить немного в плане безопасности работы сервера:

1. Переключаем работу DirectAdmin с дефолтного протокола http на защищенный https на том же 2222 порту, для того чтобы избежать прослушивания паролей и сессии.

Генерим собственный сертификат:
# /usr/bin/openssl req -x509 -newkey rsa:2048 -keyout /usr/local/directadmin/conf/cakey.pem -out /usr/local/directadmin/conf/cacert.pem -days 9000 -nodes
# chown diradmin:diradmin /usr/local/directadmin/conf/cakey.pem
# chmod 400 /usr/local/directadmin/conf/cakey.pem

Переключаем работу DirectAdmin на использвание SSL правками в файле конфигураций /usr/local/directadmin/conf/directadmin.conf
######
SSL=1
cacert=/usr/local/directadmin/conf/cacert.pem
cakey=/usr/local/directadmin/conf/cakey.pem
######

Для того чтобы конфиг перечитался, рестартим сервис DirectAdmin
# service directadmin restart

2. Хорошей идеей будет регулярное обновление скриптов и библиотек, что можно проделывать с помощью так называемой кастомной сборки custombuild:
# cd /usr/local/directadmin/custombuild
# ./build update
# ./build all d

после чего надо перегрузить веб-сервер
# /sbin/service httpd restart

В директории custombuild содержится файл options.conf в котором находится список приложений и опций, в соответствии с которыми и отрабатывает скрипт. Дикертива  clean_old_webapps=yes должна быть выставлен, для того чтобы старые скрипты удалялись из папки /var/www/html после апдейта.

В конце файла находится раздел планировщика Cron, в котором можно задать периодичность обновлений. Рекомендуется выставлять проверку на ночное время суток, после чего уведомлять админа о том, что какие то обновления появились, после чего он сам сможет руками запустить обновление.
#Cron settings
cron=yes
cron_frequency=daily
email=admin@yourdomain.com
notifications=yes
updates=no
webapps_updates=yes

Чтобы применить эти настройки в планировщик, надо сказать
# ./build cron
после чего уведомления будут падать нам на почту, где мы, в свою очередь, сможем уже запустить скрипт обновления:
# ./build update_versions

3. Если вы используете ваши базы только на этом сервере, то добавьте в файл конфигурации mySQLd /etc/my.cnf следующую строку bind-address = 127.0.0.1 и перегрузите сервер.

4. Ограничиваем число IP на котором DA прослушивает обращения, одним:
bind_address=IP

5. Можно немного кастрировать php, создав лист запрещенных функций disable_functions:
# cd /usr/local/directadmin/custombuild
# ./build update
# ./build secure_php

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

VN:F [1.9.21_1169]
Rating: 5.5/10 (2 votes cast)
VN:F [1.9.21_1169]
Rating: -1 (from 1 vote)
Установка и настройки панели управления DirectAdmin, 5.5 out of 10 based on 2 ratings

Теги: , ,

Ваш отзыв