Установка и настройка веб-сервера Apache

2 Февраля 2018

Виртуальные серверы, как правило, сдаются в аренду только с предустановленной операционной системой, выбранной арендатором при создании веб-сервера. Все остальное программное обеспечение устанавливается и настраивается самостоятельно в процессе эксплуатации веб-сервера. В данной статье будет показано, как установить и настроить веб-сервер на виртуальном сервере от Xelent.ru.

Установка PHP и веб-сервера Apache

Рассматриваемый веб-сервер был заказан с операционной системой Ubuntu 16.04. Весь процесс настройки будет соответствовать этой операционной системе. Мы установим и настроим веб-сервер Apache, интерпретатор PHP, фреймворк Symfony, а также обеспечим поддержку сервера баз данных MySQL. Другими словами, будет создана и настроена типичная конфигурация PHP-разработчика, предназначенная для разработки и тестирования PHP-приложений.

Итак, подключитесь к своему веб-серверу и первым делом обновите репозитарии apt (здесь и далее, поскольку мы работаем от root, команда sudo не требуется):

apt-get   update

подключение к виртуальному серверу по SSH

Рис. 1. Успешное подключение по SSH к виртуальному серверу

Обновление репозитариев установка apache

Рис. 2. Обновление репозитариев

Далее установим PHP 7.0:

apt-get   install   php7.0-cli

настройка PHP установка apache

Рис. 3. Установка и настройка PHP

После чего нужно ввести команду php -v, выводящую версию PHP и убедиться, что мы-таки установили седьмую версию.

выбор версии php установка apache

Рис. 4. Версия PHP

Для упрощения навигации по файловой системе и редактирования файлов конфигурации установим файловый менеджер mc:

apt-get install mc

Далее нужно отредактировать и настроить файл /etc/php/7.0/cli/php.ini. Symfony требует, чтобы была включена опция date.timezone. Найдите ее в файле php.ini, раскомментируйте и поставьте актуальное значение, например, Europe/Moscow (см. рис. 5).

Редактирование php установка apache

Рис. 5. Редактирование php.ini

После установки веб-сервера Apache нужно будет проделать то же самое, но с файлом /etc/php/7.0/apache2/php.ini, то есть с конфигурацией PHP при работе через сервер Apache.

Далее нужно настроить Apache:

apt-get install apache2 libapache2-mod-php

В принципе, в Symfony есть свой сервер и Apache для разворачивания приложения не нужен, но он вам понадобится на реально-работающем интернет-проекте, когда ваше приложение будет протестировано и готово к запуску (либо же для тестирования приложения в условиях, приближенных к production).

Если облака для вас
не просто теория
Широкий спектр услуг
по выделенным северам
и мультиклауд-решениям
Конфигурация VPS и бесплатный тест уже через 2 минуты
Организация вашей IT-инфраструктуры на основе мультиклауд-решения

Установка Symfony

Самый простой способ установки и настройки Symfony - использование Symfony Installer. Сначала нужно получить сам инсталлятор. В Linux для этого нужно ввести команды:

curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony

chmod a+x /usr/local/bin/symfony

Создадим новый проект:

cd /var/www

symfony new myproject

создание проекта установка apache

Рис. 6. Процесс создания проекта

создание проекта установка apache

Рис. 7. Проект создан

Здесь желательно команды выполнять не от root'а, а от обычного пользователя. После создания проекта нужно проверить, соответствует ли наша система требованиям Symfony. 

Поэтому введите команды:

$ cd myproject

$ php bin/symfony_requirements

системные требования установка apache

Рис. 8. Проверка системных требований

Как показано на рис. 8, на данный момент виртуальный сервер не соответствует требованиям Symfony. Нужно поставить расширения php-xml (DOM), php-intl (интернационализация), а также драйверы для PDO (драйверы БД).

Чтобы установить все необходимые для работы Symfony расширения, введите команду:

apt-get install php-xml php-intl php-mysql

Обратите внимание, что пакет php-mysql сейчас - это не старое расширение mysql, которое сейчас уже не поддерживается. Данный пакет содержит драйвер PDO MySQL, то есть обеспечивает поддержку MySQL в современных версиях PHP. Настройку самого сервера баз данных MySQL рассматривать не будем, поскольку он может быть удаленным. Если вам необходим локальный MySQL, тогда можно воспользоваться  статьей из раздела «помощь» на сайте ubuntu и настроить его самостоятельно.

Снова запустите проверку системы. На этот раз увидите заветное OK, хотя Symfony все еще немного ругается на пакет php-intl - ему не нравится его версия.

установка apache

Рис. 9. Все в порядке

Итак, у нас инсталлирован Symfony и создан новый проект. Для запуска приложения введите команду (нужно находиться в каталоге проекта):

php bin/console server:run

Вывод команды будет примерно такой:

Server running on http://localhost:8000

Quit the server with CONTROL-C.

запуск сервера apache

Рис. 10. Сервер запущен и работает

Что ж, осталось открыть браузер и ввести адрес http://localhost:8000 - вместо полноценного браузера у меня будет lynx, который также нужно ставить отдельно. Если вы все сделали правильно, то увидите страницу приветствия (рис. 11).

развертывание сервера apache

Рис. 11. Приложение развернуто!

Настройка Apache

При наличии доменного имени можно "прикрутить" наше приложение к конфигурации Apache. Для этого нужно в каталог /etc/apache2/sites-available/ добавить файл конфигурации виртуального хоста для нашего Symfony-приложения. Его настройка и конфигурация будет выглядеть примерно так:

 

<VirtualHost *:80>

    ServerName test.example.com

    DocumentRoot /var/www/myproject/web

 

    <Directory /var/www/myproject/web>

        AllowOverride All

        Order Allow,Deny

        Allow from All

        <IfModule mod_rewrite.c>

            Options -MultiViews

            RewriteEngine On

            RewriteCond %{REQUEST_FILENAME} !-f

            RewriteRule ^(.*)$ app.php [QSA,L]

        </IfModule>

    </Directory>

 

    ErrorLog /var/log/apache2/myproject_error.log

    CustomLog /var/log/apache2/myproject_access.log combined

</VirtualHost>

 

После этого не забудьте включить веб-сайт и перезапустить Apache (перечитать файл конфигурации):

$ sudo a2ensite test.example.com

$ sudo service apache2 reload

Собственно, на этом все. Как видите, на разворачивание серьезного фреймворка на платформе xelent.cloud было потрачено совсем немного времени.

Получить консультацию специалиста
Персональный ассистент
Cloud.Xelent