Установка и настройка Apache, PHP, MySQL в CentOS
Для начала необходимо обновить саму систему, чтобы обновились пакеты для установки:
# yum update
Если нужно установить текстовый редактор, то установите. Так как у меня система «свежая» — я установлю хороший текстовый редактор — mcedit, который встроен в Midnight Commander:
# yum -y install mc
Для безопасности нужно открыть только те порты, которые используете, а остальные закрыть. Для этого нужно воспользоваться утиллитой setup (при необходимости инсталим ее : #yum install setuptool). Запустим утилиту и начнем работать с ней:
# setup
В окне что появилось, очень легко и просто понять что делать, там можно или отключить iptables или открыть необходимые вам порты. Я советую выбрать второй вариант: выбрать FTP, SSH, WEB и другие соединения которые необходимы. Есть вариант что не поможет, тогда вырубите его просто:
# service iptables stop && chkconfig iptables off
Начнем установку apache, я установлю с SSL:
# yum -y install httpd mod_ssl
Апач установился, нужно подправить его конфиг, открыв в текстовом редакторе :
# ee /etc/httpd/conf/httpd.conf
И в поле ServerName прописываем ваш IP или имя сервера, у меня оно выглядит так:
ServerName 192.168.77.113
Чтобы Apache стартовал автоматически пропишем в автозапуск следующее:
# chkconfig httpd on
Стартуем Apache:
# service httpd start
Создадим пробную страницу, можно не выполнять это:
# echo '<h1>It's Work</h1>' > /var/www/html/index.html
Проверить можно перейдя по адресу который вы прописали в ServerName:
http://192.168.77.113/
И мы увидим строчку «It’s Work»
Устанавливаем PHP и доп. компоненты
# yum -y install php php-common php-gd php-mysql php-xml php-mbstring
Ребутнем сам Apache:
# service httpd restart
Проверим работоспособность PHP: Создаем файл php скриптом который будет выводить инфу о php:
# echo '<?php phpinfo(); ?>' > /var/www/html/info.php
Смотрим перейдя по своему адресу, у меня это: http://192.168.77.113/info.php
Устанавка MySQL.
# yum -y install mysql mysql-server
Пропишем MySQL в автозапуск:
# chkconfig mysqld on
Стартуем MySQL:
# service mysqld start
Установим пароль MySQL для root :
# mysqladmin -u root password 'your-pass'
Где your-pass — root пароль для MySQL. ВСЕ УСТАНОВИЛИ! Но для удобства добавим пару последних штрихов:
Структура будет выглядеть следующим образом:
/home/captain/ — директория с вашими сайтами
/home/captain/test.com/ — папка для сайта test.com
/home/captain/test.com/www/ — файлы сайта test.com
/home/captain/test.com/logs/ — логи сайта test.com
/home/captain/test.com/tmp/ — папка с временными файлами сайта test.com
И так, создаем в /home/captain/ в директории каждого из сайтов создаем папки www, logs, tmp. После этого прописываем их в конфиг апача: /etc/httpd/conf.d/ — В эту директорию будем создавать отдельный конфиг файл для каждого сайта (так удобнее).
Файл test.com.conf:
<VirtualHost *:80> ServerName test.com ServerAlias www.test.com DocumentRoot /home/captain/test.com/www <Directory /home/captain/test.com/www> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> #лог ошибок ErrorLog /home/captain/test.com/logs/error.log # #лог обращений выключен по умолчанию, для включения уберите # Установка и настройка Apache, PHP, MySQL в CentOS # #CustomLog /home/captain/test.com/logs/access.log common # # php safety options # php_admin_flag register_globals 1 php_admin_value date.timezone 'Europe/Kiev' php_admin_value open_basedir /home/captain/test.com php_admin_value max_execution_time 60 php_admin_value upload_max_filesize 50M php_admin_value upload_tmp_dir /home/captain/test.com/tmp php_admin_value session.save_path /home/captain/test.com/tmp </VirtualHost>
И так для каждого сайта что находится в директории /home/captain. Затем рестартанем апачик:
# service httpd restart
Установка PhpMyAdmin (PMA)
Настройка phpMyAdmin можно посмотреть перейдя по ссылке
Установка и настройка Apache, PHP, MySQL в CentOS закончена, советую посмотреть еще материал на моем сайте.