Имеем только что купленный 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, которую мы создали.
Благодарю за обзор. Материал подан доступно и понятно.
Thank you for sharing your thoughts. I truly appreciate your efforts and I will be waiting for
your further write ups thank you once again.
It’s genuinely very complicated in this full
of activity life to listen news on Television, therefore I just use the web for that
reason, and obtain the most up-to-date news.
This website was… how do I say it? Relevant!!
Finally I have found something that helped me. Thanks!
Thank you a bunch for sharing this with all people you actually understand what you are speaking about!
Bookmarked. Kindly also discuss with my website
=). We can have a link change agreement among us
Write more, thats all I have to say. Literally, it seems as though you relied on the
video to make your point. You definitely know what youre talking about, why waste your intelligence on just posting videos to your weblog when you could be giving us something informative to read?