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

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



а главное отладка даёт свои тонкости, в общем мануалы нужно обновить, поскольку материала уже много решил хоть что-то опубликовать
Мы будем ставить 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%
Должен быть домеен с www и без него плюс его ip.
Вся установка подготовлена для работы через скрипт по интеру, отличается от стандартного только тем что все через sed и echo что позволяет быстро повторить работу, по сути это все команды которые я вводил. Есть и небольшое отличиее порядка 5%
Вы должны понимать что скрипт полностью автоматический но работает в моих условиях а Linux он на то и *inux, в общем проверяйте каждую строчку что она сработала.
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
Так же важно не забывайте имя сервера не должно быть именем сайта, да его можно использовать, но лучше сделать отдельный домен, поскольку этот домен будет использоватся для ловушке по deafault, так же мы будем подставлять его сертификаты по умолчанию для сайтов с отключенным HTTPS
Обновляем все и ребут 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 certbotMailman
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 startFTP и квоты
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 -avug12 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
Шаблоны ДНС зон для основных сервисов
Внимание После добавления шаблонов ОБЯЗАТЕЛЬНО !! поменяйте все IP и почты на свои, шаблоны реальные так что я вам даю реально работающий пример.
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 restartzend 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 startzend 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.inizend 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
Архив файлов
Вся статья одним файлом
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 tk Положить Bitrix autorization file rm klondike.php cat >> klondike.php < restore.php ( для работы положить в папку /var/www/исходный файл)
+ ! t t z Положить Bitrix restore cp /var/www/restore.php restore.phpjpegoptim обожмет весь сайт ( учитывая особенности битрикс, безопасно, качество с запасом, можно даже меньше)
+! 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



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