Развёртывание сервера на Debian 8 “jessie”

Это список достаточных и опциональных вещей, которые помогут поставить сервер для работы с 1С-Битрикс. Сразу скажу, что если возникнут вопросы — вы можете писать их в комментарии.

Требования к серверу:
  • он должен быть полностью совместимым с 1С-Битрикс. Читайте как «высокие требования по качеству»;
  • на нём должны поддерживаться квотирование и контейнеризация;
  • двухуровневая архитектура веб-сервера (кэширующий прокси и PHP-обработчик), желательно, связи двух типов (NginX + Apache и NginX + PHP-FPM);
  • PHP нескольких версий (5.3 и 5.6 — обязательно), кэширование PHP — обязательно;
  • поддержка безопасного соединения (https), несколько IP;
  • рабочая система бэкапирования;
  • поддержка FTP, SSH (пользовательский доступ до серверов), PHPMyAdmin;
  • возможность делегирования на сервер доменов;
  • программное сжатие передаваемых данных.
Разделы в разработке:
  • Установка RAID и настройка ФС не для Hetzner;
  • NginX + PHP-FPM;
  • Шаблонизация NginX для SSL-сертификатов;
  • Скрипт для оперативной установки бэкапирования.

Здравствуйте, меня зовут...

Доброго времени суток, меня зовут Дмитрий, я являюсь техническим специалистом студии Клондайк. Не так давно мы подняли новый сервер и, пока поднимали, поняли, что есть вещи, описанные Виктором в цикле статей, которые являются либо устаревшими, либо просто не подходят для решения поставленной задачи (вы же смотрели «требования к серверу»?). Поэтому было принято решение законспектировать всё, что мы делаем и устанавливаем, для того, чтобы в конечном итоге создать не только базу для будущих серверов, но также помочь разобраться с этим вопросом техническим специалистам других студий и, разумеется, выслушать конструктивную критику.

Немного о принципах Клондайк

На данный момент хостинг является вспомогательной услугой студии, но всё большее количество жалоб клиентов на их хостинг, который не соответствует требованиям 1C-Битрикс, а также некоторая недобросовестность в поведении хостеров заставляет нас всё больше работать в эту сторону. И за многолетний опыт работы мы выработали несколько правил, которых придерживаемся.

1. Нет ограничений добросовестным клиентам.
Это первый и основной принцип. Если клиент работает с нами и хочет продвигать свой бизнес, то мы не имеем права ограничивать его и себя. Мы выполняем качественную работу в рамках КИМ, а потому всячески помогаем дополнительными ресурсами. Этот безлимит предоставляется на доверии, так как видим клиента в лицо. Есть лишь одно ограничение — если обнаружена подозрительная активность, а клиент не отреагировал, мы отключаем его для проведения быстрой проверки на вредоносный код. Безопасность важнее.
2. Бэкапы делаются вне зависимости от пожеланий клиента.
Нет ничего хуже, чем потерять сайт из-за глупой ошибки. Бэкапирование ведётся с повышенным интервалом, а также задаётся персонально для некоторых сайтов. Бэкапы хранятся на нескольких серверах, что даёт возможность быстро развернуть сайт на машине, на которой он уже стоял, либо быстро перенести на один из рабочих серверов из хранилища (бывает всякое).

Пожалуй, это два основных принципа. «Мы зарабатываем деньги за то, что даём клиенту зарабатывать деньги».

Выбираем щенка

Основным параметром для выбора веб-сервера является скорость ввода-вывода. В режиме повышенной нагрузки мы выяснили, что нас файловая система ограничивает гораздо больше, чем процессор или оперативная память.

В нашем случае требовалась схема для постоянных клиентов, потому наш выбор остановился в пользу твёрдотельных накопителей (примерно 10-кратная скорость работы с диском) и достаточно большое количество ОЗУ (так как туда требовалось большое количество серверных клиентов и выгрузка многих файлов в оперативную память).

Первые шаги

Hetzner

Итак, у нас на руках имеется логин, пароль и адрес нашего сервера. Используем консоль, заходим, первое, что видим — Rescue. Это облегчённая версия установщика системы, потому ей воспользоваться будет рациональнее всего.

Появляется окно установщика.

Установщик debian

Выбираем то, что вам больше нравится, с чем вы привыкли работать. Мой выбор за debian 8 Jessie; debian имеет огромные репозитории с пакетами и показывает себя как крайне стабильная система. Debian 8 — это последний релиз системы, был протестирован и провалов замечено не было.

После этого выпадает окно настройки дисков.

Установка debian. Окно настройки дисков

SWRAID — это программный рэйд, который можно настроить, пожертвовав небольшим количеством IO. Либо вы можете заказать аппаратный контроллер, который повысит надёжность и скорость работы с рейдом. Для того, чтобы выбрать тип рейда, вам нужно понять, чем вы готовы пожертвовать. Выбирать приходится между тремя сторонами: скорость, отказоустойчивость, цена.

Два диска:
  • Raid 0 — два и более дисков соединены последовательно. N*100% скорость чтения, N*100% скорость записи, 100% — «полезная цена», при выходе из строя любого диска становится недееспособным.
  • Raid 1 — два и более чётное количество дисков соединены параллельно. 100%*N скорость чтения, N/2 * 100% скорость записи, 1/N — «полезная цена», при выходе из строя (N-1) дисков будет работать.
Три диска:
  • Raid 0
  • Raid 1
  • Raid 5 — три и более дисков используются последовательно, один из них содержит контрольную информацию. (N-1)*100% скорость чтения, >(N-1)*100% скорость записи, (N-1)*100% — полезная цена, способен работать
Четыре диска:
  • Raid 10 — четыре диска ставятся как параллельный массив из двух последовательных. 400% скорость чтения, 200% скорость записи, 50% — полезная цена, отказоустойчивость: 1 (33%)- 2 (67%) диска
  • Raid 6 — два диска содержат контрольную информацию, несколько невыгодно на варианте 4 диска, так как при той же полезной цене увеличивает надёжность только на 1\3, теряя половину скорости чтения и чуть менее половины — скорости записи.
SWRAID 1

Сейчас я ставлю сервер с двумя дисками и практически уверен, что Raid 0 рассматриваться даже не должен. Сервер — это не место для лотереи. Все получают деньги тогда, когда всё работает.

Некоторые нюансы: я отключил журналирование и добавил несколько опций, характерных для SSD, чтобы чуть дольше продлить его жизнь и убрать лишнее ожидание ответа файловой системы. Учитывая системы защиты от перебоев и обесточивания Hetzner, считаю это разумным решением.

Отключаем журналирование
tune2fs -O ^has_journal /dev/md1

Выставляем поддержку TRIM для SSD (если у вас не SSD — пропускаем).

Заходим в /etc/fstab и прописываем /dev/md1 последней опцией discard.

Если очень хочется, можно собрать другое ядро, но этот процесс необязателен.

Чистое сознание вычислительной машины

Итак, для начала необходимо установить инструменты, которые нам понадобятся для установки и мониторинга, а также забэкапить необходимые конфиги.

apt-get update apt-get upgrade
apt-get install htop mc vim atop iotop

Сделаем подсветку синтаксиса в vim — отныне это делается в файле /etc/vim/vimrc

Включение подсветки синтаксиса в vim

Раскомменчиваем строку syntax on, удаляя кавычки. Начинаем творить ужас.

Так как файл будет генерироваться полностью, ровно, как и все конфигурационные файлы, затрагиваемые ispconfig3, мы сделаем бэкап.
cp /etc/network/interfaces /etc/network/interfaces_old_ok

В файле /etc/hosts вы можете настроить отображение сервера. Рядом с IP адресом, который вам выдал провайдер, вы можете найти ваш технический адрес.

Что-то вроде:
188.138.84.XXX proXXX.dedicatedpanel.com proXXX

Я приобрёл отдельно домен для данного сервера и у меня не было технического адреса в файле, потому смело оставлю его первым.

Настройка отображения сервера в файле hosts
Если вы совершали изменения этого файла, то необходимо перезагрузить службу networking:
/etc/init.d/networking restart
Если требуется, изменяем имя сервера на имя домена:
echo domenservera.ru > /etc/hostname
Проверяем:
hostname
Должно получиться следующее:
hostname domenservera.ru
Теперь поставим слежение за состоянием дисков:
apt-get install smartmontools

Ставим в список enable_smart те винты, за которыми необходимо следить. В моём случае это два винта с RAID 0, SSD, потому будут /dev/sda и /dev/sdb. Если вы не уверены, какие адреса используются у вас - fdisk -l вам в помощь.

После этого смело:
vi /etc/default/smartmontools
smartmontools
Для синхронизации часового пояса установим Network Time Protocol и свежую версию tzdata, сконфигурированную под наши нужды:
apt-get install ntp ntpdate
sudo dpkg-reconfigure tzdata

Выбираем необходимый часовой пояс. Для меня это — Europe/Moscow

Выбор часового пояса
Устанавливаем необходимый софт для ISPConfig3:
apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl courier-maildrop getmail4 rkhunter binutils sudo php5-curl
Конфигурация Postfix
  • Общий тип настройки почты: — Интернет-сайт
  • Система почты имя: — domenservera.ru
  • Новый пароль для MySQL «корень» Пользователь: — Ваш_root_пароль_SQL
  • Повторите пароль для MySQL «корень» Пользователь: — Ваш_root_пароль_SQL
  • Создание папок для веб-администрирования? — нет
  • SSL сертификат требуется — OK

Далее мы комментируем строку, которая привязывает mysql к определённому адресу.

Предварительно сохраняем файл
cp /etc/mysql/my.cnf /etc/mysql/my.cnf_old_ok
sed -i "s/bind-address/#bind-address/" /etc/mysql/my.cnf

Для чего это делается? Для того, чтобы потом можно было добавить разрешённый адрес, чтобы работать с БД напрямую.

Проверяем, поменялось ли
cat /etc/mysql/my.cnf | grep bind-address
Должны получить вот такой ответ
#bind-address = 127.0.0.1
Далее перезапускаем MySQL
service mysql restart
Проверяем, висит ли служба на одном из портов
netstat -tap | grep mysql
Получаем что-то подобное:
tcp        0      0 *:mysql         *:*            LISTEN      22222/mysqld

Создание почтовых сертификатов

Нам необходимо создать почтовые сертификаты, которые создаются от имени домена, а не localhost.

Для этого меняем файлы vi /etc/courier/imapd.cnf, vi /etc/courier/pop3d.cnf.
В них достаточно поменять запись CN=localhost на CN=вашдомен, но вы можете поменять и всю информацию.

Такие настройки стоят у меня:
Настройки при создании почтовых сертификатов
А далее удаляем старые сертификаты, создаём новые и перезапускаем службу:
rm -f /etc/courier/imapd.pem
rm -f /etc/courier/pop3d.pem
mkimapdcert
mkpop3dcert
/etc/init.d/courier-imap-ssl restart
/etc/init.d/courier-pop-ssl restart

Установка антивируса, Apache, PHP, FTP и BIND

Установка антивируса и антиспама
apt-get install amavisd-new spamassassin clamav clamav-daemon zoo 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	
Далее останавливаем службу spamassasin, если место в ОЗУ критично:
/etc/init.d/spamassassin stop update-rc.d -f spamassassin remove
Установка Apache и PHP
apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi php5-fpm libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libruby

Некоторые библиотеки могут к этому времени устареть, потому либо найдите необходимые с помощью apt-cache search, либо допишите в самом конце этой длинной строчки --fix-missing через пробел.

Будут заданы два вопроса:
  • Какой сервер установить? — Apache2
  • Нужно ли создавать базу для PHPMyAdmin? — нет
Добавляем модули Suexec в Apache:
a2enmod suexec rewrite ssl actions include
a2enmod dav_fs dav auth_digest	
Перезапускаем Apache:
service apache2 restart	
Устанавливаем FTP-сервер:
apt-get install pure-ftpd-common pure-ftpd-mysql
cat /etc/default/pure-ftpd-common |grep STANDALONE_OR_INETD	
Должны увидеть:
STANDALONE_OR_INETD=standalone	
Если нет, то правим файл и меняем на standalone
vi /etc/default/pure-ftpd-common
Проверяем, всё ли закомментировано.
vim /etc/inetd.conf	
Если нет — комментируем.
Если делали изменения в данных файлах, то рестартуем демона, если нет пропускаем.
service inetd restart	

Теперь мы делаем наше FTP-соединение защищённым.

Для этого включаем его в настройки:
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

Мой вариант ответов

Ответы на вопросы при создании SSL-сертификата
Далее ставим Bind9 — днс-сервер. Его огромный плюс в том, что он крайне стабилен, и настройка используется «коробочная».
apt-get install bind9 dnsutils

Установка Jailkit

Если мы планируем давать своим пользователям ssh доступ, то нам понадобится jailkit.

apt-get install build-essential autoconf automake libtool flex bison debhelper devscripts
cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.19.tar.gz
tar -xvzf jailkit-2.19.tar.gz
cd jailkit-2.19
./configure
make
make install
cd /tmp
rm -rf jailkit-2.*	

Установка fail2ban

Есть два варианта:

1. Лишь бы было
apt-get install fail2ban	
2. Специальная настройка от хабравчанина
cd /tmp
wget https://github.com/sebres/fail2ban/archive/ban-time-incr-debian.zip
unzip fail2ban-ban-time-incr-debian.zip
cd fail2ban-ban-time-incr-debian/
python setup.py install
cp files/debian-initd /etc/init.d/fail2ban
systemctl --system daemon-reload
service fail2ban start
Отсюда копируем конфиги, либо пользуемся скриптом.

Наконец-то ISP

Устанавливаем панель

Достаточно сложно её установить не сохраняя локальную копию где-то, чтобы потом залить на сервер. Но мы скопировали одну из сборок ISP на наш сервер, можете им воспользоваться

cd /tmp
wget ks04.ru/ISPConfig-3.0.5.4p8.tar.gz
tar -xzvf ISPConfig-3.0.5.4p8.tar.gz 
cd ispconfig3_install
php install/install.php	

Далее отвечаем на вопросы

Ответы на вопросы при установке ISP

В моём случае это было 5 раз Enter, пароль от ДБ, дважды Enter.

Дальше при создании SSL будут, в общем-то, вопросы, которые уже задавались. Пример тут.

После установки можно зайти по адресу http://ваш_ip:порт_ISP, где порт_ISP - это порт, который вы указали последней настройки испконфига. У вас откроется окно ISP, логин и пароль совпадают: admin admin (при первом заходе вы сможете сменить его во вкладке Tools — Password and Language, там же поменять язык).

интерфейс ISP
Создадим правило для фаервола:
System - Firewall
Add Firewall record.	

Убираем из списка по умолчанию порт 3306

Финишная прямая:
sed -i 's/80/82/g' /etc/apache2/ports.conf
sed -i 's/:80/:82/g' /etc/apache2/sites-available/default
sed -i 's/:80/:82/g' /etc/apache2/sites-available/ispconfig.conf
service apache2 restart	
Проверяем, на каком порту висит:
netstat -tunap | grep apache2

tcp6 0 0 :::8080 :::* LISTEN 3044/apache2
tcp6 0 0 :::8081 :::* LISTEN 3044/apache2 
tcp6 0 0 :::82 :::* LISTEN 3044/apache2 
tcp6 0 0 :::443 :::* LISTEN 3044/apache2 	

Таким образом, мы устанавливаем apache2 на 82й порт, а 80й будет слушать NginX.

Далее ставим NginX:
apt-get install nginx
apt-get install libapache2-mod-rpaf
  IP=$(ifconfig | grep inet | grep -v inet6 | grep -v 127.0.0.1 | cut -d: -f2 | awk '{printf $1"\n"}') && echo "RPAFsethostname On" >> /etc/apache2/apache2.conf && echo "RPAFproxy_ips 127.0.0.1 $IP" >> /etc/apache2/apache2.conf  	

Последняя строка добавляет правильный IP в модуль для Apache

Далее нам необходимо поменять несколько конфигурационных файлов:
/etc/nginx/nginx.conf
/etc/nginx/sites-available/default
/usr/local/ispconfig/server/plugins-available/apache2_plugin.inc.php
/usr/local/ispconfig/server/plugins-available/apps_vhost_plugin.inc.php
/usr/local/ispconfig/server/conf/nginx_reverse_proxy_plugin.vhost.conf.master
/usr/local/ispconfig/server/plugins-available/nginx_reverse_proxy_plugin.inc.php
/usr/local/ispconfig/server/conf-custom/vhost.conf.master	
Если вам не хочется делать это вручную, то вы на меня чем-то похожи:
cd /tmp
wget ks04.ru/laststepfiles.tgz
cd /
tar -xzvf /tmp/laststepfiles.tgz

chmod 750 /usr/local/ispconfig/server/conf/nginx_reverse_proxy_plugin.vhost.conf.master /usr/local/ispconfig/server/plugins-available/apache2_plugin.inc.php /usr/local/ispconfig/server/plugins-available/apps_vhost_plugin.inc.php /usr/local/ispconfig/server/conf/nginx_reverse_proxy_plugin.vhost.conf.master /usr/local/ispconfig/server/plugins-available/nginx_reverse_proxy_plugin.inc.php /usr/local/ispconfig/server/conf-custom/vhost.conf.master
chown ispconfig:ispconfig /usr/local/ispconfig/server/conf/nginx_reverse_proxy_plugin.vhost.conf.master /usr/local/ispconfig/server/plugins-available/apache2_plugin.inc.php /usr/local/ispconfig/server/plugins-available/apps_vhost_plugin.inc.php /usr/local/ispconfig/server/conf/nginx_reverse_proxy_plugin.vhost.conf.master /usr/local/ispconfig/server/plugins-available/nginx_reverse_proxy_plugin.inc.php /usr/local/ispconfig/server/conf-custom/vhost.conf.master
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

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

Комментарии (27)

  1. Andrew 10.05.2016 Ответить
    Хороший ман, хотя многие моменты не раскрыты.

    Касаемо SWRAID на самом деле просадка по iops просто ничтожна, да и по большому счету он даст производительность куда выше, чем "дешевые" raid контроллеры, за счет того, что ему можно выделить ровно столько кеша, сколько нужно. Про серьезное оборудование речи не идет, насколько я понимаю, раз сервер арендован в Hetzner.

    Тут же сразу хочется сказать про ssd, сугубо ИМХО, но у вас слегка неверный подход к их использованию, ssd на сервере нужны для кеширования, не зря вендоры продают соответствующие лицензии. Я честно даже не могу смоделировать ни одного варианта, при котором на сервер потребуются ssd под /var, ну честно. Работа с базой крупных магазинов? Ну тут нас выручает nosql решения типа memcached, запись тысяч мелких файлов и обращение к базе? Ну у нас тут RAID, Write Through и Read Ahead, а вкупе с nosql даст прикурить большинству бюджетных ssd, да и в принципе может сравняться с производительностью с enterprise решениями, особенно в плане надежности. SSD под кеш куда разумнее, во первых мы экономим его ресурс, а во вторых при подобном раскладе его можно очень круто подружить с тем же энжиксом на отдачу статики. У меня на одном из серверов стоит 120гб десктопный ссд уже года 3, посещаемость под 200к уников и сотня постоянно обновляемых сайтов, настроен под отдачу "горячей" статики, отработал чуть больше половины ресурса, был бы он замонтирован под систему, давным давно склеил бы ласты. Впрочем я могу заблуждаться. Поправте, если в чем то неправ.


  2. Дмитрий
    Дмитрий 07.06.2016 Ответить
    Andrew, напишите, пожалуйста, какие моменты стОит расписать подробнее - распишем!

    По поводу архитектуры - дело в том, что когда рабочие процессы заточены под определённую архитектуру, приходится выкручиваться.
    На данный момент ищем подходящий вариант экономия + надёжность.

    NoSQL на данный момент не дружат с Битрикс, поэтому, увы, не используем на 100%. Memcached пока подключаем исключительно для кэша в памяти особо часто используемых файлов.

    На сайте действительно критическим является время рандомного чтения и многочисленных запросов. Множество медийных сайтов не позволяет закешировать всё, поэтому пользуемся тем, что даёт наибольший отклик. Да и сама система работает шустрее в целом, у неё реально не так много динамических частей (и те можно вынести в tmpfs)
  3. SHarksGANG 03.06.2016 Ответить
    Огромное Вам спасибо за статью, к сожалению ваша сборка ISP и конфигурационные файлы не скачиваются. Пожалуйста предоставьте возможность их загрузить. Без них, увы, следование вашей инструкции, на заключительном этапе не приносит результатов, похожих даже отдаленно на описанные Вами в предисловии статьи.
  4. Дмитрий
    Дмитрий 03.06.2016 Ответить
    Да, прошу прощения.

    При смене конфигурации файлы были недоступны.

    Сейчас всё в порядке, спасибо за бдительность!
  5. Alexander 15.06.2016 Ответить
    Все делал по инструкции, но nginx не запускается..
    Вот такая ошибка:
    nginx: [emerg] host not found in upstream "*" in /etc/nginx/sites-enabled/mydomain.ru.vhost:11
    помогает только если удалить эту конфигурацию, но это ведь не дело..
  6. Дмитрий
    Дмитрий 16.06.2016 Ответить
    Alexander,
    попробуйте для начала добавить в данный файл на 11ую строку следующее:

    proxy_pass http://mydomain.ru:82;

    После этого обновите конфигурацию nginx (service nginx reload) или проверьте конфигурацию командой nginx -t (на рабочем сервере рекомендую всегда проверять ей перед обновлением конфигурации nginx)

    Если ошибок не будет и сайт заведётся, то проверьте файл /usr/local/ispconfig/server/conf/nginx_reverse_proxy_plugin.vhost.conf.master

    21я и 29я строки:
    proxy_pass http://<tmpl_if name='seo_redirect_enabled'><tmpl_var name='seo_redirect_target_domain'><tmpl_else><tmpl_if name='ip_address' op='!=' value="*"><tmpl_var name='ip_address'><tmpl_else><tmpl_var name='domain'></tmpl_if></tmpl_if>:<tmpl_var name='apache2_port'>;


    Если не заведётся - найдите меня в соц.сетях, разберёмся
  7. Владимир 29.11.2016 Ответить
    . /tmp/install.sh
    bash: /tmp/install.sh: Нет такого файла или каталога
  8. Дмитрий
    Дмитрий 29.11.2016 Ответить
    Ох, да.
    Было решено избавиться от скрипта установки и просто выложить его содержимое, строчку не убрали.

    Благодарю!
  9. Владимир 29.11.2016 Ответить
    Ну, я так и понял.
    Но вот проблема. Следую инструкции буква в букву, но в конце получаю 502 ошибку. Прошу пояснить чайнику некоторые моменты.

    1. В статье мы изменяем файл /usr/local/ispconfig/server/plugins-available/nginx_reverse_proxy_plugin.inc.php, но такого изначально нет, есть nginx_reverseproxy_plugin.inc.php. Это так должно быть?

    2. /usr/local/ispconfig/server/conf-custom/vhost.conf.master создается с нуля? Его изначально нет.
  10. Владимир 30.11.2016 Ответить
    В общем ситуация следующая. Предыдущий комментарий еще не одобрили, либо отклонили)), но, как я и писал, есть ошибка в названии файла. Должен называться nginx_reverseproxy_plugin.inc.php. Соответственно этому надо подправить содержимое - 12, 19 и 28 строки, а так же команду выставление прав.
    Кроме того, не плохо было бы добавить в файрволл порт 82.
  11. Владимир 03.12.2016 Ответить
    Происходит такая вещь. Если сервер выключен и его запустить, все в порядке, а если уйти в перезагрузку, то стартует только Apache. При ребуте ошибка:
    [FAILED]Failed to start a high performance web server and reserve proxy server.
    See 'systemctl status nginx.service' for details.
    nginx -t - все нормально, после /etc/init.d/nginx start NGINX стартует.

    Подскажите в каком направлении копать?
  12. Владимир 07.12.2016 Ответить
    NGINX не нравится 82 порт в /etc/nginx/sites-enabled/mydomain.ru.vhost на 11 строке, про которую выше человек писал.
  13. Дмитрий
    Дмитрий 07.12.2016 Ответить
    Так, по порядку.

    Специально файл был назван иначе, так как стандартный работает не так, как хотелось бы.

    В файрволл действительно стоит добавить порт, если мы его открываем на внешку. Крайне советую этого не делать, разве что для дебага - проверки, работает ли apache2 без NginX

    Посмотрите, пожалуйста, коммент, который дал Alexander, возможно, он Вам поможет.

    Если нет, то в файл /etc/nginx/sites-enabled/mydomain.ru.vhost измените 11ю строку так:
    proxy_pass http://ваш_ip:82;

    И везде, где встречается proxy_pass, приведите к такому виду
  14. Дмитрий
    Дмитрий 07.12.2016 Ответить
    Прошу прощения, что долго не отвечал. Нашли бы меня в соцсети =)
  15. Владимир 07.12.2016 Ответить
    Дмитрий, действительно, если прописать IP, то все нормально.
    Кстати, инструкция прекрасно подходит и для последней версии ISPConfig.
    Осталось понять, как прикрутить возможность использовать кириллический домен.

    Еще. В инструкции мы скачиваем ban-time-incr-debian.zip, а распаковать почему-то надо fail2ban_ban-time-incr-debian.zip, что, естественно, не выходит.

    P.S.
    Да, в соц. сети было бы проще, но не все пользуются соц. сетями, так что лучше тут ответа подождать...
  16. Sanuich 18.01.2017 Ответить
    так все такие какой хостнейм domenservera.ru или cupservera.ru?

    Во всех инструкциях по установке ISPconfig пишут что рекомендуется делать так
    192.168.1.100 server1.example.com server1
    и
    echo server1 > /etc/hostname
    иначе пугают проблемами

    у вас в статье это не отражено
  17. Дмитрий
    Дмитрий 19.01.2017 Ответить
    В моём случае это cupserver.ru (конкретно тот случай).

    Основная идея в том, чтобы ваш домен сервера и имя сервера были либо одинаковыми, либо связаны с Вашим IP принудительно через файл /etc/hosts

    Чтобы по обращению и по доменному имени, и по IP, и по названию сервера (server1) можно было попасть в одно и то же место

    Потому, если Ваш IP 192.168.1.100 и название сервера server1.example.com, то можно оставить строку
    192.168.1.100 server1.example.com

    Но если название сервера server1, то надо добавить и алиас
    192.168.1.100 server1.example.com server1
  18. Sanuich 19.01.2017 Ответить
    +/- понял
    спасибо

    непонятно почему в офиц. инструкциях по установке не раскрывают это а просто пугают маленьких
    "The hostname of your server should be a subdomain like "server1.example.com". Do not use a domain name without subdomain part like "example.com" as hostname as this will cause problems later with your mail setup. "
    /из инструкции The Perfect Server - Debian 8.4 Jessie (Apache2, BIND, Dovecot, ISPConfig 3.1)/
  19. Владимир 29.03.2017 Ответить
    Тут на сайте не одна инструкция по установке такой связки + ISPConfig, плюс есть стаптья про проблему с SSL, где сказано, что родные конфиги работают нормально. Пока только осваивал установку, настройку и, так сказать, набивал руку, особо не задумывался над этим. Но, когда дело дошло до реального железа и настройки рабочего сервера, вопрос встал очень остро. Где же истина? Надо кастомизировать конфиги или нет?
  20. Дмитрий
    Дмитрий 31.03.2017 Ответить
    Тут важна ещё и версия Debian.
    Например, сейчас есть огромное количество изменений для новой версии, которые обязательно должны попасть в следующий выпуск статьи (для Debian 8.5 или даже Debian 9, как только она выйдет из testing)

    На нашем сайте две статьи: Debian 7 и Debian 8. Я думаю, что в течение месяца смогу написать про Debian 8.5 и некоторые моменты с ним.

    С SSL существуют разные вопросы и проблемы, если вкратце, то это letsencrypt, лишние окна в админке, доп.конфигурация, склеивание зеркал или нет.

    На данный момент имею представление, что если делать всё на уровне TOP и BEST, то необходимо уже не только конфиги править, но и перепиливать интерфейс, а также пилить отдельные ветки конфигов для разнообразных CMS.
    Если необходим жизненный минимум без боязни просадки по СЕО и безопасности - то смело можно ставить ISP из коробки и ничего не править.
  21. Владимир 02.04.2017 Ответить
    Вот про 8.5 - хорошо, ибо толковых мануалов по восьмой ветке вообще мало, а про обновления оной и говорить не приходится. Буду ждать. Спасибо, за столь подробные туториалы.
  22. Владимир 02.05.2017 Ответить
    Подскажите, в ISPConfig, при создании БД, доступно всего пару кодировок. Как бы добавить другие кодировки?
  23. Дмитрий
    Дмитрий 20.10.2017 Ответить
    Нужно править шаблонизатор, извините, что столь поздний ответ
  24. Dmitriy 30.08.2018 Ответить
    Статья супер, если бы не лень - Автор приведи в божеский вид последний блок, а то инструкция осталось изменить 10 файлов но если вам лень то вот не существующий архив - нам не лень ;) - что делать мастер?
  25. Алексей 11.09.2018 Ответить
    Доброго времени суток. Если Вас не затруднит можете еще раз актуализировать статью по данной просьбе. Спасибо "Огромное Вам спасибо за статью, к сожалению ваша сборка ISP и конфигурационные файлы не скачиваются. Пожалуйста предоставьте возможность их загрузить. Без них, увы, следование вашей инструкции, на заключительном этапе не приносит результатов, похожих даже отдаленно на описанные Вами в предисловии статьи. "
  26. Sergey 09.09.2019 Ответить
    Напишите, пожалуйста, как прикрутить Letsencrypt, чтобы автоматически создавались сертификаты через панель ISPConfig
  27. Виктор
    Виктор 10.09.2019 Ответить
    Они теперь там сами создаются, вам нужно включить галочку ssl letsencrypt ну и подождать
    Если же нужно nginx+apache, то "да", там нужно немного "попрыгать с бубном", но все конфиги уже есть

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