Установка ПО · 3 min read · Sep 29, 2025

Идеальный SpamSnake - Ubuntu Jaunty Jackalope - Страница 2

10. Apache2

apt-get install apache2 apache2-suexec apache2-doc apache2-mpm-prefork apache2-utils libexpat1

Далее мы устанавливаем PHP5 как модуль Apache:

aptitude install libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

Далее мы редактируем /etc/apache2/mods-available/dir.conf и изменяем строку DirectoryIndex:



          #DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
          DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml

Теперь нам нужно включить некоторые модули Apache (rewrite, suexec, include)

a2enmod rewrite   
a2enmod suexec   
a2enmod include

Перезапустите Apache:

/etc/init.d/apache2 restart

11. Postfix и MySQL

Установите пакеты:

apt-get install postfix postfix-mysql postfix-doc mysql-server mysql-client procmail

MySQL:

Вам будет предложено ввести пароль для пользователя root MySQL - этот пароль действителен для пользователя root@localhost, а также для [email protected], поэтому нам не нужно будет указывать пароль root MySQL вручную позже:

Новый пароль для пользователя MySQL “root”: <– вашпарольrootsql
Повторите пароль для пользователя MySQL “root”: <– вашпарольrootsql

Postfix:

Вам будет задано два вопроса. Ответьте следующим образом:

Общий тип конфигурации почты: <– Интернет-сайт
Системное имя почты: <– server1.example.com

Мы хотим, чтобы MySQL слушал на всех интерфейсах, а не только на localhost, поэтому мы редактируем /etc/mysql/my.cnf и закомментируем строку bind-address = 127.0.0.1:

[...]
# Вместо skip-networking по умолчанию теперь слушает только на
# localhost, что более совместимо и не менее безопасно.
#bind-address           = 127.0.0.1
[...]

Затем мы перезапускаем MySQL:

/etc/init.d/mysql restart

Теперь проверьте, что сеть включена. Запустите

netstat -tap | grep mysql

Вывод должен выглядеть так:

tcp        0      0 *:mysql                 *:*                     LISTEN      4318/mysqld

Остановите Postfix:

postfix stop

Мы хотим отредактировать Postfix следующим образом:

Редактировать master.cf:

Нам нужно добавить два элемента под типом службы pickup. Служба pickup “подбирает” локальную почту (локальная означает “на этом компьютере”) и доставляет ее. Это способ обойти фильтрацию содержимого для почты, сгенерированной этим компьютером.

Это должно выглядеть так, когда вы закончите:

pickup    fifo  n       -       -       60      1       pickup
         -o content_filter=
         -o receive_override_options=no_header_body_checks

Редактировать main.cf:

postconf -e "alias_maps = hash:/etc/aliases"  
newaliases  
postconf -e "myorigin = example.com"  
postconf -e "myhostname = server1.example.com"  
postconf -e "mynetworks = 127.0.0.0/8, 192.168.0.0/24"  
postconf -e "message_size_limit = 10485760"  
postconf -e "local_transport = error:No local mail delivery"  
postconf -e "mydestination = "  
postconf -e "local_recipient_maps = "  
postconf -e "virtual_alias_maps = hash:/etc/postfix/virtual"

Создайте /etc/postfix/virtual и добавьте следующее:

postmaster [email protected]
abuse [email protected]
root [email protected]

Продолжайте:

postmap /etc/postfix/virtual  
postconf -e "relay_recipient_maps = hash:/etc/postfix/relay_recipients"

Создайте /etc/postfix/relay_recipients и добавьте следующее:

@example.com OK
@example2.com OK

Продолжайте:

postmap /etc/postfix/relay_recipients  
postconf -e "transport_maps = hash:/etc/postfix/transport"

Создайте /etc/postfix/transport и добавьте следующее:

example.com smtp:[192.168.0.x]
example2.com smtp:[192.168.0.x]

Продолжайте:

postmap /etc/postfix/transport  
postconf -e "relay_domains = hash:/etc/postfix/relay_domains"

Создайте /etc/postfix/relay_domains и добавьте следующее:

example.com OK
example2.com OK

Продолжайте:

postmap /etc/postfix/relay_domains  
postconf -e "smtpd_helo_required = yes"  
postconf -e "smtpd_sender_restrictions = reject_non_fqdn_sender, reject_unknown_sender_domain, permit"  
postconf -e "smtpd_recipient_restrictions = reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_recipient_domain, permit_mynetworks, reject_unauth_destination, reject_unauth_pipelining, reject_rbl_client zen.spamhaus.org, reject_rbl_client bl.spamcop.net, permit"  
postconf -e "smtpd_data_restrictions = reject_unauth_pipelining"

Давайте еще раз взглянем на конфигурацию Postfix:

less /etc/postfix/main.cf

Проверьте содержимое файла на наличие ошибок и исправьте при необходимости. Запустите Postfix:

postfix start

Проверьте, что Postfix отвечает:

telnet 127.0.0.1 25

Вы должны увидеть:

220 [вашFQDNздесь] ESMTP Postfix (Ubuntu)

12. Установка MailScanner Razor Pyzor DCC Clamav

apt-get install mailscanner razor pyzor clamav-daemon

Начнем с MailScanner. MailScanner, который только что был установлен из репозиториев, является очень старой версией, поэтому мы сейчас удалим его и установим пакет MailScanner из исходников. Вышеуказанное сделано только для установки зависимостей.

apt-get remove mailscanner

Скачайте http://www.mailscanner.info/files/4/tar/MailScanner-install-4.75.11-1.tar.gz в /usr/src/mailscanner/ и выполните:

tar xvfz MailScanner-install-4.75.11-1.tar.gz  
cd MailScanner-install-4.75.11  
./install.sh

Отключите MailScanner по умолчанию:

mv /etc/MailScanner /etc/MailScanner.dist
Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.