Различия
Здесь показаны различия между двумя версиями данной страницы.
| Следующая версия | Предыдущая версия | ||
|
fullcircle:33:server_ч_3 [2010/06/20 17:48] создано |
fullcircle:33:server_ч_3 [2011/03/14 21:07] (текущий) [Скрипт] |
||
|---|---|---|---|
| Строка 9: | Строка 9: | ||
| - [[..:34:server_ч_4|Идеальный сервер — часть 4]] | - [[..:34:server_ч_4|Идеальный сервер — часть 4]] | ||
| + | Мы можем установить Postfix, Courier, Saslauthd, MySQL, rkhunter и binutils одной командой: | ||
| - | --------------------------------------- | + | (Если нужно, добавьте перед каждой командой sudo). |
| - | <style center> | + | <code>aptitude install postfix postfix-mysql |
| - | //[[..:33|К содержанию номера]]// | + | postfix-doc mysql-client mysql-server courier-authdaemon |
| + | courier-authlib-mysql courier-pop courier-pop-ssl | ||
| + | courier-imap courier-imap-ssl libsasl2-2 libsasl2-modules | ||
| + | libsasl2-modules-sql sasl2-bin libpam-mysql openssl getmail4 | ||
| + | rkhunter binutils</code> | ||
| - | //[[:fullcircle|К архиву журналов]]// | + | Вам зададут следующие вопросы: |
| - | </style> | + | |
| + | - Новый пароль для пользователя «root» MySQL | ||
| + | |||
| + | - Повторите пароль для пользователя «root» MySQL | ||
| + | |||
| + | - Создать директории для администрирования по сети? | ||
| + | - Введите: No | ||
| + | |||
| + | - Основной тип конфигурации почты: | ||
| + | - Введите: Internet Site | ||
| + | |||
| + | - Имя почтовой системы: | ||
| + | - Введите: server1.example.com (подставьте адрес своего сайта) | ||
| + | |||
| + | - Требуется ли SSL-сертификат | ||
| + | - Введите: OK | ||
| + | |||
| + | Далее установим maildrop как показано ниже: | ||
| + | |||
| + | <code>update-alternatives --remove-all maildir.5 | ||
| + | |||
| + | update-alternatives --remove-all maildirquota.7 | ||
| + | |||
| + | aptitude install maildrop</code> | ||
| + | |||
| + | Вы спросите себя: «Почему мы не установили maildrop вместе с другими пакетами»? Причина этому ошибка в пакете courier-base — если вы установите maildrop вместе с courier-pop, courier-pop-ssl, courier-imap и courier-imap-ssl, то получите такую ошибку: | ||
| + | |||
| + | <code>update-alternatives: error: | ||
| + | alternative link /usr/share/man/man5/maildir.5.gz | ||
| + | is already managed by maildir.5.gz.</code> | ||
| + | |||
| + | Мы хотим, чтобы MySQL прослушивала все интерфейсы, а не только localhost. Поэтому отредактируем /etc/mysql/my.cnf и закомментируем строку bind-address = 127.0.0.1: | ||
| + | |||
| + | <code>vi /etc/mysql/my.cnf | ||
| + | |||
| + | [...] | ||
| + | |||
| + | # Instead of skip-networking the default is now to listen only on | ||
| + | |||
| + | # localhost which is more compatible and is not less secure. | ||
| + | |||
| + | #bind-address = 127.0.0.1 | ||
| + | [...]</code> | ||
| + | |||
| + | Теперь перезапустим MySQL: | ||
| + | |||
| + | <code>/etc/init.d/mysql restart</code> | ||
| + | |||
| + | Проверим, что сеть включена. Выполните: | ||
| + | |||
| + | <code>netstat -tap | grep mysql | ||
| + | |||
| + | Вывод должен быть похож на: | ||
| + | |||
| + | root@server1:~# netstat -tap | grep mysql | ||
| + | |||
| + | tcp 0 0 *:mysql *:* LISTEN 6267/mysqld | ||
| + | |||
| + | root@server1:~#</code> | ||
| + | |||
| + | В ходе установки сертифи-каты SSL для IMAP-SSL и POP3-SSL были созданы для хоста localhost. Чтобы изменить его на корректный хост (server1.example.com в этом руководстве), удалите сертификаты... | ||
| + | |||
| + | <code>cd /etc/courier | ||
| + | |||
| + | rm -f /etc/courier/imapd.pem | ||
| + | |||
| + | rm -f /etc/courier/pop3d.pem</code> | ||
| + | |||
| + | и отредактируйте следующие два файла, заменяя 'CN=localhost' на 'CN=server1.example.com' (а также, при необходимости, изменяя другие значения): | ||
| + | |||
| + | <code>vi /etc/courier/imapd.cnf | ||
| + | |||
| + | [...] | ||
| + | CN=server1.example.com | ||
| + | [...] | ||
| + | |||
| + | vi /etc/courier/pop3d.cnf | ||
| + | |||
| + | [...] | ||
| + | CN=server1.example.com | ||
| + | [...]</code> | ||
| + | |||
| + | Теперь создадим сертификаты снова: | ||
| + | |||
| + | <code>mkimapdcert | ||
| + | |||
| + | mkpop3dcert | ||
| + | |||
| + | и перезапустите Courier-IMAP-SSL и Courier-POP3-SSL: | ||
| + | |||
| + | /etc/init.d/courier-imap-ssl restart | ||
| + | |||
| + | /etc/init.d/courier-pop-ssl restart</code> | ||
| + | |||
| + | =====Установка Amavisd-new, SpamAssassin и ClamAV===== | ||
| + | |||
| + | Для установки amavisd-new, SpamAssassin и ClamAV выполним: | ||
| + | |||
| + | <code>aptitude install amavisd-new spamassassin clamav clamav-daemon | ||
| + | zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-dap-perl | ||
| + | libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl | ||
| + | libnet-ident-perl zip libnet-dns-perl</code> | ||
| + | |||
| + | **SinglWolf:** На данный момент версия ClamAV - **0.97**, а в репозиториях lucid - **0.95**. Я это заметил только после полной установки сервера, так что вот изыскал, на мой взгляд, самое простое [[http://forum.ubuntu.ru/index.php?topic=142500.msg1054805#msg1054805|решение]]. | ||
| + | =====Установка Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear и mcrypt===== | ||
| + | |||
| + | Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear и mcrypt можно установить так: | ||
| + | |||
| + | <code>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-mcrypt mcrypt php5-imagick | ||
| + | imagemagick libapache2-mod-suphp</code> | ||
| + | |||
| + | Необходимо ответить на следующие вопросы: | ||
| + | |||
| + | - Веб-сервер для автоматической перенастройки: | ||
| + | - Введите: apache2 | ||
| + | - Настроить базу данных для работы phpmyadmin с dbconfig-common? | ||
| + | - Введите: No | ||
| + | |||
| + | Затем наберите следующую команду, чтобы включить модули Apache suexec, rewrite, ssl, actions и include: | ||
| + | |||
| + | <code>a2enmod suexec rewrite ssl actions include</code> | ||
| + | |||
| + | Потом перезапустите Apache: | ||
| + | |||
| + | <code>/etc/init.d/apache2 restart</code> | ||
| + | |||
| + | =====Установка PureFTPd и Quota===== | ||
| + | |||
| + | PureFTPd и quota могут быть установлены следующей командой: | ||
| + | |||
| + | <code>aptitude install pure-ftpd-common | ||
| + | pure-ftpd-mysql quota quotatool</code> | ||
| + | |||
| + | Отредактируйте файл /etc/default/pure-ftpd-common: | ||
| + | |||
| + | <code>vi /etc/default/pure-ftpd-common</code> | ||
| + | |||
| + | и убедитесь, что установлены способ запуска standalone и VIRTUALCHROOT=true: | ||
| + | |||
| + | <code>[...] | ||
| + | STANDALONE_OR_INETD=standalone | ||
| + | [...] | ||
| + | VIRTUALCHROOT=true | ||
| + | [...]</code> | ||
| + | |||
| + | Теперь перезапустите PureFTPd: | ||
| + | |||
| + | <code>/etc/init.d/pure-ftpd-mysql restart</code> | ||
| + | |||
| + | Отредактируйте /etc/fstab. Я добавил usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 | ||
| + | к разделу с точкой монтирования /: | ||
| + | <code>UUID=7dd7d165-5d00-4501-b005-b5233c1872e0 / ext4 errors=remount-ro,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 0 1</code> | ||
| + | <code>vi /etc/fstab</code> | ||
| + | |||
| + | Чтобы добавить quota, выполните эту команду: | ||
| + | |||
| + | <code>touch /aquota.user /aquota.group | ||
| + | |||
| + | chmod 600 /aquota.* | ||
| + | |||
| + | mount -o remount / | ||
| + | |||
| + | quotacheck -avugm | ||
| + | |||
| + | quotaon -avug</code> | ||
| + | |||
| + | =====Установка MyDNS===== | ||
| + | |||
| + | Перед установкой MyDNS мы должны предварительно установить несколько пакетов: | ||
| + | |||
| + | <code>aptitude install g++ | ||
| + | libc6 gcc | ||
| + | gawk make | ||
| + | texinfo libmysqlclient15-dev</code> | ||
| + | |||
| + | MyDNS нет в репозиториях Ubuntu 9.10, поэтому мы должны установить его из исходников самостоятельно: | ||
| + | |||
| + | **SinglWolf:** Через wget не получится. Нужно зайти по ссылке: http://sourceforge.net/projects/mydns-ng/files/mydns/ и скачать актуальную версию в папку /temp | ||
| + | <code>cd /tmp | ||
| + | |||
| + | wget http://heanet.dl.sourceforge.net/sourceforge/mydns-ng/mydns-1.2.8.27.tar.gz | ||
| + | |||
| + | tar xvfz mydns-1.2.8.27.tar.gz | ||
| + | |||
| + | cd mydns-1.2.8 | ||
| + | |||
| + | ./configure | ||
| + | |||
| + | make | ||
| + | |||
| + | make install</code> | ||
| + | |||
| + | Затем мы создадим для MyDNS скрипт запуска и остановки: | ||
| + | |||
| + | <code>vi /etc/init.d/mydns</code> | ||
| + | |||
| + | Текст скрипта: | ||
| + | |||
| + | <code> | ||
| + | #! /bin/sh | ||
| + | # | ||
| + | # mydns Start the MyDNS server | ||
| + | # | ||
| + | # Author: Philipp Kern <phil@philkern.de>. | ||
| + | # | ||
| + | Based upon skeleton 1.9.4 by Miquel van Smoorenburg | ||
| + | #<miquels@cistron.nl> and Ian Murdock <imurdock@gnu.ai.mit.edu>. | ||
| + | # | ||
| + | set -e | ||
| + | PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin: | ||
| + | /usr/bin | ||
| + | DAEMON=/usr/local/sbin/mydns | ||
| + | NAME=mydns | ||
| + | DESC="DNS server" | ||
| + | |||
| + | SCRIPTNAME=/etc/init.d/$NAME | ||
| + | |||
| + | # Gracefully exit if the package has been removed. | ||
| + | test -x $DAEMON || exit 0 | ||
| + | |||
| + | case "$1" in | ||
| + | start) | ||
| + | echo -n "Starting $DESC: $NAME" | ||
| + | start-stop-daemon --start --quiet \ | ||
| + | --exec $DAEMON -- -b | ||
| + | echo "." | ||
| + | ;; | ||
| + | stop) | ||
| + | echo -n "Stopping $DESC: $NAME" | ||
| + | start-stop-daemon --stop --oknodo --quiet \ | ||
| + | --exec $DAEMON | ||
| + | echo "." | ||
| + | ;; | ||
| + | reload|force-reload) | ||
| + | echo -n "Reloading $DESC configuration..." | ||
| + | start-stop-daemon --stop --signal HUP --quiet \ | ||
| + | --exec $DAEMON | ||
| + | echo "done." | ||
| + | ;; | ||
| + | restart) | ||
| + | echo -n "Restarting $DESC: $NAME" | ||
| + | start-stop-daemon --stop --quiet --oknodo \ | ||
| + | --exec $DAEMON | ||
| + | sleep 1 | ||
| + | start-stop-daemon --start --quiet \ | ||
| + | --exec $DAEMON -- -b | ||
| + | echo "." | ||
| + | ;; | ||
| + | *) | ||
| + | echo "Usage: $SCRIPTNAME | ||
| + | {start|stop|restart|reload|force-reload}" >&2 | ||
| + | exit 1 | ||
| + | ;; | ||
| + | esac | ||
| + | |||
| + | exit 0 | ||
| + | </code> | ||
| + | |||
| + | Теперь сделаем скрипт исполняемым и добавим его в автозагрузку: | ||
| + | |||
| + | <code>chmod +x /etc/init.d/mydns | ||
| + | |||
| + | update-rc.d mydns defaults</code> | ||
| + | |||
| + | =====Установка Vlogger и Webalizer===== | ||
| + | |||
| + | Vlogger и webalizer могут быть установлены так: | ||
| + | |||
| + | <code>aptitude install vlogger webalizer</code> | ||
| + | |||
| + | |||
| + | =====Установка Jailkit===== | ||
| + | |||
| + | Jailkit нужен, только если вы хотите изменить корневой каталог для SSH-пользователей. Он может быть установлен так (важно: Jailkit должен быть установлен до ISPConfig, и не может быть установлен после!): | ||
| + | |||
| + | <code>aptitude install build-essential | ||
| + | autoconf automake1.9 libtool flex bison | ||
| + | |||
| + | cd /tmp | ||
| + | |||
| + | wget http://olivier.sessink.nl/jailkit/jailkit-2.10.tar.gz | ||
| + | |||
| + | tar xvfz jailkit-2.10.tar.gz | ||
| + | |||
| + | cd jailkit-2.10 | ||
| + | |||
| + | ./configure | ||
| + | |||
| + | make | ||
| + | |||
| + | make install | ||
| + | |||
| + | cd .. | ||
| + | |||
| + | rm -rf jailkit-2.10*</code> | ||
| + | |||
| + | =====Установка fail2ban===== | ||
| + | |||
| + | Это не обязательно, но рекомендуется, потому что ISPConfig контролирует попытки показа лога fail2ban: | ||
| + | |||
| + | <code>aptitude install fail2ban</code> | ||
| + | |||
| + | |||
| + | В следующем месяце, в завершающей части, мы установим SquirrelMail и ISPConfig3, получив идеальный сервер, готовый к работе! | ||
| - | {{tag>howto Full_Circle}} | ||