Как разместить свой сайт на VDS или выделенном сервере с панелью VestaCP?
Размещение сайта на VDS или выделенном сервере используя панель VestaCP
Внимание! Если у Вас есть чем дополнить статью, либо нужно что-то дописать - сообщите нам через тикет
Внимание! Если Вам нужна первая помощь в прикреплении домена в VestaCP - сообщите нам через тикет . Мы с радостью поможем Вам.
В данном how-to рассмотрим как просто разместить свой сайт используя бесплатную панель VestaCP.
Какой тариф iphoster мне подойдет для размещения сайта?
Наиболее оптимальными тарифами являются наши VDS сервера в Европе (Франция) и выделенные сервера в Европе (Франция):
https://iphoster.net/zakaz/?vid=vds_gr_linux - VDS на SSD дисках https://iphoster.net/zakaz/?vid=sale_servers - дедики
Тарифная сетка VDS начинается с 3$ в месяц:
«VDS-S» ($3/мес) - Процессор: 700 МГц(/x1) Оперативная память: 512 Мб / Диск: 10 Гб / IP адреса: 1 «VDS-M» ($5/мес) - Процессор: 1000 МГц(/x2) Оперативная память: 768 Мб / Диск: 20 Гб / IP адреса: 2 «VDS-L» ($7/мес) - Процессор: 1250 МГц(/x3) Оперативная память: 1024 Мб / Диск: 30 Гб / IP адреса: 3 «VDS-XL» ($10/мес) - Процессор: 1500 МГц(/x4) Оперативная память: 1536 Мб / Диск: 40 Гб / IP адреса: 4 «VDS-XXL» ($14/мес) - Процессор: 2000 МГц(/x5) Оперативная память: 2048 Мб / Диск: 50 Гб / IP адреса: 5
На 04.06.2014 - самый бюджетный сервер - это HOT - подойдет для небольшого числа сайтов со средней посещаемостью (1000-5000 в день)
Максимальное число IP для этого сервера выделяется - 1 IPv4, а также IPv6.
На всех выделенных серверах - безлимитный трафик
Цена ($10/мес) - Процессор: Atom Intel® Atom™ Processor N2800 (1M Cache, 1.86 GHz) Оперативная память: 2 Гб / Диск: 500 Гб / IP адреса: 1 безлимитный трафик 10-100Mbit/s
Остальные тарифы:
«HOT 2» ($18/мес) - Процессор: Atom Intel® Atom™ Processor N2800 (1M Cache, 1.86 GHz) Оперативная память: 4 Гб / Диск: 750 Гб / IP адреса: 1 «i3-530» ($33/мес) - Процессор: i3-530 Intel® Core™ i3-530 Processor (4M Cache, 2.93 GHz) Оперативная память: 4 Гб / Диск: 1000 Гб / IP адреса: 1 «L3426» ($44/мес) - Процессор: L3426 Intel® Xeon® Processor L3426 (8M Cache, 1.86 GHz) Оперативная память: 16 Гб / Диск: 2000 Гб / IP адреса: 1 «E3-1240» ($66/мес) - Процессор: E3-1240 Intel® Xeon® Processor E3-1240 v3 (8M Cache, 3.40 GHz) Оперативная память: 24 Гб / Диск: 2000 Гб / IP адреса: 1 «E5-1650» ($88/мес) - Процессор: E5-1650 Intel® Xeon® Processor E5-1650 (12M Cache, 3.20 GHz) Оперативная память: 32 Гб / Диск: 3000 Гб / IP адреса: 1 «E5-1650» ($100/мес) - Процессор: E5-1650 Intel® Xeon® Processor E5-1650 (12M Cache, 3.20 GHz) Оперативная память: 64 Гб / Диск: 3000 Гб / IP адреса: 1
Кратко о панели VestaCP:
- панель полностью бесплатная и намного удобнее чем та же бесплатная панель webmin.
- проект активно развивается и постоянно выпускает новые обновления и исправления.
- поддержка ОС CentOS 5-6, Debian 7, Ubuntu 12.04, 12.10, 13.04, 13.10, 14.04. Рекомендуем использовать CentOS 6-64bit.
- при установке - можно выбрать какую версию php устанавливать - 5.3 или 5.4
- по-умолчанию ставится nginx (который можно потом отключить, либо включить)
Как переустановить VestaCP самостоятельно?
Для переустановки панели - желательно сделать запрос на переустановку ОС через тикет в тех. поддержку.
Далее подключаетесь по ssh используя Putty и выполняете:
CentOS 6 VestaCP installation:
1) Для версии php 5.4: # yum -y remove httpd* bind # curl -O http://vestacp.com/pub/vst-install.sh # bash vst-install.sh при установке - попросит email, введи свой корректный email (например, на gmail) Для версии php 5.3 тоже самое только # bash vst-install.sh -d 2) Далее следуйте указаниям установки 3) После завершения VestaCP будет доступна по адресу https://IP:8083, логин - admin, пароль выдаст сам установщик.
Debian 7 VestaCP installation:
# apt-get purge bind9* # mv /etc/lsb-release /etc/lsb-release_old # wget http://vestacp.com/pub/vst-install-debian.sh # bash vst-install-debian.sh
Как припарковать сайт в VestaCP? Какие ДНС сервера использовать?
Для того чтобы припарковать домен в VestaCP - нужно выполнить 4 простых шага:
1) изменить ДНС сервера для пользователя admin на наши
VestaCP --> USER --> редактировать пользователя admin --> меняете "Серверы имен" на наши --> Нажимаете кнопку "Сохранить"
для клиентов iphoster мы выделяем DNS сервера вида (точные можете уточнить у тех. поддержки через тикет)
ns2.58911.ip-ns.net ns1.58911.ip-ns.net , где 58911 - это номер заказа сервера.
2) Добавьте домен в VestaCP --> клацаете сверху на WEB --> Добавить домен --> Обязательно отмечаете галку "Поддержка DNS", а также можете в Дополнительных опциях поставить "Поддержка nginx" --> Нажимаете добавить. Домен также автоматически добавится в секцию DNS:
3) Смените ДНС сервера в панели Вашего регистратора на наши - те же что Вы указали в VestaCP:
ns2.58911.ip-ns.net ns1.58911.ip-ns.net
после смены ДНС серверов - домен станет доступен в течении 12 часов. Нужно подождать.
4) Вам осталось залить файлы Вашего сайта по FTP использую FileZilla в корневую папку: /home/пользователь/web/домен/public_html/
Логин - admin и пароль такой же как для VestaCP (если Вы не добавляли другого пользователя)
Как проверить - правильно ли я припарковал домен если он еще недоступен?
Для этого Вам нужно выполнить 2 шага: 1) Проверить резолвится ли домен от localhost через команду dig по ssh. Должно быть так: [root@ns33078 ~]# dig vvope.ru @localhost +short 178.34.210.236 [root@ns33078 ~]# dig ns vvope.ru @localhost +short ns1.68711.ip-ns.net. ns2.68711.ip-ns.net.
где vvope.ru - имя Вашего домена.
Если не так - значит проблема с named сервером, либо Вы не добавили домен на сервер в секцию DNS.
2) Проверить доступность сайта через Ваш локальный hosts файл: откройте C:\Windows\System32\drivers\etc\hosts и добавьте в него строки 178.34.210.236 vvope.ru , где 178.34.210.236 - замените на свой IP сервера и vvope.ru - Ваше имя домена, замените на свое. Сохраните файл и сразу же откройте сайт в браузере. Должен появится Ваш сайт, который Вы залили в корневую папку. /home/пользователь/web/имя_домена/public_html/
Какие php расширения устанавливаются по-умолчанию на сервере с VestaCP?
Весь список
[PHP Modules] bcmath bz2 calendar Core ctype curl date dom ereg exif fileinfo filter ftp gd gettext gmp hash iconv imap intl json ldap libxml mbstring mcrypt mhash mysql mysqli openssl pcntl pcre PDO pdo_mysql pdo_sqlite Phar posix pspell readline recode Reflection session shmop SimpleXML soap sockets SPL sqlite3 standard sysvmsg sysvsem sysvshm tidy tokenizer wddx xml xmlreader xmlrpc xmlwriter xsl zip zlib
ionCube Loader и Zend Guard - нужно устанавливать отдельно. Обратитесь в тех. поддержку.
Monit - мониторинг основных сервисов
Install:
# yum -y install monit && chkconfig monit on
Мониторим 1 раз в 60 сек
# egrep -v "^#" /etc/monit.conf set daemon 60 include /etc/monit.d/*
Основные сервисы:
# wget http://c.vestacp.com/0.9.8/rhel/monit/vesta-nginx.conf -O /etc/monit.d/vesta-nginx.conf # wget http://c.vestacp.com/0.9.8/rhel/monit/vesta-php.conf -O /etc/monit.d/vesta-php.conf # wget http://c.vestacp.com/0.9.8/rhel/monit/nginx.conf -O /etc/monit.d/nginx.conf # wget http://c.vestacp.com/0.9.8/rhel/monit/httpd.conf -O /etc/monit.d/httpd.conf # wget http://c.vestacp.com/0.9.8/rhel/monit/mysql.conf -O /etc/monit.d/mysql.conf # wget http://c.vestacp.com/0.9.8/rhel/monit/exim.conf -O /etc/monit.d/exim.conf # wget http://c.vestacp.com/0.9.8/rhel/monit/dovecot.conf -O /etc/monit.d/dovecot.conf # wget http://c.vestacp.com/0.9.8/rhel/monit/sshd.conf -O /etc/monit.d/sshd.conf
# service monit start Starting monit: monit: generated unique Monit id 95f44c2998b0b46dc60949944bb699bc and stored to '/root/.monit.id' [ OK ] # service monit restart Shutting down monit: [ OK ] Starting monit: [ OK ]
# wget http://c.vestacp.com/0.9.8/rhel/monit/mysql.conf -O /etc/monit.d/mysql.conf # vi /etc/monit.d/mysql.conf check process mysql with pidfile /var/lib/mysql/11111.host.net.pid start program = "/etc/init.d/mysql start" stop program = "/etc/init.d/mysql stop" # service monit restart
Небольшой тюнинг семафоров для Apache и VestaCP
Чтобы не было ошибки Apache: No space left on device: Couldn't create accept lock
Увеличиваем количество выделяемых семафоров через sysctl:
[root@serv /]# vi /etc/sysctl.conf kernel.msgmni = 1024 kernel.sem = 250 256000 32 1024 [root@serv /]# sysctl -p
Если уже возникла такая ошибка - чистим семафоры выделенные для apache командой:
# for i in `ipcs -s | awk '/apache/ {print $2}'`; do (ipcrm -s $i); done # /etc/init.d/httpd restart
Крякозябры на сайте - решение проблемы с кодировкой в MySQL
Для CentOS 6 - откройте по ssh свой файл my.cnf через редактор nano и внесите изменения в секцию [mysqld].
Чтобы сохранить файл нажмите Ctrl+X, далее клавишу "y" и далее "Enter":
[root@ns33078 ~]# nano /etc/my.cnf [mysqld] init-connect = "SET NAMES utf8" character-set-server = utf8 collation-server = utf8_general_ci
либо
[mysqld] init-connect = "SET NAMES cp1251" character-set-server = cp1251 collation-server = cp1251_general_ci
Перезапустите mysqld:
[root@ns33078 ~]# /etc/init.d/mysqld restart Stopping mysqld: [ OK ] Starting mysqld: [ OK ]
Проверьте поменялась ли кодировка:
[root@ns33078 ~]# mysql mysql> show variables like 'char%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.00 sec)
Ошибки named - как переустановить bind
Если у Вас возникла ошибка named на CentOS 6
[root@ns32879 ~]# tail -f /var/log/messages Jun 3 06:59:54 stock named: zone kinold.ru/IN: not loaded due to errors. Jun 3 06:59:54 stock named: _default/kinold.ru/IN: file not found Jun 3 07:00:03 stock named: zone kinold.ru/IN: loading from master file /home/admin/conf/dns/kinold.ru.db failed: file not found
то она решается переустановкой named:
[root@ns32879 ~]# yum remove bind* [root@ns32879 ~]# yum install bind bind-libs bind-utils [root@ns32879 ~]# wget http://c.vestacp.com/0.9.8/rhel/named.conf -O /etc/named.conf [root@ns32879 ~]# for user in $(ls /usr/local/vesta/data/users/); do v-rebuild-dns-domains $user;done [root@ns32879 ~]# /etc/init.d/named restart Stopping named: . [ OK ] Starting named: [ OK ]
Ошибки named - ignoring out-of-zone data
# /etc/init.d/named restart Stopping named: [ OK ] Starting named: Error in named configuration: /home/user/conf/dns/domain.ru.db:18: ignoring out-of-zone data (m) /home/user/conf/dns/domain.ru.db:19: ignoring out-of-zone data (m) dns_rdata_fromtext: /home/user/conf/dns/domain.ru.db:19: near '178.32.220.222': bad IPv6 address zone domain.ru/IN: loading from master file /home/user/conf/dns/domain.ru.db failed: bad IPv6 address zone domain.ru/IN: not loaded due to errors. _default/domain.ru/IN: bad IPv6 address zone m.domain.ru/IN: loaded serial 2014101301 [FAILED]
Означает, что неверно добавлена ДНС запись. В данном случае нужно удалить
m. 14400 IN AAAA 178.32.220.222
и перезапустить named:
# /etc/init.d/named restart Stopping named: [ OK ] Starting named: [ OK ]
Замена vsftpd на proftpd на Centos 6
Замена vsftpd на proftpd на Centos 6:
[root@ns32879 admin]# yum remove vsftpd [root@ns32879 admin]# yum install proftpd [root@ns32879 admin]# wget http://c.vestacp.com/0.9.8/rhel/proftpd.conf -O /etc/proftpd.conf [root@ns32879 admin]# chkconfig proftpd on [root@ns32879 admin]# service proftpd start Starting proftpd: [ OK ]
Замена vsftpd на proftpd на Debian 7
# dpkg -r vsftpd # apt-get update # apt-get install proftpd # wget http://c.vestacp.com/0.9.8/debian/7/proftpd/proftpd.conf -O /etc/proftpd.conf # /etc/init.d/proftpd restart и добавляем в автозагрузку:
# update-rc.d proftpd enable
Как полностью удалить домен из WEB и DNS в VestaCP
Бывает ситуация когда домен удалился из VestaCP, а в конфигах apache/nginx и named остался. Поэтому его нужно полностью удалить через ssh командами:
# v-delete-web-domain admin vvope.ru # v-delete-dns-domain admin vvope.ru , где admin - это имя пользователя, vvope.ru - ваше имя домена.
Проблема с импортом больших баз на Debian 7
Проблема с импортом больших БД на Debian 7 - все лимиты в php.ini выставлены, но все равно пишет что достигнут лимит
Решается так:
# chmod 777 /var/lib/phpmyadmin/tmp
Конфиг phpmyadmin для apache
Можно скачать так:
# wget http://c.vestacp.com/0.9.8/rhel/httpd-pma.conf -O /etc/httpd/conf.d/phpMyAdmin.conf # /etc/init.d/httpd restart
Настройки для почтовых клиентов Thunderbird/Outlook
SMTP/POP3/IMAP сервер mail.имя_домена
SMTP port: 465/587
Imap port: 143/993
POP3 port: 110/995
Все стандатно:
tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 3717/dovecot tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 3717/dovecot tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 3717/dovecot tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 3717/dovecot
tcp 0 0 0.0.0.0:465 0.0.0.0:* LISTEN 3692/exim tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 3692/exim tcp 0 0 0.0.0.0:2525 0.0.0.0:* LISTEN 3692/exim tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN 3692/exim tcp 0 0 :::465 :::* LISTEN 3692/exim tcp 0 0 :::25 :::* LISTEN 3692/exim tcp 0 0 :::2525 :::* LISTEN 3692/exim tcp 0 0 :::587 :::* LISTEN 3692/exim
Как устанвить 2 и больше версий php для VestaCP
Да, это можно сделать на основе платного администрирования. Обратитесь в тех. поддержку (к Антону).
Ошибка exim при включенной локальной доставке [email protected]: Unrouteable address
Решение смотрим тут:
VestaCP - exim отключаем локальную доставку писем
Локальные бекапы VestaCP
По-умолчанию, создается 3 бекапа и они делаются в /home/backup/ каждый день в 05:10
# crontab -l -u admin | grep bac 10 05 * * * sudo /usr/local/vesta/bin/v-backup-users
Количество архивов устанавливает в шаблоне пакета: VestaCP --> Пакеты --> Выберите пакет "default" --> "Редактировать" --> Резервные копии --> Установите число копий.
Настройка бекапов на удаленный FTP
Создаем и меняем конфиги:
# cat /usr/local/vesta/conf/ftp.backup.conf HOST='ip' PORT='21' USERNAME='userftp' PASSWORD='passftp' BPATH='/' # egrep ftp /usr/local/vesta/conf/vesta.conf FTP_SYSTEM='vsftpd' BACKUP_SYSTEM='ftp'
Лог сначала создается локальный в /home/backup/tmp.glkAe9MO4n, а потом копируется на FTP.
В момент создания бекапа смотрим лог:
# tail -f /usr/local/vesta/log/backup.log
Исключения можно добавлять в:
/usr/local/vesta/data/users/admin/backup-excludes.conf
Ошибка
ftp: connect: Connection timed out
Решение - попробовать отключить iptables.
Создание дополнительного FTP аккаунта в VestaCP
Да, это возможно сделать через меню VestaCP --> WEB --> имя_домена --> Редактировать --> галка "Дополнительный ftp"
VestaCP - поддержка installatron и softaculous
К сожалению, VestaCP не поддерживает такие автоустановщики как installatron и softaculous
Другие статьи по VestaCP на wiki.iphoster.ru
VestaCP - как увеличить размер трафика в default шаблоне
VestaCP - ротация логов
VestaCP - Добавление базы данных Error: Connection failed
VestaCP - exim отключаем локальную доставку писем
VestaCP - установка php-xcache
VestaCP - NO LANGUAGE DEFINED
VestaCP - php-fpm install
VestaCP - Debian 7 - PHP Warning: POST Content-Length of 84908807 bytes exceeds the limit of 8388608 bytes in Unknown on line 0
VestaCP - Fatal Error Unable to allocate shared memory segment of 134217728 bytes: mmap: Cannot allocate memory
VestaCP - обновление php 5.4 до 5.5
VestaCP - malware acl condition: clamd: unable to connect to UNIX socket /var/run/clamav/clamd.sock (Connection refused)
VestaCP - Как заменить mysql на mariadb
VestaCP - Ошибка при переносе на новый IP - nginx: emerg bind() to :80 failed (99: Cannot assign requested address)
VestaCP - Как подключить обработку perl скриптов к домену
VestaCP - изменить кодировку по-умолчанию через httpd.conf
VestaCP - скрипты
VestaCP - переустановка dovecot
VestaCP - sendmail path and sendmail from
VestaCP - как узнать root пароль mysql?
VestaCP - как сделать дебаг бекапа
VestaCP - Ubuntu - bind - loading from master file failed: permission denied
VestaCP - Как поменять корневую папку для бекапов
VestaCP - Добавляем бесплатный файловый менеджер - net2ftp
VestaCP - Ubuntu - phpmyadmin ошибка - open_basedir restriction in effect. File(doc/html/index.html)
VestaCP - Ubuntu - phpmyadmin ошибка - Ошибка при указании соединения для controluser в конфигурации
VestaCP - Кодировка при обработке php в html файлах
VestaCP - Как включить обработку php скриптов в html
VestaCP - Как подцепить базы
VestaCP - Восстановление бекапа - Задание уже выполняется, пожалуйста дождитесь окончания
VestaCP - делаем отображение реальных IP адресов в nginx
VestaCP - exim - WARNING: purging the environment. Suggested action: use keep_environment and add_environment
VestaCP - phpmyadmin - ошибка 1142 - SELECT command denied to user 'admin_1'@'localhost' for table 'pma_table_prefs'
VestaCP - roundcube - defaults.inc.php was not found
VestaCP - как поменять почтовый ящик - email
VestaCP - CentOS 7 - как удалить nginx
Дополнительная документация и ссылки
- http://vestacp.com/docs/ - официальная документация
- https://forum.vestacp.com/ - форум, там же есть русская ветка
- https://bugs.vestacp.com/ - доработки и исправления