LAMP — это сокращение от Linux, Apache, MySQL, PHP. В данной статье я расскажу, как установить Apache2, PHP 5.6 (mod_php) и MySQL.
В качестве MySQL сервер будем использовать его отличную замену — MariaDB
Для админинистрирования MySQL будем использовать PHPMyAdmin.
Установка под Debian 8 и Ubutnu 15.10 аналогична
Весь процесс я разбил на 8 частей:
- Исходные данные
- Установка MariaDB (вместо MySQL)
- Установка Apache2
- Установка PHP 5.6
- Тестирование PHP и получение данных о PHP
- Добавляем поддержку MySQL/MariaDB в PHP
- Установка APCu PHP кеша, для ускорения PHP
- Установка 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, введите quit и нажмите Enter.
3. Установка Apache2
Apache2 доступен как Ubuntu пакет, поэтому установим его командой:
apt-get -y install apache2
Теперь попробуйте зайти в браузере по адресу http://192.168.1.100 и вы должны увидеть стандартную страничку Apache (It works):
Домашняя директория 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
Получим подобный вывод:
Как вы видите, 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
Не забудьте удалить файл 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 с нашим 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:
На этом установка LAMP сервера под Ubuntu 15.04 завершена 🙂
Не понимаю, почему команды так разнятся!
Это главная проблема всех подобных инструкций для тех, кто неопытен. Я вот неопытен.
команда systemctl restart apache2 не может быть выполнена
система отвечает: команда не найдена
Мне что делать в этом случае? И так всегда.
Ведь, для чайника такая инструкция становится своего рода алгоритмом, ошибка в котором приводит к краху всего процесса.
Различаются системы запуска приложений (если так можно их назвать). Попробуйте вместо systemctl restart apache2 использовать service apache (или apache2) restart или /etc/init.d/apache2 restart