ГлавнаяРегистрацияВходВ закладки

Главная » Статьи » CentOS » Как настроить CentOS
ISPConfig бесплатная панель управления хостингом
Совсем недавно нашел хороший бесплатный хостинг панель управления для Linux. Она называется ISP Config. Способность работать под Распределения CentOS, Ubuntu, Fedora Core и OpenSUSE. Ниже приводится краткое HOWTO по установке русского языка для CentOS 5.5 x86_64.Srazu сказать, ,что установки, описанные здесь, я вижу ", с их точки зрения".

Итак, сначала нам нужно иметь чистый 64-разрядный CentOS 5.5 с внешним IP-адресом и последними обновлениями. Обновление до установки можно следующим образом:

[-hide-]yum update
Установка квот.
yum install quota
Отредактируем /etc/fstab и добавим ,usrquota,grpquota в / раздел (/dev/VolGroup00/LogVol00):
vim /etc/fstab
Должно получиться как-то так:

/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
Установка Apache, PHP, MySQL, phpMyAdmin.
Добавляем официальный репозиторий RPMForge:
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:
yum makecache
И непосредственно ставим LAMP:
yum install ntp httpd mysql-server php php-mysql php-mbstring php-mcrypt phpmyadmin
Удаляем (если есть) штатный dovecot
yum remove dovecot
и ставим новый из rpm-пакетов:
rpm -Uhv http://dl.atrpms.net/el5Server-x86_64/atrpms/testing/dovecot-1.2.12-1_109.el5.x86_64.rpm
rpm -Uhv http://dl.atrpms.net/el5Server-x86_64/atrpms/testing/dovecot-sieve-0.1.17-5.el5.x86_64.rpm
Далее затираем 32-битную библиотеку и создаем symlink:
rm -rf /usr/lib/dovecot/
ln -s /usr/lib64/dovecot/ /usr/lib/dovecot
Добавляем dovecot в автозапуск и стартуем демон:
chkconfig --levels 235 dovecot on
/etc/init.d/dovecot start
Установка Postfix с поддержкой MySQL.
Удаляем «дефолтовый» Postfix:
yum remove postfix
и ставим новый с репозитория CentOS Plus:
yum install postfix
Далее здесь необходимо отключить имеющийся по-умолчанию Sendmail, запустить сервис MySQL и добавить Postfix в автозапуск:
chkconfig --levels 235 mysqld on
service mysqld start
chkconfig --levels 235 sendmail off
chkconfig --levels 235 postfix on
service sendmail stop
service postfix start
Установка Getmail.
yum install getmail
Задаем root-пароль MySQL и конфигурируем phpMyAdmin
mysql_secure_installation
При этом на вопросы установщика нужно будет ответить как-то так:

Set root password? [Y/n] <– ENTER
New password: <– yourrootsqlpassword
Re-enter new password: <– yourrootsqlpassword
Remove anonymous users? [Y/n] <– ENTER
Disallow root login remotely? [Y/n] <– ENTER
Remove test database and access to it? [Y/n] <– ENTER
Reload privilege tables now? [Y/n] <– ENTER

Настраиваем phpMyAdmin:
vim etc/httpd/conf.d/phpmyadmin.conf

#
# Web application to manage MySQL
#

#
# Order Deny,Allow
# Deny from all
# Allow from 127.0.0.1
#

Alias /phpmyadmin /usr/share/phpmyadmin
Alias /phpMyAdmin /usr/share/phpmyadmin
Alias /mysqladmin /usr/share/phpmyadmin

И устанавливаем аутентификацию по HTTP (запрос логина/пароля)
vim /usr/share/phpmyadmin/config.inc.php

[...]
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = ‘http’;
[...]

Далее здесь необходимо добавить в автозапуск и стартовать Apache:
chkconfig --levels 235 httpd on
/etc/init.d/httpd start

Проверить работоспособность на данном шаге можно, войдя в phpMyAdmin, для этого следуйте по ссылке: http://your-ip/phpmyadmin/

Установка Amavisd-new, SpamAssassin и ClamAV
yum install amavisd-new spamassassin clamav clamd unzip bzip2 unrar perl-DBD-mysql
Редактируем amavisd:
vim /etc/sysconfig/amavisd
и добавляем строчеку CONFIG_FILE=»/etc/amavisd/amavisd.conf»:

### 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, ничего страшного, т.к. установщик ISPSystem ее сконфигурирует самостоятельно)

Далее создадим необходимые для работы директории:
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

Подключаем еще один репозиторий:
cd /etc/yum.repos.d/
wget http://centos.karan.org/kbsingh-CentOS-Extras.repo
vim /etc/yum.repos.d/kbsingh-CentOS-Extras.repo
Установим параметр gpgcheck в 0 и enabled в 1 в секции [kbs-CentOS-Testing] :

[...]
[kbs-CentOS-Testing]
name=CentOS.Karan.Org-EL$releasever – Testing
gpgcheck
gpgkey=http://centos.karan.org/RPM-GPG-KEY-karan.org.txt
enabled=1
baseurl=http://centos.karan.org/el$releasever/extras/testing/$basearch/RPMS/

Далее добавим модули и зависимости в 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 для добавления строчки cgi.fix_pathinfo = 1
vim /etc/php.ini

[...]
;error_reporting = E_ALL
error_reporting = E_ALL & ~E_NOTICE
[...]
cgi.fix_pathinfo = 1

Далее следует установить suPHP. Установка будет производится методом компилляции из сорцов, поэтому здесь необходимо убедиться в том, ,что компилляторы установлены, на всякий случай выполнив команду
yum install gcc cpp c++
и YUM подтянет необходимые зависимости. Итак, для компилляции введите следующие команды:
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:
vim /etc/httpd/conf.d/suphp.conf

LoadModule suphp_module modules/mod_suphp.so

Создадим файлик конфигурации suPHP:
vim /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
umask077
; 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:
service httpd restart

Установка FTP-серверы PureFTPd.
Команда для установки:
yum install pure-ftpd
Добавление PureFTPd в автозапуск и старт сервиса:
chkconfig --levels 235 pure-ftpd on
/etc/init.d/pure-ftpd start

Установка DNS-серверы Bind9 с Chroot-окружением.
Установим Bind:
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
vim /var/named/chroot/etc/named.conf
Первичная конфигурация named.conf должна выглядеть примерно так:

//
// 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»;

Добавление Bind’а в автозапуск и старт сервиса:
chkconfig --levels 235 named on
/etc/init.d/named start

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

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

Установка rkhunter.
yum install rkhunter

Установка web-мейлера SquirrelMail.
Для установки служит команда:
yum install squirrelmail
после чего перезапускаем Apache
service httpd restart
Запустим скрипт конфигурации squirrelmail:
/usr/share/squirrelmail/config/conf.pl
В Main Menu выберем «D. Set pre-defined settings for specific IMAP servers», в меню «Please select your IMAP server:» напишем dovecot после чего сохраняемся и выходим из конфигуратора.
Проверить работу «белки» можно, зайдя по адресу http://your-ip/webmail – должна появиться стартовая страница Squirrelmail.

Инсталляция панели 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
В процессе установки следуйте инстрцкциям инсталлятора.
Внимание! В доступе к MySQL следует указывать только пользователя root с соответствующим паролем, панель должна иметь монопольный доступ к базе!

Об окончании своей работы установщик извещает сообщением Installation completed. В установленную панель (если в процессе установки порт не менялся) можно зайти по адресу http://your-ip:8080/
Логин и пароль по-умолчанию: username: admin, password: admin.[-hide-]
Просмотров: 6508
Дата: 2011-07-13 17:43:47
Комментариев: 0
Источник: