Операционная система Linux - отличная платформа для создания и тестирования веб сайтов. Учитывая, что большинство веб серверов используют Linux в качестве операционной системы, то и тестировать сайты лучше в этой системе, с использованием тех же инструментов, даже если это домашний компьютер. Намного удобнее иметь все под рукой и не боятся повредить сайт на сервере.
Сегодня мы поговорим о LAMP. На самом деле, это не программа, это стек программ с открытым исходным кодом необходимых для работы веб-сайтов, название лишь формальное и походит оно от первых букв названий входящих туда программ. Linux Apache MySQL PHP, а вместе LAMP, это те программы, которые нужно установить и настроить, для того, чтобы начать разрабатывать сайты или веб-приложения на домашнем компьютере. Linux - тут все понятно, это наша операционная система, Apache - веб сервер, MySQL - программа для управления базами данных и PHP - на данный момент, самый популярный язык для веб-программирования.
В этой инструкции будет рассмотрена установка LAMP ubuntu 16.04 Мы рассмотрим как установить Apache 2.4, MariaDB в качестве базы данных mysql и самую новую версию языка PHP 7. Для начала будет выполнена установка Apache ubuntu 16.04, так как это главный компонент всей системы, а уже потом подключим к нему дополнительные компоненты.
Установка Apache Ubuntu 16.04
Apache - это кроссплатформенный веб-сервер с открытым исходным кодом. Он поддерживает все необходимые функции веб-сервера, включая CGI, SSL, и виртуальные домены.
Установить Apache в Ubuntu очень просто, для этого достаточно выполнить:
$ sudo apt-get install apache2
После установки добавим программу в автозагрузку:
$ sudo systemctl enable apache2
И запустим веб-сервер сейчас:
$ sudo systemctl start apache2
Теперь можно проверить что получилось, откройте браузер и наберите в адресной строке localhost:
Как видите, установка apache ubuntu 16.04 завершена и веб-сервер уже работает. Но это еще не все. Все отлично, если у вас один сайт, который нужно тестить на локальной машине, но если их несколько собирать все в под папках веб-сервера не совсем удобно, да и не все движки нормально относятся к этому, потому давайте рассмотрим как настроить виртуальные хосты.
Создайте новую папку для нашего виртуального хоста:
$ sudo mkdir /var/www/test.site
Дадим права на доступ:
$ sudo chmod -R 755 /var/www
Необходимо создать небольшой файл, index.html, чтобы он открылся когда вы откроете этот сайт:
$ sudo vi /var/www/test.site/public_html/index.html
<html>
<head>
<title>Welcome to Test!</title>
</head>
<body>
<h1>Success! Virtual host is working!</h1>
</body>
</html>
<head>
<title>Welcome to Test!</title>
</head>
<body>
<h1>Success! Virtual host is working!</h1>
</body>
</html>
Теперь можно добавлять виртуальный хост, для этого создайте файл и наполните его содержимым:
$ sudo vi /etc/apache2/sites-available/test.site.conf
<VirtualHost *:80>
ServerName test.site
ServerAlias www.test.site
ServerAdmin webmaster@localhost
DocumentRoot /var/www/test.site/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
ServerName test.site
ServerAlias www.test.site
ServerAdmin webmaster@localhost
DocumentRoot /var/www/test.site/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Вот что значат некоторые строки:
- ServerName - имя нашего сайта, виртуального хоста
- ServerAlias - сайт будет доступен также по этому имени
- DocumentRoot - корневой каталог с файлами сайта
Теперь сохраните файл, далее нужно активировать наш хост:
$ sudo a2ensite test.site.conf
Перезапускаем веб сервер:
$ sudo systemctl restart apache2
Теперь необходимо завернуть трафик с этого домена на локальный сервер, для этого добавьте строчку в /etc/hosts:
$ sudo vi /etc/hosts
127.0.0.1 test.site
Откройте браузер и в адресной строке наберите test.site:
Кроме того, мы можем включить поддержку ssl для нашего веб-сервера. Для этого выполните:
$ a2enmod ssl
$ a2ensite default-ssl
$ a2ensite default-ssl
После этого нужно будет перезагрузить веб-сервер:
$ sudo systemctl restart apache2
Теперь вы можете проверить работу SSL, набрав адрес https://localhost.
Браузер не доверяет нашему сертификату, поскольку он самоподписанный, но мы можем спокойно добавлять его в исключения, это ведь наш сертификат. Теперь работает:
Установка PHP 7
Без языка программирования установка и настройка lamp в Ubuntu будет не завершена. PHP - это самый популярный язык программирования в веб. Его название, это рекурсивный акроним - PHP Hypertext Processor. Кроме того, что этот язык используется в веб, его можно применять, как язык общего назначения, язык сценариев.
Установка php 7 Ubuntu 16.04 выполняется следующей командой:
$ sudo apt-get install php7.0-mysql php7.0-curl php7.0-json php7.0-cgi php7.0 libapache2-mod-php7.0
Если вы хотите установить все доступные модули php, чтобы в будущем не было проблем, вы можете выполнить команду:
$ sudo apt-get install php*
После завершения установки проверим версию php:
$ php -v
Теперь пора проверить как все работает. Для этого создайте файл со следующим кодом на php:
$ sudo vi /var/www/test.site/public_html/test.php
<?php phpinfo(); ?>
Осталось перезапустить apache2:
$ sudo systemctl restart apache2
Откройте еще раз наш сайт в браузере, на этот раз нас интересует страница test.php:
Установка php 7 ubuntu 16.04 завершена и все очень хорошо работает. Но нужно еще кое-что настроить, а именно включить отображение ошибок в php. Иначе при возникновении ошибки вы увидите просто пустую страницу. Для этого откройте файл /etc/php/7.0/apache2/php.ini, найдите строку display_errors = Off и поменяйте off на on:
$ vi /etc/php/7.0/apache2/php.ini
Теперь переходим к следующему этапу.
Установка MySQL Ubuntu 16.04
Базы данных используются сейчас почти в каждом движке интернет сайтов. Поэтому важно иметь на своем компьютере и это программное обеспечение. Установка Lamp Ubuntu 16.04 не может обойтись без базы данных, но в этой инструкции вместо Mysql мы будем использовать ее улучшенную и оптимизированную версию - MariaDB. Это очень надежный и масштабируемый сервер SQL со множеством улучшений и усовершенствованием.
Установка mariadb ubuntu 16.04 выполняется с помощью команды:
$ sudo apt-get install mariadb-server mariadb-client
Когда установка mysql ubuntu 16.04 будет завершена, мы можем переходить к настройке базы данных, для этого выполните команду:
$ sudo mysql_secure_installation
Сначала необходимо ввести текущий пароль root, просто нажимаем Enter, поскольку он еще не задан:
Далее нажимаем у, чтобы задать новый пароль:
Затем отключаем гостевые аккаунты:
Отключаем удаленный доступ через root:
Удаляем тестовые базы данных:
Перезаписываем таблицы привилегий:
Вот и все, установка mysql ubuntu 16.04 завершена и база данных готова к работе.
Установка phpmyadmin ubuntu 16.04
Установка и настройка lamp в ubuntu 16.04 также будет включать установку Phpmyadmin. Phpmyadmin - это бесплатный инструмент, с открытым исходным кодом, для реализации веб-интерфейса управления базами данных MySQL. Он доступен в официальных репозиториях Ubuntu 16.04, установим его с помощью команды:
$ sudo apt-get install phpmyadmin php-mbstring php-gettext
Но тут уже во время установки потребуется немного конфигурации. Сначала нужно выбрать наш веб-сервер:
Для перемещения по пунктам используйте стрелки вверх/вниз, для выбора пробел, для переключения - Tab.
В следующем окне мастера нам предлагают настроить базу данных phpmyadmin, соглашаемся:
Вводим пароль, который будет использован для подключения phpadmin к базе данных:
Подтверждение пароля:
По умолчанию в MariaDB есть плагин под названием unix_socket, он предотвращает вход под именем пользователя root в phpmyadmin или с помощью других TCP интерфейсов. Для его отключения выполните:
$ sudo -i
$ echo "update user set plugin='' where User='root'; flush privileges;" | mysql -u root -p mysql
$ echo "update user set plugin='' where User='root'; flush privileges;" | mysql -u root -p mysql
Когда установка phpmyadmin ubuntu 16.04 будет завершена откройте браузер и наберите в адресной строке localhost/phpmyadmin:
Все работает, для доступа к базе данных вы можете ввести логин root и его пароль, который задали на этапе настройки MySQL:
Выводы
Вот и все установка lamp ubuntu 16.04 завершена успешно. Теперь все работает и вы можете приступать к созданию своих проектов.