четверг, 22 сентября 2011 г.

Установка CentOS 5.5 x86_64 и ISPConfig 3

1 Требования 

Для установки такой системы необходимо следующее:

  • Скачать два 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 InternetDevelopment LibrariesDevelopment ToolsDNS Name ServerFTP ServerMail ServerMySQL DatabaseServer Configuration ToolsWeb ServerAdministration ToolsBase, и 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  
Добавлено через 1 минуту
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
         
Теперь мы хотим использовать IP-адрес 192.168.0.101 на виртуальном интерфейсе eth0:0. Поэтому мы открываем файл /etc/sysconfig/network-scripts/ifcfg-eth0:0 и изменяем его следующим образом (мы можем неучитывать линию HWADDR,так как это та же самая физическая сетевая плата):

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
         
Вы также можете настроить /etc/hosts после добавления нового IP-адреса , хотя это и не нужно.

Теперь запустите

ifconfig
         
Теперь вы должны увидеть на выходе ваш новый IP-адрес :

[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 ~]#
         
6 Отключение брандмауэра и SELinux

(Вы можете пропустить этот шаг, если вы уже отключили брандмауэр, и SELinux в конце базовой установки системы (окно установки агента).)

Мы хотим установить панель ISPConfig в конце этой статьи, которая поставляется со своим собственным брандмауэром. Вот поэтому мы и отключаем брандмауэр по умолчанию в CentOS. Конечно, вы можете не делать этого и настроить его под свои нужды (но тогда вы не должны использовать любой другой брандмауэр,который скорее всего, будет конфликтовать с брандмауэром CentOS).

SELinux представляет собой расширение безопасности CentOS, которые должны обеспечить расширенную безопасность. Отключим его (это необходимо, если мы хотим установить ISPConfig).

Запустим

system-config-securitylevel
         
Отелючим Security Level и SELinux, отметив Disabled и нажмем OK:


Затем мы должны перезагрузить систему:

reboot
         
7 Установка программ

Сначала мы импортируем GPG ключи для программных пакетов:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
         
Включим репозитории Contrib и centosplus:

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'
         
8 Quota

(Если вы выбрали другую схему разбиения диска, то вам нужно изменить эту часть статьи, с учетом того, что quota распространяется на разделы, где это необходимо.)

Чтобы установить quota, мы выполним следующую команду:

yum install quota
         
Отредактируем /etc/fstab и добавим,usrquota,grpquota в /partition ( /dev/VolGroup00/LogVol00 ):

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
         
,чтобы включить quota.

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
         
(Если ссылка выше не работает, вы можете найти текущую версию rpmforge здесь: Index of /rpmforge-release )

После этого мы можем установить необходимые пакеты с помощью одной команды:

yum install ntp httpd mysql-server php php-mysql php-mbstring php-mcrypt phpmyadmin
         
Добавлено через 24 секунды
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
         
Теперь сделаем автозапуск для Dovecot:
chkconfig --levels 235 dovecot on
/etc/init.d/dovecot start
         
11 Установка Postfix с поддержкой MySQL

"Нормальный" пакет Postfix из репозитория CentOS не содержит MySQL, а пакет Postfix из репозитория CentOS Plus включает его в себя. Поэтому мы удалим Postfix ...

yum remove postfix
         
... и установим его снова, на этот раз из репозитория CentOS Plus:

yum install postfix
         
Затем отключим Sendmail и запустим Postfix и MySQL:

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
         
12 Установка GetMail

GetMail можно установить следующим образом:

yum install getmail
         
13 Установка паролей на MySQL и настройка phpMyAdmin

Установите пароль для 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]#
         
Теперь настроим PhpMyAdmin. Мы изменим конфигурацию Apache, так чтобы phpMyAdmin позволял соединяться не только из localhost (за комментируем строку <Directory "/usr/share/phpmyadmin">):

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  
Далее мы изменим аутентификацию в phpMyAdmin из cookie в http:

vi /usr/share/phpmyadmin/config.inc.php
         
PHP код:
[...]/* Authentication type */$cfg['Servers'][$i]['auth_type'] = 'http';
[...]  
Далее сделаем автозапуск для Apache и запустим его:

chkconfig --levels 235 httpd on
/etc/init.d/httpd start
         
Теперь мы можем ввести в адресной строке браузера http://server1.example.com/phpmyadmin/ или http://192.168.0.100/phpmyadmin/ и залогиниться с именем суперпользователя root и новым root паролем MySQL.

14 Установка Amavisd-new, SpamAssassin и ClamAV

Чтобы установить amavisd-new, spamassassin и clamav, выполните следующую команду:

yum install amavisd-new spamassassin clamav clamd unzip bzip2 unrar perl-DBD-mysql
         
Откройте /etc/sysconfig/amavisd ...

vi /etc/sysconfig/amavisd
         
... и добавьте строчку CONFIG_FILE="/etc/amavisd/amavisd.conf" :

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"  
Затем запустим freshclam, amavisd, и clamd...

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
         
(Это нормально, если вы видите ошибку: 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.)

... и создадим необходимые нам каталоги

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
         
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. Подключим репозитории следующим образом:

cd /etc/yum.repos.d/
wget http://centos.karan.org/kbsingh-CentOS-Extras.repo
         
Далее откроем /etc/yum.repos.d/kbsingh-CentOS-Extras.repo ...

vi /etc/yum.repos.d/kbsingh-CentOS-Extras.repo
         
... и поставим 0 напротив gpgcheck и напротив enabled поставим 1 в секции [kbs-CentOS-Testing]:

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/  
После этого мы сможем установить Apache2with mod_php5, mod_fcgid, и PHP5:

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
         
Далее откроем /etc/php.ini...

vi /etc/php.ini
         
... и изменим сообщений об ошибках (так, чтобы уведомления не показывались больше) и добавим cgi.fix_pathinfo = 1 в конце файла:

PHP код:
[...]
;
error_reporting  =  E_ALL
error_reporting 
E_ALL & ~E_NOTICE[...]cgi.fix_pathinfo 1  
Далее установим suPHP:

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
         
Затем добавим модуль suPHP в нашу конфигурацию Apache ...

vi /etc/httpd/conf.d/suphp.conf
         
PHP код:
LoadModule suphp_module modules/mod_suphp.so  
... и создадим файл /etc/suphp.conf

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=/mychrootSecurity 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 setspecify in octal notation
umask
=0077Minimum UID
min_uid
=100Minimum 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

/etc/init.d/httpd restart
         
16 Установка PureFTPd

PureFTPd может быть установлена с помощью следующей команды:

yum install pure-ftpd
         
Затем создадим ссылки загрузки и запуска PureFTPd:

chkconfig --levels 235 pure-ftpd on
/etc/init.d/pure-ftpd start
         
17 Установка A Chrooted DNS Server (BIND9)

Делаем так:

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
         
BIND будет запускаться в пределах одной директории /var/named/chroot/var/named/. Мы будем использовать ISPConfig для настроики BIND (зон и т.д.).

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*
         
19 Установка Jailkit

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*
         
20 Установка fail2ban

Это необязательно, но рекомендуется, так как монитор ISPConfig пытается показать лог:

yum install fail2ban
         
chkconfig --levels 235 fail2ban on
/etc/init.d/fail2ban start
         
21 Установка RkHunter

RkHunter можно установить следующим образом:

yum install rkhunter
         
22 Установка SquirrelMail

Чтобы установить клиент веб-почты SquirrelMail, запустим...

yum install squirrelmail
         
... и перезагрузим Apache:

/etc/init.d/httpd restart
         
Затем настроим SquirrelMail:
/usr/share/squirrelmail/config/conf.pl
         
Мы должны "сказать" 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

    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
         
Последнее, что нам нужно сделать, это внести изменения в файл /etc/squirrelmail/config_local.php и закомментировать $default_folder_prefix переменной - если вы не сделаете этого, то увидите следующее сообщение об ошибке в SquirrelMail после того, как войдете в систему : Query: CREATE "Sent" Reason Given: Invalid mailbox name

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 &copy; 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                = '';
?>
Теперь вы можете ввести http://server1.example.com/webmail или http://192.168.0.100/webmail в браузере для доступа к SquirrelMail.


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/
         
(Замените ISPConfig-3.0.2.1.tar.gz последней версией.)

Следующим шагом является запуск

php -q install.php
         
Это приведет к запуску установки 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 []: <-- 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 (необходимо изменить пароль по умолчанию после первого входа):




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

Комментариев нет:

Отправить комментарий