ispconfig3 nginx apache

Ispconfig3 развивается, а так же развиваются технологии и требования по этому старая документация уже не подходит
а главное отладка даёт свои тонкости, в общем мануалы нужно обновить, поскольку материала уже много решил хоть что-то опубликовать
Мы будем ставить ispconfig3 и настраивать его на все и вся,включая производительность сервера, подключим все версии PHP и все представления, скомпилим старые версии PHP по рабочему ману, и если хватит сил я опишу что и зачем.

Сразу прошу простить меня за оформление материала, для публикации такого количества контента потребуется множество времени, так что я решил что лучше опубликовать хоть как-то чем вообще не давать контент.
Так же часть файлов сделана не в виде <<EOF    а в виде обычных файлов, поскольку их банально проще вам будет разобрать.



и многое другое
Железо:  https://ru.hetzner.com/hosting/produkte_rootserver/ex62
ОС:         ubuntu 18.04 LTS

Как подготавливал сервер для ispconfig3

Мануал: https://www.howtoforge.com/tutorial/perfect-server-debian-9-stretch-apache-bind-dovecot-ispconfig-3-...
Вся установка подготовлена для работы через скрипт по интеру, отличается от стандартного только тем что все через sed и echo что позволяет быстро повторить работу, по сути это все команды которые я вводил. Есть и небольшое отличиее порядка 5%
apt-get install -y ssh openssh-server 
apt-get install -y nano vim #echo "ставлю  обычный вим"
dpkg-reconfigure -p critical dash #автоматически говорим да для dpkg-reconfigure  sh
cp /etc/hosts -> /etc/hosts.bak   #Бэкапим /etc/hosts -> /etc/hosts.bak

IP=$(wget -qO - 2ip.ru|egrep -m 1 -o "([0-9]+\.){3}[0-9]+") && echo "$IP"  #Определяем IP,таким способом реально проще поскольку не нужно угадывать ни интерфейс ни количество IP
sed  -i -e 's/'"$IP"'.*/'"$IP"' site.ru www.site.ru/g' /etc/hosts #В файле /etc/hosts  изменен домен
Проверяем
Должен быть домеен с www и без него плюс его ip.
grep -E "$IP" /etc/hosts
Меняем имя сервера
echo "site.ru" > /etc/hostname
Обновляем все и ребут
apt-get update
apt-get -y upgrade
reboot
Меняем dash на sh
 dpkg-reconfigure dash
    if [ /bin/sh -ef /bin/dash ]; then
    echo -n "Changing the default shell from dash to bash... "
    echo "dash dash/sh boolean false" | debconf-set-selections
    dpkg-reconfigure -f noninteractive dash > /dev/null 2>&1
    echo -e "[${green}DONE${NC}]\n"
  fi
Тормозим и удаляем
service apparmor stop
update-rc.d -f apparmor remove 
apt-get -y remove apparmor apparmor-utils
Синхронизируем часы, поскольку потом даты нам будутважны
apt-get install -y ntp #синхронизируем часы
dpkg-reconfigure tzdata #выставляем  свой город
service sendmail stop; update-rc.d -f sendmail remove
Почтовый сервер ставим и меняем конфиги по ману,
service sendmail stop; update-rc.d -f sendmail remove
apt-get -y install postfix postfix-mysql postfix-doc mariadb-client mariadb-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve dovecot-lmtpd sudo
меняем конфиги по ману
cp /etc/postfix/master.cf /etc/postfix/master.cf_old 
sed -i "s/#submission inet n       -       y       -       -       smtpd/submission inet n       -       -       -       -       smtpd/" /etc/postfix/master.cf
sed -i "s/#  -o syslog_name=postfix\/submission/  -o syslog_name=postfix\/submission/" /etc/postfix/master.cf
sed -i "s/#  -o smtpd_tls_security_level=encrypt/  -o smtpd_tls_security_level=encrypt/" /etc/postfix/master.cf
sed -i "s/#  -o smtpd_sasl_auth_enable=yes/  -o smtpd_sasl_auth_enable=yes\\$(echo -e '\n\r') -o smtpd_client_restrictions=permit_sasl_authenticated,reject/" /etc/postfix/master.cf
sed -i "s/#smtps     inet  n       -       y       -       -       smtpd/smtps     inet  n       -       -       -       -       smtpd/" /etc/postfix/master.cf
sed -i "s/#  -o syslog_name=postfix\/smtps/  -o syslog_name=postfix\/smtps/" /etc/postfix/master.cf
sed -i "s/#  -o smtpd_tls_wrappermode=yes/  -o smtpd_tls_wrappermode=yes/" /etc/postfix/master.cf
sed -i "s/#  -o smtpd_sasl_auth_enable=yes/  -o smtpd_sasl_auth_enable=yes\\$(echo -e '\n\r') -o smtpd_client_restrictions=permit_sasl_authenticated,reject/" /etc/postfix/master.cf
service postfix restart
Настройки mysql
sed -i 's/bind-address.*127.0.0.1/#bind-address            = 127.0.0.1\nsql-mode="NO_ENGINE_SUBSTITUTION"/' /etc/mysql/mariadb.conf.d/50-server.cnf
mysql_secure_installation
echo "update mysql.user set plugin = 'mysql_native_password' where user='root';" | mysql -u root -p

cp /etc/mysql/debian.cnf /etc/mysql/debian.cnf_old
sed -i 's/password =/password = 'ВАШ ПАРОЛЬ'/' /etc/mysql/debian.cnf
service mysql restart
Доставляем по ману, не вижу смысла расписывать.
apt-get -y install amavisd-new spamassassin clamav clamav-daemon unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl postgrey
service spamassassin stop
update-rc.d -f spamassassin remove
Тут опять уже отличается, мы тут доставляем уже все версии пхп до 7.3 для всех видов представления, все они будут идти из репозиториев и обновляться, соответствующий тикет я уже написал в поддержку и маны на следующем релизе поправятс учетом этого.
apt-get -y install apache2 apache2-utils libapache2-mod-php php7.2 php7.2-common php7.2-gd php7.2-mysql php7.2-imap phpmyadmin php7.2-cli php7.2-cgi libapache2-mod-fcgid apache2-suexec-pristine php-pear mcrypt  imagemagick libruby libapache2-mod-python php7.2-curl php7.2-intl php7.2-pspell php7.2-recode php7.2-sqlite3 php7.2-tidy php7.2-xmlrpc php7.2-xsl memcached php-memcache php-imagick php-gettext php7.2-zip php7.2-mbstring php-soap php7.2-soap
a2enmod suexec rewrite ssl actions include cgi
a2enmod dav_fs dav auth_digest headers
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
sudo a2enconf phpmyadmin
sudo /etc/init.d/apache2 reload
echo -e "\n    RequestHeader unset Proxy early\n" > /etc/apache2/conf-available/httpoxy.conf
a2enconf httpoxy
И еще чуть-чуть
apt-get -y install php7.2-opcache php-apcu
apt-get -y install php7.2-fpm
a2enmod actions proxy_fcgi alias 
service apache2 restart
apt-get -y install hhvm
apt-get -y install certbot
Mailman
apt-get -y install mailman
newlist mailman
Меняем конфиги
cp  /etc/aliases  /etc/aliases_old
echo "## mailman mailing list" >> /etc/aliases
echo 'mailman:              "|/var/lib/mailman/mail/mailman post mailman"' >> /etc/aliases
echo 'mailman-admin:        "|/var/lib/mailman/mail/mailman admin mailman"' >> /etc/aliases
echo 'mailman-bounces:      "|/var/lib/mailman/mail/mailman bounces mailman"' >> /etc/aliases
echo 'mailman-confirm:      "|/var/lib/mailman/mail/mailman confirm mailman"' >> /etc/aliases
echo 'mailman-join:         "|/var/lib/mailman/mail/mailman join mailman"' >> /etc/aliases
echo 'mailman-leave:        "|/var/lib/mailman/mail/mailman leave mailman"' >> /etc/aliases
echo 'mailman-owner:        "|/var/lib/mailman/mail/mailman owner mailman"' >> /etc/aliases
echo 'mailman-request:      "|/var/lib/mailman/mail/mailman request mailman"' >> /etc/aliases
echo 'mailman-subscribe:    "|/var/lib/mailman/mail/mailman subscribe mailman"' >> /etc/aliases
echo 'mailman-unsubscribe:  "|/var/lib/mailman/mail/mailman unsubscribe mailman"' >> /etc/aliases
newaliases
service postfix restart
ln -s /etc/mailman/apache.conf /etc/apache2/conf-available/mailman.conf
a2enconf mailman
service apache2 restart
service mailman start
FTP и квоты
apt-get -y install pure-ftpd-common pure-ftpd-mysql quota quotatool
cp /etc/default/pure-ftpd-common /etc/default/pure-ftpd-common_old

sed -i 's/VIRTUALCHROOT=false/VIRTUALCHROOT=true/' /etc/default/pure-ftpd-common
echo 1 > /etc/pure-ftpd/conf/TLS

mkdir -p /etc/ssl/private/
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
chmod 600 /etc/ssl/private/pure-ftpd.pem
service pure-ftpd-mysql restart

cp /etc/fstab /etc/fstab_ok
sed -i 's/ \/ ext4 defaults 0 0/ \/ ext4 errors=remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1/g' /etc/fstab
mount -o remount /
quotacheck -avugm
quotaon -avug
12 Install BIND DNS Server
apt-get -y install bind9 dnsutils haveged
systemctl enable haveged
systemctl start haveged
#13 Install Vlogger, Webalizer, and AWStats # Не ставим посколкьу есть метрики смысла нет. #14. Install Jailkit
apt-get -y install build-essential autoconf automake1.11 libtool flex bison debhelper binutils
cd /tmp 
wget http://olivier.sessink.nl/jailkit/jailkit-2.19.tar.gz
tar xvfz jailkit-2.19.tar.gz
cd jailkit-2.19
echo 5 > debian/compat
./debian/rules binary
cd ..
dpkg -i jailkit_2.19-1_*.deb
rm -rf jailkit-2.19*
#15. Install fail2ban and UFW
apt-get install -y fail2ban

echo "[pure-ftpd]" >> /etc/fail2ban/jail.local
echo "enabled = true" >> /etc/fail2ban/jail.local
echo "port = ftp" >> /etc/fail2ban/jail.local
echo "filter = pure-ftpd" >> /etc/fail2ban/jail.local
echo "logpath = /var/log/syslog" >> /etc/fail2ban/jail.local
echo "maxretry = 3" >> /etc/fail2ban/jail.local
echo -e "\n" >> /etc/fail2ban/jail.local
echo "[dovecot]" >> /etc/fail2ban/jail.local
echo "enabled = true" >> /etc/fail2ban/jail.local
echo "filter = dovecot" >> /etc/fail2ban/jail.local
echo "action = iptables-multiport[name=dovecot-pop3imap, port="pop3,pop3s,imap,imaps", protocol=tcp" >> /etc/fail2ban/jail.local 
echo "logpath = /var/log/mail.log" >> /etc/fail2ban/jail.local
echo -e "maxretry = 5" >> /etc/fail2ban/jail.local
echo -e "\n" >> /etc/fail2ban/jail.local
echo "[postfix]" >> /etc/fail2ban/jail.local
echo "enabled = true" >> /etc/fail2ban/jail.local
echo "port = smtp" >> /etc/fail2ban/jail.local
echo "filter = postfix" >> /etc/fail2ban/jail.local
echo "logpath = /var/log/mail.log" >> /etc/fail2ban/jail.local
echo "maxretry = 3" >> /etc/fail2ban/jail.local
service fail2ban restart
Почти все готово
apt-get install ufw
#3 страница
apt-get -y install roundcube roundcube-core roundcube-mysql roundcube-plugins javascript-common libjs-jquery-mousewheel php-net-sieve tinymce

cp  /etc/apache2/conf-enabled/roundcube.conf  /etc/apache2/conf-enabled/roundcube.conf_old
echo "Alias /roundcube /var/lib/roundcube" >> /etc/apache2/conf-enabled/roundcube.conf
echo "Alias /webmail /var/lib/roundcube" >> /etc/apache2/conf-enabled/roundcube.conf
sed --in-place --follow-symlinks 's//\n AddType application\/x-httpd-php .php/g' /etc/apache2/conf-enabled/roundcube.conf

cp /etc/roundcube/config.inc.php /etc/roundcube/config.inc.php_old
sed --in-place --follow-symlinks 's/\x24config\[\x27default_host\x27\] = \x27\x27\x3B/\x24config\[\x27default_host\x27\] = \x27localhost\x27\x3B/g' /etc/roundcube/config.inc.php
Ставим Ispconfig3
cd /tmp
wget -O ispconfig.tar.gz https://git.ispconfig.org/ispconfig/ispconfig3/repository/archive.tar.gz?ref=stable-3.1
tar xfz ispconfig.tar.gz
cd ispconfig3*/install/
php -q install.php

PHP 5.6 | 7.0 | 7.1 | 7.2 | 7.3| 7.4

PHP 5.6 -7.3 (остальные позже) все версии php работают из репозиториев и обновляются ! Ставим multiphp не по мануалам а из доступных репозиториев, так же стоит отметить что тут уже добавлены библиотеки и убавленя с учетом установки и более старых версий, а главное библиотеки которые нужны ispconfig, в общем тут все модернизировано
sudo apt install -y software-properties-common
sudo add-apt-repository -y ppa:ondrej/php
sudo apt update
apt-get -y upgrade
apt-get -y install apache2 php7.0-opcache apache2-utils libapache2-mod-php7.0 php7.0 php7.0-common php7.0-gd php7.0-mysql php7.0-imap php7.0-cli php7.0-cgi php7.2-cgi libapache2-mod-fcgid apache2-suexec-pristine php-pear php7.0-mcrypt mcrypt imagemagick libruby libapache2-mod-python php7.0-curl php7.0-intl php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl memcached php-memcache php-imagick php-gettext php7.0-zip php7.0-mbstring libapache2-mod-passenger php7.0-soap  php7.0-fpm
apt-get -y install apache2 php7.1-opcache apache2-utils libapache2-mod-php7.1 php7.1 php7.1-common php7.1-gd php7.1-mysql php7.1-imap php7.1-cli php7.1-cgi php7.2-cgi libapache2-mod-fcgid apache2-suexec-pristine php-pear php7.1-mcrypt mcrypt imagemagick libruby libapache2-mod-python php7.1-curl php7.1-intl php7.1-pspell php7.1-recode php7.1-sqlite3 php7.1-tidy php7.1-xmlrpc php7.1-xsl php-imagick php-gettext php7.1-zip php7.1-mbstring memcached libapache2-mod-passenger php7.1-soap  php7.1-fpm
apt-get -y install apache2 php7.2-opcache apache2-utils libapache2-mod-php7.2 php7.2 php7.2-common php7.2-gd php7.2-mysql php7.2-imap php7.2-cli php7.2-cgi php7.2-cgi libapache2-mod-fcgid apache2-suexec-pristine php-pear libapache2-mod-oppython php7.2-curl php7.2-intl php7.2-pspell php7.2-recode php7.2-sqlite3 php7.2-tidy php7.2-xmlrpc php7.2-xsl memcached php-memcache php-imagick php-gettext php7.2-zip php7.2-mbstring libapache2-mod-passenger php7.2-soap  php7.2-fpm
apt-get -y install apache2 php7.3-opcache apache2-utils libapache2-mod-php7.3 php7.3 php7.3-common php7.3-gd php7.3-mysql php7.3-imap php7.3-cli php7.3-cgi php7.3-cgi libapache2-mod-fcgid apache2-suexec-pristine php-pear imagemagick libruby libapache2-mod-python php7.3-curl php7.3-intl php7.3-pspell php7.3-recode php7.3-sqlite3 php7.3-tidy php7.3-xmlrpc php7.3-xsl php-imagick php-gettext php7.3-zip php7.3-mbstring libapache2-mod-passenger php7.3-soap  php7.3-fpm
apt-get -y install apache2 php5.6-opcache apache2-utils libapache2-mod-php5.6 php5.6 php5.6-common php5.6-gd php5.6-mysql php5.6-imap php5.6-cli php5.6-cgi php5.6-cgi php5.6-opcache libapache2-mod-fcgid apache2-suexec-pristine php-pear php5.6-mcrypt mcrypt  imagemagick libruby libapache2-mod-python php5.6-curl php5.6-intl php5.6-pspell php5.6-recode php5.6-sqlite3 php5.6-tidy php5.6-xmlrpc php5.6-xsl  php5.6-zip php5.6-mbstring  libapache2-mod-passenger php5.6-soap php5.6-fpm
apt-get -y install apache2 php7.4-opcache apache2-utils libapache2-mod-php7.4 php7.4 php7.4-common php7.4-gd php7.4-mysql php7.4-imap php7.4-cli php7.4-cgi php7.4-cgi libapache2-mod-fcgid apache2-suexec-pristine php-pear imagemagick libruby libapache2-mod-python php7.4-curl php7.4-intl php7.4-pspell php7.4-sqlite3 php7.4-tidy php7.4-xmlrpc php7.4-xsl php-imagick php-gettext php7.4-zip php7.4-mbstring libapache2-mod-passenger php7.4-soap  php7.4-fpm
apt-get -y install php-memcache php-memcached

#Смена дефолт верси
#update-alternatives --config php 
#update-alternatives --config php-cgi

service php5.6-fpm restart
service php7.0-fpm restart
service php7.1-fpm restart
service php7.2-fpm restart
service php7.3-fpm restart
service php7.4-fpm restart
Деламем дамп БД, вдруг что не так.
mysqldump -uroot -p'ВАШ ПАРОЛЬ' dbispconfig > /root/dbispconfig.sql
Добавляем настройки milti php в базу данных, просто вставьте инсертом, не стал делать через скрипт, поскольку прийдется экранировать все спец символы, а так можно и почитать и поправить.
mysql -uroot -p'ВАШ ПАРОЛЬ' dbispconfig 
Вставляем все сразу и жмем интер
INSERT INTO `server_php` (`server_php_id`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `client_id`, `name`, `php_fastcgi_binary`, `php_fastcgi_ini_dir`, `php_fpm_init_script`, `php_fpm_ini_dir`, `php_fpm_pool_dir`, `active`) VALUES
(7, 1, 1, 'riud', 'riud', '', 1, 0, 'PHP 5.6', '/usr/bin/php-cgi5.6', '/etc/php/5.6/cgi', 'php5.6-fpm', '/etc/php/5.6/fpm', '/etc/php/5.6/fpm/pool.d', 'y'),
(6, 1, 1, 'riud', 'riud', '', 1, 0, 'PHP 7.0', '/usr/bin/php-cgi7.0', '/etc/php/7.0/cgi', 'php7.0-fpm', '/etc/php/7.0/fpm', '/etc/php/7.0/fpm/pool.d', 'y'),
(5, 1, 1, 'riud', 'riud', '', 1, 0, 'PHP 7.1', '/usr/bin/php-cgi7.1', '/etc/php/7.1/cgi', 'php7.1-fpm', '/etc/php/7.1/fpm', '/etc/php/7.1/fpm/pool.d', 'y'),
(4, 1, 1, 'riud', 'riud', '', 1, 0, 'PHP 7.2', '/usr/bin/php-cgi7.2', '/etc/php/7.2/cgi', 'php7.2-fpm', '/etc/php/7.2/fpm', '/etc/php/7.2/fpm/pool.d', 'y'),
(3, 1, 1, 'riud', 'riud', '', 1, 0, 'PHP 7.4', '/usr/bin/php-cgi7.4', '/etc/php/7.4/cgi', 'php7.4-fpm', '/etc/php/7.4/fpm', '/etc/php/7.4/fpm/pool.d', 'y'),
(2, 1, 1, 'riud', 'riud', '', 1, 0, 'PHP 5.4', '/opt/php5.4.45/bin/php-cgi', '/opt/php5.4.45/lib', '/opt/php5.4.45/sbin/php-fpm', '/opt/php5.4.45/lib/', '/opt/php5.4.45/etc/pool.d', 'y'),
(1, 1, 1, 'riud', 'riud', '', 1, 0, 'PHP 5.3', '/opt/php5.3.29_cgi/bin/php-cgi', '/opt/php5.3.29/lib/php.ini', '/opt/php5.3.29/sbin/php-fpm', '/opt/php5.3.29/lib/', '/opt/php5.3.29/etc/pool.d', 'y');
Выходим
exit

Снипеты apache nginx php

mysql -uroot -p'ВАШ ПАРОЛЬ' dbispconfig 
Добавляем  полезные снипеты  
INSERT INTO `directive_snippets` (`directive_snippets_id`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `name`, `type`, `snippet`, `customer_viewable`, `required_php_snippets`, `active`, `master_directive_snippets_id`) VALUES
(11, 1, 1, 'riud', 'riud', '', 'pass off to IP', 'nginx', '######################################################################\r\n##  Замените айпи, один айпи наш, второй клиента\r\n######################################################################\r\nsatisfy any;\r\nallow 78.107.253.242;\r\nallow 195.201.36.189;', 'n', '', 'y', 0),
(8, 1, 1, 'riud', 'riud', '', 'sendmail OFF', 'php', '######################################################################\r\n## Запретить отключить функцию mail на сайте, вообще не работает почта.\r\n######################################################################\r\ndisable_functions=mail', 'y', '', 'y', 0),
(9, 1, 1, 'riud', 'riud', '', 'mbstring = 0', 'php', '######################################################################\r\n##  Любые сайты не на bitrix\r\n######################################################################\r\nmbstring.func_overload = 0', 'y', '', 'y', 0),
(7, 1, 1, 'riud', 'riud', '', 'Mail file log on', 'php', ';######################################################################\r\n;## Ведет логирование какой файл в какой строке отправил почту\r\n;######################################################################\r\nmail.add_x_header = On\r\nmail.log = syslog', 'y', '', 'y', 0),
(6, 1, 1, 'riud', 'riud', '', 'Disabled Iframe', 'nginx', '######################################################################\r\n## Запретить Iframe с других сайтов ( Требование монитора качества)\r\n######################################################################\r\nadd_header X-Content-Type-Options nosniff;\r\nadd_header X-Frame-Options SAMEORIGIN;', 'y', '', 'y', 0);
Выходим
exit

Шаблоны ДНС зон для основных сервисов

mysql -uroot -p'ВАШ ПАРОЛЬ' dbispconfig 
Добавим  шаблоны днс

INSERT INTO `dns_template` (`template_id`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `name`, `fields`, `template`, `visible`) VALUES
(4, 1, 1, 'riud', 'riud', '', 'Почта на Google', 'DOMAIN', '[ZONE]\r\norigin={DOMAIN}.\r\nns=ns1.ks05.ru.\r\nmbox=viktor.7877796.ru.\r\nrefresh=7200\r\nretry=540\r\nexpire=1209600\r\nminimum=86400\r\nttl=3600\r\n\r\n[DNS_RECORDS]\r\nA|{DOMAIN}.|95.216.36.253|0|3600\r\nA|www|95.216.36.253|0|3600\r\nNS|{DOMAIN}.|ns1.ks05.ru.|0|3600\r\nNS|{DOMAIN}.|ns2.ks05.ru.|0|3600\r\nMX|{DOMAIN}.|ALT2.ASPMX.L.GOOGLE.COM.|5|3600\r\nMX|{DOMAIN}.|aspmx.l.google.com.|1|3600\r\nMX|{DOMAIN}.|ALT1.ASPMX.L.GOOGLE.COM.|5|3600\r\nMX|{DOMAIN}.|aspmx2.googlemail.com.|10|3600\r\nMX|{DOMAIN}.|aspmx3.googlemail.com.|10|3600\r\nPTR|95.216.36.253.in-addr.arpa |{DOMAIN}|0|3600\r\nTXT|{DOMAIN}.|v=spf1 ip4:95.216.36.253 ip4:95.216.104.125 include:_spf.google.com ~all|0|3600', 'Y'),
(3, 1, 1, 'riud', 'riud', '', 'Почта на mail.ru', 'DOMAIN', '[ZONE]\r\norigin={DOMAIN}.\r\nns=ns1.ks05.ru.\r\nmbox=viktor.7877796.ru.\r\nrefresh=7200\r\nretry=540\r\nexpire=1209600\r\nminimum=86400\r\nttl=3600\r\n\r\n[DNS_RECORDS]\r\nA|{DOMAIN}.|95.216.36.253|0|3600\r\nA|www|95.216.36.253|0|3600\r\nNS|{DOMAIN}.|ns1.ks05.ru.|0|3600\r\nNS|{DOMAIN}.|ns2.ks05.ru.|0|3600\r\nMX|{DOMAIN}.|emx.mail.ru.|10|3600\r\nPTR|95.216.36.253.in-addr.arpa |{DOMAIN}|0|3600\r\nTXT|{DOMAIN}.|v=spf1 ip4:95.216.36.253 ip4:95.216.104.125 include:_spf.mail.ru ~all|0|3600', 'Y'),
(2, 1, 1, 'riud', 'riud', '', 'Почта на Яндекс ', 'DOMAIN', '[ZONE]\r\norigin={DOMAIN}.\r\nns=ns1.ks05.ru.\r\nmbox=viktor.7877796.ru.\r\nrefresh=7200\r\nretry=540\r\nexpire=1209600\r\nminimum=86400\r\nttl=3600\r\n\r\n[DNS_RECORDS]\r\nA|{DOMAIN}.|95.216.36.253|0|3600\r\nA|www|95.216.36.253|0|3600\r\nA|mx|95.216.36.253|0|3600\r\nCNAME|mail.{DOMAIN}.|domain.mail.yandex.net.|0|3600\r\nNS|{DOMAIN}.|ns1.ks05.ru.|0|3600\r\nNS|{DOMAIN}.|ns2.ks05.ru.|0|3600\r\nMX|{DOMAIN}.|mx.yandex.net.|10|3600\r\nMX|{DOMAIN}.|mx.{DOMAIN}.|20|3600\r\nPTR|95.216.36.253.in-addr.arpa |{DOMAIN}|0|3600\r\nTXT|{DOMAIN}.|v=spf1 ip4:95.216.36.253 ip4:95.216.104.125 include:_spf.yandex.net ~all|0|3600', 'Y');
Выходим
exit

PHP 5.4 (все виды представления)

Компилируем, все переписано ни в одном мане этого нет, полностью переработаны все зависимости и configure полностью срабатывает на текущем релизе убунты
apt-get install -y libxslt-dev libcurl4-gnutls-dev libfcgi-dev libfcgi0ldbl libmcrypt-dev libssl-dev libxml2-dev zlib1g-dev libcurl4-gnutls-dev libjpeg-turbo8-dev libbz2-dev libjpeg-dev libfreetype6-dev libmcrypt-dev libcurl4-gnutls-dev
apt-get install -y libpq-dev
cd /usr/include
cd /usr/local/include
sudo ln -s /usr/include/x86_64-linux-gnu/curl curl
mkdir /opt/php5.4.45
mkdir /usr/local/src/php5
cd /usr/local/src/php5
wget http://de2.php.net/get/php-5.4.45.tar.gz/from/this/mirror
mv mirror php-5.4.45.tar.gz
tar -xzvf php-5.4.45.tar.gz
cd php-5.4.45


./configure \
--prefix=/opt/php5.4.45 \
--with-pdo-pgsql \
--with-zlib-dir \
--with-freetype-dir \
--enable-mbstring \
--with-libxml-dir=/usr \
--enable-soap \
--enable-calendar \
--with-curl \
--with-mcrypt \
--with-zlib \
--with-gd \
--with-pgsql \
--disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--with-zlib \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
--with-mhash \
--enable-zip \
--with-pcre-regex \
--with-mysql \
--with-pdo-mysql \
--with-mysqli \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--enable-gd-native-ttf \
--with-fpm-user=www-data \
--with-fpm-group=www-data \
--with-libdir=/lib/x86_64-linux-gnu \
--enable-ftp \
--with-kerberos \
--with-gettext \
--enable-fpm
make
make install

cp /usr/local/src/php5/php-5.4.45/php.ini-production /opt/php5.4.45/lib/php.ini
cp /opt/php5.4.45/etc/php-fpm.conf.default /opt/php5.4.45/etc/php-fpm.conf


sed -i 's/listen = 127.0.0.1:9000/listen = 127.0.0.1:8998/g' /opt/php5.4.45/etc/php-fpm.conf
sed -i 's/\x3Bpid = run\/php-fpm.pid/pid = run\/php-fpm.pid/g' /opt/php5.4.45/etc/php-fpm.conf
echo "include=/opt/php5.4.45/etc/pool.d/*.conf" >> /opt/php5.4.45/etc/php-fpm.conf

mkdir /opt/php5.4.45/etc/pool.d
vim /etc/init.d/php5.4.45-fpm  # вставляем конфиг, и правим версию пхп https://www.howtoforge.com/how-to-use-multiple-php-versions-php-fpm-and-fastcgi-with-ispconfig-3-ubuntu-12.10-p3
chmod 755 /etc/init.d/php5.4.45-fpm
#заменяем актуальной версией php,  плс название в общем стиле а не как по ману
sed -i 's/php\-5\.4\.12/php5.4.45/g' /etc/init.d/php5.4.45-fpm

update-rc.d php5.4.45-fpm defaults 
/etc/init.d/php5.4.45-fpm start
update-rc.d php7.3-fpm defaults
apt-get install libmemcached-dev

# исправит проблему подключения по loalhost поскольку в  стандартных php.ini она вообще не обьявлена
echo "mysqli.default_socket = /var/run/mysqld/mysqld.sock" >> /opt/php5.4.45/lib/php.ini
echo "mysqli.default_socket = /var/run/mysqld/mysqld.sock" >> /opt/php5.4.45/lib/php.ini
/etc/init.d/php5.4.45-fpm restart
/etc/init.d/apache2 restart

zend opcache PHP 5.4.45
 cd /usr/local/src && mkdir opcache && cd opcache && wget https://github.com/zendtech/ZendOptimizerPlus/archive/master.zip && unzip master.zip && cd ZendOptimizerPlus-master
/opt/php5.4.45/bin/phpize
./configure \
--with-php-config=/opt/php5.4.45/bin/php-config
make
make install 
rm -rf /usr/local/src/opcache/
echo "zend_extension=/opt/php5.4.45/lib/php/extensions/no-debug-non-zts-20100525/opcache.so" >> /opt/php5.4.45/lib/php.ini
echo "opcache.enable=1" >> /opt/php5.4.45/lib/php.ini
echo "opcache.memory_consumption=2048" >> /opt/php5.4.45/lib/php.ini
echo "opcache.interned_strings_buffer=512" >> /opt/php5.4.45/lib/php.ini
echo "opcache.max_accelerated_files=100000" >> /opt/php5.4.45/lib/php.ini
echo "opcache.max_wasted_percentage=1" >> /opt/php5.4.45/lib/php.ini
echo "opcache.validate_timestamps=1" >> /opt/php5.4.45/lib/php.ini
echo "opcache.revalidate_freq=0" >> /opt/php5.4.45/lib/php.ini
echo "opcache.fast_shutdown=1" >> /opt/php5.4.45/lib/php.ini
echo "opcache.save_comments=1" >> /opt/php5.4.45/lib/php.ini
echo "opcache.load_comments=1" >> /opt/php5.4.45/lib/php.ini
echo "opcache.revalidate_freq = 0" >> /opt/php5.4.45/lib/php.ini
/etc/init.d/php5.4.45-fpm restart
/etc/init.d/apache2 restart
#zend guard loader PHP 5.4.45
mkdir -p /opt/php5.4.45/lib/php/extensions/no-debug-non-zts-20100525/
wget http://downloads.zend.com/guard/6.0.0/ZendGuardLoader-70429-PHP-5.4-linux-glibc23-x86_64.tar.gz
tar xzvf ZendGuardLoader-70429-PHP-5.4-linux-glibc23-x86_64.tar.gz  -C /opt/php5.4.45/lib/php/extensions/no-debug-non-zts-20100525/
#cp -r /home/extensions/no-debug-non-zts-20100525/ZendGuardLoader.so /opt/php5.4.45/lib/php/extensions/no-debug-non-zts-20100525/
echo "zend_extension=/opt/php5.4.45/lib/php/extensions/no-debug-non-zts-20100525/ZendGuardLoader.so" >> /opt/php5.4.45/lib/php.ini

/etc/init.d/php5.4.45-fpm restart
/etc/init.d/apache2 restart
ln -s /opt/php5.4.45/lib /etc/php/5.4

PHP 5.3 (все виды представления)

Данную версию приходится компилировать два раза !!!! поскольку в стандартном 5.3 есть ошибка, которая не дает одновременно установить CGI и FPM, по этому мы его будем компилировать в две разные папки, по сути у нас будет две версии 5.3, но мы положим один конфигурационный файл для управления.
#apt-get install libc-client-dev 
#apt-get install libmysql-cil-dev
apt-get install libmysqlclient-dev
mkdir /opt/php5.3.29
mkdir /usr/local/src/php5
cd /usr/local/src/php5
wget http://de2.php.net/get/php-5.3.29.tar.bz2/from/this/mirror
mv mirror php-5.3.29.tar.bz2
tar -xvjf php-5.3.29.tar.bz2
cd php-5.3.29

./configure \
--with-curl \
--prefix=/opt/php5.3.29 \
--with-zlib-dir \
--with-freetype-dir \
--enable-mbstring \
--enable-soap \
--enable-calendar \
--with-mcrypt \
--with-zlib \
--with-gd \
--disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--with-zlib \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
--with-mhash \
--enable-zip \
--with-pcre-regex \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql \
--with-pdo-mysql=mysqlnd \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--enable-gd-native-ttf \
--with-fpm-user=www-data \
--with-fpm-group=www-data \
--enable-ftp \
--with-kerberos \
--with-gettext \
--with-libdir=lib64 \
--enable-exif \
--with-xmlrpc \
--enable-bcmath \
--enable-fpm


make
make install
# повторить поскольку CGI не уживается с FPM на этой версии php, так что мы собираем ее как независимую
./configure \
--with-curl \
--prefix=/opt/php5.3.29_cgi \
--with-zlib-dir \
--with-freetype-dir \
--enable-mbstring \
--enable-soap \
--enable-calendar \
--with-mcrypt \
--with-zlib \
--with-gd \
--disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--with-zlib \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
--with-mhash \
--enable-zip \
--with-pcre-regex \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql \
--with-pdo-mysql=mysqlnd \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--enable-gd-native-ttf \
--with-fpm-user=www-data \
--with-fpm-group=www-data \
--with-kerberos \
--with-gettext \
--with-libdir=lib64 \
--enable-exif \
--with-xmlrpc \
--enable-bcmath \
--enable-discard-path \
--enable-force-cgi-redirect \
--enable-cgi \
--enable-cli \
--enable-fastcgi 

# php.ini не копирую поскольку от этойт версии нам нужно только CGI

cp /usr/local/src/php5/php-5.3.29/php.ini-production /opt/php5.3.29/lib/php.ini

# исправит проблему подключения по loalhost поскольку в  стандартных php.ini она вообще не обьявлена
echo "mysqli.default_socket = /var/run/mysqld/mysqld.sock" >> /opt/php-5.3.29/lib/php.ini
echo "mysqli.default_socket = /var/run/mysqld/mysqld.sock" >> /opt/php-5.3.29/lib/php.ini

cp /opt/php5.3.29/etc/php-fpm.conf.default /opt/php5.3.29/etc/php-fpm.conf

sed -i 's/listen = 127.0.0.1:9000/listen = 127.0.0.1:8532/g' /opt/php5.3.29/etc/php-fpm.conf
sed -i 's/\x3Bpid = run\/php-fpm.pid/pid = run\/php-fpm.pid/g' /opt/php5.3.29/etc/php-fpm.conf
echo "include=/opt/php5.3.29/etc/pool.d/*.conf" >> /opt/php5.3.29/etc/php-fpm.conf

mkdir /opt/php5.3.29/etc/pool.d
vim /etc/init.d/php5.3.29-fpm  # вставляем конфиг, и правим версию пхп https://www.howtoforge.com/how-to-use-multiple-php-versions-php-fpm-and-fastcgi-with-ispconfig-3-ubuntu-12.04-lts
sed -i 's/php\-5\.3\.22/php5.3.29/g' /etc/init.d/php5.3.29-fpm
chmod 755 /etc/init.d/php5.3.29-fpm
update-rc.d php5.3.29-fpm defaults 
/etc/init.d/php5.3.29-fpm restart
/etc/init.d/php5.3.29-fpm start

zend opcache PHP 5.3.29
 cd /usr/local/src && mkdir opcache && cd opcache && wget https://github.com/zendtech/ZendOptimizerPlus/archive/master.zip && unzip master.zip && cd ZendOptimizerPlus-master
/opt/php5.3.29/bin/phpize
./configure \
--with-php-config=/opt/php5.3.29/bin/php-config
make
make install 
echo "zend_extension=/opt/php5.3.29/lib/php/extensions/no-debug-non-zts-20090626/opcache.so" >> /opt/php5.3.29/lib/php.ini
echo "opcache.enable=1" >> /opt/php5.3.29/lib/php.ini
echo "opcache.memory_consumption=2048" >> /opt/php5.3.29/lib/php.ini
echo "opcache.interned_strings_buffer=512" >> /opt/php5.3.29/lib/php.ini
echo "opcache.max_accelerated_files=100000" >> /opt/php5.3.29/lib/php.ini
echo "opcache.max_wasted_percentage=1" >> /opt/php5.3.29/lib/php.ini
echo "opcache.validate_timestamps=1" >> /opt/php5.3.29/lib/php.ini
echo "opcache.revalidate_freq=0" >> /opt/php5.3.29/lib/php.ini
echo "opcache.fast_shutdown=1" >> /opt/php5.3.29/lib/php.ini
echo "opcache.save_comments=1" >> /opt/php5.3.29/lib/php.ini
echo "opcache.load_comments=1" >> /opt/php5.3.29/lib/php.ini
echo "opcache.revalidate_freq = 0" >> /opt/php5.3.29/lib/php.ini
zend guard loader PHP 5.3.29
cd /tmp
mkdir -p /opt/php5.3.29/lib/php/extensions/no-debug-non-zts-20090626/
wget http://downloads.zend.com/guard/5.5.0/ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz
tar xzvf ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz -C /opt/php5.3.29/lib/php/extensions/no-debug-non-zts-20090626/
echo "zend_extension=/opt/php5.3.29/lib/php/extensions/no-debug-non-zts-20090626/ZendGuardLoader.so" >> /opt/php5.3.29/lib/php.ini
/etc/init.d/php5.3.29-fpm restart
/etc/init.d/apache2 restart
ln -s /opt/php5.3.29/lib /etc/php/5.3

Еще плюшки, тут ручками вводим в админке

Отключаем Open_Basedir, бесполезно и снижает производительность в 2 раза!
Система >  Конфигурация сервера > ваш сервер > веб > Уровень безопасности > medium
Система >  Конфигурация сервера > ваш сервер > веб > Уровень безопасности > medium
Дефолтный php ставим 7.2, на 7.3 не phpmyadmin выкидывал ошибки
Система >  Конфигурация сервера > ваш сервер > веб > Параметры PHP > Description Default PHP-Version >PHP 7.2
																	/etc/php/7.2/apache2/php.ini
																	/etc/php/7.2/cgi/php.ini
																	php7.2-fpm
																	/etc/php/7.2/fpm/php.ini
																	/etc/php/7.2/fpm/pool.d
																	9010
																	/var/lib/php7.2-fpm

																
Система > Конфигурация сервера > ваш сервер > веб > Параметры PHP > Обработчик PHP по умолчанию > php-fpm
Система > Брэндмауер   > Открытые порты TCP > 20,21,22,53,80,143,443,1234,3306,8080,8081,10000,40110:40210
Система > Конфиг интерфйса > удаляем все префиксы, у mysql  и так мало символов
40110:40210 порты - нужны для корректной работы FTP сервера при закрытых портах

Учшаем производительность

Реально до дух раз ! http://www.michurin.net/tools/cpu-frequency.html
for CPUFREQ in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do [ -f $CPUFREQ ] || continue; cat $CPUFREQ; done
for CPUFREQ in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do [ -f $CPUFREQ ] || continue; echo -n performance > $CPUFREQ; done
После перезагрузки слетает так что если понравится то или в крон или в биосе включите ( по умолчанию всегда энерджисейв)

Отимизируем mysql

mysqli.default_socket = /var/run/mysqld/mysqld.sock
mysql.default_socket = /var/run/mysqld/mysqld.sock
short_open_tag = On
max_input_vars = 10000
max_file_uploads = 500
max_execution_time = 300
post_max_size = 1024M
upload_max_filesize = 400M
pcre.backtrack_limit = 1000000
pcre.recursion_limit = 14000
realpath_cache_size = 4096k
mbstring.func_overload = 2
mbstring.internal_encoding = UTF-8
date.timezone = Europe/Moscow
memory_limit = 4096M
zend_extension=opcache.so
opcache.enable=1
opcache.memory_consumption=2048
opcache.interned_strings_buffer=512
opcache.max_accelerated_files=100000
opcache.max_wasted_percentage=1
opcache.validate_timestamps=1
opcache.revalidate_freq=0
opcache.fast_shutdown=1
opcache.save_comments=1
opcache.load_comments=1
opcache.revalidate_freq = 0
query_cache_type = 1
    query_cache_size = 128M
    query_cache_limit = 16M
    innodb_buffer_pool_size = 16384M
    max_connections = 400
    table_open_cache = 18432
    thread_cache_size = 512
    max_heap_table_size = 128M
    tmp_table_size = 128M
    key_buffer_size = 256M
    join_buffer_size = 32M
    sort_buffer_size = 32M
    bulk_insert_buffer_size = 2M
    myisam_sort_buffer_size = 32M

sql-mode=""
innodb_flush_log_at_trx_commit=2
transaction-isolation=READ-COMMITTED
innodb_flush_method=O_DIRECT

nginx +apache ( прикреплены файлы положить в /home потом можно удалять)

Разархивируйте файлы в /home положить в каталога, переделывать их в скрпыты быkо бы долго так что я просто положил файлы, все они уже подготовлены для нашей конфигурации и сработают именно на ней, они скопируются в нужные места после этого их можно удалить. Все действия по дороге бэкапируются.
Архив файлов
Вся статья одним файлом
c active
###############################################Кастомизация установка nginx
#делаем бэкап c  сохранением прав
#tar -zcvpf /var/backup/ispconfig.tgz /usr/local/ispconfig  #восстановить tar -zxvpf /var/backup/ispconfig.tgz /usr/local/ispconfig
#tar -zcvpf /var/backup/etc.tgz /etc 
#Меняем порты 80 на 82 для http
#Меняем 443 на 4443, этот порт нам тоже понадобится, поскольку я не сторонник проксировать https трафик на http посколку у вас будут большие проблемы с редиректами и заголовками, да и безопасность  страдает поскольку  и канал и обе стороны тоже должны быть закрыты сертификатами, так что нам понадобится еще один порт для https
sed --in-place --follow-symlinks 's/80/82/g' /etc/apache2/ports.conf
sed --in-place --follow-symlinks 's/:80/:82/g' /etc/apache2/sites-enabled/000-default.conf
sed --in-place --follow-symlinks 's/:80/:82/g' /etc/apache2/sites-enabled/000-ispconfig.conf
sed --in-place --follow-symlinks 's/443/4443/g' /etc/apache2/ports.conf 
sed --in-place --follow-symlinks 's/443/4443/g' /etc/apache2/sites-available/default-ssl.conf
sed --in-place --follow-symlinks 's/443/4443/g' /etc/apache2/sites-available/ispconfig.conf
# меняем во всех конфигах без --follow-symlinks sed положит в это место файл, вметсо перехода по симлинке
# замена только для * если у вас есть сайты с айпи то лучше удалите эти конфиги, там много тонкостей.
find /etc/apache2/sites-enabled/ -name "*.vhost" -exec sed --in-place --follow-symlinks 's///g' "{}" \;
find /etc/apache2/sites-enabled/ -name "*.vhost" -exec sed --in-place --follow-symlinks 's///g' "{}" \;
# убедимся  что больше нет ни одного файла с  этим портом,  где -l  отобразает имя файла где найдена строка а не сама строка, в ответе у нас должно быть пусто.
find /etc/apache2/  -type f  -exec egrep -l ":80($|>)" {} \; 
find /etc/apache2/  -type f  -exec egrep -l ":443($|>)" {} \; 
/etc/init.d/apache2 restart
netstat -ntpl | grep apache2 
# проверяем
# root@ks03 /etc/apache2/conf-enabled # netstat -ntpl | grep apache2
# tcp6       0      0 :::8080                 :::*                    LISTEN      21785/apache2
# tcp6       0      0 :::8081                 :::*                    LISTEN      21785/apache2
# tcp6       0      0 :::82                   :::*                    LISTEN      21785/apache2
# tcp6       0      0 :::4443                 :::*                    LISTEN      21785/apache2

apt-get install libapache2-mod-rpaf # нужен будет для правельных логов ибо в них будет localhost  вместо айпи
sudo a2enmod rpaf  # тут синтаксист и тд и тп зависит от ОС, да еще и маны с ошибками
# добавляем айпи  строку 
IP=$(wget -qO - 2ip.ru|egrep -m 1 -o "([0-9]+\.){3}[0-9]+") && sed -i 's/RPAFproxy_ips 127.0.0.1 ::1/RPAFproxy_ips 127.0.0.1 '$IP'/g' /etc/apache2/mods-enabled/rpaf.conf

/etc/init.d/apache2 stop
/etc/init.d/apache2 start

apt-get -y install nginx
rm /etc/nginx/sites-enabled/default # К херам, все-равно у нас будет дефолтная ловушка уводящая на apache, посколкьу за 404  и тд должны отвечать движки сайтов.
cp /home/nginx_reverse_proxy_plugin.inc.php /usr/local/ispconfig/server/plugins-available/ 
ln -s /usr/local/ispconfig/server/plugins-available/nginx_reverse_proxy_plugin.inc.php /usr/local/ispconfig/server/plugins-enabled/nginx_reverse_proxy_plugin.inc.php 
cp /home/nginx_reverse_proxy_plugin.vhost.conf.master /usr/local/ispconfig/server/conf-custom/

#активируем 
# конфиг вообще не берем он кривой
#осталось убрать 80 порт в генераторе  для апачь и поменять  его на 82, в большенстве мануалов мы правим конфиги  и там удаляем переменную, но не все так просто,  она действитенльно должна быть переменной по этому нам нужно править не шаблоны а сами плагины, таких два, мы просто заменим в них переменные.

cp /usr/local/ispconfig/server/conf/apache_ispconfig.conf.master /usr/local/ispconfig/server/conf-custom # тут есть упоминания о портах ;(
sed -i 's/*:80/*:82/g' /usr/local/ispconfig/server/conf-custom/apache_ispconfig.conf.master
sed -i 's/*:443/*:4443/g' /usr/local/ispconfig/server/conf-custom/apache_ispconfig.conf.master
sed -i 's/{tmpl_var name\=\x22port\x22}/{tmpl_if name\=\x27port\x27 op\=\x27\=\=\x27 value\=\x2780\x27>82\n<\/tmpl_if}{tmpl_if name\=\x27port\x27 op\=\x27\=\=\x27 value\=\x27443\x27>4443\n<\/tmpl_if}/g' /usr/local/ispconfig/server/conf-custom/apache_ispconfig.conf.master
cp /usr/local/ispconfig/server/conf/vhost.conf.master /usr/local/ispconfig/server/conf-custom/vhost.conf.master
sed -i 's/{tmpl_var name\=\x27port\x27}/{tmpl_if name\=\x27port\x27 op\=\x27\=\=\x27 value\=\x2780\x27>82<\/tmpl_if}{tmpl_if name\=\x27port\x27 op\=\x27\=\=\x27 value\=\x27443\x27>4443<\/tmpl_if}/g' /usr/local/ispconfig/server/conf-custom/vhost.conf.master
# создаем пароль  для дев сайтов, просто  dev dev кому надо другой могут сделать сами
echo "dev:v2D00OgY/hBAY" >> /var/www/dev_htpasswd && chmod 444 /var/www/dev_htpasswd

mkdir /etc/nginx/ssl/
openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048
/etc/init.d/nginx restart
# Коментируем лишнее в конфиге, поскольку оно не будет работать, там  не много и просто коментируем часть строк.
patch /usr/local/ispconfig/server/conf-custom/vhost.conf.master < /home/vhost.conf.master.diff
/etc/init.d/nginx start
netstat -ntpl | grep nginx
reboot
#ресинхронизуруем все  сайты 

patch /usr/local/ispconfig/interface/web/sites/web_vhost_domain_edit.php < /home/web_vhost_dmoain_edit.diff
#/usr/local/ispconfig/interface/web/sites/web_vhost_domain_edit.php 
#if($server_type == 'nginx')
patch /usr/local/ispconfig/interface/web/sites/templates/web_vhost_domain_advanced.htm < /home/web_vhost_domain_advanced.diff
#/usr/local/ispconfig/interface/web/sites/templates/web_vhost_domain_advanced.htm
#form-group nginx 


find /usr/local/ispconfig/interface/web/sites/lib/lang -type f -name 'ru_*.lng' -exec sed -i 's/Собственные страницы ошибок/Защитить dev сайты паролем/g' "{}" \;
# заменяем текст   в админке (на русском языке, кнопка уже работает, сами  логи отключены поскольку передаются апачу на обработку, а он сайту)
find /usr/local/ispconfig/interface/web/sites/lib/lang -type f -name 'ru_*.lng' -exec sed -i 's/SSI/Вести логи nginx/g' "{}" \;
# заменяем текст   в админке (на русском языке, кнопка уже работает, SSI продолжает работать но реально его никто не использует)

MC снипеты на F2

               	
apt-get install jpegoptim optipng
Быстро зайти в админку сайта по ссылке klondike.php
shell_patterns=0
+ ! t t
k Положить Bitrix autorization file rm klondike.php cat >> klondike.php < restore.php ( для работы положить в папку /var/www/исходный файл)
+ ! t t
z       Положить Bitrix restore
        cp /var/www/restore.php restore.php
jpegoptim обожмет весь сайт ( учитывая особенности битрикс, безопасно, качество с запасом, можно даже меньше)
+! t t
j       Обжать JPG reziae_cache,ibloc,local
        find ./{upload/resize_cache,upload/iblock/,local}/ -type f -regex ".*\(jpg\|jpeg\|JPG\|JPEG\)" -exec jpegoptim --preserve --totals --preserve-perms --max=85 -t {} \;
Обожмем
+ ! t t
p       Обжать PNG      reziae_cache,ibloc,local
        find ./{upload/resize_cache,upload/iblock/,local}/ -type f -regex ".*\(png\|PNG\)" -print -exec optipng -o5 -quiet -keep -preserve {} \;
смотрит какие должны быть права у сайта и выставляет владиные группы и юзера
+ ! t t
c       Правельные права на файлы
        pathto=`pwd -P`
        if [[ ($pathto != *web) ]] && [[ ($pathto != */web/*) ]]
        then
        echo 'нельзя сотворить здесь'
        else
        usertar=$(pwd -P| sed 's/^.*\/clients\/\(client[0-9]\+\)\/\(web[0-9]\+\)\/.*$/\2/g')
        grouptar=$(pwd -P | sed 's/^.*\/clients\/\(client[0-9]\+\)\/\(web[0-9]\+\)\/.*$/\1/g')
        chown -R $usertar:$grouptar $pathto -P
        fi


Консольные плюшки

Заходим в папку сайта пишем chownnow, владелец файлов теперь валиден ( если работал от рута то понимаете в чем трабл)
vim /bin/chownnow
Вставляем
 

#!/bin/bash
     pathto=`pwd -P`
     if [[ ($pathto != *web) ]] && [[ ($pathto != */web/*) ]]
     then
     echo 'нельзя сотворить здесь'
     else
     usertar=$(pwd -P| sed 's/^.*\/clients\/\(client[0-9]\+\)\/\(web[0-9]\+\)\/.*$/\2/g')
     grouptar=$(pwd -P | sed 's/^.*\/clients\/\(client[0-9]\+\)\/\(web[0-9]\+\)\/.*$/\1/g')
     chown -R $usertar:$grouptar $pathto -P &&  echo "$(tput setaf 2)[OK]"
     echo "$usertar"


Права на файл
vim /bin/chmodnow
Вставляем
 
Заходим в папку сайта пишем chmonnow, соответственно права теерь нужного юзера , сработает только в папке сайта
#!/bin/bash
     pathto=`pwd -P`
     if [[ ($pathto != *web) ]] && [[ ($pathto != */web/*) ]]
     then
     echo 'нельзя сотворить здесь'
     else
echo "Мняем права на папки"
find . -type d -exec chmod 0755 {} \;
echo "меняем права на файлы"
find . -type f -exec chmod 0644 {} \;
       fi
 
chmod 700 /bin/chownnow





Оставить комментарий