Рубрики
Старье

Установка Fantastico

Необходимо зайти в консоль как root и выполнить:

cd /usr/local/cpanel/whostmgr/docroot
rm -Rf fantastico*
wget -N http://netenberg.com/files/free/fantasticoinstaller.tgz
tar xzpf fantasticoinstaller.tgz
rm -f fantasticoinstaller.tgz
chmod -R 0755 /usr/local/cpanel/3rdparty/etc/ixed

Затем установить при помощи инсталлятора, зайдя по ссылке https://мой.сервер:2087/fantasticoinstaller/installer.php

Рубрики
Старье

Настраиваем ядро FreeBSD для WHM/cPanel

Итак, необходимо добавить поддержку нескольких процессоров, http-акселерации, фаервола и дисковых квот, а также выкинуть все лишнее.

cd /usr/src/sys/i386/conf
Создаем копию файла GENERIC и называем его HOSTING.
Далее приступаем к редактированию нового файла конфигурации ядра.
Удаляем эти строки:
cpu I386_CPU
cpu I486_CPU
cpu I586_CPU

options MATH_EMULATE
options INET6
options MFS
options MD_ROOT
options NFS
options NFS_ROOT
options MSDOSFS
options CD9660
options CD9660_ROOT
options UCONSOLE
options KTRACE
options AHC_REG_PRETTY_PRINT
options AHD_REG_PRETTY_PRINT

device eisa
device fdc0
device fd0
device fd1
device atapicd
device atapifd
device atapist

pseudo-device sl
pseudo-device ppp
pseudo-device tun
pseudo-device md
pseudo-device gif
pseudo-device faith

Если диски не SCSI, то убираем поддержку SCIS полностью: все, что следует от SCSI Controllers до RAID controllers interfaced to the SCSI subsystem
Также убираем: PCCARD (PCMCIA) support, Serial (COM) ports, Parallel port, USB support, FireWire support
Меняем строку
ident HOSTING
Добавляем

options SMP #Только если есть несколько процессоров.
options QUOTA
options APIC_IO #Только если есть несколько процессоров.
options DEVICE_POLLING #Есть несколько процессоров - отключить.
options HZ=1000
options ACCEPT_FILTER_HTTP
options IPFILTER
options IPFILTER_LOG

После этого устанавливаем новое ядро:

config HOSTING
cd ../../compile/HOSTING
make depend
make
make install

Теперь отправляем в суппорт дата-центра:

Please reboot my server. If it not working, please reboot it again with old kernel.

И ждем результата.

Рубрики
Старье

Решение проблемы с Horde

Если при работе с почтой через веб-интерфейс Horde выдается сообщение вроде DB Error: connect failed … sql.php. Это означает, что пароль пользователя horde в базе отличается от того, который находится в файле /etc/psa/.webmail.shadow.

Для восстановления прежнего пароля необходимо вначале выяснить пароль: cat /etc/psa/.webmail.shadow, затем установить его для пользователя MySQL horde:
mysql -u admin -p`cat /etc/psa/.psa.shadow` mysql
update user set Password=PASSWORD("пароль") where User = "horde";
flush privileges;

Рубрики
Наследие

Перенос аккаунтов из Direct Admin в WHM/cPanel

Скрипт для переноса учетных записей из DirectAdmin в cPanel, написаный SkyHorse.

На данный момент не существует готовых надежных решений по переносу сайтов из Directadmin в cPanel, скрипт служит только частичным решением.
Скрипт работает с файлами в каталогах backup и domains.
После обработки скриптом файл tar.gz необходимо развернуть, только на новом аккаунте в cPanel.
Скрипт позволяет перенести:

  • квоты;
  • почту IMAP;
  • настройки squirrelmail;
  • все каталоги сайтов из стиля DirecAdmin в стиль cPanel.

Скрипт не переносит:

  • FTP;
  • субдомены;
  • DNS записи;
  • все остальное.

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

Сам скрипт:

# bash
# Copyleft (C) SkyHorse 2004
# for each account:
# put passwd as passwd + shadow
# quota (if != 0)
# into ~/etc/%domain%
GENDOMAIN=domain.com
GENUSERNAME=accuser
NEWACCPASS=accpass
MYFILESPATH=/home/skyhorse/temp_sites

mkdir result
mkdir result/mail
mkdir result/mail/$GENDOMAIN
mkdir result/etc
mkdir result/etc/$GENDOMAIN

cp $MYFILESPATH/$GENUSERNAME/backup/$GENDOMAIN/email/quota result/etc/quota
chmod 644 result/etc/quota

touch result/etc/shadow
chmod 640 result/etc/shadow

touch result/etc/passwd
chmod 644 result/etc/passwd

chmod 660 $MYFILESPATH/$GENUSERNAME/backup/email_data/imap/*
cp $MYFILESPATH/$GENUSERNAME/backup/email_data/imap/* result/mail
cp $MYFILESPATH/$GENUSERNAME/backup/email_data/pop/$GENUSERNAME result/mail/inbox
chmod 660 result/mail/inbox

mkdir result/.sqmaildata
cp $MYFILESPATH/$GENUSERNAME/backup/email_data/squirrelmail/* result/.sqmaildata

ENTRY=`cat $MYFILESPATH/$GENUSERNAME/backup/$GENDOMAIN/email/passwd`
for line in $ENTRY
do
login=`echo $line | sed s/[:].*//`
pass=`echo $line | sed s/.*[:]//`
mkdir result/mail/$GENDOMAIN/$login
mkdir result/mail/$login

echo $login:x:32120:622::/home/$GENUSERNAME/mail/$GENDOMAIN/$login:/usr/local/cpanel/bin/noshell >> result/etc/passwd
echo $login:$pass::::::: >> result/etc/shadow

chmod 750 result/mail/$GENDOMAIN/$login
cp $MYFILESPATH/$GENUSERNAME/backup/$GENDOMAIN/email/data/pop/$login result/mail/$GENDOMAIN/$login/inbox
chmod 660 result/mail/$GENDOMAIN/$login/inbox

cp $MYFILESPATH/$GENUSERNAME/backup/$GENDOMAIN/email/data/imap/$login/.mailboxlist result/mail/$GENDOMAIN/$login/
cp $MYFILESPATH/$GENUSERNAME/backup/$GENDOMAIN/email/data/imap/$login/mail/* result/mail/$GENDOMAIN/$login/

touch result/mail/$login/inbox
chmod 660 result/mail/$login/inbox
done

cp result/etc/* result/etc/$GENDOMAIN/

#domain files
cd domains/$GENDOMAIN
#update file references - this one liner deletes domains/domain.net in every file of the tree.
# efectively changes:
#/home/username/domains/domain.net/public_html into
#/home/username/public_html
find ./ -type f -exec sed -i 's/domains\/$GENDOMAIN\///' {} \;

cp -R * ../../result
cd ../../result

tar --owner=$GENUSERNAME --group=$GENUSERNAME -czf ../$GENUSERNAME-$GENDOMAIN.tar.gz *
cd ..

#upload tar.gz
#I have ncftpput installed, but because most people don't, I've commented it out
#ncftpput -u $GENUSERNAME -p $NEWACCPASS localhost / $GENUSERNAME-$GENDOMAIN.tar.gz

#database:

#mysql

#subdomains

#ftp

Рубрики
Наследие

Перенос аккаунтов из WHM/cPanel в Direct Admin

Для переноса аккаунтов есть специальный скрипт, написаный Phil‘ом. Этот скрипт позволяет конвертировать резервную копию аккаунта cPanel в аккаунт Direct Admin.

Резервная копия аккаунта может быть выполнена как из командной строки: /scripts/pkgacct, так и с помощью веб-интерфейса WHM.
Скрипт может быть запущен как на сервере с DirectAdmin так и на сервере с cPanel.
Когда скрипт запускается на сервере с cPanel, то может дополнительно перенести новый архив в формате DirectAdmin на сервер в домашний (реселлерский) каталог на сервере (/home/{reseller}/user_backups) DA server directory.

Установка:

wget http://www.l0rdphi1.com/tools/da.cpanel.import.tar.gz
tar zxf da.cpanel.import.tar.gz
mkdir import export

Необходимо изменить конфигурационный файл defaults.conf, иначе скрипт работать не будет. Далее perl da.cpanel.import.pl и следовать инструкциям в диалоговом режиме.

Скрипт, по словам разработчика, способен перенести: сам аккаунт, субдомены, ftp-аккаунты, pop3-ящики, дополнительные домены и их файлы, базы mysql, паркованные домены и задачи crontab.

Рубрики
Старье

Руководство под защите WHM/cPanel для новичков

Начнем с настройки самой WHM/cPanel. Прежде всего, необходимо изменить настройки WHM:

Server Setup =>> Tweak Settings

Domains

Активировать Prevent users from parking/adding on common internet domains. (ie hotmail.com, aol.com)

Mail

Активировать Attempt to prevent pop3 connection floods
Default catch-all/default address behavior for new accounts — установить в :fail:

System

Активировать Use jailshell as the default shell for all new accounts and modified accounts

Goto Server Setup =>> Tweak Security
Активировать Enable php open_basedir Protection
Активировать Enable mod_userdir Protection
Активировать Disabled Compilers for unprivileged users

Goto Server Setup =>> Manage Wheel Group Users
Убрать всех пользователей, за исключением root и собственного аккаунта:

Goto Server Setup =>> Shell Fork Bomb Protection
Активировать Enable Shell Fork Bomb/Memory Protection

При установке "Feature Limits" для реселлеров в Reseller Center, под Privileges всегда отключать: Allow Creation of Packages with Shell Access and enable Never allow creation of accounts with shell access
Под Root Access отключать все.

Goto Service Configuration =>> FTP Configuration
Отключить Anonymous FTP

Goto Account Functions =>> Manage Shell Access
Отключить Shell Access для всех пользователей, за исключением себя.

Goto Mysql =>> MySQL Root Password
Установить пароль для MySQL - Change root password for MySQL

Ежедневно проверять систему на трояны: Security =>> Quick Security Scan and Scan for Trojan Horses. Учтите, что это НЕ трояны:
/sbin/depmod
/sbin/insmod
/sbin/insmod.static
/sbin/modinfo
/sbin/modprobe
/sbin/rmmod

Следующие действия выполняются через консоль - SSH под суперпользователем root.

Ужесточение ssh:
Привязка ssh к одному IP и порту, отличающемуся от заданного по умолчанию, бывает полезна от начинающих взломщиков. Изменяем файл /etc/ssh/sshd_config:

#Port 22 изменим на другой, например, Port 88
#Protocol 2, 1 разрешаем только второй протокол - Protocol 2.
Привязку к одному IP необходимо выставить в опции #ListenAddress 0.0.0.0, например, ListenAddress 209.113.14.18 заменить на свой IP адрес.
Рекомендуется отключить вход напрямую под суперпользователем root, а входить обычным пользователем и через команду su стать root. Для этого необходимо изменить опцию #PermitRootLogin yes на PermitRootLogin no. По умолчанию во FreeBSD вход напрямую под root запрещен. После изменения настроек необходимо рестартовать ssh.

Отключение Telnet.
Telnet - это небезопасный протокол, он не шифрует информацию и вся она может быть перехвачена. Для отключения необходимо изменить в файле /etc/xinetd.d/telnet строку disable = no на disable = yes,
после чего рестартовать xinetd.

Отключение вывода версии apache.
Необходимо дописать ServerSignature Off в файл /etc/httpd/conf/httpd.conf, после чего перезапустить апач.

Отключение опасных скриптов cPanel:
cd /usr/local/cpanel/cgi-sys
chmod 0 addalink.cgi cgiecho cgiemail entropybanner.cgi-wrap entropysearch.cgi formmail.cgi FormMail.cgi FormMail-clone.cgi formmail.pl FormMail.pl guestbook.cgi helpdesk.cgi randhtml.cgi-wrap realhelpdesk.cgi realsignup.cgi scgiwrap signup.cgi
chattr +i addalink.cgi cgiecho cgiemail entropybanner.cgi-wrap entropysearch.cgi formmail.cgi FormMail.cgi FormMail-clone.cgi formmail.pl FormMail.pl guestbook.cgi helpdesk.cgi randhtml.cgi-wrap realhelpdesk.cgi realsignup.cgi scgiwrap signup.cgi

Рубрики
Старье

Периодическая отправка копии базы на почту

Иногда бывает удобно иметь возможность отправить сжатый дамп себе на почту и локально на сервер, причем в качестве имени файла использовать дату.

Для этого в каталоге /etc/cron.daily исполняемый файл с таким содержанием:
#!/bin/sh
cd /backup; a=`date`; mysqldump -uлогин -pпароль база | gzip > "$a.gz"; uuenview -m почтовый@адрес -b -a "$a.gz" < /dev/null

В результате копирование будет проходить ежедневно, на почту станет приходить база в сжатом виде, она же будет в директории /backup.

Рубрики
Старье

Ограничиваем число подключений к сайту

Очень часто все подключения к веб-серверу оказываются забиты потоками различных «качалок» или поисковыми ботами. Или возникает вполне естественное желание не отдавать качать более одного mp3 файла с одного IP.

Для этих целей вполне подходит mod_limitipconn. Рассмотрим установку и конфигурацию на практике. Установка:
http://dominia.org/djao/limit/mod_limitipconn-0.04.tar.gz
tar xzvf mod_limitipconn-0.04.tar.gz
cd mod_limitipconn-0.04
apxs -iac mod_limitipconn.c

Ограничиваем подключение к сайтам не более, чем 10-ю с одного IP. Вполне естественно для браузеров, но ограничит поисковые боты. В конфигурационный файл апача (в секцию, описывающую Directory /), добавляем:
MaxConnPerIP 10.

Рубрики
Старье

Решение проблемы semget: No space left on device

Эта проблема типична для веб-сервера Аpache. Как правило, после graceful — «мягкого» рестарта — апач перестает запускаться и выдает сообщение segmentation fault, cannot write to device или запись в логе semget: No space left on device.

Проблема связана с тем, что вся shared memory исчерпана. Обычно проблему решают просто — перезагрузкой сервера.
Для контроля над shared memory есть утилита ipcs.
Достаточно с помощью нее очистить память от сегментов nobody и апач будет стартовать без проблем.
Необходимо отредактировать init script запуска апача и перед стартом добавить эту строку:
ipcs |grep nobody | awk '{print $2}' | xargs ipcrm sem

Также может попросту не хватать семафоров, необходимо увеличить следующие параметры ядра:

kernel.msgmni = 1024,
kernel.sem = 250 256000 32 1024.

Рубрики
Старье

Установка бесплатной панели VHCS на Fedora Core 3

VHCS — это, со слов разработчиков, профессиональная панель управления для виртуального хостинга.
Рассмотрим ее установку на Fedora Core 3.

Внимание! Так как это не коммерческая разработка, а система с открытым исходным кодом, то возможны разнообразные проблемы вплоть до выхода операционной системы из строя. Действуйте на свой страх и риск.

Подготовка.
Так как VHCS переписывает все задачи крона, необходимо их сохранить:
crontab -l > crontabbackup-vhcs.cron
Далее необходимо установить apt-get с http://apt.freshrpms.net/ и обновить систему:

wget http://ftp.freshrpms.net/pub/freshrpms/fedora/linux/3/apt/apt-0.5.15cnc6-1.1.fc3.fr.i386.rpm
rpm -Uvh apt-0.5.15cnc6-1.1.fc3.fr.i386.rpm
apt-get update
apt-get dist-upgrade

Установим необходимое ПО:
apt-get install httpd php postfix mysql-server proftpd php-mysql php-pear php-imap php-gd ncftp bind

Установка.
Установка должна проходить с отключенным SELinux, иначе панель выдаст кучу предупреждений и будет работать нестабильно.

Активируем дисковые квоты:
Необходимо в файле /etc/fstab вписать поддержку квот для разделов, где расположен /home — для Fedora Core 3 это обычно /dev/VolGroup00/LogVol00/
Эта опция выглядит так: defaults,usrquota.
Далее необходимо создать собственно файл дисковых квот и инициализировать его:
touch /aquota.user
chmod 600 /aquota.user
mount -o remount /
quotacheck -avugm




Установка и настройка Yum
Все необходимые пакеты для vhcs хранятся в репозитарии yum на http://apt.sw.be.
В файл /etc/sysconfig/rhn/sources необходимо добавить:
yum dag http://apt.sw.be/fedora/3/en/$ARCH/dag
А в файл /etc/yum.repos.d/dag.repo:
[dag]
name=Dag RPM Repository for Fedora Core
baseurl=http://apt.sw.be/fedora/$releasever/en/$basearch/dag
enabled=1
wget http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
rpm --import RPM-GPG-KEY.dag.txt
yum update
yum remove vsftpd
yum upgrade
yum install \
libmcrypt libmcrypt-devel expect libxslt-devel libjpeg-devel libpng-devel \
freetype-devel cyrus-imapd cyrus-imapd-devel libc-client-devel \
php-imap php-pgsql postgresql-devel php-snmp net-snmp-devel \
mysql-admin httpd-devel \
cyrus-sasl cyrus-sasl-plain postfix \
lynx
yum install lynx postfix mysql mysql-devel libmcrypt libmcrypt-devel \
expect libxslt-devel libjpeg-devel libpng-devel \
freetype-devel php-imap cyrus-imapd cyrus-imapd-devel \
libc-client-devel php-imap php-pgsql postgresql-devel php-snmp \
net-snmp-devel

ProFTPD
ProfTPD необходим с поддержкой опций, которые не входят в тот, что идет пакетом. Поэтому надо доустановить из исходников:

cd /usr/local/
wget ftp://ftp.ibiblio.org/pub/mirrors/proftpd/distrib/source/proftpd-1.2.10.tar.gz
tar zxvf proftpd-1.2.10.tar.gz
mv proftpd-1.2.10 proftpd
cd /usr/local/proftpd
./configure \
--sysconfdir=/etc \
--localstatedir=/var \
--prefix=/usr \
--with-modules=mod_sql:mod_sql_mysql:mod_quotatab:mod_quotatab_sql \
--with-includes=/usr/include/mysql \
--with-libraries=/usr/lib/mysql
make && make install

После установки в конфигурационном файле надо установить User и Group в ftp/ftp и прописать полное имя сервера в /etc/hosts, иначе proftpd не стартует.

Модули для Perl
Необходимо установить определенные модули из CPAN:
perl -MCPAN -e shell, после настройки CPAN установить модули: install MIME::Entity MIME::Parser MIME::Base64 Crypt::CBC Crypt::Blowfish Term::ReadPassword

Установка OpenSSL
cd /usr/local/
wget http://www.openssl.org/source/openssl-0.9.7e.tar.gz
tar xvfz openssl-0.9.7e.tar.gz
mv openssl-0.9.7e openssl
cd /usr/local/openssl/
./config ; make && make test && make install
cp -p /usr/local/openssl/tools/c_rehash /usr/local/bin/c_rehash
chmod a+x /usr/local/bin/c_rehash

Установка PHP
Установка PHP из исходников даст возможность включить пропущенные расширения, недоступные в RPM пакетах:
cd /usr/local/
wget http://us2.php.net/distributions/php-4.3.10.tar.bz2
tar xjvf php-4.3.10.tar.bz2
mv php-4.3.10 php
cd php
./configure \
--with-mysel --with-pgsql --with-mcrypt=/usr/lib \
--build=i386-redhat-linux --target=i386-redhat-linux-gnu \
--with-jpeg --with-openssl --with-png \
--with-pear --with-calendar --with-xml \
--with-ftp --with-freetype --with-bz2 --with-iconv \
--sysconfdir=/etc --mandir=/usr/share/man \
--enable-sockets --enable-calendar --enable-bcmath \
--enable-ctype --enable-exif --enable-filepro \
--enable-ftp --enable-memory-limit \
--enable-sigchild --enable-magic-quotes \
--enable-yp --enable-track-vars \
--with-apxs2=/usr/sbin/apxs
make ; make instal

После можно удалить лишнее включение загрузки libphp4.so в /etc/httpd/conf/httpd.

Установка Postfix с поддержкой auth smtp
cd /usr/local/
wget ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-2.1.20.tar.gz
tar xvfz cyrus-sasl-2.1.20.tar.gz
mv cyrus-sasl-2.1.20 cyrus-sasl
cd cyrus-sasl
./configure
make && make install
ln -s /usr/local/lib/sasl2 /usr/lib/sasl2
perl -pi.bak -e "s/saslauthd/auxprop/g" /usr/local/lib/sasl2/smtpd.conf
wget http://postfix.energybeam.com/source/official/postfix-2.2.1.tar.gz
tar xvfz postfix-2.2.1.tar.gz
mv postfix-2.2.1 /usr/local/postfix
cd /usr/local/postfix
make makefiles CCARGS="-DUSE_SASL_AUTH -I/usr/local/include/sasl" \
AUXLIBS="-L/usr/local/lib -lsasl2"
make && make install

Courier — pop3d, imapd и authd
cd /usr/local/
wget http://unc.dl.sourceforge.net/sourceforge/courier/courier-authlib-0.55.tar.bz2
tar xjvf courier-authlib-0.55.tar.bz2
mv courier-authlib-0.55 courier-authlib
cd /usr/local/courier-authlib
./configure --with-redhat --disable-root-check \
--with-mailuser=courier --with-mailgroup=courier
make && make install && make install-configure
cd /usr/local
wget http://unc.dl.sourceforge.net/sourceforge/courier/courier-0.49.0.tar.bz2
tar xjvf courier-0.49.0.tar.bz2
mv courier-0.49.0 courier
cd /usr/local/courier
./configure --with-redhat --disable-root-check \
--with-mailuser=courier --with-mailgroup=courier \
--with-db=gdbm
make && make install && make install-configure
echo 'su -c "/usr/lib/courier/share/sqwebmail/cleancache.pl" bin' >> /etc/cron.hourly/courier.cron
touch /usr/local/etc/authlib/userdb
chown daemon /usr/local/etc/authlib/userdb
chgrp daemon /usr/local/etc/authlib/userdb
chmod 600 /usr/local/etc/authlib/userdb
groupadd courier
useradd -c 'Courier Mail Server' -d /dev/null -g courier -s /bin/false courier
ln -s /usr/lib/courier/sbin/webmaild /etc/init.d
echo '/usr/local/sbin/authdaemond' >> /etc/rc.local
echo '/usr/lib/courier/sbin/courier start' >> /etc/rc.local
echo '/usr/lib/courier/sbin/pop3d start' >> /etc/rc.local
echo '/usr/lib/courier/sbin/imapd start' >> /etc/rc.local
/etc/rc.local

Предустановочные патчи:
Необходимо задать пароль mysql (пустой пароль оставлять нельзя).

ln -s /usr/libexec/postfix /usr/lib/postfix
ln -s /usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE/libperl.so /lib/
cp -p /usr/local/courier/rfc822/rfc822.h /usr/local/include/
mysqladmin create vhcs2
service named start
ln -s /etc/httpd /etc/apache2
adduser www-data

Установка VHCS2
Необходимо скачать дистрибутив с http://www.vhcs.net, распаковать его и изменить в файле vhcs2.conf следующие параметры:
SERVER_HOSTNAME = Имя сервера
BASE_SERVER_IP = Основной IP
DATABASE_PASSWORD = Пароль mysql
BIND_CONF_FILE = /etc/named.conf
BIND_DB_DIR = /var/named/chroot/var/named
BIND_DB_DIR = /var/named/chroot/var/named
APACHE_CMD = /etc/rc.d/init.d/httpd
APACHE_NAME = httpd
APACHE_LOG_DIR = /var/log/httpd
APACHE_USERS_LOG_DIR = /var/log/httpd/users
APACHE_BACKUP_LOG_DIR = /var/log/httpd/backup
APACHE_CONF_FILE = /etc/httpd/sites-available/vhcs2.conf
APACHE_USER = apache
APACHE_GROUP = apache
MTA_SASLDB_FILE = /etc/sasldb2
MTA_SASLDB_PASSWD2 = /usr/sbin/saslpasswd2
CMD_MAKEUSERDB = /usr/local/sbin/makeuserdb
CMD_NAMED = /etc/init.d/named
CMD_HTTPD = /etc/init.d/httpd
MAIL_TRAFF_LOG = maillog

После чего приступаем к собственно установке:

make ; make install
cp -R /tmp/vhcs2 /
cd /var/www/vhcs2/engine/setup/
./vhcs2-setup

Теперь vhcs будет установлен в диалоговом режиме.
Вход в панель http://сервер/vhcs2/
Однако входить еще рано, необходимо установить постпатч:

Установка постпатча
echo 'include /etc/httpd/sites-available/vhcs2.conf' >> /etc/httpd/conf/httpd.conf
cd /etc/vhcs2/bind/parts/
cp -p cfg_entry.tpl cfg_entry.tpl.bak
perl -pi.bak -e "s/\{DB_DIR\}\/\{DMN_NAME\}\.db/\{DMN_NAME\}\.db/g" cfg_entry.tpl
perl -pi.bak -e "s/0700/0755/g" /var/www/vhcs2/engine/vhcs2-*

Также необходимо инициализировать базу sasl. Просто добавим пользователя test:
saslpasswd2 test
И, наконец, создаем свой скрипт для рестарта панели:

Init скрипт /etc/init.d/vhcs2

#!/bin/sh
# description: Start or stop the vhcs2 daemon
#
### BEGIN INIT INFO
# Provides: vhcs2
# Required-Start: $network $syslog
# Required-Stop: $network
# Default-Start: 2 3 5
# Default-Stop: 0 1 6
# Description: Start or stop the vhcs2 daemon
### END INIT INFO

name='vhcs2'
lockfile=/var/lock/subsys/vhcs2
confFile=/etc/vhcs2/vhcs2.conf
pidFile=/var/log/vhcs2/vhcs2.pid
daemon=/var/www/vhcs2/daemon/vhcs2_daemon
name=vhcs2_daemon

case "$1" in
'start')
$daemon >/dev/null 2>&1 /dev/null 2>&1
fi
;;
'stop')
pidfile=`grep "^pidfile=" $confFile | sed -e 's/pidfile=//g'`
kill `cat $pidfile`
RETVAL=$?
if [ "$RETVAL" = "0" ]; then
rm -f $lockfile
fi
;;
'status')
pidfile=`grep "^pidfile=" $confFile | sed -e 's/pidfile=//g'`
if [ "$pidfile" = "" ]; then
pidfile=$pidFile
fi
if [ -s $pidfile ]; then
pid=`cat $pidfile`
kill -0 $pid >/dev/null 2>&1
if [ "$?" = "0" ]; then
echo "$name (pid $pid) is running"
RETVAL=0
else
echo "$name is stopped"
RETVAL=1
fi
else
echo "$name is stopped"
RETVAL=1
fi
;;
'restart')
$stop && $start
RETVAL=$?
;;
*)
echo "Usage: $0 { start | stop | restart }"
RETVAL=1
;;
esac
exit $RETVAL

Установка бесплатной панели управления хостингом завершена.