ISPConfig бесплатная панель управления хостингом
Автор: admin Раздел: Как настроить CentOS
Совсем недавно нашел хороший бесплатный хостинг панель управления для 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 umask ![]() ; 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-] |