Ubuntu-server
Установка сервера описана здесь.
Скопировал на всякий случай :)
Содержание
- 1 Установка
- 1.1 Шаги установки, на которых система будет требовать от вас действий:
- 1.2 Настраиваем сеть:
- 1.3 Настройка репозитариев и update системы
- 1.4 Настройка квот.
- 1.5 Настройка DNS
- 1.6 MySQL
- 1.7 Postfix с SMTP-AUTH и TLS
- 1.8 Courier-IMAP/Courier-POP3
- 1.9 Apache/PHP5
- 1.10 Proftpd
- 1.11 Webalizer
- 1.12 Синхронизируем системные часы
- 1.13 Поставим некоторые модули Perl
- 1.14 ISPConfig
Установка
Шаги установки, на которых система будет требовать от вас действий:
- Ставим диск с Ubuntu Server 7.10 x86 и загружаемся с него.
- Перед началом установки выбираем опцию F2 и выбираем русский язык.
- Выбираем “Установить на жесткий диск”.
- Выбираем способ переключения языковой раскладки (у меня например Alt+Shift).
- Вводим имя компьютера.
- Разметка диска (Авто - использовать весь диск), либо на ваше усмотрение.
- Выбрать диск для разметки (если их несколько, выберите нужный).
- Подтверждаем изменения на диске.
- Выбираем часовой пояс.
- Указываем, что системные часы показывают UTC.
- Заводим учетную запись пользователя с административными привелегиями.
- Забиваем и подтверждаем пароль для этого пользователя.
- Выбираем какие пакеты мы поставим. ВНИМАНИЕ: нужно выбрать только OpenSSH.
- Завершаем установку, вынимаем диск, перезагружаемся.
После перезагрузки, заходим в систему под тем пользователем и паролем, который мы создали.
Дальнейшая работа будет происходить под суперпользователем root, для этого зададим ему пароль:
$ sudo passwd root
указываем пароль для него и начинаем работать уже из-под root
$ su
rrv: я бы так не делал, философия ubutnu как раз в использовании sudo <команда>, если лень каждый раз вводить пароль, то можно выполнить sudo su и все :rrv
если вы вдруг не поставили OpenSSH сервер во время установки, это можно исправить установив его сейчас
# apt-get install ssh openssh-server
после этого можно вообще отключить от этой машины монитор, клаву и мышь, и работать удаленно по сети, например через Putty, чтобы не забивать ручками, а просто копировать информацию для конфигов прямо из этого руководства. В оригинале статьи автор использует консольный редактор vim, я предлагаю начинающим использовать ee (easy editor), а бывалые пользователи пусть используют, что им по вкусу.
rrv: редактор vi существует во всех unux-системах, и немного времени на его освоение окупятся сполна :rrv
Ставим ee:
#apt-get install ee
Настраиваем сеть:
По умолчанию установщик сконфигурировал наш сетевой интерфейс на получение настроек по DHCP, но наш сервер должен иметь статический IP-адрес, для этого надо поправить настройки в файле /etc/network/interfaces:
# ee /etc/network/interfaces
Пример файла конфигурации (тут вам надо использовать уже ваши данные, вместо примера данных, описывающих iface eth0 inet static, то есть укажите ваш адрес, маску сети, сеть и броадкаст):
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 192.168.0.100 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1
Указали свои данные? Сохраните файл и перезапустите сеть:
# /etc/init.d/networking restart
Затем поправьте файл /etc/hosts
# ee /etc/hosts
Он должен выглядеть примерно так (только с вашими данными):
127.0.0.1 localhost.localdomain localhost 192.168.0.100 server1.example.com server1 # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts
Теперь выполните
# echo server1.example.com > /etc/hostname # /etc/init.d/hostname.sh start
Затем:
# hostname # hostname -f
Обе команды должны вывести server1.example.com (или то имя, которое указали вы)
Настройка репозитариев и update системы
Правим файл /etc/apt/sources.list и проводим апдейт для нашей системы
# ee /etc/apt/sources.list
Закомментируем или удалим ссылки на установочный CD из этого файла и удостоверимся, что репозитории universe и multiverse доступны, т.е. файл будет выглядеть примерно так:
# # deb cdrom:[Ubuntu-Server 7.10 _Gutsy Gibbon_ - Release i386 (20071016)]/ gutsy main restricted #deb cdrom:[Ubuntu-Server 7.10 _Gutsy Gibbon_ - Release i386 (20071016)]/ gutsy main restricted # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to # newer versions of the distribution. deb http://de.archive.ubuntu.com/ubuntu/ gutsy main restricted deb-src http://de.archive.ubuntu.com/ubuntu/ gutsy main restricted ## Major bug fix updates produced after the final release of the ## distribution. deb http://de.archive.ubuntu.com/ubuntu/ gutsy-updates main restricted deb-src http://de.archive.ubuntu.com/ubuntu/ gutsy-updates main restricted ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team, and may not be under a free licence. Please satisfy yourself as to ## your rights to use the software. Also, please note that software in ## universe WILL NOT receive any review or updates from the Ubuntu security ## team. deb http://de.archive.ubuntu.com/ubuntu/ gutsy universe deb-src http://de.archive.ubuntu.com/ubuntu/ gutsy universe deb http://de.archive.ubuntu.com/ubuntu/ gutsy-updates universe deb-src http://de.archive.ubuntu.com/ubuntu/ gutsy-updates universe ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team, and may not be under a free licence. Please satisfy yourself as to ## your rights to use the software. Also, please note that software in ## multiverse WILL NOT receive any review or updates from the Ubuntu ## security team. deb http://de.archive.ubuntu.com/ubuntu/ gutsy multiverse deb-src http://de.archive.ubuntu.com/ubuntu/ gutsy multiverse deb http://de.archive.ubuntu.com/ubuntu/ gutsy-updates multiverse deb-src http://de.archive.ubuntu.com/ubuntu/ gutsy-updates multiverse ## Uncomment the following two lines to add software from the ‘backports’ ## repository. ## N.B. software from this repository may not have been tested as ## extensively as that contained in the main release, although it includes ## newer versions of some applications which may provide useful features. ## Also, please note that software in backports WILL NOT receive any review ## or updates from the Ubuntu security team. # deb http://de.archive.ubuntu.com/ubuntu/ gutsy-backports main restricted universe multiverse # deb-src http://de.archive.ubuntu.com/ubuntu/ gutsy-backports main restricted universe multiverse ## Uncomment the following two lines to add software from Canonical’s ## ‘partner’ repository. This software is not part of Ubuntu, but is ## offered by Canonical and the respective vendors as a service to Ubuntu ## users. # deb http://archive.canonical.com/ubuntu gutsy partner # deb-src http://archive.canonical.com/ubuntu gutsy partner deb http://security.ubuntu.com/ubuntu gutsy-security main restricted deb-src http://security.ubuntu.com/ubuntu gutsy-security main restricted deb http://security.ubuntu.com/ubuntu gutsy-security universe deb-src http://security.ubuntu.com/ubuntu gutsy-security universe deb http://security.ubuntu.com/ubuntu gutsy-security multiverse deb-src http://security.ubuntu.com/ubuntu gutsy-security multiverse
Затем запускаем обновление базы данных ПО:
# apt-get update
и устанавливаем последние обновления (если они есть):
# apt-get upgrade
Теперь нам необходимо сменить шелл, поскольку иначе мы не сможем установить ISPConfig.
/bin/sh это символическая ссылку на /bin/dash, а нам нужно /bin/bash, а не /bin/dash
Поправляем это таким образом:
# ln -sf /bin/bash /bin/sh
Теперь нам нужно установить кое-какие пакеты, которые нам потребуются в дальнейшем.
# apt-get install binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev \ libcompress-zlib-perl libdb4.3-dev libpcre3 libpopt-dev lynx m4 make ncftp nmap \ openssl perl perl-modules unzip zip zlib1g-dev autoconf automake1.9 libtool \ bison autotools-dev g++ build-essential
Настройка квот.
Если вы сделали разметку своего диск как-то по своему, то вам придется применять квотирование к тем разделам где это вам нужно.
Установим:
# apt-get install quota
Поправим /etc/fstab. Мой выглядит так(я добавил usrquota, grpquota к основному разделу с точкой монтирования /):
# ee /etc/fstab
# /etc/fstab: static file system information. # # proc /proc proc defaults 0 0 # /dev/sda1 UUID=9fc157ff-975c-4f20-9fef-6a70085abdbd / ext3 defaults,errors=remount-ro,usrquota,grpquota 0 1 # /dev/sda5 UUID=48fb7dd8-f099-4d63-ac1b-30e886ac7436 none swap sw 0 0 /dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto,exec 0 0
Для активации квоты выполните:
# touch /quota.user /quota.group # chmod 600 /quota.* # mount -o remount / # quotacheck -avugm # quotaon -avug
Настройка DNS
Выполните:
# apt-get install bind9
Про соображениям безопасности BIND надо запускать через chroot:
# /etc/init.d/bind9 stop
Правим файл /etc/default/bind9 так, чтобы демон запускался как непривелигированный пользователь bind, с chroot в /var/lib/named. Поправьте строку: OPTIONS=”-u bind” на OPTIONS=”-u bind -t /var/lib/named”:
# ee /etc/default/bind9
OPTIONS=”-u bind -t /var/lib/named” # Set RESOLVCONF=no to not run resolvconf RESOLVCONF=yes
Создадим необходимые директории в /var/lib:
# mkdir -p /var/lib/named/etc # mkdir /var/lib/named/dev # mkdir -p /var/lib/named/var/cache/bind # mkdir -p /var/lib/named/var/run/bind/run
Переместим директорию с конфигами из /etc в /var/lib/named/etc:
# mv /etc/bind /var/lib/named/etc
Создадим символическую ссылку на новую директорию с конфигами ( чтобы не было проблем с обновлением bind в дальнейшем):
# ln -s /var/lib/named/etc/bind /etc/bind
Создадим null и random устройства, исправим разрешения для директорий:
# mknod /var/lib/named/dev/null c 1 3 # mknod /var/lib/named/dev/random c 1 8 # chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random # chown -R bind:bind /var/lib/named/var/* # chown -R bind:bind /var/lib/named/etc/bind
Изменим /etc/default/syslogd чтобы мы могли получать важные сообщения в логах Исправьте строку: SYSLOGD=”" на эту SYSLOGD=”-a /var/lib/named/dev/log”:
# ee /etc/default/syslogd
# # Top configuration file for syslogd # # # Full documentation of possible arguments are found in the manpage # syslogd(8). # # # For remote UDP logging use SYSLOGD=”-r” # SYSLOGD=”-a /var/lib/named/dev/log”
Перезапускаем демон логов:
# /etc/init.d/sysklogd restart
Запускаем BIND, и проверяем /var/log/syslog на ошибки:
# /etc/init.d/bind9 start
MySQL
Устанавливаем пакет:
# apt-get install mysql-server mysql-client libmysqlclient15-dev
Вас спросят ввести пароль для root пользователя MySQL - этот пароль будет использоваться как для пользователя root@localhost , так и для r...@server1.example.com, так что нам не придется указывать пароль для рута MySQL позже(как это было в предыдущих версиях):
New password for the MySQL “root” user: введите-свой-пароль
Нам нужно чтобы MySQL слушал на других интерфейсах, а не только на localhost, для этого правим /etc/mysql/my.cnf и закомментируем строку bind-address = 127.0.0.1:
# ee /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 # […]
Затем перезапускаем MySQL:
# /etc/init.d/mysql restart
Проверьте, что MySQL доступен для сети:
# netstat -tap | grep mysql
Вывод должен быть примерно таким:
root@server1:~# netstat -tap | grep mysql tcp 0 0 *:mysql *:* LISTEN 5286/mysqld
Postfix с SMTP-AUTH и TLS
По шагам:
# apt-get install postfix libsasl2-2 sasl2-bin libsasl2-modules libdb3-util procmail
Вам зададут два вопроса, отвечать надо примерно так:
General type of mail configuration: <– Internet Site System mail name: <– server1.example.com
затем запустите
# dpkg-reconfigure postfix
И опять ответьте на вопросы:
General type of mail configuration: <– Internet Site System mail name: <– server1.example.com Root and postmaster mail recipient: <– [blank] Other destinations to accept mail for (blank for none): <– server1.example.com, localhost.example.com, localhost.localdomain, localhost Force synchronous updates on mail queue? <– No Local networks: <– 127.0.0.0/8 Use procmail for local delivery? <– Yes Mailbox size limit: <– 0 Local address extension character: <– + Internet protocols to use: <– all
Затем, сделайте следующее:
# postconf -e ’smtpd_sasl_local_domain =’ # postconf -e ’smtpd_sasl_auth_enable = yes’ # postconf -e ’smtpd_sasl_security_options = noanonymous’ # postconf -e ‘broken_sasl_auth_clients = yes’ # postconf -e ’smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination’ # postconf -e ‘inet_interfaces = all’ # echo ‘pwcheck_method: saslauthd’ >> /etc/postfix/sasl/smtpd.conf # echo ‘mech_list: plain login’ >> /etc/postfix/sasl/smtpd.conf
После этого создадим сертификаты для TLS:
# mkdir /etc/postfix/ssl # cd /etc/postfix/ssl/ # openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024 # chmod 600 smtpd.key # openssl req -new -key smtpd.key -out smtpd.csr # openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt # openssl rsa -in smtpd.key -out smtpd.key.unencrypted # mv -f smtpd.key.unencrypted smtpd.key # openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650
И сконфигурируем Postfix для TLS (удостоверьтесь, что вы используете правильное имя компьютера для myhostname):
# postconf -e ‘myhostname = server1.example.com’ # postconf -e ’smtpd_tls_auth_only = no’ # postconf -e ’smtp_use_tls = yes’ # postconf -e ’smtpd_use_tls = yes’ # postconf -e ’smtp_tls_note_starttls_offer = yes’ # postconf -e ’smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key’ # postconf -e ’smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt’ # postconf -e ’smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem’ # postconf -e ’smtpd_tls_loglevel = 1′ # postconf -e ’smtpd_tls_received_header = yes’ # postconf -e ’smtpd_tls_session_cache_timeout = 3600s’ # postconf -e ‘tls_random_source = dev:/dev/urandom’
теперь файл /etc/postfix/main.cf должен выглядеть примерно так:
# cat /etc/postfix/main.cf # See /usr/share/postfix/main.cf.dist for a commented, more complete version # Debian specific: Specifying a file name will cause the first # line of that file to be used as the name. The Debian default # is /etc/mailname. #myorigin = /etc/mailname smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) biff = no # appending .domain is the MUA’s job. append_dot_mydomain = no # Uncomment the next line to generate “delayed mail” warnings #delay_warning_time = 4h # TLS parameters smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key smtpd_use_tls = yes smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache # See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for # information on enabling SSL in the smtp client. myhostname = server1.example.com alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = server1.example.com, localhost.example.com, localhost.localdomain, localhost relayhost = mynetworks = 127.0.0.0/8 mailbox_command = procmail -a “$EXTENSION” mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all inet_protocols = all smtpd_sasl_local_domain = smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination smtpd_tls_auth_only = no smtp_use_tls = yes smtp_tls_note_starttls_offer = yes smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandom
Перезапускаем Postfix:
# /etc/init.d/postfix restart
Аутентификация будет производится saslauthd. Нужно кое-что изменить, чтобы это работало как надо. Поскольку Postfix работает через chroot в /var/spool/postfix мы делаем так:
# mkdir -p /var/spool/postfix/var/run/saslauthd
Теперь мы правим /etc/default/saslauthd для того чтобы активировать saslauthd.
Установите START значение yes и измените строку OPTIONS=”-c” на OPTIONS=”-c -m /var/spool/postfix/var/run/saslauthd -r”:
# ee /etc/default/saslauthd
# # Settings for saslauthd daemon # # Should saslauthd run automatically on startup? (default: no) START=yes # Which authentication mechanisms should saslauthd use? (default: pam) # # Available options in this Debian package: # getpwent — use the getpwent() library function # kerberos5 — use Kerberos 5 # pam — use PAM # rimap — use a remote IMAP server # shadow — use the local shadow password file # sasldb — use the local sasldb database file # ldap — use LDAP (configuration is in /etc/saslauthd.conf) # # Only one option may be used at a time. See the saslauthd man page # for more information. # # Example: MECHANISMS=”pam” MECHANISMS=”pam” # Additional options for this mechanism. (default: none) # See the saslauthd man page for information about mech-specific options. MECH_OPTIONS=”" # How many saslauthd processes should we run? (default: 5) # A value of 0 will fork a new process for each connection. THREADS=5 # Other options (default: -c) # See the saslauthd man page for information about these options. # # Example for postfix users: “-c -m /var/spool/postfix/var/run/saslauthd” # Note: See /usr/share/doc/sasl2-bin/README.Debian OPTIONS=”-c -m /var/spool/postfix/var/run/saslauthd -r”
Теперь запускаем saslauthd:
# /etc/init.d/saslauthd start
Чтобы удостоверится, что SMTP-AUTH и TLS работают правильно, проверим так:
# telnet localhost 25
После соединения с Postfix наберите:
ehlo localhost
Если вы увидети строки:
250-STARTTLS 250-AUTH PLAIN LOGIN
значит все в порядке
Вывод на моей системе выглядел так:
root@server1:/etc/postfix/ssl# telnet localhost 25 Trying 127.0.0.1… Connected to localhost.localdomain. Escape character is ‘^]’. 220 server1.example.com ESMTP Postfix (Ubuntu) ehlo localhost 250-server1.example.com 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-STARTTLS 250-AUTH PLAIN LOGIN 250-AUTH=PLAIN LOGIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN quit 221 2.0.0 Bye Connection closed by foreign host.
Courier-IMAP/Courier-POP3
Устанавливаем Courier-IMAP/Courier-IMAP-SSL (для IMAP на порту 993) и Courier-POP3/Courier-POP3-SSL (для POP3 на порту 995):
# apt-get install courier-authdaemon courier-base courier-imap courier-imap-ssl \ courier-pop courier-pop-ssl courier-ssl gamin libgamin0 libglib2.0-0
Вам зададут вопросы:
Create directories for web-based administration ? <– No SSL certificate required <– Ok
Если вы не захотите использовать систему управления ISPConfig, сконфигурируйте Postfix на доставку почты в Maildir* пользователя:
# postconf -e ‘home_mailbox = Maildir/’ # postconf -e ‘mailbox_command =’ # /etc/init.d/postfix restart
*Обратите внимание: вам не надо этого делать, если вы будете использовать ISPConfig, поскольку он сам выполнит необходимое конфигурирование. При этом, вам лучше убедится в этом самостоятельно - удостоверьтесь что Maildir задействован в Management -> Server -> Settings -> EMail (в веб-интерфейсе ISPConfig).
Apache/PHP5
Ставим Apache:
# apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert
Затем PHP5:
# apt-get install libapache2-mod-php5 php5 php5-common php5-curl php5-dev \ php5-gd php5-idn php-pear php5-imagick php5-imap php5-json php5-mcrypt \ php5-memcache php5-mhash php5-ming php5-mysql php5-ps php5-pspell php5-recode \ php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
Отвечаем на вопрос:
Continue installing libc-client without Maildir support? <– Yes
Далее правим /etc/apache2/mods-available/dir.conf:
# ee /etc/apache2/mods-available/dir.conf
Правим строку DirectoryIndex (в IfModule mod_dir.c):
#DirectoryIndex index.html index.cgi index.pl index.php index.xhtml DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml
Теперь надо активировать некоторые модули Apache (SSL, rewrite, suexec и include):
# a2enmod ssl # a2enmod rewrite # a2enmod suexec # a2enmod include
Перезагружаем конфигурацию Apache:
# /etc/init.d/apache2 force-reload
Отключаем глобальную работу PHP (если вы не планируете установку ISPConfig пропустите этот раздел!)
В ISPConfig вы сконфигурируете PHP под каждый веб-сайт, т.е. укаже кто может использовать скрипты PHP, а кто нет. Это можно сделать только при отключении глобальной работы PHP, потому что иначе все вебсайты смогут запускать скрипты PHP, несмотря на установки в ISPConfig.
Для отключения мы правим /etc/mime.types и закомментируем строки application/x-httpd-php:
# ee /etc/mime.types
[…] #application/x-httpd-php phtml pht php #application/x-httpd-php-source phps #application/x-httpd-php3 php3 #application/x-httpd-php3-preprocessed php3p #application/x-httpd-php4 php4 […]
Правим /etc/apache2/mods-enabled/php5.conf и закомментируем следующие строки в IfModule mod_php5.c:
# ee /etc/apache2/mods-enabled/php5.conf
#AddType application/x-httpd-php .php .phtml .php3 #AddType application/x-httpd-php-source .phps
Перезагружаем Apache:
# /etc/init.d/apache2 restart
Proftpd
Устанавливаем:
# apt-get install proftpd ucf
Отвечаем на вопрос:
Run proftpd from inetd or standalone? <– standalone
Открываем /etc/proftpd/proftpd.conf и отключаем UseIPv6 (off); иначе будем получать предупреждения:
- IPv6 getaddrinfo ’server1.example.com’ error: Name or service not known
или можно поправить /etc/hosts and add server1.example.com (добавив строку ::1):
127.0.0.1 localhost.localdomain localhost 192.168.0.100 server1.example.com server1 # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback server1.example.com fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts
или изменить /etc/proftpd/proftpd.conf:
[…] UseIPv6 off […]
По соображениям безопасности нужно добавить следуюшие строки в /etc/proftpd/proftpd.conf (спасибо Reinaldo Carvalho; подробности здесь):
# ee /etc/proftpd/proftpd.conf
[…] DefaultRoot ~ IdentLookups off ServerIdent on “FTP Server ready.” […]
ISPConfig ищет конфиг в /etc/proftpd.conf вместо /etc/proftpd/proftpd.conf, поэтому создадим символическую ссылку (можете пропустить этот шаг если вы не будете ставить ISPConfig):
# ln -s /etc/proftpd/proftpd.conf /etc/proftpd.conf
Затем перезапустим Proftpd:
# /etc/init.d/proftpd restart
Webalizer
Webalizer — прикладная программа, распространяемая под лицензией GPL, на основе файлов регистрации событий веб-сервера генерирующая HTML-страницы со статистикой о работе веб-сайта.
Просто ставим его:
# apt-get install webalizer
Синхронизируем системные часы
Через сервер NTP(network time protocol), достаточно установить:
# apt-get install ntp ntpdate
И все, часы будут синхронизированы.
Поставим некоторые модули Perl
которые потребуются SpamAssassin (который идет с ISPConfig):
# apt-get install libhtml-parser-perl libdb-file-lock-perl libnet-dns-perl
ISPConfig
Поскольку конфигурирование нашего сервера завершено, теперь вы можете поставить на него систему управления ISPConfig, работающую через веб-интерфейс. Мануал по ее установке здесь
Обратите внимание на SuExec
Если вы хотите запускать CGI скрипты под suExec, вам нужно указать /var/www в качестве домашней директории для вебсайтов создаваемых через ISPConfig в то время как Ubunt-овый suExec скомпилирован с /var/www в качестве Doc_Root.
Выполните:
# /usr/lib/apache2/suexec -V
Вывод будет примерно таким:
root@server1:~# /usr/lib/apache2/suexec -V -D AP_DOC_ROOT=”/var/www” -D AP_GID_MIN=100 -D AP_HTTPD_USER=”www-data” -D AP_LOG_EXEC=”/var/log/apache2/suexec.log” -D AP_SAFE_PATH=”/usr/local/bin:/usr/bin:/bin” -D AP_UID_MIN=100 -D AP_USERDIR_SUFFIX=”public_html”
Так что если вы будете использовать suExec с ISPconfig, не меняйте значения web-пути по умолчанию (т.е. оставьте /var/www) если вы работает в expert mode, когда будете устанавливать ISPConfig (в standard mode вы в любом случае этот путь поменять не сможете).