Опубликовано : admin в (Настройка сервера)
Вебсервер на CentOS 5.2
Заметочка как сконфигурировать полноценный вебсервер на компьютер с установленной ОС CentOS 5.2. Будем считать что ОС у нас уже установлена и мы имеем шелл доступ к ней. После установки на сервере будут установлены:
- Web Server: Apache 2.2 with PHP 5.1.6
- Database Server: MySQL 5.0
- DNS Server: BIND9 (chrooted)
- FTP Server: Proftpd
- Webmin
- Phpmyadmin
Итак поехали
Будем считать что наш сервер имеет ип 192.168.0.100
Первое, редактируем файл /etc/hosts и ставим chmod 0777 на папку /tmp
т.к. он зачастую оказывается пустым после установки, проверяем и устраняем…
chmod 0777 /tmp
vi /etc/hosts
Добавляем в него следующее
# 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
Если там уже есть подобные строчки, то ничего не трогаем, выходим
[:] q! [Enter]
Далее на время установки отключаем файрволл
system-config-securitylevel
Ставим галочку в положение Disable и перезагружаемся
reboot
Импортируем ключики для rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
И обновляем систему
yum update
Теперь будем помаленьку ставить нужный софт
yum -y install fetchmail wget bzip2 unzip zip nmap openssl lynx fileutils ncftp gcc gcc-c++
Чтобы не париться можно поставить ВСЕ доступные библиотеки
yum -y install *lib lib*
Их будет много, ждём…
После завержения ставим BIND
yum install bind*
И запускаем его
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.4/sample/var/named/named.local /var/named/chroot/var/named/named.local cp /usr/share/doc/bind-9.3.4/sample/var/named/named.root /var/named/chroot/var/named/named.root touch /var/named/chroot/etc/named.conf chkconfig --levels 235 named on /etc/init.d/named start
Переходим к MySQL
yum install mysql*
Помещаем в автостарт и запускаем
chkconfig --levels 235 mysqld on /etc/init.d/mysqld start
Для того чтобы ваша база была доступна только вашему серверу, редактируем файл
vi /etc/my.cnf
Закомментируем там одну строчку
[...] #skip-networking [...]
и выйдем
[:] q! [Enter]
Установим рут пароль
mysqladmin -u root password yourrootsqlpassword mysqladmin -h server1.example.com -u root password yourrootsqlpassword
И перезапустим дабы убедиться что всё прошло нормально
/etc/init.d/mysqld restart
Установим вебслужбы
yum -y install php* curl* perl* ruby* ImageMagick
Поместим в автозагрузку Apache
chkconfig --levels 235 httpd on
Установим Proftpd
yum remove vsftpd yum -y install proftpd
Поместим в автозагрузку
chkconfig --levels 235 proftpd on
Запустим, чтобы убедится что всё работает
/etc/init.d/proftpd start
Установим webmin
wget http://switch.dl.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin-2.11.9.2-all-languages.tar.gz
gunzip phpMyAdmin-2.11.9.2-all-languages.tar.gz
tar -xf phpMyAdmin-2.11.9.2-all-languages.tar
ln -s /home/phpMyAdmin-2.11.9.2-all-languages /home/phpMyAdmin
Включим http авторизацию
vi phpMyadmin/config.inc.php <?php $cfg['blowfish_secret'] = 'your_secret_string'; $i=0; $i++; $cfg['Servers'][$i]['auth_type'] = 'http'; ?>
Для того чтобы PhpMyAdmin был виден из вне, добавим в конфиг вебсервера(/etc/httpd/conf/httpd.conf) строку:
Alias /phpMyAdmin/ "/home/phpMyAdmin/"
Готово!
