Как установить LAMP в Ubuntu 18.04 Bionic Beaver (Linux, Apache, MariaDB, PHP)
Задача
Установите и настройте базовый сервер LAMP с помощью MariaDB в Ubuntu 18.04 Bionic Beaver.Распределения
Ubuntu 18.04Требования
Рабочая установка Ubuntu 18.04 с правами rootУсловные обозначения
- # - требует, чтобы данные команды linux выполнялись с правами root либо напрямую как пользователь root, либо с помощью
sudo
команды - $ - требует, чтобы данные команды linux выполнялись как обычный непривилегированный пользователь
Другие версии этого урока
Ubuntu 20.04 (Focal Fossa)Введение
Стек LAMP - один из самых популярных стеков веб-серверов в мире, и в этом нет ничего нового. LAMP уже давно работает на огромной части Интернета.Если вы являетесь пуристом с открытым исходным кодом или просто не заботитесь об Oracle как о компании (многие пользователи Linux этого не делают), вы можете настроить сервер LAMP в Ubuntu с использованием MariaDB вместо традиционного MySQL. MariaDB - это открытая замена с открытым исходным кодом, которая была разветвлена из MySQL несколько лет назад. Это отличное решение для установок LAMP, где вы хотите избежать базы данных Oracle с открытым исходным кодом.
Монтаж
Прежде чем начать, вам нужно установить все для работы Apache, MySQL и PHP. Пакетов не так много, но все они важны.$ sudo apt install libapache2-mod-php php-mysql mysql-server apache2 php-curl php-xmlrpc php-intl php-gdВ процессе установки вам будет предложено создать корневого пользователя для базы данных. Выберите надежный и запоминающийся пароль.
Настройка базы данных
Теперь вы можете войти в свою вновь созданную базу данных.$ mysql -u root -pВведите пароль, который вы установили во время установки. Вы попадете в консоль MySQL. Вы можете делать все, что вам нужно оттуда. Прежде всего, сделайте вашу фактическую базу данных.
mysql> CREATE DATABASE `bionic_lamp`;Затем регулярно используйте базу данных.
mysql> CREATE USER `site_admin`@`localhost` IDENTIFIED BY 'your_password';Наконец, предоставьте вашему новому пользователю права на использование базы данных.
mysql> GRANT ALL ON bionic_lamp.* TO `site_admin`@`localhost`;Когда вы закончите, очистите привилегии и выйдите из консоли.
mysql> FLUSH PRIVILEGES;
mysql> exit;
Настройка Apache
Apache вроде работает из коробки, но не совсем. Если вы хотите сделать что-то действительно значимое, вам нужно немного настроить. Эта конфигурация настроит виртуальные хосты, что позволит вам запускать несколько сайтов из автономных каталогов.Сначала скопируйте файл конфигурации по умолчанию, который поставляется с Apache, в новую конфигурацию для вашего сайта.
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/your-site.com.confЗатем откройте этот новый файл, используя
sudo
нужный текстовый редактор. На самом деле есть только пара изменений, которые вам нужно внести в него.
Когда вы впервые откроете файл, вы заметите основной
VirtualHost
блок с номером порта. Если вы хотите запустить другой порт, измените этот номер. В противном случае, оставьте то же самое.Посмотрите ниже. Измените
DocumentRoot
строку в соответствии с местоположением вашего сайта. Лучше всего сделать что-то вроде примера ниже.DocumentRoot /var/www/html/your-site.com/public_htmlЗатем создайте запись для вашего имени сервера. Это URL, который Apache свяжет с вашим сайтом. Если вы работаете локально,
localhost
все в порядке. В противном случае используйте базовый веб-адрес.ServerName your-site.comЕсли вы хотите, чтобы Apache
www
тоже прослушивал , вы можете создать псевдоним, который сообщает Apache, что это то же самое, что и имя сервера.ServerAlias www.your-site.comКогда вы закончите, сохраните и выйдите. Затем, вероятно, будет хорошей идеей создать каталог, который вы указали для Apache.
$ sudo mkdir -p /var/www/html/your-site.com/{public_html,logs}Последнее, что вам нужно сделать, это включить вашу конфигурацию и отключить настройки по умолчанию. Начните с включения вашего.
$ sudo a2ensite your-site.com.confОтключить по умолчанию.
$ sudo a2dissite 000-default.confПерезагрузите конфигурации Apache, чтобы изменения вступили в силу.
$ sudo systemctl reload apache2
тестирование
По умолчанию Apache ищет в вашем каталоге документов индексные файлы. Создать файл в/var/www/html/your-site.conf/public_html
Android index.php
. Поместите следующий блок кода PHP в файл, чтобы проверить, успешно ли Apache интерпретирует PHP и может ли он успешно подключаться к настроенной вами базе данных MySQL.Page loaded with PHP!';
$conn = mysqli_connect('localhost', 'site_admin', 'your_password');
if(!$conn){
die('Error:
' . mysqli_connect_error());
}else{
echo 'Successfully Connected to MySQL Database!
';
}
?>
Перейдите по адресу, который вы указали в своей конфигурации, используя веб-браузер. Использование localhost
гораздо проще для тестирования, поэтому, если вы этого не делали и у вас возникли проблемы, подумайте об этом, если вы работаете локально.
Вы должны увидеть простую белую страницу с текстом, который вы сказали PHP выводить. Если вы все настроили правильно, вы получите сообщение об успешном подключении PHP к вашей базе данных.