Установка и настройка Apache, PHP, MySQL на CentOS 6

install apache php mysql phpmyadmin centos
Имеем только что купленный VPS сервер на CentOS 6. Необходимо настроить его для работы с сайтами. В данной статье  рассмотрим как установить и настроить полноценный веб сервер в связке Apache, PHP, MySQL.

    1. Обновляем систему

      yum update
    2.  Открываем порты

      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
      
    3.  Устанавливаем 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! появилась, продолжаем дальше

    4. Устанавливаем 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
      Если информация отобразилась, продолжаем дальше.

    5. Устанавливаем 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.php

      nano /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 сервера, то продолжаем.

    6. Настраиваем хосты в 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/




 

  1. Установка 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/

  2. Настройка 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, которую мы создали.

2 thoughts on “Установка и настройка Apache, PHP, MySQL на CentOS 6

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *