Домены
Интересные статьи
Домены

Установка LAMP сервера под Ubuntu 15.04/Debian 8

LAMP — это сокращение от Linux, Apache, MySQL, PHP. В данной статье я расскажу, как установить Apache2, PHP 5.6 (mod_php) и MySQL.
В качестве MySQL сервер будем использовать его отличную замену — MariaDB
Для админинистрирования MySQL будем использовать PHPMyAdmin.

Установка под Debian 8 и Ubutnu 15.10 аналогична

 

Весь процесс я разбил на 8 частей:

  1. Исходные данные
  2. Установка MariaDB (вместо MySQL)
  3. Установка Apache2
  4. Установка PHP 5.6
  5. Тестирование PHP и получение данных о PHP
  6. Добавляем поддержку MySQL/MariaDB в PHP
  7. Установка APCu PHP кеша, для ускорения PHP
  8. Установка PHPMyAdmin

1. Исходные данные:
У нас есть сервер с IP 192.168.1.100 и hostname server1.example.com
У вас они могут быть другие, поэтому замените соответственно.

Мы будем также использовать уже установленную Ubuntu 15.04 (минимальную, серверную редакцию).

Все операции мы будем проводить с root правами, поэтому получим их:

sudo su

2. Установка MariaDB (вместо MySQL)
 

Установим MariaDB, вместо MySQL.

MariaDB это форк MySQL, разрабтываемый и поддерживаемый оригинальным разработчиком MySQL — Монти Видениусом (Monty Widenius).
MariaDB полностью совместима с MySQL и предоставляет дополнительные возможности, а также увеличенную скорость работы.

Установим MariaDB сервер и клиент:

apt-get -y install mariadb-server mariadb-client

Далее будем называть MariaDB просто MySQL

Зададим root пароль для MySQL:

mysql_secure_installation

У вас спросят несколько вопросов:

Enter current password for root (enter for none): <— нажмите Enter
Set root password? [Y/n] <— y
New password: <— Введите здесь новый пароль root MySQL
Re-enter new password: <— Повторите пароль
Remove anonymous users? [Y/n] <— y
Disallow root login remotely? [Y/n] <— y
Reload privilege tables now? [Y/n] <— y

Кратко о вопросах — мы поменяли пароль, запретили анонимный вход в MySQL, запретили root пользователю удаленное подключение, сохранили данные.

Теперь проверим авторизацию:

mysql -u root -p

И введем пароль root MySQL. 
Результат должен быть приблизительно такой:

 

mysql_loginЧтобы выйти из оболочки MySQL, введите quit и нажмите Enter.

3. Установка Apache2

Apache2 доступен как Ubuntu пакет, поэтому установим его командой:

apt-get -y install apache2

Теперь попробуйте зайти в браузере по адресу http://192.168.1.100 и вы должны увидеть стандартную страничку Apache (It works):
ubuntu_apache_default_page

Домашняя директория Apache в Ubuntu находится в /var/www/html, а основной файл конфигурации /etc/apache2/apache2.conf.

4. Установка PHP 5.6

Мы будем устанавливать PHP 5.6 как Apache модуль:

apt-get -y install php5 libapache2-mod-php5

Далее перезапустим Apache:

systemctl restart apache2

5. Тестирование PHP и получение данных о PHP

Создадим в домашней директории Apache файл info.php и вызовем его в браузере.

nano /var/www/html/info.php

<?php
phpinfo();
?>

В результате мы должны получить большое количество о текущей конфигурации PHP.
Вызовем этот файл в браузере, по адресу http://192.168.1.100/info.php

Получим подобный вывод:
ubuntu-apache-phpinfoКак вы видите, PHP5 отлично работает и работает он в качестве Apache2 модуля (Apache2 Handler).
Если вы прокрутите эту страницу ниже, вы увидите информацию о модулях, доступных сейчас в PHP5.
MySQL в этом списке нет, значит нужно добавить модуль

6. Добавляем поддержку MySQL/MariaDB в PHP

Для добавления поддержки MySQL в PHP требуется установить модуль php5-mysqlnd.
Это новая версия пакета, которая пришла на замену устаревшему php5-mysql.
Также установим другие модули PHP, которые могут понадобиться вашим приложениям.
Выведем список всех модулей PHP:

apt-cache search php5

Выберем и установим их следующей командой:

apt-get -y install php5-mysqlnd php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

Теперь перезапустим Apache2:

systemctl restart apache2

7. Установка APCu PHP кеша, для ускорения PHP

APCu это бесплатный PHP кеш опкодов, который оптимизирует и ускоряет PHP код.

Установим его следующей командой:

apt-get install php5-apcu

И снова перезапустим Apache2:

systemctl restart apache2

Зайдем на страницу с информацией о PHP: http://192.168.1.100/info.php
В модулях вы должны увидеть 2 новых модуля: APC и APCu
ubuntu-phpinfo-apcuНе забудьте удалить файл info.php после настройки т.к. он предоставляет довольно важные данные о вашей конфигруации.

Удалим его следующей командой:

rm -f /var/www/html/info.php

8. Установка PHPMyAdmin

PHPMyAdmin — вебинтерфейс для управления базами данных MySQL.
Установим его командой:

apt-get -y install phpmyadmin

В процессе установки вас попросят ответить на несколько вопросов:

Configure database for phpmyadmin with dbconfig-common? <— Да
Password of the database’s administrative user: <— сюда вводим пароль root MySQL
MySQL application password for phpmyadmin: <— Жмем Enter.
Web server to reconfigure automatically: <— apache2

Выглядеть это будет вот так:

phpmyadmin-dialog-1phpmyadmin-dialog-2phpmyadmin-dialog-3phpmyadmin-dialog-4

Тем самым мы автоматически настроили работу PHPMyAdmin с нашим MySQL сервером.
По умолчанию для root пользоватеся устанавливается плагин «unix_socket», который не позволяет root пользователю авторизоваться в PHPMyAdmin.
Отключим его с помощью следующей команды:

echo «update user set plugin=» where User=’root’; flush privileges;» | mysql —defaults-file=/etc/mysql/debian.cnf mysql

После чего попытаемся зайти в PHPMyAdmin по адресу http://192.168.1.100/phpmyadmin/
Увидим окно авторизации PHPMyAdmin:
phpmyadmin-web-1phpmyadmin-web-2
На этом установка LAMP сервера под Ubuntu 15.04 завершена 🙂

Обо мне cyber01

Прочитайте также

Как установить Java с помощью apt в Ubuntu 20.04

Java один из самых популярных языков программирования, а JVM (Java’s virtual machine) используется в качестве окружения для запуска …

Как сделать дамп только нужных записей из базы данных

Бывало такое, что из всей таблицы нужно сделать дамп только определенных строк? Например, результата какого-либо …

Как добавить поддержку ГОСТ 34.10 2012 в CentOS 7/Redhat 7

Именно с такой задачей я столкнулся несколько дней назад на работе. Требовалось организовать поддержку ГОСТовых …

2 комментария

  1. Не понимаю, почему команды так разнятся!
    Это главная проблема всех подобных инструкций для тех, кто неопытен. Я вот неопытен.

    команда systemctl restart apache2 не может быть выполнена
    система отвечает: команда не найдена
    Мне что делать в этом случае? И так всегда.
    Ведь, для чайника такая инструкция становится своего рода алгоритмом, ошибка в котором приводит к краху всего процесса.

    • Различаются системы запуска приложений (если так можно их назвать). Попробуйте вместо systemctl restart apache2 использовать service apache (или apache2) restart или /etc/init.d/apache2 restart

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *