|
||
Ответить |
|
#1
|
|
Вес репутации:
0
Регистрация: 27.02.2009
Адрес: Москва
Сообщений: 7,302
Сказал(а) спасибо: 578
Спасибок 2,627
в 1,832 сообщениях |
Установка CentOS 5.5 x86_64 и ISPConfig 3 -
05.07.2010, 19:47
В этой статье показано, как установить сервер CentOS 5.5 x86_64 и ISPConfig 3 на него. ISPConfig 3 это панель управления веб-хостингом, которая позволяет настроить следующие услуги через веб-браузер: Apache веб-сервер, почтовый сервер Postfix, MySQL, BIND nameserver, PureFTPd, SpamAssassin, ClamAV, и многое другое.
Данное руководство справедливо только для ISPConfig 3 (ISPConfig 2 - не будет работать). 1 Требования Для установки такой системы необходимо следующее:
2 Замечание В этом руководстве используется имя хоста server1.example.com с IP адресом 192.168.0.100, а шлюз 192.168.0.1. Эти параметры могут отличаться от ваших, поэтому придется заменить их в случае необходимости. 3 Установка базовой системы Загрузитесь с вашего первого CD1 CentOS 5.5 или с первого DVD1 CentOS 5.5. Нажмите <ENTER> в окне загрузчика: Проверка установочного диска может занять довольно много времени, поэтому в данном случае мы пропустим (Skip) этот шаг (но вы можете протестировать диск, чтобы исключить ошибки): Появился экран приветствия программы установки CentOS. Нажмите Next: Выберите далее язык: Выберите раскладку клавиатуры: В данном случае CentOS 5.5 устанавливается на новую систему, поэтому отвечаем да на вопрос: "Вы бы хотели, инициализировать этот диск, удалятся все данные ?" Теперь мы должны выбрать схему разделов диска. Для простоты мы выберем Удалить разделы Linux на выбранных дисках и создать макет по умолчанию. Это приведет к созданию малого раздела /boot , большого /partition, а также создание раздела для файла подкачки /swap. Естественно, вы сами можете настроить разделы жесткого диска. Жмем Далее: Ответьте на следующие вопросы (Вы уверены, что хотите это сделать?) согласием Да: Включить для настройки сети. По умолчанию здесь настройки для сетевых интерфейсов с DHCP, но мы устанавливаем сервер, поэтому статические IP-адреса не плохая идея ... Нажмите на кнопку "Edit" в правом верхнем углу. Во всплывающем окне снимите флажок Использование динамической конфигурации IP (DHCP) и включите поддержку протокола IPv6, и дайте вашей сетевой карте статический IP адрес (в данной статье, используется IP адрес 192.168.0.100 для демонстрационных целей) и подходящую ему маску ( например, 255.255.255.0, если вы не уверены в правильных значениях, почитайте тут http://www.subnetmask.info): Установите имя хоста вручную, например server1.example.com и введите шлюз (например, 192.168.0.1) и введите до двух DNS-серверов (например, 213.191.92.86 и 145.253.2.75): Выберите свой часовой пояс: Введите root пароль: Теперь выберите программное обеспечение, которое хотите установить. Выберите тольео Server (уберите галочку со всего остального). Также, не отмечайте пакеты CentOS Extras. Затем отметьте Настроить сейчас (Customize now), и нажмите кнопку "Далее": Теперь мы должны выбрать группы пакетов, которые хотим установить. Выберите Editors , Text-based Internet, Development Libraries, Development Tools, DNS Name Server, FTP Server, Mail Server, MySQL Database, Server Configuration Tools, Web Server, Administration Tools, Base, и System Tools (не отмечайте все остальные группы пакетов) и нажмите Next: Установщик проверяет зависимости от выбранного пакета: Нажмите Далее, чтобы начать установку: Жесткий диск форматируется: Начнется установка. Это займет несколько минут: Наконец, установка завершена, и вы можете извлечь ваш CD или DVD диск из компьютера и перезагрузить его: После перезагрузки вы увидите этот экран. Выберете конфигурации брандмауэра (Firewall configuration) и нажмитеRun Tool: Я хочу установить панель ISPConfig в конце этой статьи, которая поставляется с собственным брандмауэром. Вот почему мы сейчас отключим брандмауэр по умолчанию в CentOS. Конечно, вы можете включить его и настроить под свои нужды (но тогда вы не должны использовать позже любой другой брандмауэр, который скорее всего, будет конфликтовать с брандмауэром CentOS). SELinux - расширение безопасности CentOS, который должен обеспечить расширенную безопасность. По нашему мнению, вам ненужно это, чтобы создать безопасную систему, так как это обычно вызывает больше проблем, чем преимуществ (подумайте об этом после недели поиска неисправностей из-за неработающих служб, а затем Вы узнаете, что все было в порядке, только SELinux вызывал проблему). Поэтому мы отключаем его (это необходимо, если вы хотите позже установить ISPConfig). Нажмите "ОК": Затем покиньте окно агента установки (Setup agent), выбрав Выход: Затем войдите в систему как root и перезагрузите систему, чтобы изменения вступили в силу: reboot 4 Отредактируем /etc/hosts Далее мы отредактируем /etc/hosts. vi /etc/hosts PHP код:
5 Настройка дополнительных IP-адресов (В данной части показано, как добавить дополнительные IP адреса для сетевого интерфейса eth0, если вам требуется больше, чем один IP адрес. Если у вас 1 IP адрес, вы можете пропустить этот шаг.) Давайте предположим, что сетевой интерфейс находится в eth0. Тогда существует файл /etc/sysconfig/network-scripts/ifcfg-eth0, который содержит настройки для eth0. Мы можем использовать это в качестве образца для нового виртуального сетевого интерфейса eth0:0 : cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:0 vi /etc/sysconfig/network-scripts/ifcfg-eth0:0 PHP код:
/etc/init.d/network restart Теперь запустите ifconfig [root@server1 ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:FD:78:BE inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fefd:78be/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:130 errors:0 dropped:0 overruns:0 frame:0 TX packets:137 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:12592 (12.2 KiB) TX bytes:31876 (31.1 KiB) Base address:0x1070 Memory:ec820000-ec840000 eth0:0 Link encap:Ethernet HWaddr 00:0C:29:FD:78:BE inet addr:192.168.0.101 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Base address:0x1070 Memory:ec820000-ec840000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:8 errors:0 dropped:0 overruns:0 frame:0 TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:560 (560.0 b) TX bytes:560 (560.0 b) [root@server1 ~]# (Вы можете пропустить этот шаг, если вы уже отключили брандмауэр, и SELinux в конце базовой установки системы (окно установки агента).) Мы хотим установить панель ISPConfig в конце этой статьи, которая поставляется со своим собственным брандмауэром. Вот поэтому мы и отключаем брандмауэр по умолчанию в CentOS. Конечно, вы можете не делать этого и настроить его под свои нужды (но тогда вы не должны использовать любой другой брандмауэр,который скорее всего, будет конфликтовать с брандмауэром CentOS). SELinux представляет собой расширение безопасности CentOS, которые должны обеспечить расширенную безопасность. Отключим его (это необходимо, если мы хотим установить ISPConfig). Запустим system-config-securitylevel Затем мы должны перезагрузить систему: reboot Сначала мы импортируем GPG ключи для программных пакетов: rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY* vi /etc/yum.repos.d/CentOS-Base.repo PHP код:
yum update yum groupinstall 'Development Tools' yum groupinstall 'Development Libraries' (Если вы выбрали другую схему разбиения диска, то вам нужно изменить эту часть статьи, с учетом того, что quota распространяется на разделы, где это необходимо.) Чтобы установить quota, мы выполним следующую команду: yum install quota vi /etc/fstab PHP код:
touch /aquota.user /aquota.group chmod 600 /aquota.* mount -o remount / quotacheck -avugm quotaon -avug 9 Установка Apache, MySQL, PhpMyAdmin Сначала мы включим RPMforge репозиторий на CentOS, чтобы установить пакеты, которые не доступны в официальном репозитории CentOS 5.5: rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt cd /tmp wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm rpm -ivh rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm После этого мы можем установить необходимые пакеты с помощью одной команды: yum install ntp httpd mysql-server php php-mysql php-mbstring php-mcrypt phpmyadmin 10 Установка Dovecot Dovecot есть в репозиториях CentOS, но, к сожалению, не поддерживает MySQL. Поэтому мы должны удалить существующий Dovecot и установить другой пакет Dovecot (от ATrpms), который поставляется с поддержкой MySQL: yum remove dovecot rpm -ivh http://dl.atrpms.net/all/dovecot-1.2.11-3_108.el5.x86_64.rpm rpm -ivh http://dl.atrpms.net/all/dovecot-sieve-0.1.15-4.el5.x86_64.rpm rm -fr /usr/lib/dovecot/ ln -s /usr/lib64/dovecot/ /usr/lib/dovecot chkconfig --levels 235 dovecot on /etc/init.d/dovecot start "Нормальный" пакет Postfix из репозитория CentOS не содержит MySQL, а пакет Postfix из репозитория CentOS Plus включает его в себя. Поэтому мы удалим Postfix ... yum remove postfix yum install postfix chkconfig --levels 235 mysqld on /etc/init.d/mysqld start chkconfig --levels 235 sendmail off chkconfig --levels 235 postfix on /etc/init.d/sendmail stop /etc/init.d/postfix start GetMail можно установить следующим образом: yum install getmail Установите пароль для root пользователя MySQL: mysql_secure_installation [root@server1 tmp]# mysql_secure_installation NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MySQL to secure it, we'll need the current password for the root user. If you've just installed MySQL, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none): OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MySQL root user without the proper authorisation. Set root password? [Y/n] <-- ENTER New password: <-- yourrootsqlpassword Re-enter new password: <-- yourrootsqlpassword Password updated successfully! Reloading privilege tables.. ... Success! By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] <-- ENTER ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] <-- ENTER ... Success! By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] <-- ENTER - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] <-- ENTER ... Success! Cleaning up... All done! If you've completed all of the above steps, your MySQL installation should now be secure. Thanks for using MySQL! [root@server1 tmp]# vi /etc/httpd/conf.d/phpmyadmin.conf PHP код:
vi /usr/share/phpmyadmin/config.inc.php PHP код:
chkconfig --levels 235 httpd on /etc/init.d/httpd start 14 Установка Amavisd-new, SpamAssassin и ClamAV Чтобы установить amavisd-new, spamassassin и clamav, выполните следующую команду: yum install amavisd-new spamassassin clamav clamd unzip bzip2 unrar perl-DBD-mysql vi /etc/sysconfig/amavisd PHP код:
sa-update chkconfig --levels 235 amavisd on chkconfig --levels 235 clamd on /usr/bin/freshclam /etc/init.d/amavisd start /etc/init.d/clamd start ... и создадим необходимые нам каталоги mkdir /var/run/amavisd /var/spool/amavisd /var/spool/amavisd/tmp /var/spool/amavisd/db chown amavis /var/run/amavisd /var/spool/amavisd /var/spool/amavisd/tmp /var/spool/amavisd/db ln -s /var/run/clamav/clamd.sock /var/spool/amavisd/clamd.sock ISPConfig 3 позволяет использовать mod_php, mod_fcgi/PHP5, cgi/PHP5 и suPHP для каждого сайта. mod_fcgid отсутствует в официальном репозитории CentOS, но есть пакет для CentOS 5.x в centos.karan.org. Подключим репозитории следующим образом: cd /etc/yum.repos.d/ wget http://centos.karan.org/kbsingh-CentOS-Extras.repo vi /etc/yum.repos.d/kbsingh-CentOS-Extras.repo PHP код:
yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-eaccelerator php-mbstring php-mcrypt php-mhash php-mssql php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel mod_fcgid php-cli httpd-devel vi /etc/php.ini PHP код:
cd /tmp wget http://suphp.org/download/suphp-0.7.1.tar.gz tar xvfz suphp-0.7.1.tar.gz cd suphp-0.7.1/ ./configure --prefix=/usr --sysconfdir=/etc --with-apr=/usr/bin/apr-1-config --with-apxs=/usr/sbin/apxs --with-apache-user=apache --with-setid-mode=owner --with-php=/usr/bin/php-cgi --with-logfile=/var/log/httpd/suphp_log --enable-SUPHP_USE_USERGROUP=yes make make install vi /etc/httpd/conf.d/suphp.conf PHP код:
vi /etc/suphp.conf PHP код:
/etc/init.d/httpd restart PureFTPd может быть установлена с помощью следующей команды: yum install pure-ftpd chkconfig --levels 235 pure-ftpd on /etc/init.d/pure-ftpd start Делаем так: yum install bind-chroot chmod 755 /var/named/ chmod 775 /var/named/chroot/ chmod 775 /var/named/chroot/var/ chmod 775 /var/named/chroot/var/named/ chmod 775 /var/named/chroot/var/run/ chmod 777 /var/named/chroot/var/run/named/ cd /var/named/chroot/var/named/ ln -s ../../ chroot cp /usr/share/doc/bind-9.3.6/sample/var/named/named.local /var/named/chroot/var/named/named.local cp /usr/share/doc/bind-9.3.6/sample/var/named/named.root /var/named/chroot/var/named/named.root touch /var/named/chroot/etc/named.conf.local vi /var/named/chroot/etc/named.conf PHP код:
chkconfig --levels 235 named on /etc/init.d/named start 18 Установка Vlogger и Webalizer Vlogger и Webalizer могут быть установлены следующим образом: yum install webalizer perl-DateTime-Format-HTTP perl-DateTime-Format-Builder cd /tmp wget http://n0rp.chemlab.org/vlogger/vlogger-1.3.tar.gz tar xvfz vlogger-1.3.tar.gz mv vlogger-1.3/vlogger /usr/sbin/ rm -rf vlogger* Jailkit необходим только если вы хотите запереть SSH пользователей в пределах одной директории. Она может быть установлена следующим образом (важно: Jailkit должен быть установлен до ISPConfig - он не может быть установлен позже!): cd /tmp wget http://olivier.sessink.nl/jailkit/jailkit-2.11.tar.gz tar xvfz jailkit-2.11.tar.gz cd jailkit-2.11 ./configure make make install cd .. rm -rf jailkit-2.11* Это необязательно, но рекомендуется, так как монитор ISPConfig пытается показать лог: yum install fail2ban chkconfig --levels 235 fail2ban on /etc/init.d/fail2ban start RkHunter можно установить следующим образом: yum install rkhunter Чтобы установить клиент веб-почты SquirrelMail, запустим... yum install squirrelmail /etc/init.d/httpd restart /usr/share/squirrelmail/config/conf.pl SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Main Menu -- 1. Organization Preferences 2. Server Settings 3. Folder Defaults 4. General Options 5. Themes 6. Address Books 7. Message of the Day (MOTD) 8. Plugins 9. Database 10. Languages D. Set pre-defined settings for specific IMAP servers C Turn color off S Save data Q Quit Command >> <-- D SquirrelMail Configuration : Read: config.php --------------------------------------------------------- While we have been building SquirrelMail, we have discovered some preferences that work better with some servers that don't work so well with others. If you select your IMAP server, this option will set some pre-defined settings for that server. Please note that you will still need to go through and make sure everything is correct. This does not change everything. There are only a few settings that this will change. Please select your IMAP server: bincimap = Binc IMAP server courier = Courier IMAP server cyrus = Cyrus IMAP server dovecot = Dovecot Secure IMAP server exchange = Microsoft Exchange IMAP server hmailserver = hMailServer macosx = Mac OS X Mailserver mercury32 = Mercury/32 uw = University of Washington's IMAP server quit = Do not change anything Command >> <-- dovecot SquirrelMail Configuration : Read: config.php --------------------------------------------------------- While we have been building SquirrelMail, we have discovered some preferences that work better with some servers that don't work so well with others. If you select your IMAP server, this option will set some pre-defined settings for that server. Please note that you will still need to go through and make sure everything is correct. This does not change everything. There are only a few settings that this will change. Please select your IMAP server: bincimap = Binc IMAP server courier = Courier IMAP server cyrus = Cyrus IMAP server dovecot = Dovecot Secure IMAP server exchange = Microsoft Exchange IMAP server hmailserver = hMailServer macosx = Mac OS X Mailserver mercury32 = Mercury/32 uw = University of Washington's IMAP server quit = Do not change anything Command >> dovecot imap_server_type = dovecot default_folder_prefix = <none> trash_folder = Trash sent_folder = Sent draft_folder = Drafts show_prefix_option = false default_sub_of_inbox = false show_contain_subfolders_option = false optional_delimiter = detect delete_folder = false Press any key to continue... <-- press a key SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Main Menu -- 1. Organization Preferences 2. Server Settings 3. Folder Defaults 4. General Options 5. Themes 6. Address Books 7. Message of the Day (MOTD) 8. Plugins 9. Database 10. Languages D. Set pre-defined settings for specific IMAP servers C Turn color off S Save data Q Quit Command >> <--S SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Main Menu -- 1. Organization Preferences 2. Server Settings 3. Folder Defaults 4. General Options 5. Themes 6. Address Books 7. Message of the Day (MOTD) 8. Plugins 9. Database 10. Languages D. Set pre-defined settings for specific IMAP servers C Turn color off S Save data Q Quit Command >> <--Q vi /etc/squirrelmail/config_local.php PHP код:
23 Установка ISPConfig 3 Чтобы установить последний релиз ISPConfig 3, сделайте следующее: cd /tmp wget http://downloads.sourceforge.net/ispconfig/ISPConfig-3.0.2.1.tar.gz?use_mirror= tar xvfz ISPConfig-3.0.2.1.tar.gz cd ispconfig3_install/install/ Следующим шагом является запуск php -q install.php [root@server1 install]# php -q install.php -------------------------------------------------------------------------------- _____ ___________ _____ __ _ |_ _/ ___| ___ \ / __ \ / _(_) | | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ | | `--. \ __/ | | / _ \| '_ \| _| |/ _` | _| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | \___/\____/\_| \____/\___/|_| |_|_| |_|\__, | __/ | |___/ -------------------------------------------------------------------------------- >> Initial configuration Operating System: Redhat or compatible, unknown version. Following will be a few questions for primary configuration so be careful. Default values are in [brackets] and can be accepted with <ENTER>. Tap in "quit" (without the quotes) to stop the installer. Select language (en,de) [en]: <-- ENTER Installation mode (standard,expert) [standard]: <-- ENTER Full qualified hostname (FQDN) of the server, eg server1.domain.tld [server1.example.com]: <-- ENTER MySQL server hostname [localhost]: <-- ENTER MySQL root username [root]: <-- ENTER MySQL root password []: <-- yourrootsqlpassword MySQL database to create [dbispconfig]: <-- ENTER MySQL charset [utf8]: <-- ENTER Generating a 2048 bit RSA private key ......+++ .................+++ writing new private key to 'smtpd.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [GB]: <-- ENTER State or Province Name (full name) [Berkshire]: <-- ENTER Locality Name (eg, city) [Newbury]: <-- ENTER Organization Name (eg, company) [My Company Ltd]: <-- ENTER Organizational Unit Name (eg, section) []: <-- ENTER Common Name (eg, your name or your server's hostname) []: <-- ENTER Email Address []: <-- ENTER Configuring Jailkit Configuring SASL Configuring PAM Configuring Dovecot Configuring Spamassassin Configuring Amavisd Configuring Getmail Configuring Pureftpd Configuring BIND Configuring Apache Configuring vlogger Configuring Apps vhost Configuring Firewall Installing ISPConfig ISPConfig Port [8080]: <-- ENTER Configuring DBServer Installing Crontab no crontab for root no crontab for getmail Restarting services ... Stopping MySQL: [ OK ] Starting MySQL: [ OK ] Shutting down postfix: [ OK ] Starting postfix: [ OK ] Stopping saslauthd: [FAILED] Starting saslauthd: [ OK ] Shutting down Mail Virus Scanner (amavisd): [FAILED] Starting Mail Virus Scanner (amavisd): [ OK ] Stopping Dovecot Imap: [ OK ] If you have trouble with authentication failures, enable auth_debug setting. See http://wiki.dovecot.org/WhyDoesItNotWork This message goes away after the first successful login. Starting Dovecot Imap: [ OK ] Stopping httpd: [ OK ] [Tue May 25 18:15:57 2010] [warn] NameVirtualHost *:80 has no VirtualHosts Starting httpd: [ OK ] Stopping pure-ftpd: [ OK ] Starting pure-ftpd: [ OK ] Installation completed. [root@server1 install]# После этого Вы можете получить доступ к ISPConfig 3 через http://server1.example.com:8080/ или http://192.168.0.100:8080/. Войти с именем пользователя admin и паролем admin (необходимо изменить пароль по умолчанию после первого входа): И теперь система готова к использованию. Ссылки:
|
Ответить |
Опции темы | |
Опции просмотра | |
|
|