LAMP — это самый популярный стек программного обеспечения для работы веб-сервера. Сюда входят такие программы, как Apache, PHP, MySQL, и работает всё это в Linux, отсюда и такое название.
Apache — это самый популярный веб-сервер, может, он не такой производительный, как Nginx, зато очень прост в настройке.
PHP — самый популярный язык программирования для веб, а без базы данных вообще сейчас мало что работает.
В этой статье мы рассмотрим, как выполняется Установка LAMP Ubuntu 18.04 несколькими способами: с помощью утилиты tasksel или вручную с помощью установщика программ.
Установка LAMP в Ubuntu
1. Установка пакетов с помощью tasksel
Tasksel — это утилита, которая позволяет устанавливать пакеты различных программ буквально в одну команду. Она разработана для Debian, но может использоваться и в Ubuntu. Для её установки выполните в терминале:
- sudo apt install tasksel
- Затем, чтобы установить Lamp на Ubuntu, достаточно выполнить такую команду:
- sudo tasksel install lamp-server
- Установка займёт кое-какое время, потому что утилите придётся скачать и настроить все пакеты, но потом вы получите полностью работающий стек LAMP.
Обратите внимание, что десктопной версии Ubuntu tasksel использовать не желательно. LAMP установится нормально, но при попытке его удаления командой tasksel remove из-за бага утилита может снести вам всю систему. Пользователи сообщают о проблемах с этой утилитой в версии Ubuntu для рабочего стола.
2. Как установить Lamp в Ubuntu вручную
Если вы не хотите использовать tasksel, вы можете установить все пакеты по отдельности и настроить их для совместной работы. Сначала установим все необходимые пакеты. Установка последней версии Apache2 из репозиториев:
- sudo apt install apache2
- Установка базы данных MariaDB из репозиториев:
- sudo apt install mariadb-server
- Или вы можете установить MySQL:
- sudo apt install mysql-server
- Установка интерпретатора языка программирования PHP 7.2 и расширений, необходимых для его работы с Apache и MySQL:
sudo apt install php7.2 libapache2-mod-php7.2 php-mysql
- Установка дополнительных расширений для PHP, которые вам понадобятся в будущем для хостинга большинства популярных проектов:
- sudo apt 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
- Для проверки наберите в адресной строке браузера IP-адрес сервера, куда вы устанавливали LAMP, у меня это localhost:
- Работает, теперь давайте проверим, правильно ли работает PHP. Создайте файл в директории /var/www/html со следующим содержимым:
- sudo vi /var/www/html/phpinfo.php
Затем откройте адрес localhost/phpinfo.php. Если всё работает, вы должны увидеть такую страничку:
- Также можно проверить, работает ли MySQL: если расширение PHP для MySQL загрузилось, то на странице phpinfo будет размещена такая информация:
Готово, дальше идёт в основном настройка LAMP в Ubuntu 18.04.
5. Настройка Apache
- Для обработки запросов будет использоваться модуль mpm_prefork, так как он совместим с большинством систем. Поэтому его нужно активировать, а mpm_event и mpm_worker отключить:
- sudo a2dismod mpm_event
sudo a2dismod mpm_worker
sudo a2enmod mpm_prefork - Включаем mod_rewrite, который сейчас используется практически везде:
- sudo a2enmod rewrite
- Если вы хотите использовать файлы httaccess для настроек, то необходимо в файле /etc/apache2/apache2.conf изменить значение AllowOverride с None на All для нужных местоположений, например, для /var/www:
- sudo vi /etc/apache2/apache2.conf
-
Options Indexes FollowSymLinks
AllowOverride All
Require all granted - Далее необходимо перезапустить Apache:
- sudo systemctl restart apache2
- Подробнее про настройку веб-сервера читайте в отдельной статье установка и настройка Apache.
6. Настройка PHP
По умолчанию короткие теги, обрамляющие скрипты PHP, отключены. Это может привести к тому, что некоторые скрипты, использующие эти теги, могут не выполнятся. Для включения этой возможности откройте файл:
sudo vi /etc/php/7.2/apache2/php.ini
- Найдите short_open_tag = Off и замените на:
- short_open_tag = On
Вывод ошибок в PHP по умолчанию тоже отключён. Если вы хотите разрабатывать программы на этом сервере, то вам необходимо включить ошибки, иначе вместо ошибок вы будете видеть пустой экран. Для этого найдите эти строки и приведите их к такому виду:
- error_reporting = E_ALL
display_errors = On - Или для записи ошибок в файл вы можете добавить такую строку:
- error_log = php-errors.log
- После внесения всех изменений необходимо перезапустить Apache:
- sudo systemctl restart apache2
Подробнее про настройку файла php.ini смотрите здесь.
7. Настройка MySQL
По умолчанию MySQL не очень хорошо настроена в плане безопасности. Нам нужно задать пароль суперпользователя и удалить гостевой доступ. Для выполнения всех этих задач запустите в терминале:
- sudo mysql_secure_installation
- На первом этапе утилита попросит вас ввести пароль суперпользователя, так как он ещё не задан, просто нажмите Enter:
- Далее введите новый пароль:
- Во всех следующих вопросах нужно отвечать утвердительно:
- Запретить удалённый вход для root;
- Запретить гостевой вход;
- Удалить временные таблицы;
- Обновить таблицы привилегий.
Готово, теперь ваша база данных защищена и готова к работе.
8. Удаление LAMP в Ubuntu
Чтобы полностью удалить LAMP из системы, достаточно удалить все пакеты, которые вы установили ранее:
sudo apt purge apache2 mariadb-server php7.2 libapache2-mod-php7.2 php-mysql php-curl php-json php-cgi php-gd php-zip php-mbstring php-xml php-xmlrpc
Команда purge позволяет удалить не только пакеты, но и их конфигурационные файлы. Если вы хотите оставить конфигурационные файлы, используйте команду remove.
- Если установка LAMP на Ubuntu выполнялась с помощью tasksel, то для удаления необходимо выполнить:
- sudo tasksel uninstall lamp-server
Выводы
В этой статье мы разобрали, как выполняется установка Apache, PHP, MySQL на Ubuntu 18.04.
Как видите, это не очень сложно и с такой задачей может справиться даже новичок, если немного попрактикуется на виртуальной машине. Фактически, уже после шага 3 установка Lamp Ubuntu 18.
04 практически завершена, и уже можно работать, а дальше идёт только настройка LAMP. Если у вас остались вопросы, спрашивайте в х!
Источник: https://losst.ru/ustanovka-lamp-ubuntu-18-04
LAMP в Ubuntu: базовая установка и настройка компонентов веб-сервера
Каждый начинающий веб-разработчик однажды сталкивается с необходимостью самостоятельно установить и настроить LAMP. Сегодня я расскажу, как это сделать.
Примечание.
Данная статья описана для Ubuntu 16.04 и выше.
Но прежде, чем переходить к самому руководству, давайте расшифруем эту аббревиатуру
Linux – здесь все понятно. Данная статья предполагает, что ваша операционная система уже установлена и настроена. В данной статье будет использоваться ОС Ubuntu 16.10.
Apache – собственно веб-сервер. Отвечает за получение и обработку запросов пользователей, но умеет гораздо больше.
MySQL – одна из самых распространенных систем управления базами данных. Строго говоря, вывести заветный «Hello World» с помощью PHP можно и без этого компонента. Тем не менее, он необходим как для популярных CMS вроде WordPress, Joomla и Drupal, так и для самописных систем.
PHP – один из самых популярных языков программирования. На PHP написана серверная часть подавляющего большинства сайтов в мире.
Установка Apache, MySQL и PHP
Установить вышеперечисленный набор можно как с помощью графического интерфейса, так и через командную строку. Мы рассмотрим второй вариант, как более универсальный.
Обратите внимание:
в этой статье рассматривается установка и настройка сервера для локального использования. Подготовка площадки для размещения сайта, доступного извне, потребует более серьезной настройки.
- Обновим список доступных пакетов:
-
- После этого установим Apache:
sudo apt-get install apache2
Пакетный менеджер отыщет необходимые зависимости и попросит подтвердить согласие на установку. Вводим Y, жмем Enter, дожидаемся завершения установки.
-
-
- Проверяем работу Apache, введя в адресной строке браузера следующий адрес:
- http://localhost
- Если вы увидите страницу, изображенную ниже – значит, сервер работает как надо.
-
- При получении сообщения об ошибке не спешите расстраиваться, скорее всего, Apache не запустился автоматически. Сделайте это вручную:
sudo service apache start
После чего обновите страницу.
Устанавливаем сервер MySQL:
sudo apt-get install mysql-server
- Снова подтверждаем согласие и через несколько секунд получаем предложение установить пароль.
-
- Выполнив требуемое, дожидаемся окончания и вводим следующую команду:
- Менеджер пакетов снова соберет список зависимостей, нам останется лишь согласиться.
- Для более простой и наглядной работы с базами данных рекомендую установить phpmyadmin. Но прежде не помешает убедиться, что сервер MySQL запущен:
sudo service mysql status
Нас интересует строка Active. Если она сообщает нам, что сервер активен, как на скриншоте, расположенном ниже – все прекрасно.
-
- В противном случае выполним команду
- Теперь можно устанавливать phpmyadmin:
sudo apt-get install phpmyadmin
В процессе установки нам предложат выбрать веб-сервер. В нашем случае это Apache. Для выбора нужного варианта используем стрелки на клавиатуре и пробел, а переключаться между элементами псевдографического интерфейса поможет Tab. Далее вводим пароль администратора баз данных и подтверждаем его.
-
-
- После перезапускаем Apache командой:
sudo service apache2 restart
- phpmyadmin будет доступен по адресу http://localhost/phpmyadmin
- Вводим логин root и пароль, выбранный в процессе установки, после чего получаем доступ к управлению базами данных.
-
Использование
Корневым каталогом сервера является /var/www/html. Здесь находится тот самый документ, который мы видим, переходя по адресу http://localhost. Удаляем его и создаем файл index.php со следующим содержимым:
Сохраняем, снова переходим по тому же адресу и наблюдаем результат – страница с информацией о конфигурации PHP. Здесь можно найти сведения об установленных модулях, настройках и многом другом.
- Мы можем разместить в каталоге /var/www/html свою папку и получить доступ к ее содержимому, прибавив к адресу слеш и ее название. Например, распаковав дистрибутив WordPress в /var/www/html/ мы найдем установочный скрипт по адресу:
- http://localhost/wordpress/
Конфигурационные файлы
После выполнения вышеуказанных действий сервер уже должен быть готов для локального использования. Конфигурационные файлы, созданные при установке, содержат наиболее разумные и подходящие большинству настройки. Но иногда их все же требуется изменить.
Основной конфигурационный файл Apache называется apache2.conf и находится в /etc/apache2. Перед каждой директивой в этом файле расположен комментарий, поясняющий ее суть. Строки, начинающиеся со знака «#», считаются ми и не влияют на работу сервера.
Основной конфигурационный файл PHP лежит в /etc/php/7.0/apache2 и называется php.ini. Здесь в качестве символа используется «;». Не забудьте сделать резервные копии файлов перед тем, как вносить в них изменения. После правки и сохранения конфига сервер нужно перезапустить командой:
sudo service apache2 restart
В следующих статьях мы еще вернемся к конфигурационным файлам и настройке веб-сервера.
Источник: https://linuxrussia.com/lamp-basic-setup.html
Установка LAMP + PHPMyAdmin на Ubuntu 18.04
Стек LAMP — это акроним, который обозначает набор серверного программного обеспечения с открытым исходным кодом. Используется для отображения динамических веб-сайтов и веб-приложений. LAMP назван по первым буквам входящих в него программ:
- Linux — ОС
- Apache — веб-сервер
- MariaDB (MySQL) — СУБД
- PHP — язык программирования
В качестве ОС LInux мы сегодня будем рассматривать Ubuntu Server 18.04. Будем считать что он у вас уже установлен и настроен. И так, начнем по порядку.
Apache
Apache -это веб-сервер. Поддерживает все популярные операционные системы такие как Linux, Windows, FreeBSD, MacOS. Apache надежный, гибкий и достаточно простой в настройке.
- Перед установкой Apache сделаем команду обновления:
- sudo apt update
- Теперь устанавливаем:
- sudo apt install apache2
- После установки убедимся что Apache работает:
- sudo systemctl status apache2
- Должно быть, что-то вроде этого:
Статус сервера Apache
Если вы используете брандмауэр (а его лучше использовать) нужно удостоверится, что он пропускает HTTP и HTTPS. Вводим:
sudo ufw app list
UFW app list
Получаем список доступных профилей. Включение профиля «Apache Full» разрешит необходимый нам трафик на 80 и 443 портах, «Apache» — только на 80 порту, «Apache Secure» — только на 443. Для примера разрешаем все:
- sudo ufw allow in «Apache Full»
- Что бы убедиться, что трафик разрешен вводим:
- sudo ufw status
- И видим следующее:
Статус UFW
Все именно так как нам надо. Так же можно в браузере ввести адрес сервера. Должны увидеть следующее:
Apache
Как видим Apache работает. Продолжаем.
MariaDB (MySQL)
MariaDB — ответвление СУБД MySQL. Разрабатывается под лицензией GNU GPL. MariaDB поддерживает высокую совместимость с MySQL. API и протоколы в MariaDB соответствуют тем, которые используются в MySQL, а это означает, что все библиотеки и приложения, которые работают в MySQL, должны работать и с MariaDB.
Вводим команду установки:
sudo apt install mariadb-server mariadb-client
Выполняем скрипт настройки защиты. Система попросит ввести root пароль и ответить на несколько простых вопросов. Можно на все ответить утвердительно. В этом случае система удалит анонимных пользователей, тестовые базы данных, отключит удаленное root подключение и произведет обновление текущих настроек MySQL.
sudo mysql_secure_installation
Пример ответа на вопросы
PHP + PHPMyAdmin
PHP — это скриптовый язык общего назначения. Активно применяется веб-разработчиками. Поддерживается большинством хостингов и является одним из лидеров среди языков, применяющихся для создания динамических веб-сайтов.
PHPMyAdmin — это веб-приложение с открытым исходным кодом, написанное на языке PHP. Представляет собой веб-интерфейс для управления СУБД MySQL. Приложение популярно среди веб-разработчиков.
Устанавливаем актуальную версию PHP 7.2, а так же расширения необходимые для его работы с Apache и MySQL:
sudo apt install php7.2 libapache2-mod-php7.2 php-mysql
- Теперь установим PHPMyAdmin. Но перед этим необходимо установить расширение:
- sudo apt install php-mbstring
- Теперь приступим к установке самого PHPMyAdmin:
- sudo apt install phpmyadmin
- Установщик попросит выбрать веб-сервер, который будет автоматически настроен на работу с PHPMyAdmin. Выбираем наш Apache и продолжаем:
Выбор веб-сервера
Далее необходимо настроить базу данных самого PHPMyAdmin, там будет хранится служебная информация сервиса:
Настройка служебной базы
Соглашаемся и вводим пароль на базу. В дальнейшем он нам не понадобится.
Задание пароля
Подтверждение пароля
Все, установка PHPMyAdmin завершена. Можно в браузере ввести «http://адрес сервера/phpmyadmin» и убедится, что все работает:
PHPMyAdmin
- Теперь нам надо создать пользователя MySQL с правами администратора. Вводим:
- sudo mysql
- И попадаем в консоль управления MariaDB. Далее поочередно делаем команды:
- CREATE USER 'admin'@'localhost' IDENTIFIED BY 'пароль';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Создание пользователя MAriaDB
Пользователь с правами администратора создан. Пробуем авторизоваться в PHPMyAdmin:
PHPMyAdmin
Как видим все работает.
Настройка виртуальных хостов для Apache2
Если вы хотите размещать на вашем веб-сервере более одного сайта, то вам необходимо настроить Apache для работы с виртуальными хостами.
Директорию по умолчанию (/var/www/html) трогать не будем. При необходимости можно конечно ее изменить. Создаем директорию в которой будет лежать ваш сайт:
- sudo mkdir -p /var/www/example.com
- Настраиваем владельца каталога:
- sudo chown -R www-data:www-data /var/www/example.com
- Даем права:
- sudo chmod -R 755 /var/www/example.com
- Создаем файл главной страницы сайта:
sudo nano /var/www/example.com/index.html
example.com works!
- Создаем файл настройки виртуального хоста:
sudo nano /etc/apache2/sites-available/example.com.conf
- И настраиваем по образцу:
- ServerAdmin admin@example.com
- ServerName example.com
ServerAlias www.example.com
- DocumentRoot /var/www/example.com
- ErrorLog ${APACHE_LOG_DIR}/error.log
- CustomLog ${APACHE_LOG_DIR}/access.log combined
- Активируем профиль:
sudo a2ensite example.com.conf
- Деактивируем стандартный профиль:
- sudo a2dissite 000-default.conf
- Перезапускаем наш Apache:
- sudo systemctl restart apache2
И проверяем работоспособность сайта. Вводим в браузере «http://example.com»:
Проверка работы виртуального сайта
Как видим все работает. По аналогии можно создать нужное вам количество виртуальных хостов.
Обратите внимание ! Если вы запускаете сайт с тестовым (не глобальным) доменным именем не забудьте внести изменения в файл hosts компьютера с которого переходите на сайт. Иначе вы не сможете зайти на ваш сайт:
Файл hosts
Выводы
Установка Apache, MariaDB (MySQL), PHP и PHPMyAdmin завершена. Как вы уже успели заметить в этом нет ничего сложного и установка не отнимет много времени. Теперь можно приступать к работе с веб-сервером. Если остались вопросы по данной теме, пишите в х.
Источник: https://itseason.ru/lamp-phpmyadmin/
Установка LAMP (Apache, MySQL, PHP) на сервере Ubuntu
В данном руководстве рассматривается установка веб-сервера Apache, MySQL и PHP на сервере под управлением Ubuntu Linux.
Связку Linux, Apache, MySQL и PHP кратко называют LAMP. Иногда используют понятие LAMP-стек или набор LAMP.
Набор LAMP один из первых компонентов, который обычно устанавливается на сервере для развертывания Web-проектов.
Мы предполагаем, что операционная система уже установлена на вашем сервере и вы имеете к ней удаленный доступ по SSH. Если вы используете VPS-сервер, то выбор используемой операционной системы вы, скорее всего, выполняли при оформлении заказа у вашего хостинг-провайдера.
В руководстве рассматривается установка LAMP в Ubuntu 18.04. Данное руководство затрагивает только базовую установку LAMP. Вопросы более глубокого конфигурирования (настройки) выходят за рамки данной статьи.
Все действия протестированы на настоящем VPS-сервере, предоставленным Veesp.com. Мы производили настройку на сервере в конфигурации SSD2 — это максимально сбалансированный тариф, который к тому же обладает безлимитным трафиком.
Пример выбор тарифа для Linux SSD VPS на сайте Veesp.com
Откройте терминал (командную строку)
Все действия, описанные ниже, мы будем выполнять из командной строки, подключившись к серверу по SSH.
- Если вы работаете в Linux (например, в Ubuntu или любом другой дистрибутиве), то вам нужно открыть терминал. Иногда это можно сделать, нажав сочетание клавиш Ctrl+Alt+T или найти в меню запуска приложений программу Терминал (Эмулятор терминала).
- Если вы работаете в MacOS, то запустите программу Терминал из Лаунчера (из Launchpad).
- Если вы работаете в Windows, то можно использовать штатную программу cmd.exe. Нажмите Win+r, в отрывшемся окне впишите «cmd» (без кавычек) и нажмите ОК. Вы также можете воспользоваться бесплатной программой PuTTY, которая позволяет выполнять подключение по SSH.
Доступ по SSH
Чтобы подключиться по SSH, вам нужно знать IP-адрес вашего сервера и пароль root-пользователя. Если вы пользуетесь услугами хостинг-провайдера и используете VPS-сервер, то обычно эти данные высылаются вам по электронной почте при регистрации.
Для подключения по SSH нужно выполнить команду вида: ssh имяпользователя@ip.адрес.сервера
ssh root@192.168.123.123
При подключении может появиться сообщение: «The authenticity of host ’…’ can’t be established. … Are you sure you want to continue connecting (yes/no)?» Соглашаемся: вводим y и нажимаем Enter.
Если на каком-то этапе вам нужно будет завершить работу по SSH, то используйте команду: exit
Обновляем пакеты
Перед началом работы рекомендуется обновить систему. Для этого выполняем команды:
sudo apt update
sudo apt upgrade
После обновления перезагрузите систему, выполнив команду.
reboot
Перезагрузка обычно занимает несколько секунд, поэтому нужно подождать прежде чем вы сможете снова подключиться по SSH.
Создание пользователя
Сейчас мы подключились к серверу от имени root-пользователя. Так как root-пользователь обладает максимальными привилегиями в системе, работать от его имени небезопасно. Рекомендуется создать обычного пользователя, от имени которого выполнять все действия (используя sudo).
Создадим пользователя с именем pingvinus (вместо pingvinus укажите любое желаемое имя):
adduser pingvinus
Вводим пароль для пользователя. Рекомендуется использовать сложный пароль.
Затем появится запрос на ввод дополнительной информации о пользователе. Вы можете ничего не вводить, а просто нажимать Enter на каждый запрос.
Changing the user information for username
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n]
Теперь необходимо разрешить пользователю использовать sudo, чтобы позволить ему выполнять команды с root-привилегиями. Для этого нужно добавить пользователя в группу sudo. Выполняем команду:
usermod -aG sudo pingvinus
Далее мы настроим файрволл UFW. Настройку файрвола можно производить от пользователя root. После настройки можно будет войти уже под пользователем, которого вы только что создали.
Настройка файрвола UFW
Файрвол UFW (брэндмауэр) это функциональный и в то же время очень простой в настройке файрвол, который позволяет разрешать или ограничивать доступ к вашему серверу.
Если UFW не установлен, то вы можете установить его из штатных репозиториев Ubuntu, выполнив команду:
sudo apt install ufw
Некоторые приложения создают для UFW готовые профили с настройками. Это очень удобно, так как пользователю достаточно всего лишь включить нужный профиль.
Прежде, чем включить файрвол UFW, необходимо настроить его так, чтобы он разрешал использование SSH, иначе после включения мы не сможем подключиться по SSH.
Выведем список доступных профилей:
$ ufw app list
Available applications:
OpenSSH
Нам нужно включить профиль OpenSSH. Для этого выполняем команду:
$ ufw allow OpenSSH
Rules updated
Rules updated (v6)
Включаем файрвол:
ufw enable
Скорее всего, появится следующее предупреждение, информирующее о том, что SSH-соединение может прерваться. Но так как мы разрешили использование SSH, то вводим y и нажимаем Enter.
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
Если все прошло успешно, то вы по прежнему должны будете иметь SSH доступ. Выведем текущий статус UFW:
$ ufw status
Status: active
To Action From
— —— —-
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Переключение на пользователя
- Мы выполнили необходимый минимум подготовительных работ и можно перейти к установке компонентов LAMP.
- Рекомендуем на данном шаге переключиться на пользователя, чтобы не работать от имени пользователя root.
- Чтобы переключиться на пользователя, которого вы создали, выполняем команду:
su —login pingvinus
Дальнейшую работу будем выполнять уже от имени этого пользователя, поэтому команды ниже запускаются под sudo.
Установка Apache
Чтобы установить веб-сервер Apache достаточно установить один пакет — apache2. Для установки выполняем команду:
sudo apt install apache2
После установки веб-сервер Apache автоматически запускается.
Разрешение HTTP(S) трафика в UFW
Если сейчас вы попробуете получить доступ к вашему серверу, введя IP-адрес сервера в браузере, то получите ошибку, так как UFW блокирует HTTP(S) трафик. Необходимо разрешить HTTP (порт 80) и HTTPS (порт 443) трафик в настройках UFW.
Apache во время установки создал для UFW необходимые профили. Выведем список доступных профилей:
$ sudo ufw app list
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH
Как вы можете видеть, для Apache доступно 3 профиля. Мы будем использовать профиль Apache Full, так как он разрешает HTTP и HTTPS трафик. Профиль с именем Apache разрешает только HTTP трафик, а Apache Secure только HTTPS трафик.
Можно просмотреть настройки профиля, выполнив команду:
$ sudo ufw app info «Apache Full»
Profile: Apache Full
Title: Web Server (HTTP,HTTPS)
Description: Apache v2 is the next generation of the omnipresent Apache web
server.
Ports:
80,443/tcp
Включаем профиль Apache Full в UFW для входящего трафика:
sudo ufw allow in «Apache Full»
Посмотрим статус:
sudo ufw status
Проверяем работу Apache
Мы установили Apache и разрешили использование входящего HTTP(S) трафика. Теперь можно открыть веб-браузер и набрать в адресной строке публичный IP адрес вашего сервера. То есть в строке ввода адреса перейти на: http://ip.адрес.вашего.сервера (например, http://77.555.123.123).
Должна открыться тестовая страница Apache с некоторой полезной информацией. Если страница открылась, значит Apache работает успешно.
Можно проверить текущий статус веб-сервера Apache. Для этого выполняем команду:
$ systemctl status apache2 ● apache2.service — The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: …
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: active (running) since Thu 2019-05-16 14:24:26 MSK; 46min ago
Main PID: 2281 (apache2)
Tasks: 55 (limit: 1109)
CGroup: /system.slice/apache2.service
├─2281 /usr/sbin/apache2 -k start
├─2283 /usr/sbin/apache2 -k start
└─2284 /usr/sbin/apache2 -k start
May 16 14:24:26 pingvinusru systemd[1]: Starting The Apache HTTP Server…
May 16 14:24:26 pingvinusru apachectl[2268]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using …
May 16 14:24:26 pingvinusru systemd[1]: Started The Apache HTTP Server.
Нажмите клавишу q, чтобы закрыть просмотр статуса.
Установка MySQL
Выполним установку MySQL. Выполняем команду:
sudo apt install mysql-server
Проверим статус MySQL сервера:
$ service mysql status status
● mysql.service — MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: en…
Active: active (running) since Thu 2019-05-16 15:36:30 MSK; 9min ago
Main PID: 3734 (mysqld)
Tasks: 27 (limit: 1109)
CGroup: /system.slice/mysql.service
└─3734 /usr/sbin/mysqld —daemonize —pid-file=/run/mysqld/mysqld.pid
May 16 15:36:30 pingvinusru systemd[1]: Starting MySQL Community Server…
May 16 15:36:30 pingvinusru systemd[1]: Started MySQL Community Server.
Безопасность MySQL
Воспользуемся скриптом mysql_secure_installation, который позволяет быстро выполнить некоторые важные настройки MySQL, касающиеся безопасности. Вам будет предложено ответить на несколько вопросов или ввести определенные данные.
Запуск скрипта mysql_secure_installation
Рассмотрим, процесс работы скрипта mysql_secure_installation.
Запускаем скрипт:
Источник: https://pingvinus.ru/note/lamp-install-ubuntu
Установка стека LAMP на операционную систему Ubuntu 18.04 — Установка LAMP на Linux — Help MCS
Данная статья описывает установку стека LAMP на операционную систему семейства Linux — Ubuntu 18.04.
Стек LAMP включает в себя операционную систему семейства Linux, веб-сервер Apache, систему управления базами данных MySQL и серверный язык сценариев для обработки динамического контента PHP. Все это необходимо для поддержки динамических сайтов и веб-приложений.
Требования
- Операционная система Ubuntu версии 18.04.
- Пользователь с доступом к команде sudo.
Установка и настройка веб-сервера Apache
Чтобы установить и выполнить первичную настройку веб-сервера Apache:
- Откройте окно терминала.
- Обновите списки установочных пакетов до актуальных версий, выполнив команду: sudo apt-get update
- Установите последнюю версию веб-сервера Apache и дополнительных модулей, выполнив команду: sudo apt install apache2 apache2-utils
Согласитесь с установкой веб-сервера Apache, ответив Y(es).
- Откройте конфигурационный файл apache2.conf для редактирования, выполнив команду:sudo nano /etc/apache2/apache2.conf
- В файле apache2.conf:
- В конец добавьте строку ServerName .
- Сохраните внесенные изменения, используя сочетание клавиш CTRL+O.
- Завершите редактирование, используя сочетание клавиш CTRL+X.
- Для проверки конфигурации и текущего состояния веб-сервера Apache выполните команду: sudo apache2ctl configtest
В случае отсутствия ошибок отобразится строка:
Syntax OK
- Для применения изменений перезагрузите веб-сервер Apache, выполнив команду: sudo systemctl restart apache2
- Для проверки работы веб-сервера запустите веб-браузер и в адресной строке введите IP-адрес веб-сервера.
Установка СУБД MySQL
Чтобы установить и настроить СУБД MySQL:
-
Откройте окно терминала.
-
Установите сервер СУБД MySQL, выполнив команду:
sudo apt-get install mysql-server
Согласитесь с установкой сервера СУБД MySQL, ответив Y(es).
-
Для внесения изменений в конфигурацию сервера СУБД MySQL используйте команду:
sudo mysql_secure_installation
Данная команда запускает сценарий повышения безопасности сервера СУБД MySQL. Для настройки безопасности:
- Введите пароль для учетной записи root, который был задан в начале установки сервера СУБД MySQL.
- При необходимости выполните запуск плагина валидации паролей (VALIDATE PASSWORD PLUGIN):
- Ответьте Y(es) для включения плагина валидации.
- Ответьте N(o), если валидация паролей не требуется.
- При необходимости смените текущий пароль учетной записи root:
- Ответьте Y(es) для смены текущего пароля.
- Ответьте N(o), если смена пароля не требуется.
По умолчанию пароль не задан. Рекомендуется использовать надежный пароль.
Пользователь root в данном случае относится исключительно к СУБД MySQL и не является учетной записью ОС Ubuntu.
- При необходимости удалите анонимные (anonymous) учетные записи, которые создаются при установке СУБД MySQL:
- Ответьте Y(es) для удаления анонимных учетных записей.
- Ответьте N(o), если удаление анонимных учетных записей не требуется.
Данные учетные записи предназначены только для тестирования БД и в большинстве случаев могут быть удалены.
- При необходимости запретите удаленный доступ к СУБД MySQL для учетной записи root:
- Ответьте Y(es) для отключения возможности удаленного доступа.
- Ответьте N(o) для разрешения удаленного доступа.
- При необходимости удалите тестовую базу (Test):
- Ответьте Y(es) для удаления базы Test.
- Ответьте N(o), если удаление базы Test не требуется.
Данная база создается при установке сервера СУБД MySQL и предназначена для тестирования. Удаление базы Test не влияет на работу системы.
- В ответ на запрос на внесение изменений в СУБД MySQL и перезагрузку привилегий доступа к таблицам:
- Ответьте Y(es) для внесения изменений и перезагрузки.
- Ответьте N(o), если внесение изменений и перезагрузка не требуются.
Установка PHP и дополнительных пакетов
Чтобы установить PHP и дополнительные пакеты, которые могут потребоваться для работы и настройки WordPress:
-
Откройте окно терминала.
-
Для установки PHP совместно с дополнительными пакетами используйте команду:
sudo apt-get install php libapache2-mod-php php-cli php-intl php-mysql php-curl php-gd php-soap php-xml php-zip php-readline php-opcache php-json
Чтобы выполнить установку, ответьте Y(es).
-
Убедитесь, что веб-сервер Apache корректно отображает скрипты PHP. Для этого:
- Создайте файл info.php, выполнив команду:
sudo nano /var/www/html/info.php
- В файл info.php поместите текст:
- Сохраните изменения, используя сочетание клавиш CTRL+O.
- Завершите редактирование, используя сочетание клавиш CTRL+X.
- В адресной строке браузера к адресу веб-сервера добавьте строку:
/info.php
В результате должна отобразится примерно следующая страница:
В целях безопасности после проверки системы рекомендуется удалить файл info.php, выполнив команду:
sudo rm /var/www/html/info.php
Источник: https://mcs.mail.ru/help/lamp-on-linux/lamp-ubuntu-18
Установка и настройка LAMP (web-сервера) в Ubuntu 18.04
LAMP — это сокращение, полученное по первым буквам входящих в его состав программ: Linux, Apache, MariaDB или MySQL, PHP.
А если проще говоря это пакет программ, для быстрой настройки веб сервера. Так уж получилось, что большенство сервисов устанавливаются как веб приложения и требуют установки данного программного комплекса.
Чтобы каждый раз не расписывать эту процедуру я решил написать про это отдельно для экономии сил и времени при написании следующих статей.
Установка Linux
Для начала установим чистую Ubuntu на сервер. Для этого я взял установочный образ ubuntu-18.04.1.0-live-server-amd64. Не думаю что с этим могут возникнуть проблемы. Далее далее ок готово! А вот систему лучше обновить. Подключаемся к серверу через Putty или через CMD
ssh root@IP_адрес_сервера
sudo apt update
sudo apt upgrade
Установка LAMP
Тут воспользуемся утилитой tasksel, которая позволяет установить сразу группу пакетов LAMP через пару команд.
sudo apt-get install tasksel
sudo tasksel install lamp-server
Настройка Apache2
Включим модуль mpm_prefork. Этот модуль будет использоваться для обработки запросов. Ну и mod_rewrite соответственно тоже включим.
sudo a2dismod mpm_event
sudo a2dismod mpm_worker
sudo a2enmod mpm_prefork
sudo a2enmod rewrite
Использование файлов htaccess для настроек будет возможным после того как изменим значение AllowOverride с None на All для определённых директорий (/var/www).
sudo nano /etc/apache2/apache2.conf
Как поменяли, перезапускаем Apache
sudo systemctl restart apache2
Создадим директорию для будущего сайта/сервиса, куда в дальнейшем скачаем и распакуем архив с программой
sudo mkdir -p /var/www/html/direction
Теперь переходим в новый каталог, качаем архив, устанавливаем приложение zip (если его нет), распаковываем файлы и после удалим архив.
cd /var/www/html/direction
wget -O direction.zip https://direction.com/direction.zip
sudo apt-get install zip
unzip opensupports.zip
rm -R opensupports.zip
Если это tar архив:
cd /var/www/html/direction
wget https://direction.com/direction.tgz
tar zxf direction.tgz
rm -R direction.zip
Теперь давайте нашего пользователя включим в группу, у которой будут права на редактирование этой директории
sudo groupadd webmasters sudo gpasswd -a username webmasters sudo chown -R root:webmasters /var/www/html/direction
sudo chmod 775 /var/www/html/direction
Пришло время для создания хост файла
nano /etc/apache2/sites-available/direction.conf
ServerAdmin direction@itlocate.ru ServerName direction DocumentRoot /var/www/html/direction Options FollowSymLinks AllowOverride All
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
AllowOverride All
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Теперь, если мы перейдём в /etc/apache2/sites-available/, то увидим там помимо только что созданного хост файла ещё два стандартных. Давайте их отключим, включив наш хост.
sudo a2dissite default-ssl.conf sudo a2dissite 000-default.conf sudo a2ensite direction.conf
Перезапускаем Apache.
sudo systemctl reload apache2
Настройка PHP
Включим использование шорттегов, если они отключены. Ишем параметр и изменяем его при необходимости (short_open_tag = On)
sudo nano /etc/php/7.2/apache2/php.ini
Как поменяли, перезапускаем Apache
sudo systemctl restart apache2
Настройка MySQL
Настроем бд MySQL, затем создадим пользователя и дадим ему права на базу данных. Всё что зелёным цветом — замените на свои данные.
sudo mysql_secure_installation
mysql -u root -p CREATE DATABASE database_name; GRANT ALL PRIVILEGES ON database_name.* TO username@localhost IDENTIFIED BY 'password';
exit
Теперь можно приступить к установке сервиса или CMS через браузер по IP адресу LAMP сервера.
Источник: https://itlocate.ru/blog/linux/ustanovka-i-nastrojka-lamp-(web-servera)-v-ubuntu-18.04.html