Установка дополнительных компонентов в Vestacp
В этой теме я расскажу как можно установить дополнительные компоненты в vestaCP, так же предоставлю готовые примеры.
Для начала нужно установить эту панель! Читаем как это сделать:
Установка vestacp на CentOS
Описание шаблонов которые используются в VestaCP.
Apache
default — без дополнительных настроек , хорошо работает для большинства сайтов.
basedir — борется против phpshells с помощью openbasedir директивы.
hosting — отдельные PHP лимиты для каждого домена ( php_admin_value memory/safemode/etc).
phpcgi — шаблон запустить PHP как CGI. может быть полезно для запуска php4 или PHP5.2.
phpfcgid — в PHP как FCGI ( автоматически устанавливается на сервере с > 1 Гб оперативной памяти ).
wsgi — шаблон для запуска проектов на питоне ( можно установить вручную ).
Apache шаблон на самом деле состоит из трех файлов . Файл с расширением TPL используется для построения обычный виртуальный хост . Файл с расширением STPL используется для построения SSL виртуальный хост . Файл с расширением sh не является обязательным. Он может быть использован в качестве триггера для запуска дополнительных команд оболочки по созданию домена. Более подробную информацию см. шаблон phpfcgid.sh.
Nginx
default — служит для статического контента, хорошо работает для большинства сайтов.
hosting — disable_symlinks директива для защиты от атак символических ссылок.
сaching — динамические страницы кэшируются в течение 15 мин для обработки спонтанное движение
aka reddit-effect.
force-https — принудительное использование HTTPS / SSL (можно установить вручную).
DNS
default — записи DNS.
gmail — предопределение записей в почтовый хост на гугл App.
child-ns — шаблон для нативных серверов имен.
Шаблоны могут быть найдены в папке /usr/local/vesta/data/templates/. Не стесняйтесь изменять или копировать их для создания новых пользовательских шаблонов . После изменения существующего шаблона вам нужно восстановить пользовательскую конфигурацию. Это может быть сделано с помощью команды v-rebuild- пользователя или на веб-интерфейсе (выпадающего списка на странице «Пользователь»).
Config и log на RHEL/CentOS
В Debian и Ubuntu сама конфигурация и log не будут отличаться, только сами пути.
Как установить ClamAV и SpamAssassin на RHEL или CentOS
* Этот учебник создан для серверов с менее 3 Гб оперативной памяти. На «больших» серверах установка является полностью автоматической.
Установка ClamAV
1
2
3
4
5
6
7
8
|
# yum install clamd
# wget http://c.vestacp.com/0.9.8/rhel/clamd.conf -O /etc/clamd.conf
# wget http://c.vestacp.com/0.9.8/rhel/freshclam.conf -O /etc/freshclam.conf
# gpasswd -a clam exim
# gpasswd -a clam mail
# freshclam
# chkconfig clamd on
# service clamd start
|
Установка SpamAssassin
1
2
3
|
# yum install spamassassin
# chkconfig spamassassin on
# service spamassassin start
|
Конфигурация Exim
1
2
3
|
# sed -i «s/^#SPAMASSASSIN/SPAMASSASSIN/g» /etc/exim/exim.conf
# sed -i «s/^#CLAMD/CLAMD/g» /etc/exim/exim.conf
# service exim restart
|
Конфигурация Vesta
1
2
|
# sed -i «s/ANTIVIRUS.*/ANTIVIRUS_SYSTEM=’clamav’/» /usr/local/vesta/conf/vesta.conf
# sed -i «s/ANTISPAM.*/ANTISPAM_SYSTEM=’spamassassin’/» /usr/local/vesta/conf/vesta.conf
|
Как установить модуль Whmcs?
1. Найдите каталог установки Whmcs на вашем сервере.
2. Создать каталог Веста в подкаталоге modules/server.
3. Скачать модуль PHP.
Приведу пример:
1
2
3
|
# cd /home/captain/web/billing-site.ltd/public_html/modules/server
# mkdir vesta
# wget http://c.vestacp.com/0.9.8/rhel/whmcs-module.php -O vesta.php
|
Плагин WHMCS позволяет управлять серверами с Панель управления Веста. Вы можете автоматически создать, удалить или приостановить учетные записи пользователей. Пользователи имеют возможность менять пароли и управлять своими веб сервером / почтой / DNS доменами.
Как настроить резервное копирование FTP?
Введите логин и пароль на сервере от root-a и запустить следующую команду:
1
|
# v-add-backup-ftp-host your_remote_host.ftp-host.ltd backup-user your_passw0rd
|
Аргументы команды (конечно) должны быть заменены соответствующими учетные данные для входа
Как включить поддержку WSGI на RHEL или CentOS?
1. Установите модуль апача на WSGI
1
|
# yum install mod_wsgi
|
2. Скачать шаблон WSGI
1
2
3
4
|
# cd /usr/local/vesta/data/templates/web
# wget http://c.vestacp.com/0.9.8/rhel/wsgi/httpd.tar.gz
# tar -xzvf httpd.tar.gz
# rm -f httpd.tar.gz
|
3. Создать новый пакет или установить WSGI как шаблон апача в существующий пакет.
4. Добавить нового пользователя и посунуть ему пакет с шаблоном WSGI.
5. Добавить новый домен и проверить результат.
Как перевести интерфейс Vesta?
Локализационные файлы могут быть найдены в папке /usr/local/vesta/web/inc/i18n/. Вы можете использовать файл en.php в качестве шаблона для создания нового файла. Просто измените $LANG[‘en’] на $LANG[‘your’] и у вас все настроено.
На других языках некоторые вещи делать слишком долго. Вы можете положиться на контекст, чтобы сократить/ сократить длинные фразы. Вместо явного перевести «Добавить учетную запись электронной почты», используемый «Добавить учетную запись». Удачи!
Как включить поддержку PHP-FCGI на RHEL или CentOS?
* Этот учебник создан для серверов с менее 1 Гб оперативной памяти avaialbe. На серверах «средних» установка является полностью автоматической.
1. Установите fcgid модуль апача:
1
|
# yum install mod_fcgid
|
2. Скачать fcgid шаблон
1
2
3
4
|
# cd /usr/local/vesta/data/templates/web
# wget http://c.vestacp.com/0.9.8/rhel/fcgid/httpd.tar.gz
# tar -xzvf httpd.tar.gz
# rm -f httpd.tar.gz
|
3. Создать новый пакет или набрать phpfcgid как шаблон апача в существующий пакет.
4. Добавить нового пользователя и указать ему пакет с phpfcgid шаблона.
5. Добавить новый домен и проверить результат.
Как заставить HTTPS / SSL на домене?
1. Установите пользовательский шаблон Nginx
1
2
3
4
|
# cd /usr/local/vesta/data/templates/web
# wget http://c.vestacp.com/0.9.8/rhel/force-https/nginx.tar.gz
# tar -xzvf nginx.tar.gz
# rm -f nginx.tar.gz
|
3. Создать новый пакет или установить force-https в качестве матрицы Nginx в существующий пакет.
4. Добавить нового пользователя и erfpfnm ему пакет с force-https шаблона.
5. Добавить новый домен с сертификатом SSL и проверьте результат.
Как настроить временные ссылки для новых доменов?
Если вы работаете в хостинговой компании , скорее всего, вы хотели бы предоставить своим клиентам временное ссылку для доступа к их сайтам до актуальных распространенных доменов. Это особенно полезно , когда клиент переносит сайт с другого компьютера и хотите проверить работает ли все как нужно.
Например, у вас есть 2 IP адреса на сервере , 192.168.244.13 и 192.168.244.14 . Допустим, что ваш сайт top_host.ltd . Тогда вам нужно настроить 2 групповые символа для каждого адреса IP. Перейдите в меню DNS. Нажмите на на » Добавить запись » на домене top_host.ltd и введите следующие
Record: *.alpha
Type: A
IP: 192.168.244.13
Нажмите кнопку Добавить и добавить вторую запись
Record: *.beta
Type: A
IP: 192.168.244.14
Часть DNS завершена. Давайте назначим этим доменам соответствующие IP-адреса . Перейдите в меню IP . Выберите 192.168.244.13 . Нажмите на кнопку Изменить и добавить alpha.top_host.ltd в текстовое поле» Assigned Домен». Сохранить и повторите соответственно адрес для 192.168.244.14 к области beta.top_host.ltd .
Теперь, когда ваш пользователь добавить новый домен он автоматически попадет на псевдоним top_host. Если он добавил bla_bla.com на 192.168.244.13 тогда он сможет увидеть его домен , открыв http://bla_bla-com.alpha.top_host.ltd. Как вы можете видеть точки в исходной области были заменены на тире.
Как настройки собственные DNS-сервера ( vanity/private/child nameservers )?
Если вы хотите управлять DNS зоны с помощью панели управления Веста , вам придется создать 2 DNS-записи, указать им IP -адрес сервера и использовать их в качестве серверов имен для домена . В этом примере мы будем использовать ns1.your_domain.com и ns2.your_domain.com.
регистратор доменов
Каждый регистратор доменов имеет другой метод создания частных серверов имен . Ниже вы найдете инструкции о том , как создать запись в диспетчере GoDaddy.
1 . Войдите в свой управляющий счет от GoDaddy.
2 . Рядом с доменами , нажмите запуск.
3 . Нажмите на your_domain.com.
4 . На вкладке настроек нажмите на кнопку управления рядом с именем хостов.
5 . Нажмите добавить имя хоста.
6 . Введите ns1.
7 . Введите IP -адрес вашего сервера.
8 . Нажмите кнопку Добавить.
9 . Повторите выше для ns2.
10 . Изменение серверы имен для your_domain.com в ns1.your_domain.com и ns2.your_domain.com
Панель управления Веста
После того, как частная регистрация сервера имен будет завершена, вы должны настроить Панель управления Веста .
1 . Добавить домен your_domain.com (поддержка знака отмечается на DNS проверяется ).
2 . Перейдите в меню DNS.
3 . Нажмите на Изменить в разделе your_domain.com.
4 . Измените шаблона для child-ns.
5 . Перейдите в меню Packages.
6 . Редактировать пакет под названием умолчанию.
7 . Установите ns1.your_domain.com и ns2.your_domain.com как серверов имен.
После того как вы сделали все шаги , теперь вы можете установить все ваши доменные имена и использовать ns1.your_domain.com и ns2.your_domain.com . Обратите внимание, что это может занять до 24 часов, после этого DNS-записи начнут работать .
Как настроить master-slave DNS кластер?
Если вы ищете варианты, чтобы избежать DNS простоя или способ управления DNS на всех серверах, вы могли бы рассмотреть в настройках DNS кластера.
1. Создать пользовательский DNS-кластер на сервере, который будет юзаться в качестве DNS slave
2 выполнить следующую команду на master:
1
|
# v-add-remote-dns-host slave.your_host.com 8083 admin your_passw0rd
|
Пароль и имя хоста должны быть заменены на соответствующие данные, конечно.
Таким образом, вы можете настроить master-> slave или master-master-master кластера. Там нет ограничений о том, как делать цепь на серверах DNS.
Как включить AXFR (зона Transfer) в Bind?
Замените следующие строки в имени файла конфигурации:
allow-transfer {«none»;};
с
allow-transfer { X-X-X.Y-Y-Y.Z-Z-Z.111; X-X-X.Y-Y-Y.Z-Z-Z.222; };
also-notify { X-X-X.Y-Y-Y.Z-Z-Z.111; X-X-X.Y-Y-Y.Z-Z-Z.222; };
Расположение этого файла на RHEL и CentOS: /etc/named.conf
Как перейти пользователю на новый сервер?
1. Сделать резервную копию пользовательского сайта на старом сервере. В этом примере мы будем использовать администратора в качестве примера.
1
|
# v-backup-user admin
|
2. Скопировать тарбол на новый сервер и поместить его в каталог /home/backup directory
scp /home/backup/admin.2014-06-02.tar new-server:/home/backup/
3. Восстановить резервную копию на новом сервере
1
|
# v-restore-user admin admin.2014-06-02.tar
|
Если вы хотите восстановить данные под другим именем пользователя, просто переименуйте архив. Если имя пользователя не существует на сервере, учетная запись будет создана автоматически.
1
2
|
# mv /home/backup/admin.2014-06-02.tar /home/backup/new_user.2014-06-02.tar
# v-restore-user newuser newuser.2014-06-02.tar
|
Как добавить удаленный сервер баз данных MySQL?
1. Предполагается, у вас уже есть второй сервер и он работает.
2. На первом сервере выполнить следующую команду
1
|
# v-add-database-host mysql new-your-server.com root your_password
|
3. Чтобы убедиться все в порядке, проверьте список хостов базы данных
1
|
# v-list-database-hosts
|
Как настроить PostgreSQL на RHEL или CentOS?
1 . Установите PostgreSQL
1
|
# yum install postgresql postgresql-server postgresql-contrib phpPgAdmin
|
* Если у Вас Реми репозиторий уже установлен, то не забудьте разрешить его .
1
|
# yum install —enablerepo=remi postgresql postgresql-server postgresql-contrib phpPgAdmin
|
2 . Инициализация кластера базы данных
1
|
# service postgresql initdb
|
3 . Скачать конфигурацию HBA
1
|
# wget http://c.vestacp.com/0.9.8/rhel/pg_hba.conf -O /var/lib/pgsql/data/pg_hba.conf
|
4 . Запустите сервер
1
|
# service postgresql start
|
5 . Установите оракул пароль пользователя
1
2
3
|
# su — postgres
psql —c «ALTER USER postgres WITH PASSWORD ‘pgp_your_passsw0rd'»
# exit
|
6 . Включите поддержку баз данных PgSQL в Весты.
Открыть /usr/local/vesta/conf/vesta.conf и добавить DB_SYSTEM to ‘mysql,pgsql’
7 . Регистрация pg в панели управления
1
|
# v-add-database-host pgsql localhost postgres pgp_your_passsw0rd
|
8 . Скачать конфигурацию PhpPGAdmin
1
2
|
# wget http://c.vestacp.com/0.9.8/rhel/pga.conf -O /etc/phpPgAdmin/config.inc.php
# wget http://c.vestacp.com/0.9.8/rhel/httpd-pga.conf -O /etc/httpd/conf.d/phpPgAdmin.conf
|
9 . Перезагрузка веб-сервер
1
|
# service httpd restart
|
Как заменить Vsftpd с ProFTPD на RHEL или CentOS?
1. Отключите VSFTPD
1
2
|
# service vsftpd stop
# chkconfig vsftpd off
|
2. Установите пакет программного обеспечения
1
|
# yum install proftpd
|
3. Скачать конфигурацию
1
|
# wget http://c.vestacp.com/0.9.8/rhel/proftpd.conf -O /etc/proftpd.conf
|
4. Изменение Веста настройки
1
|
# sed -i «s/vsftpd/proftpd/» /usr/local/vesta/conf/vesta.conf
|
5. Включить ProFTPD
1
2
|
# chkconfig proftpd on
# service proftpd start
|
Как удалить Nginx на RHEL или CentOS?
1. Стоп Nginx
1
|
# service nginx stop
|
2. Удалить пакет
1
|
# yum remove nginx
|
3. Изменить конфигурацию Веста
1
2
3
4
|
# cd /usr/local/vesta/conf
# sed -i «/PROXY_*/d» vesta.conf
# sed -i «s/8080/80/» vesta.conf
# sed -i «s/8443/433/» vesta.conf
|
4. Изменение конфигурации HTTPd
1
2
3
|
# cd /etc/httpd/conf.d
# sed -i «s/8080/80/» *.conf
# sed -i «s/8443/443/» *.conf
|
5. Переделать виртуальный хост конфига
для пользователя в $(v-list-sys-users plain); сделать
1
|
# v-rebuild-web-domains $user;
|
CДЕЛАНО!