Идеальный сервер - Ubuntu 14.04, nginx, BIND, MySQL, PHP, Postfix, Dovecot и ISPConfig 3 (страница 3)
Ранее: страница 1, страница 2
12. Установка PureFTPd и Quota
Установим пакеты PureFTPd и quota:
apt-get install pure-ftpd-common pure-ftpd-mysql quota quotatool
Отредактируем /etc/default/pure-ftpd-common
nano /etc/default/pure-ftpd-common
[...]
STANDALONE_OR_INETD=standalone
[...]
VIRTUALCHROOT=true
[...]
Теперь настроим PureFTPd через FTP и TLS сессии. FTP является очень небезопасным протоколом, потому что все пароли и все данные передаются в открытом виде. При использовании TLS соединения могут быть зашифрованы, что делает FTP гораздо более безопасным.
Если вы хотите разрешить FTP и TLS сессии, выполните:
echo 1 > /etc/pure-ftpd/conf/TLS
Для того чтобы использовать TLS, мы должны создать сертификат SSL. Сертификаты будут храниться в директории /etc/ssl/private/
Создадим директорию:
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
Перезапускаем PureFTPd:
service pure-ftpd-mysql restart
Редактируем файл /etc/fstab
nano /etc/fstab
Добавляем параметры usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 к корневому разделу:
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/mapper/server1--vg-root / ext4 errors=remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1
# /boot was on /dev/sda1 during installation
UUID=9b8299f1-b2a2-4231-9ba1-4540fad76b0f /boot ext2 defaults 0 2
/dev/mapper/server1--vg-swap_1 none swap sw 0 0
Для активации квот перемонтируем корень:
mount -o remount /
Выполним:
quotacheck -avugm
quotaon -avug
13. Установка BIND DNS сервера
Установим необходимые пакеты:
apt-get install bind9 dnsutils
14. Установка Vlogger, Webalizer и AWstats
Установим:
apt-get install vlogger webalizer awstats geoip-database libclass-dbi-mysql-perl
Отредактируем файл /etc/cron.d/awstats
nano /etc/cron.d/awstats
и закомментируем все, что в этом файле:
#MAILTO=root
#*/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
15. Установка Jailkit
Jailkit нужен только если вы хотите использовать chroot для SSH пользователей. Jailkit может быть установлен только до ISPConfig - в последствии его установить не получится. Если не нужен, то не устанавливайте.
Установка необходимых пакетов:
apt-get install build-essential autoconf automake1.9 libtool flex bison debhelper binutils-gold
cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.15.tar.gz
tar xvfz jailkit-2.15.tar.gz
cd jailkit-2.15
./debian/rules binary
Теперь можно установить Jailkit следующим образом:
cd ..
dpkg -i jailkit_2.15-1_*.deb
rm -rf jailkit-2.15*
16. Установка fail2ban
Установка этого пакета не является обязательной, но рекомендуется. ISPConfig будет показывать логи fail2ban.
apt-get install fail2ban
Чтобы fail2ban мониторил PureFTPd и Dovecot, создадим файл /etc/fail2ban/jail.local:
nano /etc/fail2ban/jail.local
Вставим следующий код:
[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
[postfix-sasl]
enabled = true
port = smtp
filter = postfix-sasl
logpath = /var/log/mail.log
maxretry = 3
Затем создадим два файла фильтров:
# nano /etc/fail2ban/filter.d/pureftpd.conf
[Definition]
failregex = .*pure-ftpd: \(.*@<HOST>\) \[WARNING\] Authentication failed for user.*
ignoreregex =
# nano /etc/fail2ban/filter.d/dovecot-pop3imap.conf
[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 =
Добавим ignoreregex в postfix-sasl:
echo "ignoreregex =" >> /etc/fail2ban/filter.d/postfix-sasl.conf
После чего перезапустим fail2ban:
service fail2ban restart
17. Установка SquirrelMail
SquirrelMail - это почтовый веб-клиент, позволяющий управлять почтовыми ящиками через веб-браузер.
Установка:
apt-get install 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. Set pre-defined settings for specific IMAP servers
C Turn color on
S Save data
Q Quit
Command >>
D
SquirrelMail Configuration : Read: config.php
---------------------------------------------------------
While we have been building SquirrelMail, we have discovered some
preferences that work better with some servers that don't work so
well with others. If you select your IMAP server, this option will
set some pre-defined settings for that server.
Please note that you will still need to go through and make sure
everything is correct. This does not change everything. There are
only a few settings that this will change.
Please select your IMAP server:
bincimap = Binc IMAP server
courier = Courier IMAP server
cyrus = Cyrus IMAP server
dovecot = Dovecot Secure IMAP server
exchange = Microsoft Exchange IMAP server
hmailserver = hMailServer
macosx = Mac OS X Mailserver
mercury32 = Mercury/32
uw = University of Washington's IMAP server
gmail = IMAP access to Google mail (Gmail) accounts
quit = Do not change anything
Command >>
dovecot
SquirrelMail Configuration : Read: config.php
---------------------------------------------------------
While we have been building SquirrelMail, we have discovered some
preferences that work better with some servers that don't work so
well with others. If you select your IMAP server, this option will
set some pre-defined settings for that server.
Please note that you will still need to go through and make sure
everything is correct. This does not change everything. There are
only a few settings that this will change.
Please select your IMAP server:
bincimap = Binc IMAP server
courier = Courier IMAP server
cyrus = Cyrus IMAP server
dovecot = Dovecot Secure IMAP server
exchange = Microsoft Exchange IMAP server
hmailserver = hMailServer
macosx = Mac OS X Mailserver
mercury32 = Mercury/32
uw = University of Washington's IMAP server
gmail = IMAP access to Google mail (Gmail) accounts
quit = Do not change anything
Command >> dovecot
imap_server_type = dovecot
default_folder_prefix =
trash_folder = Trash
sent_folder = Sent
draft_folder = Drafts
show_prefix_option = false
default_sub_of_inbox = false
show_contain_subfolders_option = false
optional_delimiter = detect
delete_folder = false
Press enter to continue...
ENTER
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. Set pre-defined settings for specific IMAP servers
C Turn color on
S Save data
Q Quit
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. Set pre-defined settings for specific IMAP servers
C Turn color on
S Save data
Q Quit
Command >>
Q
SquirrelMail установился в директории /usr/share/squirrelmail/
После установки ISPConfig 3 доступ к SquirrelMail можно получить по адресу:
http://server1.домен.ru:8081/squirrelmail
или
http://server1.домен.ru:8081/webmail
Если вы хотите иметь доступ к /webmail или /squirrelmail с ваших виртуальных хостов, то необходимо использовать /webmail и /squirrelmail алиасы. Для этого будет необходимо в ISPConfig в поле директив Nginx во вкладке "Параметры веб-сайта" вставить код:
location /squirrelmail {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/squirrelmail/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include /etc/nginx/fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_buffer_size 128k;
fastcgi_buffers 256 4k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
}
location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /webmail {
rewrite ^/* /squirrelmail last;
}
Если вы используете https вместо http для ваших виртуальных хостов, то необходимо добавить параметр fastcgi_param HTTPS on; В этом случае код будет такой:
location /squirrelmail {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/squirrelmail/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param HTTPS on; # <-- add this line
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include /etc/nginx/fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_buffer_size 128k;
fastcgi_buffers 256 4k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
}
location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /webmail {
rewrite ^/* /squirrelmail last;
}
Если вы используете и http и https для виртуального хоста, необходимо будет добавить следующий код в секцию http {} файла /etc/nginx/nginx.conf
# nano /etc/nginx/nginx.conf
[...]
http {
[...]
## Detect when HTTPS is used
map $scheme $fastcgi_https {
default off;
https on;
}
[...]
}
[...]
После редактирования конфигов не забываем перезапустить сервер:
service nginx reload
После чего переходим в ISPConfig в поле директив Nginx во вкладке "Параметры веб-сайта" и вставляем следующий код:
location /squirrelmail {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/squirrelmail/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param HTTPS $fastcgi_https; # <-- add this line
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include /etc/nginx/fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_buffer_size 128k;
fastcgi_buffers 256 4k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
}
location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /webmail {
rewrite ^/* /squirrelmail last;
}
Теперь вы сможете использовать squirrelmail как для http, так и для https.
Далее - страница 4
Гость
5 октября, 2015 - 21:27
Постоянная ссылка (Permalink)
Спасибо большое за подробную, замечательную инструкцию!
настроил свои домены на серевер через дднс, т.к. нет статичного ip
этим сервисом http://freedns.afraid.org/dynamic/
добавил сайты в панели управления, прекрасно работают
а вот с почтой такой прием не удался
Подскажите пожалуйста какие будут настройки для Thunderbird например
- порты smtp, pop3, imap, SSL, тип аутинтификации?
- при авторизации логин почты вводить с доменом или только то что до @?
и :8081/webmail не открывается, после установки открылся, теперь пишет Ошибка подключения SSL
Гость
5 октября, 2015 - 21:49
Постоянная ссылка (Permalink)
Веб интерфейс получилось открыть
Попробовал отправить письмо ошибка
111 Can't open SMTP stream
Гость
6 октября, 2015 - 17:09
Постоянная ссылка (Permalink)
В этой электронной почте честно говоря никакого смысла нет, если нет своего платного сертификата. Письма все будут помечаться гуглом и яндексом как спам и не доходить до получателей.
Гость
6 октября, 2015 - 17:11
Постоянная ссылка (Permalink)
Рекомендую воспользоваться сервисом яндекса Почта для домена. Бесплатно, удобно и надежно.