В этом материале показано, как подготовить сервер Fedora 15 (x86_64) для установки ISPConfig 3, и как установить ISPConfig 3. ISPConfig 3 это панель управления web хостингом, которая позволяет настроить через веб-браузер следующие услуги: веб-сервер Apache, Postfix почтовый сервер, MySQL, BIND имен, PureFTPd, SpamAssassin, ClamAV, и многое другое. На данный урок имеется виртуальный образ готового сервера, ознакомиться с которым подробней и скачать его можно на форуме Идеальный сервер - Fedora 15 x86_64 [ISPConfig 3] + скачать.
{xtypo_alert}Обратите внимание, что эта установка не применима для ISPConfig 2! Это справедливо только для ISPConfig 3!{/xtypo_alert}
Требования для установки ISPconfig 3.
- Скачать Fedora 15 DVD ISO-образ с зеркала, рядом с вами (список зеркал можно найти здесь: Fedora 15, например Fedora-15-x86_64-DVD.iso)
- Подключение к интернету ...
Предварительные замечания
В данной статье я использую имя хоста server1.example.com с IP-адреса 192.168.1.101 и шлюз 192.168.1.1. Эти параметры могут отличаться в Вашем случае, поэтому придется заменить их при необходимости.
Пожалуйста, убедитесь, что система, в которую Вы хотите обновить имеет более чем 600 МБ оперативной памяти - в противном случае система может зависнуть при попытке загрузки со следующем сообщением:
Trying to unpack rootfs image as initramfs...
Установка базовой системы Fedora 15
Загрузим с Fedora 15 DVD. Выбрав Install a new system or upgrade an existing system:
Тест проверки информации об установке, может занять много времени, поэтому здесь мы пропускаем этот шаг:
Следующим шагом выберите Ваш язык:
А так же раскладку клавиатуры: По умолчанию переключение раскладки клавиатуры происходит одновременным нажатием левой и правой клавиши Shift
Я предполагаю, что Вы используете локально подключенный жесткий диск, так как здесь, Вы должны выбрать Стандартный накопитель / Basic Storage Devices:
Если Вы видите следующее сообщение (Указанное ниже устройство хранения может содержать данные: необходимо будет нажать на Да, удалить данные, что приведет к полной очистке локального диска и потере всех данных:
Заполним имя хоста сервера:
Выберите свой часовой пояс:
Задайте пароль для суперпользователя root:
Далее мы сдаем разделы. Выберите Все пространство, чтобы использовать диск целиком уничтожив все созданное до этого от фалов до целых разделов, если это Вас не устраивает и на диске уже имеются данные то предпочтительнее использовать Заменить существующую систему Linux:
— Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта.
— Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы).
— SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание.
SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Зарегистрироваться и Начать продвижение
Выберите Сохранить изменения на диск:
Жесткий диск форматируется:
Теперь выберем программное обеспечение которое мы хотим установить. Снимите графического рабочий стол на веб-сервер. Затем установите Настроить сейчас. Затем, выберите дополнительные репозитории Fedora 15 - x86_64 и Fedora 15 - x86_64 - Updates (если Вы ставите на i386 систему, имена соответственно: Fedora 15 - i386 и Fedora 15 - i386 - Updates):
Для подключения этих двух хранилищ необходимо подключение к Интернету, в появившемся новом окне, Вы должны настроить сетевую карту. Выберите Включить поддержку IPv4, но отключить использование динамической конфигурации IP (DHCP), а затем присвоить Вашей сетевой карте статический IP-адрес и маску подсети (в этом руководстве для демонстрации я использую IP-адрес 192.168.1.101 и маску подсети 255.255.255.0, Также заполните Ваш шлюз (например, 192.168.1.1) и один сервер имен (например, 8.8.8.8):
Теперь мы должны выбрать группы пакетов которые мы хотим установить:
Приложения |
Программирование |
Серверы |
Базовая система |
Редакторы | Библиотеки разработки | Сервер DNS | Средства администрирования |
Текстовые средства Интернет | Средства программирования | Сервер электронной почты | Основные |
База данных MySQL | Системные средства | ||
Средства настройки сервера | |||
Веб-сервер | |||
Сервер FTP |
Начинается установка. Это займет несколько минут:
Наконец, установка завершена, и Вы можете извлечь Ваш DVD из компьютера и перезагрузить его:
После перезагрузки, войдите в систему как root.
В конце этого учебного пособия я хочу установить ISPConfig, который поставляется с собственном брандмауэром. Вот почему сейчас я отключить брандмауэр Fedora используемый по умолчанию. Конечно, Вы можете оставить его и настроить его под свои нужды (но тогда вы не должны использовать любой другой брандмауэр позже, так как это будет мешать брандмауэру Fedora).
Выполните ...
|
... и отключите брандмауэр:
Подтвердите Ваш выбор, выбрав Да:
Если Вы не настроить сетевую карту в процессе установки (потому что Вы не выбрали дополнительных онлайновых хранилищах), Вы можете сделать это прямо сейчас, перейдя в Конфигурация устройств / Device configuration:
Выберите сетевой интерфейс (Fedora 15 используется BIOS имена устройств, так что сетевая карта должна называться что-то вроде p2p1 - в скоре мы изменим это, чтобы он назвал eth0 ):
Теперь заполните данные сети - отключив DHCP и заполнив статический адрес IP, маску подсети и шлюз, а затем нажмите ОК:
Затем нажмите / выберети Сохранить:
Вы также можете задать дополнительные сервера имен. Выбрав Конфигурация DNS:
Теперь Вы можете заполнить дополнительные серверы имен и нажмите ОК:
После чего, Сохранить и Выйти ...
— Разгрузит мастера, специалиста или компанию;
— Позволит гибко управлять расписанием и загрузкой;
— Разошлет оповещения о новых услугах или акциях;
— Позволит принять оплату на карту/кошелек/счет;
— Позволит записываться на групповые и персональные посещения;
— Поможет получить от клиента отзывы о визите к вам;
— Включает в себя сервис чаевых.
Для новых пользователей первый месяц бесплатно. Зарегистрироваться в сервисе
Вы должны запустить:
|
Чтобы проверить Ваши полученые установки IP-адреса.
[root@server1 ~]# ifconfig 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:2 errors:0 dropped:0 overruns:0 frame:0 TX packets:2 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:100 (100.0 b) TX bytes:100 (100.0 b) p2p1 Link encap:Ethernet HWaddr 08:00:27:5E:7B:3A inet addr:192.168.1.101 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe5e:7b3a/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:50 errors:0 dropped:0 overruns:0 frame:0 TX packets:78 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:6638 (6.4 KiB) TX bytes:11748 (11.4 KiB) [root@server1 ~]#
Проверьте /etc/resolv.conf, содержит ли она список всех серверов имен, которые Вы предварительно настроили:
|
Если сервера имен не хватает, выполните:
|
... и добавить недостающие серверы имен снова. Теперь переходим к конфигурации!
Поменяйте название своей карты на ethx
Теперь мы должны настроить Fedora, чтобы больше не использовать BIOS имена устройств для наших сетевых интерфейсов. Вместо p2p1, нам нужны хорошие, обратно старые eth0 (потому что брандмауэре ISPConfig будет сходить с ума и блокировать все потому, что он ожидает eth0 вместо p2p1). Открываем /etc/grub.conf ...
|
... и добавить biosdevname=0 для строки kernel:
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/mapper/vg_server1-lv_root
# initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=0
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.38.6-27.fc15.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.38.6-27.fc15.x86_64 ro root=/dev/mapper/vg_server1-lv_root rd_LVM_LV=vg_server1/lv_root rd_LVM_LV=vg_server1/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=de rhgb quiet biosdevname=0
initrd /initramfs-2.6.38.6-27.fc15.x86_64.img
Затем перезагрузите систему:
|
После перезагрузки, Ваша сетевая карта должна называться eth0 . Выполните ...
|
... проверим:
[root@server1 ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:15:60:FA inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe15:60fa/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:48 errors:0 dropped:0 overruns:0 frame:0 TX packets:58 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:5226 (5.1 KiB) TX bytes:9682 (9.4 KiB) 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:2 errors:0 dropped:0 overruns:0 frame:0 TX packets:2 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:100 (100.0 b) TX bytes:100 (100.0 b) [root@server1 ~]#
Настройка /etc/hosts
Далее Изменить /etc/hosts, что бы выглядел следующим образом:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 192.168.1.101 server1.example.com server1 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
Важно, что Вы добавляете строку с server1.example.com и удалите server1.example.com и server1 на 127.0.0.1 строке.
Настройка брандмауэра
(Вы можете пропустить эту главу, если Вы уже отключили брандмауэр в конце базовой установки системы)
Я хочу установить ISPConfig в конце этого учебника, который поставляется с собственной брандмауэра. Вот почему сейчас я отключаю брандмауэр по умолчанию Fedora. Конечно, Вы можете оставить его и настроить его под свои нужды (но тогда Вы не должны использовать любой другой брандмауэр позже, так как это будет, мешать брандмауэру Fedora).
|
и отключить брандмауэр.
Чтобы проверить, что брандмауэр действительно была отключена, вы можете запустить
|
root@server1 ~]# iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination [root@server1 ~]#
Отключение SELinux
SELinux является расширенным обеспечением Fedora, который дает расширенную безопасность. На мой взгляд, вам не нужно его настроить безопасную систему, и это обычно вызывает больше проблем, чем преимуществ. Поэтому я могу отключить его, тоже (это необходимо, если вы хотите установить ISPConfig позже).
Отредактируем /etc/selinux/config и выставим SELINUX = отключенным:
|
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted
Затем мы должны перезагрузить систему:
|
Установка некоторых программ
Сначала импортируем GPG ключи для программных пакетов:
Далее мы обновляем наши существующие пакеты в системе:
|
Теперь мы установим некоторые пакеты программного обеспечения, которые необходимы в дальнейшем:
|
Журналирование квоты
Чтобы установить квоту, мы запускаем эту команду:
|
Отредактируем /etc/fstab и добавим ,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 к / разделу (/dev/mapper/vg_server1-lv_root):
|
#
# /etc/fstab
# Created by anaconda on Wed May 25 15:57:24 2011
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/vg_server1-lv_root / ext4 defaults,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 1 1
UUID=366ba6a7-7e68-4ec9-9743-4b02dd105180 /boot ext4 defaults 1 2
/dev/mapper/vg_server1-lv_swap swap swap defaults 0 0
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
Выполним:
|
... активировав квоту.
Установим Apache, MySQL, phpMyAdmin
Все это может быть установлено всего одной командой:
|
Установка Courier-IMAP, Courier-Authlib и Maildrop
К сожалению не имеется RPM пакетов для Courier-IMAP, Courier-Authlib и Maildrop, поэтому мы должны собрать их сами.
|
Затем установим предпосылки, что бы мы смогли собрать пакеты Courier RPM пакеты:
|
RPM пакеты не должны быть собраны под root, Courier-IMAP будет отказываться от компиляции, если будет обнаружено, что компиляция запускается под root пользователем. Поэтому мы создаем учетную запись обычного пользователя (mobil в данном примере) и присвоим ему пароль:
|
Нам понадобится Sudo команда в дальнейшем, так что пользователь mobil может собрать и установить RPM пакеты. Но во-первых, мы должны позволить mobil, запустить все команды, с использованием sudo. Выполним:
|
В файл, который откроется есть строка корень root ALL=(ALL) ALL. Добавить аналогичные линии для mobil чуть ниже этой строки:
[...] ## Allow root to run any commands anywhere root ALL=(ALL) ALL mobil ALL=(ALL) ALL [...]
Теперь мы готовы собрать наш RPM пакет. Сначала надо стать пользователем mobil:
|
Далее мы создадим нашe средe сборки:
|
Теперь мы создаем каталог downloads и скачаем исходные файлы из http://www.courier-mta.org/download.php:
|
(Вы можете спросить, почему я не скачать новую версию Courier-IMAP - 4.9.3 на момент написания этой статьи - а использовал старую - 4.8.1. Это потому, что 4.9.3 не удалось построить на моей системе, а 4.8.1 работает просто отлично). Теперь (пока еще в $HOME/downloads) мы можем построить Courier-authlib:
|
После процесса сборки, RPM пакеты можно найти в /root/rpmbuild/RPMS/x86_64 ( /root/rpmbuild/RPMS/i686 если Вы находитесь в i686 системе). Команда:
|
показывает, доступных пакетов RPM:
[mobil@server1 downloads]$ sudo ls -l /root/rpmbuild/RPMS/x86_64 total 520 -rw-r--r-- 1 root root 123448 May 25 18:06 courier-authlib-0.63.0-1.fc15.x86_64.rpm -rw-r--r-- 1 root root 265144 May 25 18:06 courier-authlib-debuginfo-0.63.0-1.fc15.x86_64.rpm -rw-r--r-- 1 root root 34876 May 25 18:06 courier-authlib-devel-0.63.0-1.fc15.x86_64.rpm -rw-r--r-- 1 root root 17448 May 25 18:06 courier-authlib-ldap-0.63.0-1.fc15.x86_64.rpm -rw-r--r-- 1 root root 13808 May 25 18:06 courier-authlib-mysql-0.63.0-1.fc15.x86_64.rpm -rw-r--r-- 1 root root 13020 May 25 18:06 courier-authlib-pgsql-0.63.0-1.fc15.x86_64.rpm -rw-r--r-- 1 root root 8276 May 25 18:06 courier-authlib-pipe-0.63.0-1.fc15.x86_64.rpm -rw-r--r-- 1 root root 34108 May 25 18:06 courier-authlib-userdb-0.63.0-1.fc15.x86_64.rpm [mobil@server1 downloads]$
Выберите те, которые Вы хотите установить, и установить их так:
|
Теперь мы вернемся к нашему каталогу downloads:
|
Выполните следующие команды, чтобы создать необходимые каталоги / разрешения смены каталога (потому что иначе процесс сборки для Courier-IMAP не удастся):
|
Теперь запустите rpmbuild снова, на этот раз без Sudo , в противном случае компиляция не удастся, поскольку она была запущена с правами root:
|
После процесса сборки, RPM пакеты можно найти в $HOME/rpm/RPMS/x86_64 ($HOME/rpm/RPMS/i686 если Вы находитесь на i686 систему):
|
Команда
|
показывает, доступных пакетов RPM:
[mobil@server1 x86_64]$ ls -l total 1708 -rw-rw-r-- 1 mobil mobil 596432 May 25 18:33 courier-imap-4.8.1-2.15.x86_64.rpm -rw-rw-r-- 1 mobil mobil 1149328 May 25 18:33 courier-imap-debuginfo-4.8.1-2.15.x86_64.rpm [mobil@server1 x86_64]$
Вы можете установить Courier-IMAP:
|
Теперь мы вернемся к нашему загрузки каталоге:
|
и запустим rpmbuild снова, на этот раз для создания Maildrop пакет:
Теперь мы вернемся к нашему загрузки каталоге:
|
После процесса сборки, RPM пакеты можно найти в /root/rpmbuild/RPMS/x86_64 ( /root/rpmbuild/RPMS/i686 если Вы находитесь в i686 системе). Команда:
|
показывает, доступных пакетов RPM:
[mobil@server1 downloads]$ sudo ls -l /root/rpmbuild/RPMS/x86_64 total 1628 -rw-r--r-- 1 root root 123448 May 25 18:06 courier-authlib-0.63.0-1.fc15.x86_64.rpm -rw-r--r-- 1 root root 265144 May 25 18:06 courier-authlib-debuginfo-0.63.0-1.fc15.x86_64.rpm -rw-r--r-- 1 root root 34876 May 25 18:06 courier-authlib-devel-0.63.0-1.fc15.x86_64.rpm -rw-r--r-- 1 root root 17448 May 25 18:06 courier-authlib-ldap-0.63.0-1.fc15.x86_64.rpm -rw-r--r-- 1 root root 13808 May 25 18:06 courier-authlib-mysql-0.63.0-1.fc15.x86_64.rpm -rw-r--r-- 1 root root 13020 May 25 18:06 courier-authlib-pgsql-0.63.0-1.fc15.x86_64.rpm -rw-r--r-- 1 root root 8276 May 25 18:06 courier-authlib-pipe-0.63.0-1.fc15.x86_64.rpm -rw-r--r-- 1 root root 34108 May 25 18:06 courier-authlib-userdb-0.63.0-1.fc15.x86_64.rpm -rw-r--r-- 1 root root 278520 May 25 18:50 maildrop-2.5.4-1.15.x86_64.rpm -rw-r--r-- 1 root root 685672 May 25 18:50 maildrop-debuginfo-2.5.4-1.15.x86_64.rpm -rw-r--r-- 1 root root <24 May 25 18:50 maildrop-devel-2.5.4-1.15.x86_64.rpm -rw-r--r-- 1 root root 63968 May 25 18:50 maildrop-man-2.5.4-1.15.x86_64.rpm [mobil@server1 downloads]$
Теперь Вы можете установить Maildrop так:
|
После того как Вы собрали и установили все необходимые пакеты, Вы можете снова стать root, введя:
|
Установка Postfix
Postfix может быть установлен следующим образом:
|
Затем выключим Sendmail и запустим Postfix и MySQL:
|
Установка GetMail
GetMail может быть установлен следующим образом:
|
Установка MySQL пароли и настройка PhpMyAdmin
Установите пароль для учетной записи корень MySQL:
|
[root@server1 ~]# 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): - ENTER 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: - Ваш root SQL пароль Re-enter new password: - Ваш root SQL пароль 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 ~]#
Теперь мы настроим PhpMyAdmin. Мы изменим конфигурации Apache, чтобы PhpMyAdmin позволял связаться не только с локального хоста (путем комментирования строки
|
# phpMyAdmin - Web based MySQL browser written in php # # Allows only localhost by default # # But allowing phpMyAdmin to anyone other than localhost should be considered # dangerous unless properly secured by SSL Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin #<Directory /usr/share/phpMyAdmin/> # Order Deny,Allow # Deny from All # Allow from 127.0.0.1 # Allow from ::1 #</Directory> <Directory /usr/share/phpMyAdmin/setup/> Order Deny,Allow Deny from All Allow from 127.0.0.1 Allow from ::1 </Directory> # These directories do not require access over HTTP - taken from the original # phpMyAdmin upstream tarball # <Directory /usr/share/phpMyAdmin/libraries/> Order Deny,Allow Deny from All Allow from None </Directory> <Directory /usr/share/phpMyAdmin/setup/lib/> Order Deny,Allow Deny from All Allow from None </Directory> # This configuration prevents mod_security at phpMyAdmin directories from # filtering SQL etc. This may break your mod_security implementation. # #<IfModule mod_security.c> # <Directory /usr/share/phpMyAdmin/> # SecRuleInheritance Off # </Directory> #</IfModule>
Затем мы добавим в автозапуск системы Apache и запустим его:
|
Теперь Вы можете перейти в Ваш браузере по адресу http://server1.example.com/phpmyadmin/ или http://192.168.1.101/phpmyadmin/ и войти в систему с именем пользователя root и Вашим новый root паролем MySQL.
Установите Amavisd-new, SpamAssassin и ClamAV
Чтобы установить Amavisd-new, SpamAssassin и ClamAV, выполним следующую команду:
|
Когда мы установили ClamAV, cron получил установку, пытаться обновлять антивирусные базы ClamAV каждые три часа. Но это работает только тогда, когда мы включаем его в /etc/sysconfig/freshclam и /etc/freshclam.conf:
Комментируем строку FRESHCLAM_DELAY:
|
## When changing the periodicity of freshclam runs in the crontab, ## this value must be adjusted also. Its value is the timespan between ## two subsequent freshclam runs in minutes. E.g. for the default ## ## | 0 */3 * * * ... ## ## crontab line, the value is 180 (minutes). # FRESHCLAM_MOD= ## A predefined value for the delay in seconds. By default, the value is ## calculated by the 'hostid' program. This predefined value guarantees ## constant timespans of 3 hours between two subsequent freshclam runs. ## ## This option accepts two special values: ## 'disabled-warn' ... disables the automatic freshclam update and ## gives out a warning ## 'disabled' ... disables the automatic freshclam silently # FRESHCLAM_DELAY= ### !!!!! REMOVE ME !!!!!! ### REMOVE ME: By default, the freshclam update is disabled to avoid ### REMOVE ME: network access without prior activation #FRESHCLAM_DELAY=disabled-warn # REMOVE ME
Комментируем строку Example:
|
[...] # Comment or remove the line below. #Example [...]
Теперь мы запускаем Freshclam, AMaViSd, и Clamd ...
|
Следом выполним это:
|
У Fedora 15 есть /run каталог для хранения данных выполнения. /run сейчас TMPFS, и /var/run и /var/lock теперь связывают крепится к /run и /run/lock от TMPFS, и следовательно, очищена от перезагрузки. Для более подробной информации.
Это значит, что после перезагрузки, каталоги /var/run/clamav.amavisd, /var/run/clamd.amavisd и /var/run/amavisd, которые мы только что создали не будет больше существовать, и поэтому Clamd и AMaViSd не будет запускаться. Поэтому сейчас мы создадим файл /etc/tmpfiles.d/amavisd.conf, что бы создавать эти каталоги при запуске системы (см. http://0pointer.de/public/systemd-man/tmpfiles.d.html для более подробной информации):
|
D /var/run/clamav.amavisd 0755 amavis root - D /var/run/clamd.amavisd 0755 amavis root - D /var/run/amavisd 0755 amavis root -
Установка mod_php, mod_fcgi/PHP5, и suPHP
ISPConfig 3 позволяет использовать mod_php, mod_fcgi/PHP5, cgi/PHP5, и suPHP за основу сайта.
Мы можем установить Apache2, mod_php5, mod_fcgid, и PHP5 следующим образом:
|
Далее мы откроем /etc/php.ini ...
|
... и изменим сообщений об ошибках (так, что бы уведомления не показывались больше) и раскомментируем cgi.fix_pathinfo = 1 :
[...]
;error_reporting = E_ALL & ~E_DEPRECATED
error_reporting = E_ALL & ~E_NOTICE
[...]
; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting
; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting
; of zero causes PHP to behave as before. Default is 1. You should fix your scripts
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo
cgi.fix_pathinfo=1
[...]
Далее установим suPHP:
|
Затем мы добавляем suPHP модуль для нашей конфигурации Apache ...
|
LoadModule suphp_module modules/mod_suphp.so
... и создадим файл /etc/suphp.conf следующим образом:
|
[global] ;Path to logfile logfile=/var/log/httpd/suphp.log ;Loglevel loglevel=info ;User Apache is running as webserver_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"
Наконец, мы перезагрузить Apache:
|
Ruby
Начиная с версии 3.0.3, ISPConfig 3 имеет встроенную поддержку для Ruby. Вместо использования CGI/FastCGI, ISPConfig зависящая от mod_ruby будет доступна на сервере Apache.
Для Fedora 15, нет mod_ruby имеющийся пакет, поэтому мы должны скомпилировать его сами. Сначала установить некоторые предпосылки:
|
Далее скачайте и установите mod_ruby следующим образом:
|
Наконец, мы должны добавить модуль mod_ruby конфигурации Apache, поэтому мы создаем файл /etc/httpd/conf.d/ruby.conf ...
|
LoadModule ruby_module modules/mod_ruby.so RubyAddPath /1.8
... и перезагрузить Apache:
|
(Если Вы опустите RubyAddPath /1.8 директиву, Вы увидите ошибки, такие как следующие из них в журнале ошибок Apache, когда Вы Вызываете Ruby файлы:
[Thu May 26 02:05:05 2011] [error] mod_ruby: ruby:0:in `require': no such file to load -- apache/ruby-run (LoadError) [Thu May 26 02:05:05 2011] [error] mod_ruby: failed to require apache/ruby-run [Thu May 26 02:05:05 2011] [error] mod_ruby: error in ruby
WebDAV
WebDAV уже должен быть включен, для проверки этого, откройте /etc/httpd/conf/httpd.conf и убедитесь, что следующие три модуля активных:
|
[...] LoadModule auth_digest_module modules/mod_auth_digest.so [...] LoadModule dav_module modules/mod_dav.so [...] LoadModule dav_fs_module modules/mod_dav_fs.so [...]
Если Вам необходимо изменить /etc/httpd/conf/httpd.conf, не забудьте перезапустить Apache после этого:
|
Установим PureFTPd
PureFTPd может быть установлена с помощью следующей команды:
|
Затем создайте автозапуск PureFTPd:
|
Теперь мы настроим PureFTPd чтобы FTP через TLS сессию. FTP является очень небезопасным протоколом, потому что все пароли и все данные передаются в открытом виде. С помощью TLS, все связи могут быть зашифрованы, что делает FTP гораздо более безопасным.
Чтобы установить OpenSSL нужная TLS, мы запустим:
|
Откроем /etc/pure-ftpd/pure-ftpd.conf ...
|
Если вы хотите разрешить FTP и TLS сессии, набор TLS к 1:
[...] # This option can accept three values : # 0 : disable SSL/TLS encryption layer (default). # 1 : accept both traditional and encrypted sessions. # 2 : refuse connections that don't use SSL/TLS security mechanisms, # including anonymous sessions. # Do _not_ uncomment this blindly. Be sure that : # 1) Your server has been compiled with SSL/TLS support (--with-tls), # 2) A valid certificate is in place, # 3) Only compatible clients will log in. TLS 1 [...]
Для того чтобы использовать TLS, мы должны создать SSL-сертификат. Я создаю его в /etc/ssl/private/ , поэтому я создаю этот каталог первым:
|
После этого мы можем генерировать SSL сертификат следующим образом:
|
Название страны (2 буквенный код) [XX]: - Введите название страны (например, "RU") Государство или название провинции (полное имя) []: - Введите государства или название провинции Местность имя (например, города) [по умолчанию Городе]: - Введите ваш город Название организации (например, компании) [по умолчанию ООО]: - Введите название организации (например, название Вашей компании) Подразделение Название (например, раздел) []: - Введите Организационные Название группы (например, "ИТ-отдел") Общее имя (например, ваше имя или имя хоста сервера вашего) []: - Введите полное доменное имя системы (например, "server1.example.com") Электронный адрес: []: - Введите адрес электронной почты
Изменение разрешения сертификата SSL:
|
Наконец перезапустите PureFTPd:
|
Вот и все. Теперь вы можете попробовать подключиться с помощью вашего FTP-клиента, однако, вы должны настроить свой FTP-клиента для использования TLS - например с FileZilla.
Установка BIND
Мы можем установить BIND следующим образом:
|
Затем откроем /etc/sysconfig/named ...
|
... и закомментируйте ROOTDIR=/var/named/chroot строку:
# BIND named process options
# ~~~~~~~~~~~~~~~~~~~~~~~~~~
# Currently, you can use the following options:
#
# ROOTDIR="/var/named/chroot" -- will run named in a chroot environment.
# you must set up the chroot environment
# (install the bind-chroot package) before
# doing this.
# NOTE:
# Those directories are automatically mounted to chroot if they are
# empty in the ROOTDIR directory. It will simplify maintenance of your
# chroot environment.
# - /var/named
# - /etc/pki/dnssec-keys
# - /etc/named
# - /usr/lib64/bind or /usr/lib/bind (architecture dependent)
#
# Those files are mounted as well if target file doesn't exist in
# chroot.
# - /etc/named.conf
# - /etc/rndc.conf
# - /etc/rndc.key
# - /etc/named.rfc1912.zones
# - /etc/named.dnssec.keys
# - /etc/named.iscdlv.key
#
# Don't forget to add "$AddUnixListenSocket /var/named/chroot/dev/log"
# line to your /etc/rsyslog.conf file. Otherwise your logging becomes
# broken when rsyslogd daemon is restarted (due update, for example).
#
# OPTIONS="whatever" -- These additional options will be passed to named
# at startup. Don't add -t here, use ROOTDIR instead.
#
# KEYTAB_FILE="/dir/file" -- Specify named service keytab file (for GSS-TSIG)
#
# DISABLE_ZONE_CHECKING -- By default, initscript calls named-checkzone
# utility for every zone to ensure all zones are
# valid before named starts. If you set this option
# to 'yes' then initscript doesn't perform those
# checks.
#ROOTDIR=/var/named/chroot
Затем мы создаем ссылку на запуск:
|
Мы не запускаем BIND сейчас, потому, что он должен быть вначале настроен - это будет сделано автоматически ISPConfig 3 в дальнейшем при установке.
Установка Vlogger, Webalizer, AWStats
Vlogger, Webalizer, AWStats могут быть установлены следующим образом:
|
Установика Jailkit
Jailkit необходимо только тогда, когда вы хотите изолировать SSH пользователей. Она может быть установлена следующим образом (важно: Jailkit должна быть установлена до ISPConfig - она не может быть установлен впоследствии!):
|
Установика fail2ban
Это необязательно, но рекомендуется, так как монитор ISPConfig отображает его журнал:
|
Установите rkhunter
rkhunter могут быть установлены следующим образом:
|
Установка SquirrelMail
Чтобы установить клиент SquirrelMail веб-почты, запустим ...
|
... и перезагрузим Apache:
|
Затем настроим SquirrelMail:
|
Мы должны указать SquirrelMail, что используем Courier-IMAP/-POP3:
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 gmail = IMAP access to Google mail (Gmail) accounts quit = Do not change anything Command >> - courier 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 gmail = IMAP access to Google mail (Gmail) accounts quit = Do not change anything Command >> courier imap_server_type = courier default_folder_prefix = INBOX. 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 = . delete_folder = true Press any key to continue... - press ENTER 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
Последнее, что нам нужно сделать, это внести изменения в файл /etc/squirrelmail/config_local.php и комментировать из $default_folder_prefix переменную - если Вы не сделаете этого, Вы увидите следующее сообщение об ошибке в SquirrelMail после того как Вы войдете в систему : CREATE "Sent" Reason Given: Invalid mailbox name.
|
<?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$ * @package squirrelmail * @subpackage config */ //$default_folder_prefix = ''; ?>
Теперь вы можете ввести http://server1.example.com/webmail или http://192.168.1.101/webmail в вашем браузере для доступа к SquirrelMail.
Установка ISPConfig 3
Чтобы установить последнюю выпущенную версию ISPConfig 3, сделайте следующее:
|
Следующим шагом является запуск:
|
Это приведет к запуску установки ISPConfig 3:
[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 []: - Ваш root пароль SQL 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) [XX]: - ENTER State or Province Name (full name) []: - ENTER Locality Name (eg, city) [Default City]: - ENTER Organization Name (eg, company) [Default 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 Courier 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 ISPConfig crontab no crontab for root no crontab for getmail Restarting services ... Restarting mysqld (via systemctl): [ OK ] Restarting postfix (via systemctl): [ OK ] Restarting saslauthd (via systemctl): [ OK ] Restarting amavisd (via systemctl): [ OK ] Restarting clamd.amavisd (via systemctl): [ OK ] Stopping Courier authentication services: authdaemond Starting Courier authentication services: authdaemond Stopping Courier-IMAP server: imap imap-ssl pop3 pop3-ssl Starting Courier-IMAP server: imap generating-SSL-certificate... imap-ssl pop3 generating-SSL-certificate... pop3-ssl Stopping Courier-IMAP server: imap imap-ssl pop3 pop3-ssl Starting Courier-IMAP server: imap imap-ssl pop3 pop3-ssl Stopping Courier-IMAP server: imap imap-ssl pop3 pop3-ssl Starting Courier-IMAP server: imap imap-ssl pop3 pop3-ssl Stopping Courier-IMAP server: imap imap-ssl pop3 pop3-ssl Starting Courier-IMAP server: imap imap-ssl pop3 pop3-ssl Restarting httpd (via systemctl): [ OK ] Restarting pure-ftpd (via systemctl): [ OK ] Installation completed. [root@server1 install]#
Программа установки автоматически настроит все основные услуги, так что никакой ручной настройки не потребуется.
После этого Вы можете получить доступ к ISPConfig 3 по адресу http://server1.example.com:8080/ или http://192.168.1.101:8080/. Войти с именем пользователя admin и пароль admin (вы должны изменить пароль по умолчанию после первого входу):
Система готова к работе.