Linux: web-сервер на CentOS 6

Выбор шестой версии центОси связан с отсутствием "оченьУмного" фаервола из семерки, который всё равно лишь оболочка iptables. Другими словами "шестерка"(в образе минимал) - идеальная платформа для любого веб-сервера. Процесс установки и обязательного обновления операционной системы я пропущу - этих мануалов много =)

Для дальнейшей успешной работы веба откроем(пока) 2 основных порта - 80(http) и 443(https):

iptables -I INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT; iptables -I INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT; service iptables save

Теперь ставим Apache и модуль апача для работы с защищенным протоколом:

yum install httpd mod_ssl -y

Проверим работу http-протокола:

service httpd start

Предупреждение "httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName" исправляется просто и лучше это сделать сразу.
Откройте в браузере адрес вашего индейца и убедитесь, что страница "Apache HTTP Server Test Page powered by CentOS" открылась.
Не люблю стоПятьсот строк комментариев в часто используемых конфигурационных файлах. Поэтому сразу после создания копии конфига индейца:

cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.old

Удаляю не нужные строки. Важно! Всегда перед внесением любых изменений конфиг-файлов делайте их бекап!

-=Здесь будут важные моменты конфига. Внести!!!!!!=-

Перезагрузим службу и укажем автоматический запуск с системой:

service httpd restart; chkconfig httpd on
Остались ssl, бекэнд для http(s) запросов, СУБД, phpMyAdmin и php.

Корректная работа таких популярных CMS-систем, как Joomla, WordPress, Bitrix возможна лишь на системах с предустановленным php. А, да, еще же и phpMyAdmin =)

yum install php php-common php-gd php-xml php-mbstring php-mysql -y

Проверим корректность работы php после установки:

service httpd restart; echo '<!--?php phpinfo(); ?-->' > /var/www/html/phpinfo.php

Переходим по адресу http://айпи.индейца/phpinfo.php Работает?

Остались ssl, nginx, phpMyAdmin и MySQL.

О предназначении СУБД на веб-сервере я рассказывать не стану. Да и о причинах выбора именно MySQL тоже.

yum install mysql mysql-server -y; chkconfig mysqld on; service mysqld start && mysql_secure_installation

Маша установилась, автозагрузку с системой активировали, приступим к первичной настройке сервера.
Система вопрос/ответ, погнали:

Бравая тройка ssl, nginx и phpMyAdmin впереди!

Для установки phpMyAdmin нам потребуется подключенный репозиторий EPEL. Если этого еще не сделали - краткая инструкция находится здесь. Устанавливаем phpMyAdmin, создаем резервный файлик конфигурации и открываем конфиг на редактирование:

yum install phpMyAdmin -y; cp /etc/httpd/conf.d/phpMyAdmin.conf /etc/httpd/conf.d/phpMyAdmin.conf.old; vi /etc/httpd/conf.d/phpMyAdmin.conf

Важно! Всегда изменяйте адреса-синонимы на что-то не логичное.
Для phpMyAdmin не надо использовать /phpmyadmin или /pma. Возьмите к примеру такое имя: Alias /hJn2f /usr/share/phpMyAdmin, а полный адрес запишите себе в KeePass, чтобы не забыть. Никогда не комментируйте строки "Deny from All", забыть вернуться сюда и исправить слишком просто. Добавьте в качестве разрешенного айпишника внутренний/внешний(надеюсь он статический) айпи(в зависимости от места пребывания вашего веб-сервера) и смело выходите, сохранив файл. Изменение разрешения и владельца на папке с phpMyadmin с последующим перезапуском httpd:

chmod 744 -R /usr/share/phpMyAdmin; chown -R apache:apache /usr/share/phpMyAdmin; service httpd restart

ssl и nginx нас ждут! ...позже

Posted in Linux on May 03, 2016.