Серверная настройка · 8 min read · Dec 30, 2025

Идеальный сервер - Ubuntu 14.04 (Apache2, PHP, MySQL, PureFTPD, BIND, Dovecot, ISPConfig 3) - Страница 6

21 Установка SquirrelMail

Чтобы установить веб-клиент SquirrelMail, выполните

apt-get install squirrelmail

Затем настройте SquirrelMail:

squirrelmail-configure

Мы должны сообщить SquirrelMail, что мы используем Dovecot-IMAP/-POP3:

SquirrelMail Configuration : Read: config.php (1.4.0)

Main Menu –
1.  Organization Preferences
2.  Server Settings
3.  Folder Defaults
4.  General Options
5.  Themes
6.  Address Books
7.  Message of the Day (MOTD)
8.  Plugins
9.  Database
10. Languages

D.  Установить предопределенные настройки для конкретных IMAP серверов

C   Включить цвет
S   Сохранить данные
Q   Выйти

Command >> <– D

SquirrelMail Configuration : Read: config.php

Пока мы строили SquirrelMail, мы обнаружили некоторые
предпочтения, которые работают лучше с некоторыми
серверами, которые не работают так хорошо с другими.  Если вы
выберете ваш IMAP сервер, эта опция установит
некоторые предопределенные настройки для этого сервера.

Пожалуйста, обратите внимание, что вам все равно нужно
пройтись по всем настройкам и убедиться, что
все правильно.  Это не меняет все.  Есть
только несколько настроек, которые это изменит.

Пожалуйста, выберите ваш IMAP сервер:
bincimap    = Binc IMAP сервер
courier     = Courier IMAP сервер
cyrus       = Cyrus IMAP сервер
dovecot     = Dovecot Secure IMAP сервер
exchange    = Microsoft Exchange IMAP сервер
hmailserver = hMailServer
macosx      = Mac OS X Mailserver
mercury32   = Mercury/32
uw          = IMAP сервер Университета Вашингтона
gmail       = IMAP доступ к аккаунтам Google mail (Gmail)

quit        = Не менять ничего
Command >> <– dovecot

SquirrelMail Configuration : Read: config.php

Пока мы строили SquirrelMail, мы обнаружили некоторые
предпочтения, которые работают лучше с некоторыми
серверами, которые не работают так хорошо с другими.  Если вы
выберете ваш IMAP сервер, эта опция установит
некоторые предопределенные настройки для этого сервера.

Пожалуйста, обратите внимание, что вам все равно нужно
пройтись по всем настройкам и убедиться, что
все правильно.  Это не меняет все.  Есть
только несколько настроек, которые это изменит.

Пожалуйста, выберите ваш IMAP сервер:
bincimap    = Binc IMAP сервер
courier     = Courier IMAP сервер
cyrus       = Cyrus IMAP сервер
dovecot     = Dovecot Secure IMAP сервер
exchange    = Microsoft Exchange IMAP сервер
hmailserver = hMailServer
macosx      = Mac OS X Mailserver
mercury32   = Mercury/32
uw          = IMAP сервер Университета Вашингтона
gmail       = IMAP доступ к аккаунтам Google mail (Gmail)

quit        = Не менять ничего
Command >> dovecot

imap_server_type = dovecot
default_folder_prefix = 
trash_folder = Корзина
sent_folder = Отправленные
draft_folder = Черновики
show_prefix_option = false
default_sub_of_inbox = false
show_contain_subfolders_option = false
optional_delimiter = detect
delete_folder = false

Нажмите любую клавишу, чтобы продолжить… <– нажмите клавишу

SquirrelMail Configuration : Read: config.php (1.4.0)

Main Menu –
1.  Organization Preferences
2.  Server Settings
3.  Folder Defaults
4.  General Options
5.  Themes
6.  Address Books
7.  Message of the Day (MOTD)
8.  Plugins
9.  Database
10. Languages

D.  Установить предопределенные настройки для конкретных IMAP серверов

C   Включить цвет
S   Сохранить данные
Q   Выйти

Command >> <– S

SquirrelMail Configuration : Read: config.php (1.4.0)

Main Menu –
1.  Organization Preferences
2.  Server Settings
3.  Folder Defaults
4.  General Options
5.  Themes
6.  Address Books
7.  Message of the Day (MOTD)
8.  Plugins
9.  Database
10. Languages

D.  Установить предопределенные настройки для конкретных IMAP серверов

C   Включить цвет
S   Сохранить данные
Q   Выйти

Command >> <– Q

Теперь мы настроим SquirrelMail так, чтобы вы могли использовать его с ваших веб-сайтов (созданных через ISPConfig) с помощью алиасов /squirrelmail или /webmail. Так что, если ваш веб-сайт www.example.com, вы сможете получить доступ к SquirrelMail, используя www.example.com/squirrelmail или www.example.com/webmail.

Конфигурация Apache для SquirrelMail находится в файле /etc/squirrelmail/apache.conf, но этот файл не загружается Apache, потому что он не находится в каталоге /etc/apache2/conf-available/. Поэтому мы создаем символическую ссылку с именем squirrelmail.conf в каталоге /etc/apache2/conf-available/, которая указывает на /etc/squirrelmail/apache.conf, и затем перезагружаем Apache:

cd /etc/apache2/conf-available/   
ln -s ../../squirrelmail/apache.conf squirrelmail.conf   
service apache2 reload

Теперь откройте /etc/apache2/conf.d/squirrelmail.conf…

 vi /etc/apache2/conf-available/squirrelmail.conf

… и добавьте следующие строки в контейнер , которые обеспечивают использование mod_php для доступа к SquirrelMail, независимо от того, какой режим PHP вы выбрали для вашего веб-сайта в ISPConfig:

| [...] Options FollowSymLinks AddType application/x-httpd-php .php php_flag magic_quotes_gpc Off php_flag track_vars On php_admin_flag allow_url_fopen Off php_value include_path . php_admin_value upload_tmp_dir /var/lib/squirrelmail/tmp php_admin_value open_basedir /usr/share/squirrelmail:/etc/squirrelmail:/var/lib/squirrelmail:/etc/hostname:/etc/mailname php_flag register_globals off DirectoryIndex index.php # доступ к configtest ограничен по умолчанию, чтобы предотвратить утечку информации order deny,allow deny from all allow from 127.0.0.1 [...] |

Создайте каталог /var/lib/squirrelmail/tmp…

mkdir /var/lib/squirrelmail/tmp

… и сделайте его владельцем пользователя www-data:

chown www-data /var/lib/squirrelmail/tmp

Далее нам нужно включить squirrelmail с apache2.

a2enconf squirrelmail

Снова перезагрузите Apache:

service apache2 reload

Вот и все - /etc/apache2/conf-available/squirrelmail.conf определяет алиас с именем /squirrelmail, который указывает на каталог установки SquirrelMail /usr/share/squirrelmail.

Теперь вы можете получить доступ к SquirrelMail с вашего веб-сайта следующим образом:

http://192.168.2.251/squirrelmail   
http://www.example.com/squirrelmail

Вы также можете получить доступ к нему из панели управления ISPConfig vhost (после установки ISPConfig, см. следующий раздел) следующим образом (это не требует никакой конфигурации в ISPConfig):

http://server1.example.com:8080/squirrelmail

Если вы хотите использовать алиас /webmail вместо /squirrelmail, просто откройте /etc/apache2/conf-available/squirrelmail.conf…

vi /etc/apache2/conf-available/squirrelmail.conf

… и добавьте строку Alias /webmail /usr/share/squirrelmail:

| Alias /squirrelmail /usr/share/squirrelmail Alias /webmail /usr/share/squirrelmail [...] |

Затем перезагрузите Apache:

service apache2 reload

Теперь вы можете получить доступ к Squirrelmail следующим образом:

http:// 192.168.2.251 /webmail
http://www.example.com/webmail
http://server1.example.com:8080/webmail (после установки ISPConfig, см. следующий раздел)

Если вы хотите определить vhost, например webmail.example.com, где ваши пользователи могут получить доступ к SquirrelMail, вам нужно будет добавить следующую конфигурацию vhost в /etc/apache2/conf-available/squirrelmail.conf:

vi /etc/apache2/conf-available/squirrelmail.conf

| [...] DocumentRoot /usr/share/squirrelmail ServerName webmail.example.com |

Убедитесь, что вы заменили 1.2.3.4 на правильный IP-адрес вашего сервера. Конечно, должна быть DNS-запись для webmail.example.com, которая указывает на IP-адрес, который вы используете в конфигурации vhost. Также убедитесь, что vhost webmail.example.com не существует в ISPConfig (в противном случае оба vhost будут мешать друг другу!).

Теперь перезагрузите Apache…

service apache2 reload

… и вы сможете получить доступ к SquirrelMail по адресу http://webmail.example.com!

22. Дополнительно: Скрипт для проверки установок.

Я представил здесь скрипт, который проверит, сделали ли вы какие-либо опечатки. Это проверит, что все необходимые установки завершены в соответствии с учебником. Скрипт выглядит следующим образом:

#!/bin/bash
###################################################################################################################################################
###################################################################################################################################################
#### #####
#### Этот скрипт создан Сриджаном Кишором для проверки полной установки учебника #######
#### #####
###################################################################################################################################################
###################################################################################################################################################

cd /tmp

###################################################################################################################################################
#### Установки, выполненные в учебнике #####
###################################################################################################################################################

echo "amavisd-new
apache2
apache2-doc
apache2-suexec
apache2-utils
apt-listchanges
arj
autoconf
automake1.9
awstats
bind9
binutils
bison
build-essential
bzip2
cabextract
clamav
clamav-daemon
clamav-docs
daemon
debhelper
dnsutils
dovecot-imapd
dovecot-mysql
dovecot-pop3d
dovecot-sieve
fail2ban
flex
geoip-database
getmail4
imagemagick
jailkit
libapache2-mod-fastcgi
libapache2-mod-fcgid
libapache2-mod-php5
libapache2-mod-python
libapache2-mod-suphp
libauthen-sasl-perl
libclass-dbi-mysql-perl
libio-socket-ssl-perl
libio-string-perl
libnet-dns-perl
libnet-ident-perl
libnet-ldap-perl
libruby
libtool
lzop
mailman
mcrypt
memcached
mysql-client
mysql-server
nomarch
ntp
ntpdate
openssl
php5
php5-cgi
php5-cli
php5-common
php5-curl
php5-fpm
php5-gd
php5-imagick
php5-imap
php5-intl
php5-mcrypt
php5-memcache
php5-memcached
php5-ming
php5-mysql
php5-ps
php5-pspell
php5-recode
php5-snmp
php5-sqlite
php5-tidy
php5-xcache
php5-xmlrpc
php5-xsl
php-auth
phpmyadmin
php-pear
postfix
postfix-doc
postfix-mysql
rkhunter
spamassassin
squirrelmail
sudo
unzip
vlogger
webalizer
zip
zoo" > tutorial_install

##################################################################################################################################################
#### Список всех пакетов, установленных вами на вашем сервере ####
##################################################################################################################################################

dpkg -l |grep ii| cut -d ' ' -f3 > server_installed

##################################################################################################################################################
#### Разница между учебником и установкой вашего сервера ####
##################################################################################################################################################

diff server_installed tutorial_install | grep ">" | cut -d ' ' -f2 > missing_packages

if [ $? -eq 0 ]

echo "Вы пропустили установку этих пакетов 
` cat missing_packages` "
then 
echo "Вам нужно установить эти пакеты. Чтобы установить эти пакеты, вам нужно выполнить команду apt-get install package_name"

echo " Вы можете проверить конкретную установку следующим образом:
dpkg -l | grep package_name | cut -d ' ' -f3

Если он показывает package_name, то вы можете игнорировать пакет."

else

echo "Поздравляем, вы успешно установили все пакеты"

fi

rm -rf missing_packages server_installed tutorial_install
chmod +x ubuntu_package_check.sh
./ubuntu_package_check.sh

23. Установка ISPConfig 3

Чтобы установить ISPConfig 3 из последней выпущенной версии, выполните следующее:

cd /tmp   
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz   
tar xfz ISPConfig-3-stable.tar.gz   
cd ispconfig3_install/install/

Следующий шаг - запустить

php -q install.php

Это запустит установщик ISPConfig 3. Установщик настроит все службы, такие как Postfix, Dovecot и т. д. для вас. Ручная настройка, необходимая для ISPConfig 2 (идеальные руководства по настройке), не требуется.

root@server1:/tmp/ispconfig3_install/install# php -q install.php

——————————————————————————–
_ _   _                        _
|   /   \ /   \            / ()       /  \
| | \ --.| |_/ / | /  \/ ___  _ __ | |_ _  __ _    _/ / | |–. \  /  | |    /  \| ’ \|  | |/ ` |  | | | |_// / |     | _/() | | | | | | | | (| | __\ \
_/__/_|      _/\/|| ||| ||, | __/
/ |
|_
/
——————————————————————————–

>> Первоначальная конфигурация

Операционная система: 14.04 UNKNOWN

Следующие будут несколько вопросов для первичной конфигурации, поэтому будьте внимательны.
Значения по умолчанию находятся в [скобках] и могут быть приняты с .
Введите “quit” (без кавычек), чтобы остановить установщик.

Выберите язык (en,de) [en]: <– ENTER

Режим установки (standard,expert) [standard]: <– ENTER

Полное квалифицированное имя хоста (FQDN) сервера, например server1.domain.tld  [server1.example.com]: <– ENTER

Имя хоста MySQL [localhost]: <– ENTER

Имя пользователя root MySQL [root]: <– ENTER

Пароль root MySQL []: <– вашпарольrootsql

База данных MySQL для создания [dbispconfig]: <– ENTER

Кодировка MySQL [utf8]: <– ENTER

Генерация 4096-битного RSA закрытого ключа
………………………………………………………………….++
…………………++
запись нового закрытого ключа в ’smtpd.key’
—–
Вы собираетесь ввести информацию, которая будет включена
в ваш запрос сертификата.
То, что вы собираетесь ввести, называется
отличительным именем или DN.
Существует довольно много полей,
но вы можете оставить некоторые пустыми
Для некоторых полей
будет значение по умолчанию,
Если вы введите ’.’, поле
будет оставлено пустым.
—–
Название страны (2-буквенный код) [AU]: <– ENTER
Название штата или провинции (полное имя) [Some-State]: <– ENTER
Название местности (например, город) []: <– ENTER
Название организации (например, компания) [Internet Widgits Pty Ltd]: <– ENTER
Название организационного подразделения (например, секция) []: <– ENTER
Общее имя (например, FQDN сервера или ВАШЕ имя) []: <– ENTER
Адрес электронной почты []: <– ENTER
Настройка Jailkit
Настройка Dovecot
Настройка Spamassassin
Настройка Amavisd
Настройка Getmail
Настройка Pureftpd
Настройка BIND
Настройка Apache
Настройка Vlogger
Настройка vhost приложений
Настройка брандмауэра Bastille
Настройка Fail2ban
Установка ISPConfig
Порт ISPConfig [8080]: <– ENTER

Хотите ли вы безопасное (SSL) соединение с веб-интерфейсом ISPConfig (y,n) [y]: <– ENTER

Генерация RSA закрытого ключа, 4096 битный длинный модуль
……….++
……++
e равен 65537 (0x10001)
Вы собираетесь ввести информацию, которая будет включена
в ваш запрос сертификата.
То, что вы собираетесь ввести, называется
отличительным именем или DN.
Существует довольно много полей,
но вы можете оставить некоторые пустыми
Для некоторых полей
будет значение по умолчанию,
Если вы введите ’.’, поле
будет оставлено пустым.
—–
Название страны (2-буквенный код) [AU]: <– ENTER
Название штата или провинции (полное имя) [Some-State]: <– ENTER
Название местности (например, город) []: <– ENTER
Название организации (например, компания) [Internet Widgits Pty Ltd]: <– ENTER
Название организационного подразделения (например, секция) []: <– ENTER
Общее имя (например, FQDN сервера или ВАШЕ имя) []: <– ENTER
Адрес электронной почты []: <– ENTER
Пожалуйста, введите следующие ‘дополнительные’ атрибуты,
которые будут отправлены с вашим запросом на сертификат
Пароль для вызова []: <– ENTER
Необязательное название компании []: <– ENTER
запись RSA ключа
Настройка DBServer
Установка ISPConfig crontab
нет crontab для root
нет crontab для getmail
Перезапуск служб …
Вместо вызова скриптов инициализации через /etc/init.d, используйте утилиту service(8), например, service mysql restart

Поскольку скрипт, который вы пытаетесь вызвать, был преобразован в задачу Upstart, вы также можете использовать утилиты stop(8) и затем start(8), например, stop mysql ; start mysql. Утилита restart(8) также доступна.
mysql stop/waiting
mysql start/running, process 2817
 Остановка Postfix Mail Transport Agent postfix
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
…готово.
 Запуск Postfix Mail Transport Agent postfix
postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
…готово.
Остановка amavisd: amavisd-new.
Запуск amavisd: amavisd-new.
 Остановка демона ClamAV clamd
…готово.
 Запуск демона ClamAV clamd
…готово.
Вместо вызова скриптов инициализации через /etc/init.d, используйте утилиту service(8), например, service dovecot restart

Поскольку скрипт, который вы пытаетесь вызвать, был преобразован в задачу Upstart, вы также можете использовать утилиты stop(8) и затем start(8), например, stop dovecot ; start dovecot. Утилита restart(8) также доступна.
dovecot stop/waiting
dovecot start/running, process 3962
 Перезапуск веб-сервера apache2
[Пт 26 апр 00:55:00 2013] [warn] NameVirtualHost 
:443 has no VirtualHosts
[Пт 26 апр 00:55:00 2013] [warn] NameVirtualHost :80 has no VirtualHosts
[Пт 26 апр 00:55:01 2013] [warn] NameVirtualHost 
:443 has no VirtualHosts
[Пт 26 апр 00:55:01 2013] [warn] NameVirtualHost :80 has no VirtualHosts
… ожидание    …готово.
Перезапуск ftp сервера: Запуск: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -A -b -u 1000 -D -H -Y 1 -E -8 UTF-8 -O clf:/var/log/pure-ftpd/transfer.log -B
Установка завершена.
root@server1:/tmp/ispconfig3_install/install# Установщик автоматически настраивает все подлежащие службы, поэтому ручная настройка не требуется. Теперь у вас также есть возможность позволить установщику создать SSL vhost для панели управления ISPConfig, чтобы ISPConfig можно было получить с помощью https:// вместо http://. Для этого просто нажмите ENTER, когда вы увидите этот вопрос: Хотите ли вы безопасное (SSL) соединение с веб-интерфейсом ISPConfig (y,n) [y]:. После этого вы можете получить доступ к ISPConfig 3 по адресу http(s)://server1.example.com:8080/ или http(s)://192.168.2.251:8080/ (http или https зависит от того, что вы выбрали во время установки). Войдите с именем пользователя admin и паролем admin (вы должны изменить пароль по умолчанию после первого входа):



Система теперь готова к использованию. #### Руководство по ISPConfig 3 Чтобы узнать, как использовать ISPConfig 3, я настоятельно рекомендую скачать Руководство по ISPConfig 3. На более чем 300 страницах оно охватывает концепцию ISPConfig (администраторы, реселлеры, клиенты), объясняет, как установить и обновить ISPConfig 3, включает справочник для всех форм и полей форм в ISPConfig вместе с примерами допустимых вводов и предоставляет учебники для самых распространенных задач в ISPConfig 3. Оно также описывает, как сделать ваш сервер более безопасным и содержит раздел по устранению неполадок в конце. #### Приложение ISPConfig Monitor для Android С помощью приложения ISPConfig Monitor вы можете проверить статус вашего сервера и узнать, работают ли все службы, как ожидалось. Вы можете проверить TCP и UDP порты и пинговать ваши серверы. Кроме того, вы можете использовать это приложение для запроса деталей от серверов, на которых установлен ISPConfig ( *обратите внимание, что минимальная установленная версия ISPConfig 3 с поддержкой приложения ISPConfig Monitor - 3.0.3.3!
); эти детали включают все, что вы знаете из модуля Монитор в панели управления ISPConfig (например, службы, почта и системные журналы, очередь почты, информация о CPU и памяти, использование диска, квота, детали ОС, журнал RKHunter и т. д.), и, конечно, поскольку ISPConfig поддерживает многосерверную работу, вы можете проверить все серверы, которые контролируются с вашего главного сервера ISPConfig. Для получения инструкций по загрузке и использованию посетите http://www.ispconfig.org/ispconfig-3/ispconfig-monitor-app-for-android/. ### Дополнительные заметки #### OpenVZ Если сервер Ubuntu, который вы только что настроили в этом учебнике, является контейнером OpenVZ (виртуальная машина), вам следует сделать это на хост-системе (я предполагаю, что ID контейнера OpenVZ равен 101 - замените его на правильный VPSID в вашей системе): VPSID=101 for CAP in CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE do   vzctl set $VPSID --capability ${CAP}:on --save done ### Ссылки - Ubuntu: http://www.ubuntu.com/
- ISPConfig: http://www.ispconfig.org/

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.