Server sync... Block time in database: 1637524572, server time: 1653469998, offset: 15945426

Настройка локальной среды разработки 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). Выделите для виртуальной машины необходимое количество оперативной памяти, но не более половины объема памяти хост компьютера.

virtualbox_01.png

В следующем окне указываем путь, где будет хранится образ виртуальной машины, размер дискового пространства, тип виртуального жесткого диска, например VDI (VirtualBox Disk Image) и формат хранения жесткого диска.

virtualbox_02.png

Виртуальная машина создана. Теперь нужно установить Ubuntu. Так как мы скачали образ iso, нам нужно его подключить. Для этого заходим в Настройки только что созданой витруальной машины, выбираем раздел Носители и монтируем образ ОС.

virtualbox_03.png

После чего запускаем созданную виртуальную машину и устанавливаем 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 - для нашего сайта

virtualbox_04.png

Запустите терминал на своем локальном компьютере и выполните команду (вместо 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-документ, который показывает, к какому сайту он относится. Наш файл выглядит следующим образом:


Welcome to lamp.loc!

<h1>Success! The lamp.loc virtual host is working!</h1>

Сохраните и закройте этот файл. Теперь у вас есть страницы, необходимые для проверки конфигурации виртуальных хостов.

Теперь давайте настроим наш сервер 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.


Comments 5


Приветствую Вас и желаю успехов на платформе Голос!

В этой статье вы сможете найти ответы на большинство вопросов, возникающих у новичков. Также большую подборку ссылок на полезные материалы вы можете найти по этой ссылке
Оперативно получить помощь, вы можете присоединившись к нашему сообществу в Телеграм

Буду признателен, если расскажете, откуда Вы узнали о платформе Голос (ответьте цифрой):
1) увидел в Facebook
2) увидел в ВКонтакте
3) из поиска Google
4) из поиска Яндекс
5) из Steem
6) рассказал друг
7) другое (укажите в комментарии)

Чтобы быстрей освоится, присоединяйтесь к мотивирующему промоушену для новичков, действующего месяц с момента регистрации!

И обязательно добавьте себе в Telegram Бота-инструктора, который позволит вам пошагово освоится на платформе Голос.

08.10.2017 19:00
0

Отличная образовательная статья, оформление тоже на 5.

22.10.2017 00:45
0