RTFM.WIKI

Ordnung muß sein. Ordnung über alles (18+)

Инструменты пользователя

Инструменты сайта


web:vestacp

Содержание

Панель управления хостингом VestaCP

github twitter vestacp

Памятка для пользователей

В зависимости от конфигурации Веста устанавливается в одном из доступных режимов, которые позволяют не сильно нагружать сервер:

  • micro - меньше 1Gb RAM
    Устанавливается с минимальной конфигурацией, идет максимальная оптимизации ресурсов, отключаются антивирус с фаерволом, а так же исключается модуль mod_fcgid.
  • small - от 1Gb до 3Gb RAM
    При установке исключаются антивирус и антиспам для почты
  • medium - от 3GB до 7Gb RAM
  • large - 7GB и выше medium и large не имеют отличий при установке и устанавливают все доступные модули.

HowTo

rspamd вместо spamassassin

Проверка обновлений панели через консоль

Проверить

# v-list-sys-vesta-updates

# v-list-sys-vesta-updates
NAME         VERSION  RELEASE ARCH    UPDATED TIME      DATE
------       ------   ------  ------  ------  ------    ------
vesta        0.9.8    12      x86_64  no      17:34:05  2015-04-09
vesta-php    0.9.7    3       x86_64  yes     17:33:32  2015-04-09
vesta-nginx  0.9.8    3       x86_64  yes     17:34:57  2015-04-09

PKG          VER    REL  ARCH  UPDT  DATE
---          ---    ---  ----  ----  ----
vesta        0.9.8  26   i386  yes   2020-03-24
vesta-php    0.9.8  26   i386  yes   2020-03-24
vesta-nginx  0.9.8  26   i386  yes   2020-03-24

Обновить

v-update-sys-vesta-all

Let's Encrypt для Exim/Postfix/Dovecot

chgrp mail ssl.your.adminpanel.com.key
chmod 660 ssl.your.adminpanel.com.key
chgrp mail ssl.your.adminpanel.com.crt
chmod 660 ssl.your.adminpanel.com.crt

Как создать поддомен внутри основного домена

Есть домен domain.ru (/home/admin/web/domain.ru/public_html). Необходимо создать поддомен img.domain.ru, содержимое которого расположено в /home/admin/web/domain.ru/public_html/img.

Для этого создаём в WEB новый домен с именем img.domain.ru.

В конфигах /home/admin/conf/web/nginx.conf и /home/admin/conf/web/apache2.conf меняем DocumentRoot.

То есть вместо каталога /home/admin/web/img.domain.ru/public_html указываем каталог /home/admin/web/domain.ru/public_html/img.

Также можно вручную создать конфиг для nginx в каталоге /home/admin/conf/web/. Если создавать через панель, то есть вероятность, что конфиг будет перезаписан и всё сломается.

И самое главное - rewrite'ы

RewriteCond $1 !^img/
RewriteCond %{HTTP_HOST} ^img.domain.ru
RewriteRule (.*) /img/$1 [L]

Есть ли селектор версии PHP?

Как поменять стандартные картинки в панели

api error

Несколько версий PHP

Описание задачи: сервер с VestaCP (CentOS или Debian неважно), Основная версия PHP: CentOS 5.4 (Remi), Debian 5.? Допустим, что для одного нашего сайта на Joomla 1.5 требуется PHP 5.2 Создать шаблон в Vesta и скомпилировать PHP PHP 5.2 (через fastcgi) и PHP 5.4 (как модуль Apache2)

CentOS

Чтобы упростить себе жизнь компилировать не будем, а воспользуемся готовыми RPM пакетами из репозитория Atomic, которые устанавливаются в /opt

Debian

Как обновить PHP до 5.5 со стандартной версии 5.3 на сервере с VestaCP

via http://hasin.me/2014/06/03/upgrading-php-to-5-5-in-a-centos-6-server-with-vesta-cp/

Tested on CentOS 6 x86/x64

Stop httpd and remove current PHP version

service httpd stop
yum -y remove php*

Add Remi repo

#For 32 Bit OS
wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm 
 
#For 64Bit OS
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm

Install newer PHP version

yum -y install php php-bcmath php-cli php-common php-gd php-imap php-mbstring php-mcrypt php-mysql php-pdo php-soap php-tidy php-xml php-xmlrpc php-pecl-apc phpMyAdmin roundcubemail php-opcache php-xdebug
mv -f /etc/php.ini.rpmsave /etc/php.ini
mv -f /etc/roundcubemail/db.inc.php.rpmsave /etc/roundcubemail/db.inc.php
mv -f /etc/roundcubemail/main.inc.php.rpmsave /etc/roundcubemail/main.inc.php
mv -f /etc/phpMyAdmin/config.inc.php.rpmsave /etc/phpMyAdmin/config.inc.php
mv -f /etc/httpd/conf.d/roundcubemail.conf.rpmsave /etc/httpd/conf.d/roundcubemail.conf
mv -f /etc/httpd/conf.d/phpMyAdmin.conf.rpmsave /etc/httpd/conf.d/phpMyAdmin.conf
service httpd start

CLI

Ошибки, баги, глюки

Обновить PHP для nginx/php-fpm в Debian

Это сделать можно только через костыли:

А в CentOS всё нормально.

Советы не помогают.

Обычно появляется ошибка Error: php-fpm pool doesn't exist

Зато бесплатно всё.

Не работают дополнительные FTP аккаунты (Debian/Ubuntu)

Версия Vesta 0.9.8-18

Github issue: https://github.com/serghey-rodin/vesta/issues/1437

Решение

# echo "/usr/sbin/nologin" >> /etc/shells

Dovecot 14094418 SSL

Ошибка

TLS: SSL_read() failed:error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca:SSL alert number 48

Добавить в /etc/dovecot/conf.d/10-ssl.conf

ssl_ca = </usr/local/vesta/ssl/certificate.crt

Неправильный подсчёт памяти на RRD графиках

После перехода на версию 0.9.8-17 с версии 0.9.8-16 всё сломалось.

Перестал учитываться buffers/cache из вывода free (видимо с приходом фикса для CentOS 7).

На недельном графике видно, как после установки нового релиза панели с 1 декабря вырос расход памяти (на самом деле нет). Со стабильных 400 свободных до 90 свободных.

Как было раньше

# free -m |awk '{print $4}'|head -n3 |tail -n1
814

Как стало в новом релизе

# free -m |grep Mem |awk '{print $4}'
78

В CentOS 6 необходимо вернть всё обратно вручную.

Файл /usr/local/vesta/bin/v-update-sys-rrd-mem в версии 0.9.8-16

# Parsing data
if [ "$period" = 'daily' ]; then
    mem=$(free -m)
    used=$(echo "$mem" |awk '{print $3}'|head -n3 |tail -n1)
    free=$(echo "$mem" |awk '{print $4}'|head -n3 |tail -n1) 
    swap=$(echo "$mem" |awk '{print $3}'|tail -n1)

Файл /usr/local/vesta/bin/v-update-sys-rrd-mem в версии 0.9.8-17

# Parsing data
if [ "$period" = 'daily' ]; then
    mem=$(free -m)
    used=$(echo "$mem" |grep Mem |awk '{print $3}')
    free=$(echo "$mem" |grep Mem |awk '{print $4}')
    swap=$(echo "$mem" |grep Swap |awk '{print $3}')

Возвращаем, всё как было в 0.9.8-16

На форуме рекомендуют ещё выполнить команды (вероятно это необязательно)

# /usr/local/vesta/bin/v-update-sys-rrd
# /usr/local/vesta/bin/v-update-sys-rrd-mem

После исправления всё вернулось на свои места

Неудачное соединение с IMAP сервером

Roundcube показывает сообщение Неудачное соединение с IMAP сервером.

Лог dovecot

Oct 22 22:22:19 imap([email protected]): Warning: autocreate plugin is deprecated, use mailbox { auto } setting instead
Oct 22 22:22:19 imap([email protected]): Error: user [email protected]: Initialization failed: namespace configuration error: inbox=yes namespace missing
Oct 22 22:22:19 imap([email protected]): Error: Invalid user settings. Refer to server log for more information.

Как исправить.

В файле etc/dovecot/conf.d/15-mailboxes.conf

после

namespace inbox {

добавляем

inbox = yes

Webmail (Roundcube) blank page белая страница

Долгое время искал почему RC выдаёт пустую страницу.

Debian 7, php из dotdeb, если php из debian репозитория, то всё нормально.

В файле /var/lib/roundcube/config/main.inc.php включаем отладку

// system error reporting: 1 = log; 2 = report (not implemented yet), 4 = show, 8 = trace
$rcmail_config['debug_level'] = 4;

После чего появляется заветная ошибка

Fatal error: Call to undefined function: MDB2_Driver_mysql::raiseError(). in /usr/share/php/MDB2.php on line 1950

Дальше всё просто

// устанавливаем MySQL пакет для MDB2
apt-get install php-mdb2-driver-mysql

// устанавливаем Pear
apt-get install php-pear

// устанавливаем MDB2 библиотеку
pear install MDB2

// устанавливаем драйвер MDB2 MySQL
pear install MDB2_Driver_Mysql

Roundcube не работает вход

Ошибка

Warning: Declaration of rcmail::get_instance($env = '') should be compatible with rcube::get_instance($mode = 0, $env = '') in /usr/share/roundcube/program/include/rcmail.php on line 30

Debian 8, PHP 7 из стороннего репозитория, Roundcube 1.1

# apt-cache show roundcube-core        
Package: roundcube-core
Source: roundcube
Version: 1.1.1+dfsg.1-2

Всё потому-что версии RC ниже 1.2 не работают с PHP 7. Или старый PHP или новый RC.

DKIM

Как создать через консоль

v-add-mail-domain-dkim %user% %domain% %key-length%
v-add-mail-domain-dkim admin foobar.com 2048

Как посмотреть и где расположен публичный ключ

Путь /usr/local/vesta/data/users/%user%/mail/%domain%.pub

Как посмотреть содержимое

v-list-mail-domain-dkim-dns %user% %domain%

Пример

# v-list-mail-domain-dkim-dns admin foobar.com      
RECORD            TTL         TYPE      VALUE
------            ---         ----      -----
_domainkey        3600   IN   TXT      "t=y; o=~;"
mail._domainkey   3600   IN   TXT      "k=rsa; p=MII_abc_длинный_ключ"

Глюк с бэкапом

Если вам не удаётся войти в панель и при этом есть ошибка "NO LANGUAGE DEFINED", то скорее всего нет свободного места.

И обычно оно занято tmp файлами от бэкапов, которые по разным причинам могут не удаляться из каталога /home/backup. При успешном бэкапе tmp файлы должны очищаться.

В первую очередь стоит проверить файл /var/log/vesta/backup.log

Далее уже можно соориентироваться по коду ошибки

VALUE NAME COMMENT
0 OK Command has been successfuly performed
1 E_ARGS Not enough arguments provided
2 E_INVALID Object or argument is not valid
3 E_NOTEXIST Object doesn't exist
4 E_EXISTS Object already exists
5 E_SUSPENDED Object is suspended
6 E_UNSUSPENDED Object is already unsuspended
7 E_INUSE Object can't be deleted because is used by the other object
8 E_LIMIT Object cannot be created because of hosting package limits
9 E_PASSWORD Wrong password
10 E_FORBIDEN Object cannot be accessed be the user
11 E_DISABLED Subsystem is disabled
12 E_PARSING Configuration is broken
13 E_DISK Not enough disk space to complete the action
14 E_LA Server is to busy to complete the action
15 E_CONNECT Connection failed. Host is unreachable
16 E_FTP FTP server is not responding
17 E_DB Database server is not responding
18 E_RRD RRDtool failed to update the database
19 E_UPDATE Update operation failed
20 E_RESTART Service restart failed

Известные проблемы

  1. Сама банальная - нехватка места на диске для создания бэкапа
  2. Пароль MySQL root отличается от пароля указанного в файле /usr/local/vesta/conf/mysql.conf
  3. Ошибка в каком-нибудь конфигурационном файле

Также можно встретить рекомендацию по изменению прав на каталог /home/backup

# chmod -R 775 /home/backup

Баг на гитхабе - https://github.com/serghey-rodin/vesta/issues/1035

Глюк с бэкапом 2

shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory

Лог файл /var/log/vesta/backup.log

-- DB --
2017-03-28 14:44:56 admin_database1 (mysql)
2017-03-28 14:44:57 admin_database2 (mysql)
2017-03-28 14:45:25 admin_foobar1 (mysql)
2017-03-28 14:45:51 admin_foobar2 (mysql)
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
sudo: unable to resolve current working directory
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
exim: can't get the current working directory: No such file or directory
Error: dump admin_foobar2 failed

Из форума Весты я извлёк следующее

Если Error: dump admin_dbname failed, то скорее всего дело таблицы не существуют или повреждены и надо сделать repair

mysqlcheck --no-defaults -u root -p --all-databases
mysqlcheck --no-defaults -u root -p --all-databases -o
mysqlcheck --no-defaults -u root -p --all-databases --auto-repair
mysqlcheck --no-defaults -u root -p --all-databases --analyze

Если shell-init: error retrieving current directory: getcwd, то скорее всего фактическое имя базы в /var/lib/mysql отличается от имени базы в интерфейсе панели.

Неверный размер БД в VestaCP

Кнопка обновить счётчики не работает.

Выполняем вручную cron задачу

# /usr/local/vesta/bin/v-update-sys-queue disk

В Proftpd копируются только файлы, не создаются каталоги

В логе FTP клиента что-то похожее на 550 Нет такого файла или каталога.

Добавляем VRootEngine off в proftpd.conf

Error: DNS_SYSTEM is not enabled

Не добавляется домен, ошибка Error: DNS_SYSTEM is not enabled

Проявляется если не установлен BIND и установка (vst-install.sh) производилась с ключом –named no

Вероятно исправят в следующем релизе

Не работает php mail() и 550 Unroutable sender address

Лог exim:

2014-09-01 09:32:02 no host name found for IP address 112.146.198.65
2014-09-01 10:03:29 H=a94-132-210-11.cpe.netcabo.pt [94.132.210.11] rejected connection in "connect" ACL: rejected because 94.132.210.11 is in a black list at bl.spamcop.net\nBlocked - see http://www.spamcop.net/bl.shtml?94.132.210.11
2014-09-01 10:05:36 no IP address found for host internet.skynt.pl (during SMTP connection from [91.232.192.254])
2014-09-01 10:12:31 H=inzary.ru (yunobol.ru) [62.109.29.224] F=<[email protected]> rejected RCPT <[email protected]>: Unrouteable address
2014-09-01 11:08:52 1XOPTg-0004J7-9N Completed
2014-09-01 11:08:52 1XOPTg-0004JA-IL ** [email protected]: Unrouteable address
2014-09-01 11:08:52 1XOPTg-0004JA-IL Frozen (delivery error message)
2014-09-01 11:10:24 1XOPVA-0004bB-GJ <= [email protected] U=root P=local S=394
2014-09-01 11:10:24 1XOPVA-0004bB-GJ ** [email protected] R=dnslookup T=remote_smtp: SMTP error from remote mail server after MAIL FROM:<[email protected]> SIZE=1429: host mxs.mail.ru [94.100.180.150]: 550 Unroutable sender address
2014-09-01 11:10:24 1XOPVA-0004bE-Tx <= <> R=1XOPVA-0004bB-GJ U=exim P=local S=1353
2014-09-01 11:10:24 1XOPVA-0004bB-GJ Completed
2014-09-01 11:10:24 1XOPVA-0004bE-Tx ** [email protected]: Unrouteable address
2014-09-01 11:10:24 1XOPVA-0004bE-Tx Frozen (delivery error message)
2014-09-01 11:10:44 exim 4.72 daemon started: pid=17703, -q1h, listening for SMTP on port 25 (IPv6 and IPv4) port 587 (IPv6 and IPv4) port 2525 (IPv6 and IPv4) and for SMTPS on port 465 (IPv6 and IPv4)
2014-09-01 11:10:44 Start queue run: pid=17704
2014-09-01 11:10:44 End queue run: pid=17704
2014-09-01 11:10:47 1XOPVX-0004bh-6m <= [email protected] U=root P=local S=394
2014-09-01 11:10:48 1XOPVX-0004bh-6m ** [email protected] R=dnslookup T=remote_smtp: SMTP error from remote mail server after MAIL FROM:<[email protected]> SIZE=1429: host mxs.mail.ru [94.100.180.150]: 550 Unroutable sender address
2014-09-01 11:10:48 1XOPVY-0004bl-3w <= <> R=1XOPVX-0004bh-6m U=exim P=local S=1353
2014-09-01 11:10:48 1XOPVX-0004bh-6m Completed
2014-09-01 11:10:48 1XOPVY-0004bl-3w ** [email protected]: Unrouteable address
2014-09-01 11:10:48 1XOPVY-0004bl-3w Frozen (delivery error message)
2014-09-01 11:11:44 1XOPWS-0004rX-U3 <= [email protected] U=root P=local S=394
2014-09-01 11:11:45 1XOPWS-0004rX-U3 ** [email protected] R=dnslookup T=remote_smtp: SMTP error from remote mail server after MAIL FROM:<[email protected]> SIZE=1429: host mxs.mail.ru [217.69.139.150]: 550 Unroutable sender address
2014-09-01 11:11:45 1XOPWT-0004ra-Fh <= <> R=1XOPWS-0004rX-U3 U=exim P=local S=1353
2014-09-01 11:11:45 1XOPWS-0004rX-U3 Completed

mail.ru считает обратный адрес несуществующим. vm1113.foobar.com (hostname) должен отвечать на пинг извне (проверить также /etc/hosts).

Решение:

Указать hostname



Добавить запись в /etc/hosts



Создать PTR (rDNS) запись



Tips n tricks

Файловый менеджер

Было 2 платных плагина (file manager и sftp). С сайта Весты информация о плагине file manager куда-то исчезла.

Для активации плагина добавить в конец файла /usr/local/vesta/conf/vesta.conf строку

FILEMANAGER_KEY='ILOVEREO'

11 марта 2019 - работает

exim не принимает письма если clamd упал

via https://forum.vestacp.com/viewtopic.php?t=5363

malware acl condition: clamd: unable to connect to UNIX socket /var/run/clamav/clamd.ctl (Connection refused)

Заменить в конфигурации exim

malware = *

на

malware = */defer_ok

Подробнее - http://www.exim.org/exim-html-current/doc/html/spec_html/ch-content_scanning_at_acl_time.html

phpmyadmin 1142 - SELECT command denied to user 'admin_db'@'localhost' for table 'pma__table_uiprefs'

phpmyadmin The secret passphrase in configuration (blowfish_secret) is too short

Добавляем в /etc/phpMyAdmin/config.inc.php пароль длиной 32 символа.

$cfg['blowfish_secret'] = '12345678901234567890123456789012';

Документация - https://docs.phpmyadmin.net/en/latest/config.html#cfg_blowfish_secret

Однако в некоторых случаях проблема связана с правами доступа

chmod 644 /etc/phpMyAdmin/config.inc.php
chmod 755 /etc/phpMyAdmin/

phpmyadmin операция импорта невозможна

Текст ошибки - Операция импорта невозможна. Причины: не выбран импортируемый файл; размер импортируемого файла превышает максимально допустимый, заданный в настройках PHP. Смотрите FAQ 1.16.

Debian/Ubuntu?

chmod 777 /var/lib/phpmyadmin/tmp

CentOS

chmod 777 /var/phpmyadmin/tmp

phpmyadmin 403 forbidden

phpmyadmin выдает 403 ошибку.

Загружаем заново конфигурационный файл phpmyadmin для Apache

# wget http://c.vestacp.com/0.9.8/rhel/httpd-pma.conf -O /etc/httpd/conf.d/phpMyAdmin.conf
# service httpd restart

Используемые порты

80 - nginx стандартный веб порт
443 - nginx SSL веб порт
8080 - httpd веб порт
8433 - httpd SSL веб порт
8083 - VestaCP web порт

Смена IP адреса

Страница заглушка (домен по-умолчанию, default.domain)

Почта уходит в спам

SSL

При установке SSL сертификата от Comodo ошибка Error: SSL intermediate chain is not valid

В поле Центр сертификации SSL / Intermediate добавить в следующем порядке

COMODORSADomainValidationSecureServerCA.crt
AddTrustExternalCARoot.crt

https://support.comodo.com/index.php?/Default/Knowledgebase/Article/View/979/0/domain-validation-sha-2

Ссылки

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
 
web/vestacp.txt · Последнее изменение: 2020/06/12 01:23 — 127.0.0.1