1 Требования
Для установки такой системы необходимо следующее:
2 Замечание
В этом руководстве используется имя хоста server1.example.com с IP адресом 192.168.0.100, а шлюз 192.168.0.1. Эти параметры могут отличаться от ваших, поэтому придется заменить их в случае необходимости.
3 Установка базовой системы
Загрузитесь с вашего первого CD1 CentOS 5.5 или с первого DVD1 CentOS 5.5. Нажмите <ENTER> в окне загрузчика:
Проверка установочного диска может занять довольно много времени, поэтому в данном случае мы пропустим (Skip) этот шаг (но вы можете протестировать диск, чтобы исключить ошибки):








Установите имя хоста вручную, например server1.example.com и введите шлюз (например, 192.168.0.1) и введите до двух DNS-серверов (например, 213.191.92.86 и 145.253.2.75):


Теперь выберите программное обеспечение, которое хотите установить. Выберите тольео Server (уберите галочку со всего остального). Также, не отмечайте пакеты CentOS Extras. Затем отметьте Настроить сейчас (Customize now), и нажмите кнопку "Далее":
Теперь мы должны выбрать группы пакетов, которые хотим установить. Выберите
Установщик проверяет зависимости от выбранного пакета:
Нажмите Далее, чтобы начать установку:
Жесткий диск форматируется:
Начнется установка. Это займет несколько минут:
Наконец, установка завершена, и вы можете извлечь ваш CD или DVD диск из компьютера и перезагрузить его:
После перезагрузки вы увидите этот экран. Выберете конфигурации брандмауэра (Firewall configuration) и нажмитеRun Tool:
Я хочу установить панель ISPConfig в конце этой статьи, которая поставляется с собственным брандмауэром. Вот почему мы сейчас отключим брандмауэр по умолчанию в CentOS. Конечно, вы можете включить его и настроить под свои нужды (но тогда вы не должны использовать позже любой другой брандмауэр, который скорее всего, будет конфликтовать с брандмауэром CentOS).
Затем покиньте окно агента установки (Setup agent), выбрав Выход:
Затем войдите в систему как root и перезагрузите систему, чтобы изменения вступили в силу:
Теперь переходим к конфигурации ...
Сделаем это так:
Добавлено через 1 минуту
5 Настройка дополнительных IP-адресов
(В данной части показано, как добавить дополнительные IP адреса для сетевого интерфейса eth0, если вам требуется больше, чем один IP адрес. Если у вас 1 IP адрес, вы можете пропустить этот шаг.)
Давайте предположим, что сетевой интерфейс находится в eth0. Тогда существует файл /etc/sysconfig/network-scripts/ifcfg-eth0, который содержит настройки для eth0. Мы можем использовать это в качестве образца для нового виртуального сетевого интерфейсаeth0:0 :
Теперь мы хотим использовать IP-адрес 192.168.0.101 на виртуальном интерфейсе eth0:0. Поэтому мы открываем файл /etc/sysconfig/network-scripts/ifcfg-eth0:0 и изменяем его следующим образом (мы можем неучитывать линию HWADDR,так как это та же самая физическая сетевая плата):
Затем мы должны перезапустить сеть:
Вы также можете настроить /etc/hosts после добавления нового IP-адреса , хотя это и не нужно.
Теперь запустите
Теперь вы должны увидеть на выходе ваш новый IP-адрес :
6 Отключение брандмауэра и SELinux
Мы хотим установить панель ISPConfig в конце этой статьи, которая поставляется со своим собственным брандмауэром. Вот поэтому мы и отключаем брандмауэр по умолчанию в CentOS. Конечно, вы можете не делать этого и настроить его под свои нужды (но тогда вы не должны использовать любой другой брандмауэр,который скорее всего, будет конфликтовать с брандмауэром CentOS).
SELinux представляет собой расширение безопасности CentOS, которые должны обеспечить расширенную безопасность. Отключим его (это необходимо, если мы хотим установить ISPConfig).
Запустим
Отелючим Security Level и SELinux, отметив Disabled и нажмем OK:
Затем мы должны перезагрузить систему:
7 Установка программ
Сначала мы импортируем GPG ключи для программных пакетов:
Включим репозитории Contrib и centosplus:
Изменим следующие строки:
Далее мы обновляем существующие пакеты в системе:
Сейчас мы установим некоторые программные пакеты, которые понадобятся в дальнейшем:
8 Quota
(Если вы выбрали другую схему разбиения диска, то вам нужно изменить эту часть статьи, с учетом того, что quota распространяется на разделы, где это необходимо.)
Чтобы установить quota, мы выполним следующую команду:
Отредактируем /etc/fstab и добавим,usrquota,grpquota в /partition ( /dev/VolGroup00/LogVol00 ):
Затем запустите:
,чтобы включить quota.
9 Установка Apache, MySQL, PhpMyAdmin
Сначала мы включим RPMforge репозиторий на CentOS, чтобы установить пакеты, которые не доступны в официальном репозитории CentOS 5.5:
(Если ссылка выше не работает, вы можете найти текущую версию rpmforge здесь: Index of /rpmforge-release )
После этого мы можем установить необходимые пакеты с помощью одной команды:
Добавлено через 24 секунды
10 Установка Dovecot
Dovecot есть в репозиториях CentOS, но, к сожалению, не поддерживает MySQL. Поэтому мы должны удалить существующий Dovecot и установить другой пакет Dovecot (от ATrpms), который поставляется с поддержкой MySQL:
Теперь сделаем автозапуск для Dovecot:
11 Установка Postfix с поддержкой MySQL
"Нормальный" пакет Postfix из репозитория CentOS не содержит MySQL, а пакет Postfix из репозитория CentOS Plus включает его в себя. Поэтому мы удалим Postfix ...
... и установим его снова, на этот раз из репозитория CentOS Plus:
Затем отключим Sendmail и запустим Postfix и MySQL:
12 Установка GetMail
GetMail можно установить следующим образом:
13 Установка паролей на MySQL и настройка phpMyAdmin
Установите пароль для root пользователя MySQL:
Теперь настроим PhpMyAdmin. Мы изменим конфигурацию Apache, так чтобы phpMyAdmin позволял соединяться не только из localhost (за комментируем строку <Directory "/usr/share/phpmyadmin">):
Далее мы изменим аутентификацию в phpMyAdmin из cookie в http:
Далее сделаем автозапуск для Apache и запустим его:
Теперь мы можем ввести в адресной строке браузера http://server1.example.com/phpmyadmin/ или http://192.168.0.100/phpmyadmin/ и залогиниться с именем суперпользователя root и новым root паролем MySQL.
14 Установка Amavisd-new, SpamAssassin и ClamAV
Чтобы установить amavisd-new, spamassassin и clamav, выполните следующую команду:
Откройте /etc/sysconfig/amavisd ...
... и добавьте строчку CONFIG_FILE="/etc/amavisd/amavisd.conf" :
Затем запустим freshclam, amavisd, и clamd...
(Это нормально, если вы видите ошибку: Starting Mail Virus Scanner (amavisd): Config file "/etc/amavisd/amavisd.conf" does not exist, at /usr/sbin/amavisd line 1795. - Отсутствует файл конфигурации /etc/amavisd/amavisd.conf который будет создан во время установки ISPConfig.)
... и создадим необходимые нам каталоги
15 Установка Apache2 с mod_php, mod_fcgi/PHP5 и suPHP
ISPConfig 3 позволяет использовать mod_php, mod_fcgi/PHP5, cgi/PHP5 и suPHP для каждого сайта.
mod_fcgid отсутствует в официальном репозитории CentOS, но есть пакет для CentOS 5.x в centos.karan.org. Подключим репозитории следующим образом:
Далее откроем /etc/yum.repos.d/kbsingh-CentOS-Extras.repo ...
... и поставим 0 напротив gpgcheck и напротив enabled поставим 1 в секции [kbs-CentOS-Testing]:
После этого мы сможем установить Apache2with mod_php5, mod_fcgid, и PHP5:
Далее откроем /etc/php.ini...
... и изменим сообщений об ошибках (так, чтобы уведомления не показывались больше) и добавим cgi.fix_pathinfo = 1 в конце файла:
Далее установим suPHP:
Затем добавим модуль suPHP в нашу конфигурацию Apache ...
... и создадим файл /etc/suphp.conf
И в завершении перезапустим Apache
16 Установка PureFTPd
PureFTPd может быть установлена с помощью следующей команды:
Затем создадим ссылки загрузки и запуска PureFTPd:
17 Установка A Chrooted DNS Server (BIND9)
Делаем так:
Затем сделайте следующее:
BIND будет запускаться в пределах одной директории /var/named/chroot/var/named/. Мы будем использовать ISPConfig для настроики BIND (зон и т.д.).
18 Установка Vlogger и Webalizer
Vlogger и Webalizer могут быть установлены следующим образом:
19 Установка Jailkit
Jailkit необходим только если вы хотите запереть SSH пользователей в пределах одной директории. Она может быть установлена следующим образом (важно: Jailkit должен быть установлен до ISPConfig - он не может быть установлен позже!):
20 Установка fail2ban
Это необязательно, но рекомендуется, так как монитор ISPConfig пытается показать лог:
21 Установка RkHunter
RkHunter можно установить следующим образом:
22 Установка SquirrelMail
Чтобы установить клиент веб-почты SquirrelMail, запустим...
... и перезагрузим Apache:
Затем настроим SquirrelMail:
Мы должны "сказать" SquirrelMail, что используем Courier-IMAP/-POP3:
Последнее, что нам нужно сделать, это внести изменения в файл /etc/squirrelmail/config_local.php и закомментировать $default_folder_prefix переменной - если вы не сделаете этого, то увидите следующее сообщение об ошибке в SquirrelMail после того, как войдете в систему : Query: CREATE "Sent" Reason Given: Invalid mailbox name
Теперь вы можете ввести http://server1.example.com/webmail или http://192.168.0.100/webmail в браузере для доступа к SquirrelMail.
23 Установка ISPConfig 3
Чтобы установить последний релиз ISPConfig 3, сделайте следующее:
(Замените ISPConfig-3.0.2.1.tar.gz последней версией.)
Следующим шагом является запуск
Это приведет к запуску установки ISPConfig 3 :
Программа установки автоматически настроит все основные параметры, поэтому ручной настройки не требуется.
После этого Вы можете получить доступ к ISPConfig 3 через http://server1.example.com:8080/ или http://192.168.0.100:8080/. Войти с именем пользователя admin и паролем admin (необходимо изменить пароль по умолчанию после первого входа):

И теперь система готова к использованию.
Для установки такой системы необходимо следующее:
- Скачать два DVD образа CentOS 5.5 или восемь CD образов CentOS 5.5 (список зеркал можно найти здесь: http://isoredirect.centos.org/centos/5/isos/x86_64/).
- Быстрое подключение к Интернету.
2 Замечание
В этом руководстве используется имя хоста server1.example.com с IP адресом 192.168.0.100, а шлюз 192.168.0.1. Эти параметры могут отличаться от ваших, поэтому придется заменить их в случае необходимости.
3 Установка базовой системы
Загрузитесь с вашего первого CD1 CentOS 5.5 или с первого DVD1 CentOS 5.5. Нажмите <ENTER> в окне загрузчика:

Проверка установочного диска может занять довольно много времени, поэтому в данном случае мы пропустим (Skip) этот шаг (но вы можете протестировать диск, чтобы исключить ошибки):

Появился экран приветствия программы установки CentOS. Нажмите Next:

Выберите далее язык:

Выберите раскладку клавиатуры:

В данном случае CentOS 5.5 устанавливается на новую систему, поэтому отвечаем да на вопрос: "Вы бы хотели, инициализировать этот диск, удалятся все данные ?"

Теперь мы должны выбрать схему разделов диска. Для простоты мы выберем Удалить разделы Linux на выбранных дисках и создать макет по умолчанию. Это приведет к созданию малого раздела /boot , большого /partition, а также создание раздела для файла подкачки /swap. Естественно, вы сами можете настроить разделы жесткого диска. Жмем Далее:

Ответьте на следующие вопросы (Вы уверены, что хотите это сделать?) согласием Да:

Включить для настройки сети. По умолчанию здесь настройки для сетевых интерфейсов с DHCP, но мы устанавливаем сервер, поэтому статические IP-адреса не плохая идея ... Нажмите на кнопку "Edit" в правом верхнем углу.

Во всплывающем окне снимите флажок Использование динамической конфигурации IP (DHCP) и включите поддержку протокола IPv6, и дайте вашей сетевой карте статический IP адрес (в данной статье, используется IP адрес 192.168.0.100 для демонстрационных целей) и подходящую ему маску ( например, 255.255.255.0, если вы не уверены в правильных значениях, почитайте тут http://www.subnetmask.info):

Установите имя хоста вручную, например server1.example.com и введите шлюз (например, 192.168.0.1) и введите до двух DNS-серверов (например, 213.191.92.86 и 145.253.2.75):

Выберите свой часовой пояс:

Введите root пароль:

Теперь выберите программное обеспечение, которое хотите установить. Выберите тольео Server (уберите галочку со всего остального). Также, не отмечайте пакеты CentOS Extras. Затем отметьте Настроить сейчас (Customize now), и нажмите кнопку "Далее":

Теперь мы должны выбрать группы пакетов, которые хотим установить. Выберите
Editors , Text-based Internet, Development Libraries, Development Tools, DNS Name Server, FTP Server, Mail Server, MySQL Database, Server Configuration Tools, Web Server, Administration Tools, Base, и System Tools (не отмечайте все остальные группы пакетов) и нажмите Next:

Установщик проверяет зависимости от выбранного пакета:

Нажмите Далее, чтобы начать установку:

Жесткий диск форматируется:

Начнется установка. Это займет несколько минут:

Наконец, установка завершена, и вы можете извлечь ваш CD или DVD диск из компьютера и перезагрузить его:

После перезагрузки вы увидите этот экран. Выберете конфигурации брандмауэра (Firewall configuration) и нажмитеRun Tool:

Я хочу установить панель ISPConfig в конце этой статьи, которая поставляется с собственным брандмауэром. Вот почему мы сейчас отключим брандмауэр по умолчанию в CentOS. Конечно, вы можете включить его и настроить под свои нужды (но тогда вы не должны использовать позже любой другой брандмауэр, который скорее всего, будет конфликтовать с брандмауэром CentOS).
SELinux - расширение безопасности CentOS, который должен обеспечить расширенную безопасность. По нашему мнению, вам ненужно это, чтобы создать безопасную систему, так как это обычно вызывает больше проблем, чем преимуществ (подумайте об этом после недели поиска неисправностей из-за неработающих служб, а затем Вы узнаете, что все было в порядке, только SELinux вызывал проблему). Поэтому мы отключаем его (это необходимо, если вы хотите позже установить ISPConfig). Нажмите "ОК":

Затем покиньте окно агента установки (Setup agent), выбрав Выход:

Затем войдите в систему как root и перезагрузите систему, чтобы изменения вступили в силу:
reboot
4 Отредактируем /etc/hosts
Далее мы отредактируем /etc/hosts.
vi /etc/hosts
PHP код:
# Do not remove the following line, or various programs
# that require network functionality will fail.127.0.0.1 localhost.localdomain localhost
192.168.0.100 server1.example.com server1::1 localhost6.localdomain6 localhost6
5 Настройка дополнительных IP-адресов
(В данной части показано, как добавить дополнительные IP адреса для сетевого интерфейса eth0, если вам требуется больше, чем один IP адрес. Если у вас 1 IP адрес, вы можете пропустить этот шаг.)
Давайте предположим, что сетевой интерфейс находится в eth0. Тогда существует файл /etc/sysconfig/network-scripts/ifcfg-eth0, который содержит настройки для eth0. Мы можем использовать это в качестве образца для нового виртуального сетевого интерфейсаeth0:0 :
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:0
vi /etc/sysconfig/network-scripts/ifcfg-eth0:0
PHP код:
# Intel Corporation 82545EM Gigabit Ethernet Controller (Copper)DEVICE=eth0:0
BOOTPROTO=staticBROADCAST=192.168.0.255
IPADDR=192.168.0.101
NETMASK=255.255.255.0
NETWORK=192.168.0.0
ONBOOT=yes
/etc/init.d/network restart
Теперь запустите
ifconfig
[root@server1 ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:FD:78:BE inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fefd:78be/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:130 errors:0 dropped:0 overruns:0 frame:0 TX packets:137 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:12592 (12.2 KiB) TX bytes:31876 (31.1 KiB) Base address:0x1070 Memory:ec820000-ec840000 eth0:0 Link encap:Ethernet HWaddr 00:0C:29:FD:78:BE inet addr:192.168.0.101 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Base address:0x1070 Memory:ec820000-ec840000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:8 errors:0 dropped:0 overruns:0 frame:0 TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:560 (560.0 b) TX bytes:560 (560.0 b) [root@server1 ~]#
(Вы можете пропустить этот шаг, если вы уже отключили брандмауэр, и SELinux в конце базовой установки системы (окно установки агента).)
Мы хотим установить панель ISPConfig в конце этой статьи, которая поставляется со своим собственным брандмауэром. Вот поэтому мы и отключаем брандмауэр по умолчанию в CentOS. Конечно, вы можете не делать этого и настроить его под свои нужды (но тогда вы не должны использовать любой другой брандмауэр,который скорее всего, будет конфликтовать с брандмауэром CentOS).
SELinux представляет собой расширение безопасности CentOS, которые должны обеспечить расширенную безопасность. Отключим его (это необходимо, если мы хотим установить ISPConfig).
Запустим
system-config-securitylevel

Затем мы должны перезагрузить систему:
reboot
Сначала мы импортируем GPG ключи для программных пакетов:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
vi /etc/yum.repos.d/CentOS-Base.repo
PHP код:
[base]
[...]exclude=postfix[...]
[update]
[...]exclude=postfix[...]
[centosplus]
[...]enabled=1
includepkgs=postfix[...]
[contrib]
[...]enabled=1[...]
yum update
yum groupinstall 'Development Tools'
yum groupinstall 'Development Libraries'
(Если вы выбрали другую схему разбиения диска, то вам нужно изменить эту часть статьи, с учетом того, что quota распространяется на разделы, где это необходимо.)
Чтобы установить quota, мы выполним следующую команду:
yum install quota
vi /etc/fstab
PHP код:
/dev/VolGroup00/LogVol00 / ext3 defaults,usrquota,grpquota 1 1
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0/dev/VolGroup00/LogVol01 swap swap defaults 0 0
touch /aquota.user /aquota.group chmod 600 /aquota.* mount -o remount / quotacheck -avugm quotaon -avug
9 Установка Apache, MySQL, PhpMyAdmin
Сначала мы включим RPMforge репозиторий на CentOS, чтобы установить пакеты, которые не доступны в официальном репозитории CentOS 5.5:
rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
cd /tmp wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm rpm -ivh rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm
После этого мы можем установить необходимые пакеты с помощью одной команды:
yum install ntp httpd mysql-server php php-mysql php-mbstring php-mcrypt phpmyadmin
10 Установка Dovecot
Dovecot есть в репозиториях CentOS, но, к сожалению, не поддерживает MySQL. Поэтому мы должны удалить существующий Dovecot и установить другой пакет Dovecot (от ATrpms), который поставляется с поддержкой MySQL:
yum remove dovecot
rpm -ivh http://dl.atrpms.net/all/dovecot-1.2.11-3_108.el5.x86_64.rpm rpm -ivh http://dl.atrpms.net/all/dovecot-sieve-0.1.15-4.el5.x86_64.rpm
rm -fr /usr/lib/dovecot/ ln -s /usr/lib64/dovecot/ /usr/lib/dovecot
chkconfig --levels 235 dovecot on /etc/init.d/dovecot start
"Нормальный" пакет Postfix из репозитория CentOS не содержит MySQL, а пакет Postfix из репозитория CentOS Plus включает его в себя. Поэтому мы удалим Postfix ...
yum remove postfix
yum install postfix
chkconfig --levels 235 mysqld on /etc/init.d/mysqld start
chkconfig --levels 235 sendmail off chkconfig --levels 235 postfix on /etc/init.d/sendmail stop /etc/init.d/postfix start
GetMail можно установить следующим образом:
yum install getmail
Установите пароль для root пользователя MySQL:
mysql_secure_installation
[root@server1 tmp]# mysql_secure_installation NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MySQL to secure it, we'll need the current password for the root user. If you've just installed MySQL, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none): OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MySQL root user without the proper authorisation. Set root password? [Y/n] <-- ENTER New password: <-- yourrootsqlpassword Re-enter new password: <-- yourrootsqlpassword Password updated successfully! Reloading privilege tables.. ... Success! By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] <-- ENTER ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] <-- ENTER ... Success! By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] <-- ENTER - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] <-- ENTER ... Success! Cleaning up... All done! If you've completed all of the above steps, your MySQL installation should now be secure. Thanks for using MySQL! [root@server1 tmp]#
vi /etc/httpd/conf.d/phpmyadmin.conf
PHP код:
#
# Web application to manage MySQL
#
#<Directory "/usr/share/phpmyadmin">
# Order Deny,Allow
# Deny from all
# Allow from 127.0.0.1
#</Directory>
Alias /phpmyadmin /usr/share/phpmyadmin
Alias /phpMyAdmin /usr/share/phpmyadmin
Alias /mysqladmin /usr/share/phpmyadmin
vi /usr/share/phpmyadmin/config.inc.php
PHP код:
[...]/* Authentication type */$cfg['Servers'][$i]['auth_type'] = 'http';
[...]
chkconfig --levels 235 httpd on /etc/init.d/httpd start
14 Установка Amavisd-new, SpamAssassin и ClamAV
Чтобы установить amavisd-new, spamassassin и clamav, выполните следующую команду:
yum install amavisd-new spamassassin clamav clamd unzip bzip2 unrar perl-DBD-mysql
vi /etc/sysconfig/amavisd
PHP код:
### Uncomment this if you want to use amavis with sendmail milter interface.
### See README.milter for details.
#
#MILTER_SOCKET="local:/var/amavis/amavis-milter.sock"
#MILTER_SOCKET="10024@127.0.0.1"
### These are other defaults.
#AMAVIS_ACCOUNT="amavis"
#CONFIG_FILE="/etc/amavisd.conf"
#MILTER_FLAGS=""CONFIG_FILE="/etc/amavisd/amavisd.conf"
sa-update chkconfig --levels 235 amavisd on chkconfig --levels 235 clamd on /usr/bin/freshclam /etc/init.d/amavisd start /etc/init.d/clamd start
... и создадим необходимые нам каталоги
mkdir /var/run/amavisd /var/spool/amavisd /var/spool/amavisd/tmp /var/spool/amavisd/db chown amavis /var/run/amavisd /var/spool/amavisd /var/spool/amavisd/tmp /var/spool/amavisd/db ln -s /var/run/clamav/clamd.sock /var/spool/amavisd/clamd.sock
ISPConfig 3 позволяет использовать mod_php, mod_fcgi/PHP5, cgi/PHP5 и suPHP для каждого сайта.
mod_fcgid отсутствует в официальном репозитории CentOS, но есть пакет для CentOS 5.x в centos.karan.org. Подключим репозитории следующим образом:
cd /etc/yum.repos.d/ wget http://centos.karan.org/kbsingh-CentOS-Extras.repo
vi /etc/yum.repos.d/kbsingh-CentOS-Extras.repo
PHP код:
[...]
[kbs-CentOS-Testing]name=CentOS.Karan.Org-EL$releasever - Testing
gpgcheck=0
gpgkey=http://centos.karan.org/RPM-GPG-KEY-karan.org.txtenabled=1
baseurl=http://centos.karan.org/el$releasever/extras/testing/$basearch/RPMS/
yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-eaccelerator php-mbstring php-mcrypt php-mhash php-mssql php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel mod_fcgid php-cli httpd-devel
vi /etc/php.ini
PHP код:
[...]
;error_reporting = E_ALL
error_reporting = E_ALL & ~E_NOTICE[...]cgi.fix_pathinfo = 1
cd /tmp wget http://suphp.org/download/suphp-0.7.1.tar.gz tar xvfz suphp-0.7.1.tar.gz cd suphp-0.7.1/ ./configure --prefix=/usr --sysconfdir=/etc --with-apr=/usr/bin/apr-1-config --with-apxs=/usr/sbin/apxs --with-apache-user=apache --with-setid-mode=owner --with-php=/usr/bin/php-cgi --with-logfile=/var/log/httpd/suphp_log --enable-SUPHP_USE_USERGROUP=yes make make install
vi /etc/httpd/conf.d/suphp.conf
PHP код:
LoadModule suphp_module modules/mod_suphp.so
vi /etc/suphp.conf
PHP код:
[global]
;Path to logfile
logfile=/var/log/httpd/suphp.log;Loglevel
loglevel=info;User Apache is running aswebserver_user=apache;Path all scripts have to be in
docroot=/
;Path to chroot() to before executing script;chroot=/mychroot; Security options
allow_file_group_writeable=true
allow_file_others_writeable=false
allow_directory_group_writeable=true
allow_directory_others_writeable=false;Check wheter script is within DOCUMENT_ROOT
check_vhost_docroot=true;Send minor error messages to browser
errors_to_browser=false;PATH environment variable
env_path=/bin:/usr/bin;Umask to set, specify in octal notation
umask=0077; Minimum UID
min_uid=100; Minimum GID
min_gid=100[handlers]
;Handler for php-scripts
x-httpd-suphp="php:/usr/bin/php-cgi";Handler for CGI-scripts
x-suphp-cgi="execute:!self"
/etc/init.d/httpd restart
PureFTPd может быть установлена с помощью следующей команды:
yum install pure-ftpd
chkconfig --levels 235 pure-ftpd on /etc/init.d/pure-ftpd start
Делаем так:
yum install bind-chroot
chmod 755 /var/named/ chmod 775 /var/named/chroot/ chmod 775 /var/named/chroot/var/ chmod 775 /var/named/chroot/var/named/ chmod 775 /var/named/chroot/var/run/ chmod 777 /var/named/chroot/var/run/named/ cd /var/named/chroot/var/named/ ln -s ../../ chroot cp /usr/share/doc/bind-9.3.6/sample/var/named/named.local /var/named/chroot/var/named/named.local cp /usr/share/doc/bind-9.3.6/sample/var/named/named.root /var/named/chroot/var/named/named.root touch /var/named/chroot/etc/named.conf.local vi /var/named/chroot/etc/named.conf
PHP код:
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//options {
listen-on port 53 { 127.0.0.1; };
listen-on-v6 port 53 { ::1; };
directory "/var/named/chroot/var/named";
dump-file "/var/named/chroot/var/named/data/cache_dump.db";
statistics-file "/var/named/chroot/var/named/data/named_stats.txt";
memstatistics-file "/var/named/chroot/var/named/data/named_mem_stats.txt";
allow-query { localhost; };
recursion yes;
};logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};zone "." IN {
type hint;
file "named.root";
};
include "/var/named/chroot/etc/named.conf.local";
chkconfig --levels 235 named on /etc/init.d/named start
18 Установка Vlogger и Webalizer
Vlogger и Webalizer могут быть установлены следующим образом:
yum install webalizer perl-DateTime-Format-HTTP perl-DateTime-Format-Builder
cd /tmp wget http://n0rp.chemlab.org/vlogger/vlogger-1.3.tar.gz tar xvfz vlogger-1.3.tar.gz mv vlogger-1.3/vlogger /usr/sbin/ rm -rf vlogger*
Jailkit необходим только если вы хотите запереть SSH пользователей в пределах одной директории. Она может быть установлена следующим образом (важно: Jailkit должен быть установлен до ISPConfig - он не может быть установлен позже!):
cd /tmp wget http://olivier.sessink.nl/jailkit/jailkit-2.11.tar.gz tar xvfz jailkit-2.11.tar.gz cd jailkit-2.11 ./configure make make install cd .. rm -rf jailkit-2.11*
Это необязательно, но рекомендуется, так как монитор ISPConfig пытается показать лог:
yum install fail2ban
chkconfig --levels 235 fail2ban on /etc/init.d/fail2ban start
RkHunter можно установить следующим образом:
yum install rkhunter
Чтобы установить клиент веб-почты SquirrelMail, запустим...
yum install squirrelmail
/etc/init.d/httpd restart
/usr/share/squirrelmail/config/conf.pl
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 off
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
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
quit = Do not change anything
Command >> dovecot
imap_server_type = dovecot
default_folder_prefix = <none>
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 any key to continue... <-- press a key
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 off
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 off
S Save data
Q Quit
Command >> <--Q
vi /etc/squirrelmail/config_local.php
PHP код:
<?php
/**
* Local config overrides.
*
* You can override the config.php settings here.
* Don't do it unless you know what you're doing.
* Use standard PHP syntax, see config.php for examples.
*
* @copyright © 2002-2006 The SquirrelMail Project Team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id: config_local.php,v 1.2 2006/07/11 03:33:47 wtogami Exp $
* @package squirrelmail
* @subpackage config
*/
//$default_folder_prefix = '';?>

23 Установка ISPConfig 3
Чтобы установить последний релиз ISPConfig 3, сделайте следующее:
cd /tmp wget http://downloads.sourceforge.net/ispconfig/ISPConfig-3.0.2.1.tar.gz?use_mirror= tar xvfz ISPConfig-3.0.2.1.tar.gz cd ispconfig3_install/install/
Следующим шагом является запуск
php -q install.php
[root@server1 install]# php -q install.php -------------------------------------------------------------------------------- _____ ___________ _____ __ _ |_ _/ ___| ___ \ / __ \ / _(_) | | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ | | `--. \ __/ | | / _ \| '_ \| _| |/ _` | _| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | \___/\____/\_| \____/\___/|_| |_|_| |_|\__, | __/ | |___/ -------------------------------------------------------------------------------- >> Initial configuration Operating System: Redhat or compatible, unknown version. Following will be a few questions for primary configuration so be careful. Default values are in [brackets] and can be accepted with <ENTER>. Tap in "quit" (without the quotes) to stop the installer. Select language (en,de) [en]: <-- ENTER Installation mode (standard,expert) [standard]: <-- ENTER Full qualified hostname (FQDN) of the server, eg server1.domain.tld [server1.example.com]: <-- ENTER MySQL server hostname [localhost]: <-- ENTER MySQL root username [root]: <-- ENTER MySQL root password []: <-- yourrootsqlpassword MySQL database to create [dbispconfig]: <-- ENTER MySQL charset [utf8]: <-- ENTER Generating a 2048 bit RSA private key ......+++ .................+++ writing new private key to 'smtpd.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [GB]: <-- ENTER State or Province Name (full name) [Berkshire]: <-- ENTER Locality Name (eg, city) [Newbury]: <-- ENTER Organization Name (eg, company) [My Company Ltd]: <-- ENTER Organizational Unit Name (eg, section) []: <-- ENTER Common Name (eg, your name or your server's hostname) []: <-- ENTER Email Address []: <-- ENTER Configuring Jailkit Configuring SASL Configuring PAM Configuring Dovecot Configuring Spamassassin Configuring Amavisd Configuring Getmail Configuring Pureftpd Configuring BIND Configuring Apache Configuring vlogger Configuring Apps vhost Configuring Firewall Installing ISPConfig ISPConfig Port [8080]: <-- ENTER Configuring DBServer Installing Crontab no crontab for root no crontab for getmail Restarting services ... Stopping MySQL: [ OK ] Starting MySQL: [ OK ] Shutting down postfix: [ OK ] Starting postfix: [ OK ] Stopping saslauthd: [FAILED] Starting saslauthd: [ OK ] Shutting down Mail Virus Scanner (amavisd): [FAILED] Starting Mail Virus Scanner (amavisd): [ OK ] Stopping Dovecot Imap: [ OK ] If you have trouble with authentication failures, enable auth_debug setting. See http://wiki.dovecot.org/WhyDoesItNotWork This message goes away after the first successful login. Starting Dovecot Imap: [ OK ] Stopping httpd: [ OK ] [Tue May 25 18:15:57 2010] [warn] NameVirtualHost *:80 has no VirtualHosts Starting httpd: [ OK ] Stopping pure-ftpd: [ OK ] Starting pure-ftpd: [ OK ] Installation completed. [root@server1 install]#
После этого Вы можете получить доступ к ISPConfig 3 через http://server1.example.com:8080/ или http://192.168.0.100:8080/. Войти с именем пользователя admin и паролем admin (необходимо изменить пароль по умолчанию после первого входа):


И теперь система готова к использованию.
Комментариев нет:
Отправить комментарий