Как разместить свой сайт на VDS или выделенном сервере с панелью VestaCP?

Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2024
Перейти к:навигация, поиск

Самые выгодные сервера‎


Размещение сайта на 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 - это номер заказа сервера.


VestaUSER2.png


2) Добавьте домен в VestaCP --> клацаете сверху на WEB --> Добавить домен --> Обязательно отмечаете галку "Поддержка DNS", а также можете в Дополнительных опциях поставить "Поддержка nginx" --> Нажимаете добавить. Домен также автоматически добавится в секцию DNS:


VestaUSER1.png


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

Дополнительная документация и ссылки