HOW-TO: Идеальный сервер. Часть 3 Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
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}}