Имеем только что купленный VPS сервер на CentOS 6. Необходимо настроить его для работы с сайтами. В данной статье рассмотрим как установить и настроить полноценный веб сервер в связке Apache, PHP, MySQL.
-
Обновляем систему
yum update
-
Открываем порты
iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT iptables-save | tee /etc/sysconfig/iptables service iptables restart iptables -L -n
-
Устанавливаем Apache, SSL
yum -y install httpd mod_ssl
Редактируем конфиг апача, в ServerName пишем ip адрес или имя сервера.
nano /etc/httpd/conf/httpd.conf
Строчку Include conf.d/*.conf переносим в самый конец файла.
А перед ней добавляем главный виртуалхост:<VirtualHost *:80> ServerName 127.0.0.1 ServerAdmin webmaster@server.ru DocumentRoot /var/www/html </VirtualHost>
Прописываем Apache в автозапуск
chkconfig httpd on
Запускаем Apache
service httpd start
Создаем тестовую страницу
echo '<h1>It Works!</h1>' > /var/www/html/index.html
Проверяем результат, открыв в браузере с IP-адрес сервера:
http://IP-адрес_сервера/
Если надпись It Works! появилась, продолжаем дальше -
Устанавливаем 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/inf.php
Смотрим по адресу http://IP-адрес_сервера/inf.php
Если информация отобразилась, продолжаем дальше. -
Устанавливаем MySQL
yum -y install mysql mysql-server
Добавляем MySQL в автозапуск
chkconfig mysqld on
Запускаем MySQL
service mysqld start
Устанавливаем root пароль MySQL
mysqladmin -u root password 'my-password'
Где my-password — ваш новый root пароль для MySQL.
Подключаем и проверяем
Устанавливаем модуль php для работы с БД
yum -y install php-mysql
Проверяем MySQL
Создаём и редактируем проверочный фаил mysqltest.phpnano /var/www/html/mysqltest.php
Копируем в него следующий код:
<?php ini_set('display_errors', 1); //включаем вывод ошибок на страницу $dblocation = "localhost"; //хост бд (не меняем) $dbname = "mysql"; //база данных, которая создается по умолчанию при установке $dbuser = "root"; //имя пользователя БД $dbpasswd = "ваш пароль"; //Ваш root пароль от БД $dbcnx = @mysql_connect($dblocation, $dbuser, $dbpasswd); if (!$dbcnx){ echo "<p>К сожалению, не доступен сервер mySQL</p>"; exit(); } if (!@mysql_select_db($dbname,$dbcnx)){ echo "<p>К сожалению, не доступна база данных</p>"; exit(); } $ver = mysql_query("SELECT VERSION()"); if(!$ver){ echo "<p>Ошибка в запросе</p>"; exit(); } echo mysql_result($ver, 0); ?>
Сохраняем. Проверяем:
http://IP-адрес_сервера/mysqltest.php (после успешной проверки скрипт желательно удалить)
Если вывелась версия MySQL сервера, то продолжаем. -
Настраиваем хосты в Apache
После того, как мы убедились, что все основные веб-службы у нас хорошо работают, можно переходить к созданию директорий сайтов.
Структура у нас будет такая:
/home/ — директория с сайтами
/home/site1.ru/ — директория отдельного сайта
/home/site1.ru/www/ — файлы этого сайта
/home/site1.ru/logs/ — логи этого сайта
/home/site1.ru/tmp/ — временные файлы этого сайтаИ так, создаем в /home/ директории сайтов и в каждом из них папки www, logs, tmp.
mkdir -p /home/site1.ru mkdir -p /home/site1.ru/www mkdir -p /home/site1.ru/logs mkdir -p /home/site1.ru/tmp
После этого прописываем наши хосты в конфиг апача:
/etc/httpd/conf.d/ — В эту директорию будем создавать отдельный конфиг фаил для каждого сайта (так удобнее).nano /etc/httpd/conf.d/site1.conf
Файл site1.conf:
<VirtualHost *:80> ServerName site1.ru ServerAlias www.site1.ru DocumentRoot /home/site1.ru/www <Directory /home/site1.ru/www> Options FollowSymLinks AllowOverride All Require all granted </Directory> #лог ошибок ErrorLog /home/site1.ru/logs/error.log # #лог обращений выключен по умолчанию, для включения уберите # #CustomLog /home/site1.ru/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/site1.ru php_admin_value max_execution_time 60 php_admin_value upload_max_filesize 50M php_admin_value upload_tmp_dir /home/site1.ru/tmp php_admin_value session.save_path /home/site1.ru/tmp </VirtualHost>
Такой-же файл надо создать для каждого сайта из директории /home/
После этого, перезапускаем апачservice httpd restart
Если апач вдруг не запустился, лог ошибок всегда можно посмотреть в /var/log/httpd/
Проверяем:
Для проверки совершенно не обязательно менять NS записи домена, достаточно отредактировать файл hosts на компьютере, с которого вы производите настройку. В windows он обычно лежит в C:\Windows\System32\drivers\etc\, в nix системах в /etc/
Добавляем туда строчку:
192.168.1.5 site1.ru
Где 192.168.1.5 — ip адрес вашего сервера.
Далее, создаем в /home/site1.ru/www/ файл index.html с каким нибудь текстом.echo '<h1>It Works!</h1>' > /home/site1.ru/www/index.html
Октрываем в браузере http://site1.ru/
Если видим там его содержимое, то продолжаем.
Источник материала: http://i-leon.ru/ustanovka-i-nastrojka-apache-php-mysql-na-centos-pma-i-ftp/
-
Установка PhpMyAdmin (PMA)
Ставить будем вручную. Для этого нам потребуется менеджер загрузок wget.
Идем на http://www.phpmyadmin.net/downloads и копируем ссылку на самую последнюю мультиязычную версию PhpMyAdmin со сжатием .zip (На данный момент это — https://files.phpmyadmin.net/phpMyAdmin/4.4.15.7/phpMyAdmin-4.4.15.7-all-languages.zip).
Идем в /var/www/html/:cd /var/www/html/
Скачиваем PMA:
wget https://files.phpmyadmin.net/phpMyAdmin/4.4.15.7/phpMyAdmin-4.4.15.7-all-languages.zip
В директории появится архив phpMyAdmin-4.6.3-all-languages.zip, распаковываем его:
unzip phpMyAdmin-4.4.15.7-all-languages.zip
Переименуем директорию phpMyAdmin-4.4.15.7-all-languages в pma:
mv phpMyAdmin-4.4.15.7-all-languages pma
Удалим архив phpMyAdmin-4.4.15.7-all-languages.zip т.к. он нам больше не нужен:
rm phpMyAdmin-4.4.15.7-all-languages.zip
PhpMyAdmin будет доступен по адресу — https://IP-адрес_сервера/pma/
-
Настройка PhpMyAdmin
1) Идем в корневую в директорию нашего PMA и создаем там папку config с правами на запись (chmod 777)
cd /var/www/html/pma mkdir -p /config chmod 777 /config
2)Заходим в скрипт настройки нашего PMA https://192.168.1.50/pma/setup/. Жмем на кнопку новый сервер. На первой вкладке ставим галку Использовать SSL. На вкладке Идентификация выбираем тип http.
Хранение конфигурации. Тут везде жмем на карандашик.
В новой вкладке, не закрывая настройки конфигурации, заходим в наш PMA под пользователем root https://192.168.1.50/pma/. Идем в Базы данных. Создаем базу phpmyadmin. Она появится в списке. Жмем Привилегии => Добавить нового пользователя.
Имя — pma.
Хост — локальный.
Пароль — Генерировать(или укажите свой).
Копируем это имя и пароль в нашу вкладку с настройками конфигурации. Опять возвращаемся на вкладку с настройками пользователя, жмем кнопку ок. Далее на этой странице в левой колонке выбираем базу phpmyadmin а в верхнем меню на вкладку SQL. Вставляем туда текст из файла
/var/www/html/sql/create_tables.sql, который находится в папке с PMA, жмем ок.
[su_spoiler title=»В базе данных phpmyadmin создадутся таблицы»]pma__bookmark
pma__central_columns
pma__column_info
pma__favorite
pma__history
pma__navigationhiding
pma__pdf_pages
pma__recent
pma__relation
pma__savedsearches
pma__table_coords
pma__table_info
pma__table_uiprefs
pma__tracking
pma__userconfig
pma__usergroups
pma__users[/su_spoiler]После этого, эту вкладку можно закрыть. Возвращаемся на вкладку с настройками конфигурации. Жмем сохранить.
Оказываемся снова на главной странице настроек, где появился наш сервер. Выбираем язык по умолчанию, наш сервер (localhost [1]). Далее нажимаем кнопки Сохранить и Скачать. Сохраняем наш файл конфигурации к себе на компьютер, а затем закачиваем его в папку с PhpMyAdmin.
3) Удаляем, созданную нами, папку config.
4) Далее заходим в phpmyadmin уже с новой схемой авторизации. которую мы задали с помощью нашего конфигурационного файла и идем в Дополнительные настройки. Там уже на свой вкус настраиваем вид отображения. Эти настройки будут храниться в таблицах базы phpmyadmin, которую мы создали.