Настройка локальной среды разработки LAMP/LEMP. Часть 1.
Настройка локальной среды разработки LAMP/LEMP. Часть 1.
Многие начинающие PHP-разработчики при разработке веб-приложений используют локальною среду своей операционной системы. Однако такой подход не является хорошей практикой. Нужно создать локальную среду разработки на виртуальной машине, которая будет изолирована от локального компьютера и ее настройки будут приближены к реальному серверу.
Виртуальная машина – это программный эмулятор операционной системы, которая ведет себя так же как отдельный компьютер. Например, в macOS можно создать виртуальную машину, работающую под Ubuntu или CentOS.
VirtualBox
Существуют масса программного обеспечения для создания и управления виртуальными машинами. Среди них есть коммерческие продукты (например, VMware Fusion или Parallels) и продукты с открытым исходным кодом (например, VirtualBox). Следует отметить, что VirtualBox – весьма солидный продукт. Его работа соответствует его рекламе, и он бесплатен. VirtualBox, может быть, не так красиво выглядит, как и его коммерческие альтернативы, но он хорошо справляется со своей работой.
Создание виртуальной машины и установка операционной системы Ubuntu Server
Скачайте VirtualBox для своей операционной ситемы с официаного сайта та установите его на свой локальный компьютер.
Я рекомендую использовать операционную систему Ubuntu Server 16.04 LTS. Аббревиатура LTS (long time support) означает, что данная версия ОС будет поддерживаться в течение длительного времени (исправления багов, разнообразные обновления). Сама по себе Ubuntu достаточно удобная и может быть использована как для работы на серверах (server версия) так и для пользователей (desktop версия).
Скачиваем соответствующий *.iso образ с официальной страницы загрузок.
Как понять, какая версия Вам нужна? Это зависит от типа процессора. Если процессор 32-х разрядный, тогда версия i-386, если 64-х разрядный – amd64. Пусть Вас не смущают эти названия, к производителю никакого отношения они не имеют.
В моем случае для 64-x разрядного процессора Intel Core i7 нужна версия ubuntu-16.04.3-server-amd64.iso.
Запускаем VirtualBox и создаем новую виртуальную машину. Укажите имя виртуальной машины, например Ubuntu, тип Linux, версия — Ubuntu (64 bit) или Ubuntu (32 bit). Выделите для виртуальной машины необходимое количество оперативной памяти, но не более половины объема памяти хост компьютера.
В следующем окне указываем путь, где будет хранится образ виртуальной машины, размер дискового пространства, тип виртуального жесткого диска, например VDI (VirtualBox Disk Image) и формат хранения жесткого диска.
Виртуальная машина создана. Теперь нужно установить Ubuntu. Так как мы скачали образ iso, нам нужно его подключить. Для этого заходим в Настройки только что созданой витруальной машины, выбираем раздел Носители и монтируем образ ОС.
После чего запускаем созданную виртуальную машину и устанавливаем Ubuntu Server 16.04 LTS.
- В первом окне Language выберете язык, я советую выбрать English.
- Начало установки, выберите Install Ubuntu Server.
- В окне Select your location выберите свое местонахождение (регион), например, Ukraine (other > Europe > Ukraine).
- В окне Configure the network придумайте имя для компьютера.
- В разделе Set up users and password нужно сначала ввести полное название пользователя, затем имя и пароль.
- В окне Partition disks выберите метод разметки «Guided - use entire disk», далее выберите сам диск и подтвердите действие.
- В окне Configure the package manager нужно указать HTTP-прокси (если прокси нет - не заполняйте).
- В окне Configuring tasksel выберите «No automatic updates».
- В окне Software selection выберите «standard system utilities».
- В окне Install the GRUB boot loader on a hard disk подтвердите действие нажатием на кнопку «Yes».
- В последнем окне Finish the installation жмем на Continue. После перезагрузки откроется окно с терминалом.
LAMP & LEMP
Стандартный набор веб-разработчика часто описывается аббревиатурой LAMP или LEMP. LAMP назван по первым буквам входящих в его состав компонентов (Linux-Apache-MySQL-PHP), который включает в себя Linux, Apache, MySQL и PHP. В LEMP вместо сервера Apache используется сервер Engine X (nginx). Для установки этих окружений используются готовые наборы, но мы установим все нужные програмы самостоятельно.
Установка и настройка окружения LAMP
Итак, запустите виртуальную машину. Для входа в систему используйте логин и пароль, который вы указали при установке Ubuntu.
Командой sudo su
перейдем в режим root.
Всё программное обеспечение, которое мы будем использовать, будет установлено из стандартных репозиториев Ubuntu. Это означает, что мы можем использовать пакетный менеджер apt
для установки.
Следующее, что необходимо сделать, это обновить программное обеспечение операционной системы с помощью следующих команд.
$ apt-get update;
$ apt-get upgrade;
В ответ на эти команды будет выведено много информации о загрузке и установке обновлений программного обеспечения операционной системы. Это очень важный первый шаг, потому что он гарантирует установку последних обновлений и исправлений программного обеспечения операционной системы, связанных с безопасностью.
Шаг 1 - Установка SSH server
Давайте установим SSH server и будем работать по ssh-соединении с гостевой машиной. Для установки SSH server выполните следующую команду:
$ apt-get install openssh-server
Лучший способ войти в гостевую виртуальную виртуальную машину VirtualBox - это проброс портов.
По умолчанию у вас должен быть один интерфейс, который использует NAT. Затем перейдите к настройкам сети и нажмите кнопку «Переброс портов». Добавте новое правило:
Имя ssh, протокол TCP, порт гостя 22, порт хоста 3022 - для SSH
Имя site, протокол TCP, порт гостя 80, порт хоста 8081 - для нашего сайта
Запустите терминал на своем локальном компьютере и выполните команду (вместо mfiyalka
напишите свой username, который вы указали при установке Ubuntu):
$ ssh -p 3022 mfiyalka@127.0.0.1
Шаг 2 - Установка веб-сервера Apache
Apache - полнофункциональный, расширяемый веб-сервер с открытым кодом. Основными достоинствами Apache считаются надёжность и гибкость конфигурации.
Давайте установим его:
$ apt-get install apache2
Для проверки версии Apache используйте комманду:
$ apache2 -v
$ service apache2 start # запуск сервера
$ service apache2 reload # перезагрузка
$ service apache2 stop # остановка
Шаг 3 - Установка MySQL для хранения данных сайта
Теперь, когда у нас есть веб-сервер, установим систему управления базами данных MySQL для хранения и управления данным нашего сайта.
Вы можете легко установить MySQL следующей командой:
$ apt-get install mysql-server
В процессе установки вам будет предложено ввести рутовый пароль (пароль администратора) для MySQL.
Для проверки версии MySQL используйте комманду:
$ mysql -V
Шаг 4 - Установка PHP
Для установки последний версиий PHP выполните команду:
$ apt-get install php php-mcrypt php-mysql libapache2-mod-php
Эта команда позволет установить последнюю доступную версию PHP, библиотеку шифрирования php-mcrypt
, расширения php-mysql
для MySQL и пакет libapache2-mod-php
для интеграции PHP с Apache.
Для проверки версии PHP используйте комманду:
$ php -v
Шаг 5 - Настройка сервера Apache
В этом руководстве мы создадим виртуальный хост для домена lamp.loc
.
Давайте сначала создадим директорию, в которой будут содержаться файлы нашего сайта:
$ mkdir /var/www/lamp.loc
Теперь создадим какой-нибудь контент для отображения на сайте.
$ cd /var/www/lamp.loc
$ nano index.php
В этом файле создайте простой HTML-документ, который показывает, к какому сайту он относится. Наш файл выглядит следующим образом:
<html>
<head>
<title>Welcome to lamp.loc!</title>
</head>
<body>
<h1>Success! The lamp.loc virtual host is working!</h1>
</body>
</html>
Сохраните и закройте этот файл. Теперь у вас есть страницы, необходимые для проверки конфигурации виртуальных хостов.
Теперь давайте настроим наш сервер Apache.
Переходим в директорию с apache - $ cd /etc/apache2/
mfiyalka@ubuntu:~$ cd /etc/apache2/
mfiyalka@ubuntu:/etc/apache2$ ls -la
total 88
drwxr-xr-x 8 root root 4096 Oct 8 00:39 .
drwxr-xr-x 92 root root 4096 Oct 8 13:10 ..
-rw-r--r-- 1 root root 7115 Mar 19 2016 apache2.conf
drwxr-xr-x 2 root root 4096 Oct 8 00:39 conf-available
drwxr-xr-x 2 root root 4096 Oct 8 00:39 conf-enabled
-rw-r--r-- 1 root root 1782 Mar 19 2016 envvars
-rw-r--r-- 1 root root 31063 Mar 19 2016 magic
drwxr-xr-x 2 root root 12288 Oct 8 12:31 mods-available
drwxr-xr-x 2 root root 4096 Oct 8 12:31 mods-enabled
-rw-r--r-- 1 root root 320 Mar 19 2016 ports.conf
drwxr-xr-x 2 root root 4096 Oct 8 00:39 sites-available
drwxr-xr-x 2 root root 4096 Oct 8 00:39 sites-enabled
Здесь у нас есть две директории, которые нам нужны:
sites-available
- хранятся настройки доступных сайтовsites-enabled
- хранятся ссылки на настройки активированых сайтов
Сначала нам нужно сконфигурировать сайт, поместить его в директорию sites-available
и активировать его создав ссылку на сайт в директории sites-enabled
. Давайте скопируем базовою конфигурацию настроек сервера:
$ cd sites-available
$ cp 000-default.conf lamp.loc.conf # lamp.loc.conf - это название вашего сайта плюс расширение .conf
$ rm 000-default.conf # удаление
Откроем только что созданный файл lamp.loc.conf
в редакторе nano
:
$ nano lamp.loc.conf
Введем следующие базовые настройки сервера:
<VirtualHost *:80>
ServerName lamp.loc
ServerAdmin webmaster@localhost
DocumentRoot /var/www/lamp.loc
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Теперь, когда мы создали файл нашего виртуального хоста, мы должны его включить. Apache содержит инструменты, позволяющие нам это сделать:
$ a2ensite lamp.loc
После завершения необходимо перезапустить Apache, чтобы изменения вступили в силу:
$ service apache2 reload
Теперь наш сайт доступен за адресом http://127.0.0.1:8081
Если добавить в файл hosts
- 127.0.0.1 lamp.loc
, то также сайт будет доступен за адресом http://lamp.loc:8081
Во второй части - Установка и настройка окружения LEMP.