Установка ISPconfig на Debian/Ubuntu/Mint

Установка ISPconfig на Debian/Ubuntu/Mint

Сейчас я расскажу как можно установить ISPconfig на Debian/Ubuntu/Mint, приведу готовые решения в своей статье «Установка ISPconfig на Debian/Ubuntu/Mint».

ISPConfig — панель управления хостингом для Linux с открытыми исходниками и выпускается под лицензией лицензии BSD, разработана компанией ISPConfig UG. Сам проект ISPConfig был начат осенью 2005 года немецкой компанией projektfarm GmbH.

1. Для начала нужно установить весь необходимый софт для установки ISPConfig 3.

Стоит сказать что я буду использовать Debian ( для примера), сейчас я отключу оболочку dash и установлю за место ее — bash, делается следующим образом:

# ·dpkg-reconfigure dash
<img aria-describedby= >переконфигурирование dash в bash на Debian

Выбираем «No» (нет) и жмем ентер.

Следующей командой собственной мы установим все необходимое для работы ISPconfig:

Мы установим утилиты для работы с почтой (Dovecot и Postfix), работа со временем (NTP), работа с БД (MySQL) и еще пару полезных утилит.

Система попросит ответить на ряд вопросов, отвечаем и идем далее. Вот скриншоты, если кто то не понял что нужно нажимать:

На первом меню которое выдало нам, просто  нажимаем ОК.

<img aria-describedby= >настройка Postfix в Debian

Прописываем ( выбираем) имя для нашего сервера с почтой:

<img aria-describedby= >настройка Postfix в Debian, имя для сервера почты

Я использую виртуальную машину, по этому я ввожу localhost, а вы, если используете реальный домен, введите его.

У меня собственно вот такое забавное имя. Я ранее установил сервер и клиент с Mysql, по этому я пропускаю этот шаг ( там нужно будет ввести пароль для root и может кое что еще).

Откроем порты TLS/SSL в Postfix:

#·vim /etc/postfix/master.cf

Приводим вот к такому виду:

14 lines
[...]
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
[...]

И сохраняем данный файл, перезапускаем сервис:

#·/etc/init.d/postfix restart

Настроем работу БД в Mysql для всех наших интерфейсов, по умолчанию mysql, будет работать только на 127.0.0.1:

# vim /etc/mysql/my.cnf
4 lines
[...]
#закомментируем·строку что ниже
#bind-address · · · · · = 127.0.0.1
[...]

Ребутим службу Mysql-а:

#·/etc/init.d/mysql restart

Основное мы настроили и подготовили к дальнейшей установки ISPconfig-а,  остались последние штрихи, мы установим антиспам утилиту и антивирус для нашего сервера  с почтой — Amavisd-new, и утилитой SpamAssassin, так же с антивирусом — ClamAV:

У меня не стартовал amavisd-new, решил проблему:

#·vim /etc/amavis/conf.d/05-node_id
2 lines
# нужно прописать доменное имя для нашей почти
$myhostname = "localhost";

А делаем собственно для того чтобы была фильтрация спам писем в ISPConfig 3 через утилиту Amavisd, которая загружается во внутренние фильтры библиотек программы SpamAssassin в автоматическом режиме, по этому мы можем легко запустить или выключить SpamAssassin, чтобы не грузить нашу RAM память лишним процессом:

2 lines
# /etc/init.d/spamassassin stop
# update-rc.d -f spamassassin remove

!!! АХТУНГ!!! При долгой работе нашего сервера с почтой, Amavisd будет сохранять очень много различного спама и может даже вирусов в папку с карантином /var/lib/amavis/virusmails/ которая будет иметь очень большой размер если ее не удалять. По этому, добавляем в кронтаб задание которое будет автоматически искать и удалять наш сохраненный спам и так же возможные вирусы которые лежат в папке более 30 дней:

#·crontab -e
2 lines
# добавляем строку что ниже в открывшийся файл, я всегда кидаю в самый низ.
0 3·* * * find /var/lib/amavis/virusmails -ctime +30 -and -type 'f' -exec rm {} ;

Это правило будет запускаться каждый день в 3 ночи и будет искать файлы ( спам) старше 30 дней.

Установим еще и веб-сервер apache2 с поддержкой PHP5, PHPMyAdmin, FCGI и suExec и Pear, а так же mcrypt:

Нас просят ответить на вопросы:

1. Выбор веб сервера ( выбираем собственно apache).
2. Настроить БД в phpmyadmin с использованием dbconfig-common? — нажимаем Нет.

После этого нам нужно активировать все установленные модули для апача:

# a2enmod suexec rewrite ssl actions include dav_fs dav auth_digest

Перезапускаем сервис с апачем:

#·/etc/init.d/apache2 restart

Выполним установку и настроим фтп сервис — PureFTPd:

Настроим сейчас немного файл конфигурации:

#·vim /etc/default/pure-ftpd-common

Приводим строчку к виду:

3 lines
[...]
VIRTUALCHROOT=true
[...]

Настроим работу нашего фтп  с использованием ssl сертефиката и с использованием протокола TLS:

# 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

Нужно ввести код страны ( у меня это UA), город, организанизацию и мыло.

Выставим права на созданный сертификат:

# chmod 600 /etc/ssl/private/pure-ftpd.pem

Далее, ребутим PureFTPd:

#·/etc/init.d/pure-ftpd-mysql restart

Можно ограничить пользователей, создав квоту на диск, добавив в fstab строчки. Мне это не нужно, но если необходимо используйте:

# vim /etc/fstab
UUID=5de3434-1674-4aав-b6кc-rtert460433e / · · · · · · · ext4 · ·errors=remount-ro,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 0 · · · 1

ПРИМЕЧАНИЕ! UUID — у вас будет отличаться от моего, по этому внимательно будьте.

Чтобы включить квоту на жестком диске, нам нужно перемонтировать корневой раздел:

#·mount -o remount /

После чего включаем квоты на нашем жестком диске:

2 lines
#·quotacheck -avugm
# quotaon -avug

Выполним установку DNS сервер  такого как Bind, он  тоже будет администрироватся  через веб-интерфейс самой ISPConfig панели:

Можно установить анализатор и утилиту для статистики посещения веб-сервера, что я и сделаю:

Отключим автозапуск  awstat из cron:

# vim /etc/cron.d/awstats

Приводим к такому виду (закомментируем строки):

4 lines
#*/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. Если Вы хотите давать для пользователей изолированный доступ к вашему серверу SSH (chroot), то нужно  установить утилиту Jailkit. Его нужно установить до того как будите устанавливать ISPConfig, и мы его будем собирать из исходников, а сейчас нужно установить вспомогательные программы для него:

И приступаем к созданию директории в нее будем скачивать, а после распакуем и соберем утилиту Jailkit. Для установки Jailkit выполните ряд команд:

2 lines
# cd /usr/local/src·
# wget·http://olivier.sessink.nl/jailkit/jailkit-2.17.tar.gz

Распаковываем архив с исходниками и переходим в директорию с исходным кодом:

# tar xvfz jailkit-2.17.tar.gz &&·cd jailkit-2.17

Начнем сборку:

2 lines
# ./debian/rules binary
# dpkg -i /usr/local/src/jailkit_2.17*.deb

Установим весьма полезную утилиту Fail2ban она будет следить за вашими серверами и защищая от попыток взлома (будет блокировать IP) в интернет сервисах. Сейчас я ее установлю и настрою:

Создадим конфиг с настройками утилиты fail2ban:
Я его прописал в файл, теперь его можно просто  скачать и запустить у себя:

3 lines
# cd /usr/local/src
# wget http://linux-notes.org/wp-content/uploads/files/fail2ban/fail2ban.sh
# ·chmod 777·fail2ban.sh

Запускаем его на выполнение:

# bash fail2ban.sh

Прочитать ( поглядеть) можно тут 

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

Перегружаем утилиту для защиты нашего сервера fail2ban:

# /etc/init.d/fail2ban restart

2. Установка ISPconfig на Debian/Ubuntu/Mint

Все необходимое я установил выше, сейчас время пришло установить саму панель управления — ISPconfig 3:

2 lines
# cd /usr/local/src/
# wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz

Распакуем и переходим в директорию для установки:

2 lines
#·tar xfz ISPConfig-3-stable.tar.gz

Выполняем установку:

Нас просят ввести язык для установки (выбираю en -английский). Затем просят ввести каким образом будет устанавливать (expert или standart) — я выбираю expert. Далее вводим все остальное, интуитивно понятно что и как делать.

<img aria-describedby= >установка ISPconfig 3 на Debian

После чего нужно подождать некоторое время чтобы установилась данная панель на ваш сервер. После чего еще просит ввести ряд подобной информации.

<img loading=»lazy» src=»http://linux-notes.org/wp-content/uploads/2014/08/ustanovka-ISPconfig-3-na-Debian1.png» alt=»установка ISPconfig 3 на Debian» width=»723″ height=»559″ srcset=»https://linux-notes.org/wp-content/uploads/2014/08/ustanovka-ISPconfig-3-na-Debian1.png 723w, https://linux-notes.org/wp-content/uploads/2014/08/ustanovka-ISPconfig-3-na-Debian1-300×231.png 300w» sizes=»(max-width: 723px) 100vw, 723px» />

После чего попросят ввести пароль, отказываемся и просто нажимаем «Enter». Не введите его, а то работать не будет, я эту ошибку совершил и каялся, пришлось все заново делать.

Желательно пропатчить ISPconfig, так как могут быть различные открытые дыры. На момент написания была самая последняя версия программы ISPconfig -3.0.5.4. Заходим на официальный сайт и скачиваем патч. Я перейду в нужную паку и скачаю его:

2 lines
#·cd /usr/local/ispconfig/server/scripts
#·wget http://www.ispconfig.org/downloads/ispconfig_patch

выставляем права на файл и пачтим панель:

4 lines
# chmod 700 ispconfig_patch
# chown root:root ispconfig_patch
# ln -s /usr/local/ispconfig/server/scripts/ispconfig_patch /usr/local/bin/ispconfig_patch
ispconfig_patch

На официальном сайте есть описание, нас интересует именно ID, у меня это 3054_dns, ввожу когда спросит меня об этом.

Ну что ребята, установка завершена, время пришло открыть ваш  браузер и перейти по ссылке:

https://your_IP_or_domain:8080

У меня это выглядит вот так:

https://192.168.116.207:8080/

Вводим логин — admin, пароль —admin. Меняем пароль администратора ISPconfig, нужно перейти Tools ->Passaword and Language.

<img aria-describedby= >ISPconfig, начальная настройка

Создадим нового пользователя ( клиента) который сможет управлять своими сайтами, ДНСами, SSH-ем, для этого нужно перейти client->Add new client (я не менял язык, использую английский).

 

<img aria-describedby= >добавление клиента в ISPconfig

Можно так же указать свою страну и много другой информации, ее можно заполнять по желанию. Можно еще много чего настроить и добавить, но об этом поговорим немного позже.

На этом я завершаю свою тему «Установка ISPconfig на Debian/Ubuntu/Mint», спасибо за посещение моего сайта http://linux-notes.org

Was this helpful?

0 / 0