Оновлення інструкцій від 11.12.2016
Продовжити встановлення хостингової панелі ISPConfig 3, нагадуючи, що перша частина статті знаходиться в: Налаштування мережі перед установкою ISPConfig 3 в Debian - Part 1.
У цій інструкції ми встановимо і робимо початкову конфігурацію необхідного програмного забезпечення.
- відмінна панель для адміністрування таких послуг як Postfix, FTP (PureFTPd), SSH (OpenSSH), DNS (Bind9), Web (Apache2)
Якщо Вам не потрібно ніяких цих послуг, то ви не можете викликати встановлення програмного забезпечення, яке вам не потрібно. Наприклад, якщо ви не налаштовуєте DNS, ви не можете встановити bnd9, а при установці ISPConfig 3 коли інсталятор запитує про встановлення DNS просто відмовтеся від установки, це цілком можливо, якщо ви встановите на невеликий виділений віртуальний сервер, в якому кожен метр оперативної пам'яті підраховується. Потім сервер пошти не може бути встановленим, а на сайтах для відправки повідомлень користувачам за допомогою зовнішніх поштових скриньок, наприклад, поштової скриньки з Google і підключення через протокол SMTP, наприклад, як налаштувати сайт на Drupal 7 в інструкції: Налаштування відправки пошти з Drupal 7 за допомогою зовнішнього сервера SMTP - наприклад, поштова скринька Google
Ось ми йдемо.
Змінення оболонки консолі за замовчуванням, як /bin/sh - символічна довідка /bin/dashWe мати /bin/bashnot /bin/dash. Зміна конфігурації консолі шляхом виконання команди:
dpkg-reconfigure dash
на питання системи:
Використовуйте його. dash як оболонка системи за замовчуванням (як оболонка)/bin/sh)?
Відповідайте нам. Ні.
Для УБУНТУ 16.04 Відключення пакетів AppArmor для захисту після виконання команд, вони можуть бути встановлені знову після повного встановлення та налаштування сервера, коли все встановлено та перевірено. Виконувати команди для вимкнення та видалення:
service apparmor stop update-rc.d -f apparmor remove apt-get remove apparmor apparmor-utils
Встановіть NTP, Postfix, Dovecot, Saslauthd, MySQL, rkhunter і binutils за допомогою команди:
aptitude install ntp ntpdate postfix postfix-mysql postfix-doc mysql-client mysql-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve sudo
Для Debian 8 Jessie Для створення бази даних бажано налаштувати базу даних. MariadbЗаснували оригінальні розробники MySQL для забезпечення вільного статусу ДБМСЦе результат політики ліцензування Oracle для MySQL. Смоктати Mariadb Покращено продуктивність, більше розширень та нових функцій у порівнянні з MySQL. Д.В.Команда установки буде виглядати таким чином:
aptitude install ntp ntpdate postfix postfix-mysql postfix-doc mariadb-client mariadb-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve sudo
Ми відповімо на питання системи:
- Налаштування поштових повідомлень: - Ok
- Загальний тип конфігурації пошти: - вибрати Веб-сайт
- Поштова система: - Введіть webserver.server.loc
- Новий пароль для користувача MySQL "root": Введіть пароль для MySQL
- Повторити пароль для користувача MySQL "root": Повторити пароль для MySQL
Запит пароля від установки MariaDB:
Провести мінімальну налаштування безпеки за допомогою команди mysql_secure_installation, відключаючи небезпечні налаштування, натиснувши на приклад нижче:
При запуску необхідно ввести базу даних кореневих паролів користувача, які ви входите під час установки вище.
mysql_secure_installation Change the root password? [Y/n] n Remove anonymous users? [Y/n] y Disallow root login remotely? [Y/n] y Remove test database and access to it? [Y/n] y Reload privilege tables now? [Y/n] y
Якщо mariadb дозволяє mysql в консоль без пароля, можна встановити корінь пароля (установити після установки панелі краще). ISPConfig) наступні команди:
mysql -u root -p
MariaDB [(none)]> use mysql;
Database changed
MariaDB [mysql]> update user set password=PASSWORD("passroot") where User='root';
MariaDB [mysql]> flush privileges;
MariaDB [mysql]> update user set plugin='' where User='root';
MariaDB [mysql]> quit;
Bye
Перегружаем бд выполнив команду:
systemctl restart mariadb
или
/etc/init.d/mariadb restartПовернутися до зміни:
mysql -u root -p Enter password: (вводим пароль passroot) MariaDB [(none)]> use mysql; Database changed MariaDB [mysql]> update user set plugin='unix_socket' where User='root'; MariaDB [mysql]> quit; Bye Перегружаем бд выполнив команду: systemctl restart mariadb или /etc/init.d/mariadb restart Проверяем вход root без пароля: mysql -u root MariaDB [(none)]> quit; Bye
Відкриті порти TLS/SSL в Postfix шляхом внесення змін до файлу /etc/postfix/master.cf:
vi /etc/postfix/master.cf
був:
... #submission inet n - - - - smtpd # -o syslog_name=postfix/submission # -o smtpd_tls_security_level=encrypt # -o smtpd_sasl_auth_enable=yes # -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING #smtps inet n - - - - smtpd # -o syslog_name=postfix/smtps # -o smtpd_tls_wrappermode=yes # -o smtpd_sasl_auth_enable=yes # -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING ...
сталася:
... submission inet n - - - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING smtps inet n - - - - smtpd -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING ...
Для Debian Jessie і Debian Stretch:
був:
#submission inet n - - - - smtpd # -o syslog_name=postfix/submission # -o smtpd_tls_security_level=encrypt # -o smtpd_sasl_auth_enable=yes # -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions= # -o smtpd_relay_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING #smtps inet n - - - - smtpd # -o syslog_name=postfix/smtps # -o smtpd_tls_wrappermode=yes # -o smtpd_sasl_auth_enable=yes # -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions= # -o smtpd_relay_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING
сталася:
submission inet n - - - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes # -o smtpd_reject_unlisted_recipient=no -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions= # -o smtpd_relay_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING smtps inet n - - - - smtpd -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes # -o smtpd_reject_unlisted_recipient=no -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions= # -o smtpd_relay_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING
Для Ubuntu 16
був:
#submission inet n - y - - smtpd # -o syslog_name=postfix/submission # -o smtpd_tls_security_level=encrypt # -o smtpd_sasl_auth_enable=yes # -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions ... #smtps inet n - y - - smtpd # -o syslog_name=postfix/smtps # -o smtpd_tls_wrappermode=yes # -o smtpd_sasl_auth_enable=yes # -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions ...
сталася:
submission inet n - y - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -o smtpd_reject_unlisted_recipient=no ... smtps inet n - y - - smtpd -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -o smtpd_reject_unlisted_recipient=no ...
Після збереження файлу /etc/postfix/master.cf перезавантажити сервер Rostfix, виконавши команду:
/etc/init.d/postfix restart
Налаштування бази даних Mysql на всіх інтерфейсах, за замовчуванням працює тільки на 127.0.0.1:
vi /etc/mysql/my.cnf
був:
... bind-address = 127.0.0.1 ...
сталася:
... #bind-address = 127.0.0.1 ...
Після збереження змін перезавантажити сервер Mysql за допомогою команди:
/etc/init.d/mysql restart
Встановіть анти-спам і антивірус для сервера пошти Amavisd-new, SpamAssassin і ClamAV команди:
aptitude 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
Щоб фільтрувати спам-повідомлень, ISPConfig3 використовує Amavisd, який завантажує внутрішні фільтри бібліотеки SpamAssassin самостійно, тому ми можемо зупинити і вимкнути завантаження SpamAssassin для того, щоб не взяти оперативну пам'ять, виконавши команди:
/etc/init.d/spamassassin stop update-rc.d -f spamassassin remove
!! До уваги!!! Під час тривалої роботи поштового сервера, Amavisd Збирає величезну кількість спаму та вірусів у папці карантин /var/lib/amavis/virusmails/ Вирощується, якщо не очищаєте його. Додати в. вінтаж Автоматичний пошук і видалення спаму та вірусів в карантині понад 30 днів.
Для цього ми виконуємо команду:
crontab -e
У файлі, який відкривається, додайте запис:
10 1 * * * find /var/lib/amavis/virusmails -ctime +30 -and -type 'f' -exec rm {} \;Так, в один годину, десять хвилин щодня з'явиться пошук файлів старше 30 днів і автоматично видаліть.
Встановити веб-сервер з підтримкою php Apache2, PHP5, PHPMyAdmin, FCGI, suExec, груша, FPM і mcrypt за наступним командуванням:
aptitude 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 libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-curl php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp libruby libapache2-mod-ruby libapache2-mod-python libapache2-mod-perl2 dh-make-php php5-dev build-essential libmagic-dev php5-intl libapache2-mod-fastcgi php5-fpm
Для Ubuntu 16, є версія php 7, тому команда:
aptitude install apache2 apache2-doc apache2-utils libapache2-mod-php php7.0 php7.0-common php7.0-gd php7.0-mysql php7.0-imap phpmyadmin php7.0-cli php7.0-cgi libapache2-mod-fcgid apache2-suexec-pristine php-pear php-auth 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 php7.0-opcache php-apcu libapache2-mod-fastcgi php7.0-fpm
Якщо ви тільки встановіть Nginx + PHP-FPM у Debian Stretch:
aptitude install nginx apache2-utils php7.0 php7.0-common php7.0-gd php7.0-mysql php7.0-imap phpmyadmin php7.0-cli php7.0-cgi php-pear php-auth-sasl php7.0-mcrypt mcrypt imagemagick libruby 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 php7.0-opcache php-apcu php7.0-fpm
Ми відповімо на питання системи:
- Веб-сервер для автоматичного реконфігурування: - apache2
- Налаштування бази даних для phpmyadmin з dbconfig-common? - - - Ні.
Активувати модулі веб сервер Apache2 - suexec, rewrite, ssl, actions, dav, dav_fs, and auth_digest І тоді я зробив команду.
a2enmod suexec rewrite ssl actions include dav_fs dav auth_digest fastcgi alias fcgid fastcgi alias
Після активації моделей веб-сервера необхідно перезапустити Сервер Apache2 команда:
/etc/init.d/apache2 restart
Для Ubuntu 16 вимкніть httpoxy глобально так, щоб не бути атаковані через вразливість цього модуля, здійснюючи команди:
echo '<IfModule mod_headers.c>
RequestHeader unset Proxy early
</IfModule> ' > /etc/apache2/conf-available/httpoxy.conf
a2enconf httpoxy
/etc/init.d/apache2 restartTo ensure that the server can not be attacked trough the HTTPOXY vulnerability, I will disable the HTTP_PROXY header in apache globally.
Внесення змін. suphp конфігурація-файл /etc/apache2/mods-available/suphp.conf (Debian 8Jessie і Ubuntu 16 не застосовувати)
vi /etc/apache2/mods-available/suphp.conf
був:
<IfModule mod_suphp.c>
<FilesMatch "\.ph(p3?|tml)$">
SetHandler application/x-httpd-suphp
</FilesMatch>
suPHP_AddHandler application/x-httpd-suphp
<Directory />
suPHP_Engine on
</Directory>
...сталася:
<IfModule mod_suphp.c>
# <FilesMatch "\.ph(p3?|tml)$">
# SetHandler application/x-httpd-suphp
# </FilesMatch>
AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml
suPHP_AddHandler application/x-httpd-suphp
<Directory />
suPHP_Engine on
</Directory>
...
Якщо ви хочете використовувати файли Ruby з розширенням .rbНеобхідно вказати параметр у файлі. /etc/mime.types:
vi /etc/mime.types
був:
... application/x-ruby rb ...
сталася:
... #application/x-ruby rb ...
Встановити Let's Encrypt для установки безкоштовних сертифікатів на сайтах з панелі ISPConfig, виконання команди:
aptitude -y install letsencrypt
Встановити FTP сервер PureFTPd і Цитата квоти І тоді я зробив команду.
aptitude install pure-ftpd-common pure-ftpd-mysql quota quotatool
Ми повинні внести зміни у файл конфігурації PureFTPd сервера. /etc/default/pure-ftpd-common:
vi /etc/default/pure-ftpd-common
був:
... VIRTUALCHROOT=false ...
сталася:
... VIRTUALCHROOT=true ...
Ми зберігаємо модифікований файл.
Тепер ми налаштуємо сервер FTP для роботи через захищений протокол TLS і створюємо сертифікат Ssl:
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
Під час створення сертифікатів ми відповіли питання:
Призначте права на сертифікат 600 за наступним чином:
chmod 600 /etc/ssl/private/pure-ftpd.pem
Після внесення змін та збереження конфігураційного файлу, створення сертифіката Ssl перезавантажується. FTP сервер PureFTPd команда:
/etc/init.d/pure-ftpd-mysql restart
Змінення файлу. /etc/fstab внести квоти для наших користувачів, параметр ,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 Як ми додаємо для поштових та веб-серверів в кореневому розділі.
Ваш UUID буде відрізнятися від шахти, внесення змін до розділу/системи кореневих розділів:
vi /etc/fstab
був:
UUID=5deecf34-1354-4a0f-b65c-90abb960433e / ext4 errors=remount-ro 0 1
сталася:
UUID=5deecf34-1354-4a0f-b65c-90abb960433e / ext4 errors=remount-ro,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 0 1
Збережіть файл. /etc/fstab.conf
Щоб включити квоти на диску, потрібно переробити кореневий розділ, виконавши команду:
mount -o remount /
І безпосередньо включають квоти на диску, розміщуючи команди:
quotacheck -avugm quotaon -avug
Встановіть сервер Bind DNS, який також буде зручно адміністратором через веб-інтерфейс панелі ISPConfig, використовуючи команду та згоду:
aptitude install bind9 dnsutils
Встановлення програм для аналізу та статистичної інформації про трафік веб-сервера за допомогою виконання команд:
aptitude install vlogger webalizer awstats geoip-database
Вимкнено для автоматичного запуску програми awstat з cron у файлі /etc/cron.d/awstats:
vi /etc/cron.d/awstats
був:
*/10 * * * * www-data [ -x /usr/share/awstats/tools/update.sh ] && /usr/share/awstats/tools/update.sh # Generate static reports: 10 03 * * * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] && /usr/share/awstats/tools/buildstatic.sh
сталася:
#*/10 * * * * www-data [ -x /usr/share/awstats/tools/update.sh ] && /usr/share/awstats/tools/update.sh # Generate static reports: #10 03 * * * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] && /usr/share/awstats/tools/buildstatic.sh
Монтаж гіллята
Якщо ви надаєте користувачам ізольований доступ хроот-ш для сервера, вам потрібно встановити програму Jailkit. Нейлон повинен бути встановлений перед установкою ISPConfig, і сам Jailkit буде встановлена з початкового коду, тому встановити необхідні програми для складання за допомогою команди:
aptitude install build-essential autoconf automake1.9 libtool flex bison debhelper
І ми починаємо на створення каталогу, де ми завантажимо, розпакуємо і збираємо програму «Вайлкіт». Щоб встановити програму Jailkit, ми виконуємо команди:
mkdir /usr/src/iserver/ && cd /usr/src/iserver/ wget http://olivier.sessink.nl/jailkit/jailkit-2.19.tar.gz tar xvfz jailkit-2.19.tar.gz cd jailkit-2.19 ./debian/rules binary dpkg -i /usr/src/iserver/jailkit_2.19*.deb
Монтаж Fail2ban
Встановити програму не2ban, яка захистить наші сервери, блокує IP від якого здійснюється спроба зламати відкриті інтернет-послуги, якщо це можливо. Якщо вам не потрібно, то можна пропустити монтаж і налаштування невиконано2ban.
Встановіть і налаштуйте програму не2ban, виконавши команду:
aptitude install fail2ban
Створіть файли конфігурації для налаштування програми не2ban за допомогою виконання команд (копіюйте все та вставте в консоль через Putty):
echo ' [pureftpd] enabled = true port = ftp filter = pureftpd logpath = /var/log/syslog maxretry = 3 [dovecot-pop3imap] enabled = true filter = dovecot-pop3imap action = iptables-multiport[name=dovecot-pop3imap, port="pop3,pop3s,imap,imaps", protocol=tcp] logpath = /var/log/mail.log maxretry = 5 ' > /etc/fail2ban/jail.local echo ' [Definition] failregex = .*pure-ftpd: \(.*@<HOST>\) \[WARNING\] Authentication failed for user.* ignoreregex = ' > /etc/fail2ban/filter.d/pureftpd.conf echo ' [Definition] failregex = (?: pop3-login|imap-login): .*(?:Authentication failure|Aborted login \(auth failed|Aborted login \(tried to use disabled|Disconnected \(auth failed|Aborted login \(\d+ authentication attempts).*rip=(?P<host>\S*),.* ignoreregex = ' > /etc/fail2ban/filter.d/dovecot-pop3imap.conf
Перезавантажити програму для захисту сервера fail2ban І тоді я зробив команду.
/etc/init.d/fail2ban restart
Я був з вами. Сергій Лазаренко.
На цьому етапі завершено базову конфігурацію необхідних програм для установки хостингової панелі ISPConfig 3. Ми можемо самі зателефонувати одержувачу і узгодити зручний час і місце вручення квітів, а якщо необхідно, то збережемо сюрприз. Ви можете побачити талант чоловіка:
apt-get -y install letsencrypt














Про нас