- HOW-TO: Lamp. Часть 1
- Содержание
- Apache
- PhpMyAdmin
- Webmin
- MySQL Administrator
- Установка LAMP в Ubuntu 20.04
- Установка LAMP в Ubuntu 20.04
- 1. Установка пакетов LAMP с помощью утилиты tasksel
- 2. Установка пакетов LAMP вручную
- 3. Настройка брандмауэра
- 4. Проверка работы LAMP
- 5. Настройка Apache
- 6. Настройка PHP
- 7. Настройка MySQL
- 8. Как удалить LAMP в Ubuntu
- Выводы
HOW-TO: Lamp. Часть 1
Содержание
Автор — Ричард Босомворт (Richard Bosomworth)
Сегодня интернет предлагает нам гораздо больше, чем просмотр статичных страниц. Мы видим контактные формы, корзины для покупок, библиотеки, интерактивные игры и социальные сети, 80% которых работают на так называемом серверном наборе LAMP.
LAMP — это сокращённое название набора серверных технологий с открытым кодом. Этот набор наиболее часто применяется для интернет-сайтов и для внутренних сайтов компаний.
LAMP состоит из следующих компонентов:
Эта великая четвёрка изначально не была рассчитана на совместную работу. Однако возможность совместного применения для интернета и передачи данных, а также рентабельность и распространённость компонентов с открытым исходным кодом сделали LAMP в 1990-ых годах стандартом де факто, что обеспечило двусторонний обмен данными и оформление информации так, как мы ожидаем от современных браузеров.
Ниже описан процесс установки основного набора LAMP на Ubuntu Server 9.04 «Jaunty Jackalope».
Скачайте ISO -образ сервера, подходящий для вашей системы (32- или 64-разрядная, и т.п.), запишите его на CD, загрузитесь и проведите установку, выбрав раскладку клавиатуры, параметры локализации, компоненты LAMP и Open SSH . В процессе установки при запросе задайте имя пользователя и пароль администратора для MySQL. Всё сделано? Хорошо. Перезагрузите компьютер, войдите в систему и обновите её. Наберите в терминале следующие команды для обновления. (‘update’ обновляет существующие пакеты и ‘upgrade’ устанавливает новые доступные версии пакетов.) Почему бы сразу не ввести upgrade? Обновление обеспечивает начальное надёжное подключение к сети и стабильную работу системы, которую вы установили:
Поскольку это сервер, нам необходимо настроить статический IP-адрес и привязать его к сетевому интерфейсу (всегда eth0). Для этого необходимо использовать текстовый редактор (Я пользуюсь vi. Ищите команды управления в Google – хватит всего нескольких). Наберите в терминале:*sudo vi /etc/network/interfaces
Так как IP-адрес статический, вам потребуется вручную задать DNS в файле resolv.conf. Это очень просто. В терминале наберите:
Если файл пуст, не волнуйтесь: он будет создан. Однако если вы видите что-то в файле, не трогайте эти строки. Если он пуст, введите информацию в следующем формате (используйте свои имя домена и адреса DNS ).
Перезапустите сетевые службы:
Привязка MySQL к IP-адресу
MYSQL по умолчанию подключен к локальному интерфейсу, который недоступен для других адресов. Чтобы исправить это, отредактируйте файл /etc/mysql/my.cnf. Наберите в терминале:
Вы увидите запись BIND. Замените localhost 127.0.0.1 на IP-адрес компьютера, с которого необходим доступ к базе данных, и сохраните файл. Если требуется доступ с нескольких компьютеров, закомментируйте (#) запись BIND и оставьте систему открытой (не рекомендуется) или настройте доступ к базе данных с определённых IP в phpMyAdmin. Мы установим phpMyAdmin в следующем разделе.
Apache
Чтобы проверить Apache, наберите
в адресной строке браузера. Вы должны увидеть надпись «It Works». В противном случае перезапустите Apache и попробуйте снова. Чтобы перезапустить Apache, наберите в терминале:
apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName
Тем не менее, сайты будут загружаться. Чтобы исправить ошибку, нужно отредактировать apache2.conf. Для этого наберите в консоли:
И в конце файла добавьте строку «Servername »
После перезапуска сервера Apache сообщение должно пропасть.
Вот и всё — ваш LAMP готов к работе.
Если вы не помешанный на консоли гик (каких много), вы выберите более простой способ администрирования LAMP. Давайте быстро рассмотрим три популярных средства администрирования. Рекомендации по их установке основаны на Ubuntu, как и для основного серверного набора.
PhpMyAdmin
Возможно, PhpMyAdmin — самое распространённое приложение администрирования баз MySQL. Оно мощное и надёжное. Для установки наберите в консоли:
В ходе установки согласитесь с записью BIND по умолчанию. Откройте браузер и введите:
введите ‘root‘ и пароль MySQL, заданный при установке. Совет: Если доступ к MySQL организован при помощи других средств управления (например, MySQL Administrator), не забудьте, что по умолчанию доступ закрыт для всех IP-адресов, кроме localhost 127.0.0.1. Если вы не привязали базу данных к определённому IP-адресу или не открыли доступ для всех, закомментировав (#) запись ‘bind’, MySQL выдаст ошибку 1130. Чтобы её избежать, просто откройте доступ в phpMyAdmin для нужных IP-адресов. Этот шаг легко забыть, а ошибка может вас удивить, если не предпринять меры.
Webmin
Webmin ‒ это качественная утилита и стандартный инструмент для полномасштабного администрирования Linux-сервера. Для установки введите следующую команду в консоли (начиная с perl):
Затем скачайте последнюю версию Webmin с помощью следующей команды (на момент написания последняя версия 1.480).
Распакуйте и установите.
MySQL Administrator
Если phpMyAdmin не для вас, то можно попробовать более слаженный и дружелюбный интерфейс MySQL Administrator (посмотрите на изображение справа сверху). Это великолепный кросс-платформенный инструмент, который можно бесплатно скачать по адресу:
Для более опытных разработчиков существует ещё и MySQL Workbench (тоже бесплатный). Его можно скачать по адресу:
Готово. Теперь мы можем управлять сервером. Мы многое узнали. В следующем выпуске поговорим о FTP и фаерволлах.
Источник
Установка LAMP в Ubuntu 20.04
LAMP — это популярный набор программного обеспечения для работы с веб-сервером. LAMP назван по первым буквам входящих в его состав компонентов: Linux — операционная система, Apache — веб-сервер, MySQL — СУБД, PHP — язык программирования, используемый для создания веб-приложений.
В этой статье мы рассмотрим, как установить LAMP Ubuntu 20.04 несколькими способами: с помощью утилиты tasksel и вручную с помощью пакетного менеджера.
Установка LAMP в Ubuntu 20.04
1. Установка пакетов LAMP с помощью утилиты tasksel
Утилита tasksel позволяет устанавливать наборы пакетов различных программ буквально в одну команду. Она разработана для Debian, но может использоваться и в Ubuntu. Для её установки выполните в терминале команду:
sudo apt -y install tasksel
Далее, чтобы установить Lamp на Ubuntu, достаточно выполнить команду:
sudo tasksel install lamp-server
Установка займёт определенное время, так как утилите необходимо скачать все необходимые пакеты. После завершения установки вы получите полностью работающий стек LAMP.
2. Установка пакетов LAMP вручную
Если вы не хотите использовать tasksel, вы можете установить все пакеты по отдельности из стандартных репозиториев и настроить их для совместной работы.
Для начала необходимо установить веб-сервер Apache2:
sudo apt -y install apache2
Далее необходимо установить СУБД MySQL:
sudo apt -y install mysql-server
Установка интерпретатора языка программирования PHP и расширений, необходимых для его работы с Apache и MySQL:
sudo apt -y install php7.4 libapache2-mod-php7.4 php7.4-mysql
На момент написания статьи актуальной версией PHP в официальных репозиториях Ubuntu считалась версия 7.4. Самая же последняя официальная версия PHP от разработчиков 8.0.9 по состоянию на 29 июля 2021 года.
Также необходимо установить дополнительные расширения для языка PHP, которые понадобятся для создания будущих проектов и их дальнейшей публикации на хостинг:
sudo apt -y install php-curl php-json php-cgi php-gd php-zip php-mbstring php-xml php-xmlrpc
3. Настройка брандмауэра
По умолчанию брандмауэр закрывает все неразрешённые входящие подключения. Поэтому, чтобы к вашему веб-серверу можно было получить доступ извне, необходимо добавить его порт в исключения:
sudo ufw allow in 80/tcp
4. Проверка работы LAMP
Для начала необходимо убедиться, что веб-сервер Apache и СУБД MySQL успешно запустились и при необходимости запустить их. Смотрим статус apache, выполнив команду в терминале:
sudo systemctl status apache2
В разделе Active должно быть active (running). Те же самые действия необходимо сделать для проверки MySQL:
sudo systemctl status mysql
Если в статусах вместо active будет inactive (dead), то сервисы необходимо запустить вручную:
sudo systemctl start apache2
sudo systemctl status mysql
Для проверки наберите в адресной строке браузера IP-адрес сервера, куда вы устанавливали LAMP, в качестве примера выбран localhost:
Если при открытии вы увидели страницу, которая изображена на скриншоте выше, это означает что веб-север apache успешно запущен и работает. Теперь необходимо проверить правильно ли работает PHP. Создайте файл в директории /var/www/html при помощи следующей команды:
sudo vi /var/www/html/phpinfo.php
Вместо vi можно использовать любой другой текстовый редактор на ваш выбор (nano, emacs, gedit и др.).
В файл phpinfo.php впишите следующую команду:
Далее откройте адрес localhost/phpinfo.php в браузере. Если всё работает, вы должны увидеть страничку, которая изображена ниже на скриншоте:
Также можно проверить, работает ли интеграция с СУБД MySQL. Если расширение PHP для MySQL установлено, то на странице с phpinfo будет размещен блок с информацией:
На данном этапе процесс проверки пройден успешно. Далее мы перейдем к настройке стека LAMP на Ubuntu 20.04.
5. Настройка Apache
Для обработки запросов будет использоваться модуль mpm_prefork. Данный модуль запускает по отдельному процессу на каждый запрос. Иначе говоря, каждый процесс одновременно обрабатывает только 1 поток на одно соединение. Для начала необходимо выключить mpm_event и mpm_worker и только потом включить модуль mpm_prefork:
sudo a2dismod mpm_event
sudo a2dismod mpm_worker
sudo a2enmod mpm_prefork
Включаем модуль mod_rewrite. Это модуль, предназначенный для преобразования URL адресов. Модуль использует в своей работе правила, которые могут быть описаны как в конфигурации сервера (httpd.conf), так и в файлах .htaccess непосредственно в файловой структуре Вашего сайта.
sudo a2enmod rewrite
Если вы хотите использовать файлы httaccess для настроек, то необходимо в файле /etc/apache2/apache2.conf изменить значение AllowOverride с None на All для нужных местоположений, например, для /var/www.
Откройте файл apache2.conf при помощи любого текстового редактора:
sudo vi /etc/apache2/apache2.conf
Найдите следующий блок:
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
И замените AllowOverride None на AllowOverride All, затем сохраните изменения и закройте файл. Перезапустите apache:
sudo systemctl restart apache2
6. Настройка PHP
По умолчанию короткие теги, обрамляющие скрипты PHP, отключены. Это может привести к тому, что некоторые скрипты, использующие эти теги, могут не выполнятся. Для включения этой возможности откройте файл php.ini при помощи любого текстового редактора:
sudo vi /etc/php/7.4/apache2/php.ini
Найдите short_open_tag = Off и замените на:
Вывод ошибок в PHP по умолчанию отключён. Если вы хотите разрабатывать программы на этом сервере, то вам необходимо включить ошибки, иначе вместо ошибок вы будете видеть пустой экран. Для этого найдите эти строки и приведите их к такому виду:
error_reporting = E_ALL
display_errors = On
После внесения всех изменений необходимо перезапустить Apache:
sudo systemctl restart apache2
7. Настройка MySQL
По умолчанию MySQL не очень хорошо настроена в плане безопасности. Необходимо задать пароль суперпользователя и удалить гостевой доступ. Для выполнения всех этих задач запустите в терминале следующую команду:
На первом этапе утилита спросит вас необходимо ли включить компонент для валидации (проверки) паролей. Данный плагин проверяет надежность вашего пароля. Если вы решите настроить данный плагин, то сценарий предложит выбрать уровень проверки пароля. Наивысший уровень можно включить, нажав 2. Если данный плагин включать не требуется, введите No и далее нажмите на enter для перехода к следующему шагу. Следующим шагом утилита попросит вас ввести пароль суперпользователя, так как он ещё не задан, введите пароль, нажмите enter и введите пароль еще раз:
Во всех следующих вопросах нужно отвечать утвердительно путем ввода y/Y или Yes:
- Запретить удалённый вход для пользователя root;
- Запретить гостевой вход;
- Удалить временные таблицы;
- Обновить привилегии пользователей.
Готово, теперь ваша база данных защищена и готова к работе. Для того, чтобы войти в оболочку MySQL введите следующую команду:
sudo mysql -u root -p
Введите пароль пользователя root, который вы задали на этапе запуска mysql_secure_installation.
Не перепутайте пароль от пользователя root который присутствует в операционной системе Ubuntu и пользователя root в MySQL. Это разные пользователи, соответственно вы должны вводить пароль именно к учетной записи root, которая присутствует в MySQL.
На этом настройка LAMP Ubuntu 20.04 завершена.
8. Как удалить LAMP в Ubuntu
Чтобы полностью удалить LAMP из системы, достаточно удалить все пакеты, которые вы установили ранее:
sudo apt -y purge apache2 mysql-server php7.4 libapache2-mod-php7.4 php7.4-mysql php-curl php-json php-cgi php-gd php-zip php-mbstring php-xml php-xmlrpc
Команда purge позволяет удалить не только пакеты, но и их конфигурационные файлы. Если вы хотите оставить конфигурационные файлы, используйте команду remove.
Выводы
В этой статье мы разобрали, как выполняется установка LAMP Ubuntu 20.04. Как видите, это не очень сложно и с такой задачей может справиться даже новичок. Если у вас остались вопросы, оставляйте их в комментариях!
Источник