- Установка LAMP Ubuntu 16.04
- Установка Apache Ubuntu 16.04
- Установка 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
- Выводы
- Как установить стек LAMP (Apache, MySQL, PHP) на Ubuntu 20.04
- Установка Apache
- Настройка брандмауэра
- Тестовый Apache
- Установка MySQL
- Настройка безопасности MySQL
- Компонент проверки пароля (необязательно)
- Создать пароль root
- Удаление анонимных пользователей
- Отключить удаленный корневой вход в систему
- Удалить тестовую базу данных
- Перезагрузить таблицы привилегий
- Тестовый сервис MySQL
- Установка PHP
- Тест PHP в командной строке
- Тест PHP для Apache
- Настройка виртуального узла (необязательно)
- Создать каталог и index.html
- Создание виртуального хоста
- Тестовый виртуальный хост
- Редактировать файл hosts (необязательно)
- Настройка Apache (необязательно)
- Отключить список каталогов и включить AllowOverride
- Включить mod_rewrite
Установка LAMP Ubuntu 16.04
Linux — отличная платформа для создания и тестирования веб-сайтов. Учитывая, что большинство веб-серверов используют Linux в качестве операционной системы, то и тестировать сайты лучше в этой системе, с использованием тех же инструментов, даже если это домашний компьютер. Намного удобнее иметь всё под рукой и не боятся повредить сайт на сервере.
Сегодня мы поговорим о LAMP. На самом деле это не программа, это стек программ с открытым исходным кодом, необходимых для работы веб-сайтов. Название формальное и происходит от первых букв названий входящих туда программ: Linux, Apache, MySQL, PHP — а вместе LAMP, это те программы, которые нужно установить и настроить, для того, чтобы начать разрабатывать сайты или веб-приложения на домашнем компьютере. Linux — тут всё понятно, это наша операционная система, Apache — веб-сервер, MySQL — программа для управления базами данных, PHP — на данный момент самый популярный язык для веб-программирования.
В этой инструкции будет рассмотрена установка LAMP Ubuntu 16.04. Мы рассмотрим, как установить Apache 2.4, MariaDB в качестве базы данных MySQL и самую новую версию языка PHP 7. Для начала будет выполнена установка Apache Ubuntu 16.04, так как это главный компонент всей системы, а уже потом подключим к нему дополнительные компоненты.
Установка Apache Ubuntu 16.04
Apache — это кроссплатформенный веб-сервер с открытым исходным кодом. Он поддерживает все необходимые функции веб-сервера, включая CGI, SSL, и виртуальные домены.
Установить Apache в Ubuntu очень просто, для этого достаточно выполнить:
sudo apt-get install apache2
После установки добавим программу в автозагрузку:
sudo systemctl enable apache2
И запустим веб-сервер сейчас:
sudo systemctl start apache2
Теперь можно проверить, что получилось, откройте браузер и наберите в адресной строке localhost:
Как видите, установка apache ubuntu 16.04 завершена, и веб-сервер уже работает. Но это ещё не всё. Если у вас один сайт, который нужно тестить на локальной машине, то всё отлично. Но если их несколько, то собирать их все в подпапках веб-сервера не совсем удобно, да и не все движки нормально относятся к этому. Потому давайте рассмотрим, как настроить виртуальные хосты.
Создайте новую папку для нашего виртуального хоста:
Источник
Установка 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. Как видите, это не очень сложно и с такой задачей может справиться даже новичок. Если у вас остались вопросы, оставляйте их в комментариях!
Источник
Как установить стек LAMP (Apache, MySQL, PHP) на Ubuntu 20.04
В этом руководстве мы установим стек LAMP (Linux, Apache, MySQL, PHP) на Ubuntu 20.04 и настроим веб-сервер.
Установка Apache
Первый компонент вашего стека LAMP в Ubuntu 20.04 – Apache.
Начните с обновления списков пакетов и установки Apache. Нажмите y и ENTER, когда вас попросят продолжить. Команда:
Установка может занять несколько минут.
Настройка брандмауэра
Настоятельно рекомендуется настроить брандмауэр для обеспечения дополнительной безопасности вашего LAMP-стека в Ubuntu 20.04.
Мы начнем с добавления правила брандмауэра для SSH. Вы же не хотите получить блокировку при включении брандмауэра, когда настраиваете сервер удаленно?
Сообщение об ошибке «ERROR: could find a profile matching openSSH» означает, что вы не настраиваете сервер удаленно. Можно игнорировать.
Теперь мы можем добавить правила брандмауэра для Apache:
Теперь включите брандмауэр:
Нажмите y, если вы видите сообщение «Command may disrupt existing ssh connections».
Если брандмауэр был активирован правильно, вы должны увидеть сообщение «Брандмауэр активен и включен при запуске системы».
Вы также можете проверить текущее состояние брандмауэра с помощью:
Ниже мы видим, что брандмауэр активен и имеет два правила для каждой службы. v6 это сокращение от IPv6.
Тестовый Apache
Чтобы узнать, правильно ли установлен Apache на Ubuntu 20.04, мы можем проверить текущее состояние службы:
Если он включен и работает, вы должны увидеть зеленое активное состояние.
Если вы получаете следующую ошибку о полном доменном имени, вы можете игнорировать ее:
Возможно, вам придется нажать кнопку q для выхода из проверки состояния сервера при использовании SSH-клиента.
Теперь, когда служба Apache запущена, вы имеете возможность просмотреть тестовую веб-страницу Apache через свой веб-браузер.
Введите IP-адрес вашего сервера в адресную строку и нажмите ENTER.
Все готово! Вы можете найти страницу приветствия Apache в папке /var/www/html. Чтобы отредактировать этот файл, необходимо ввести:
Нажмите CTRL+X, чтобы выйти из текстового редактора nano.
Если у вас есть доменное имя, вы можете указать его в IP-адресе вашего сервера без дальнейшей настройки, так как Apache должен загрузить эту страницу по умолчанию. Но если вы хотите разместить несколько доменов на своем сервере или настроить SSL-сертификаты с помощью Let’s Encrypt, вам следует настроить виртуальный хост (инструкция будет в конце этого руководства).
Установка MySQL
Следующий компонент вашего стека LAMP на Ubuntu 20.04 – MySQL.
Начните с обновления репозиториев и установки пакета MySQL. Нажмите y и ENTER при появлении запроса на установку.
После завершения установки пакета мы можем проверить, работает ли служба MySQL:
При запуске вы увидите зеленый активный статус:
Возможно, вам придется нажать кнопку q, чтобы выйти из состояния службы, если вы используете SSH-клиент.
Настройка безопасности MySQL
Теперь вы должны запустить mysql_secure_installation, чтобы настроить безопасность для вашего сервера MySQL на Ubuntu 20.04.
Компонент проверки пароля (необязательно)
Вас спросят, хотите ли вы настроить плагин проверки пароля. Если вы по какой-то причине не хотите применять строгую политику паролей, эта настройка не нужна.
Нажмите ENTER, если не хотите настраивать плагин проверки пароля.
Создать пароль root
Если вы еще не создали пароль root для MySQL, вы должны создать его сейчас.
Создайте надежный пароль и введите его. Обратите внимание, что при вводе паролей в Linux ничего не отображается (никаких звездочек или точек тоже не будет).
Удаление анонимных пользователей
Далее вам будет предложено удалить анонимных пользователей.
Нажмите y и ENTER, чтобы удалить анонимных пользователей.
Отключить удаленный корневой вход в систему
Нажмите y и ENTER, чтобы удаленно запретить вход в систему root.
Удалить тестовую базу данных
Нажмите y и ENTER, чтобы удалить тестовую базу данных.
Перезагрузить таблицы привилегий
Нажмите y и ENTER, чтобы перезагрузить таблицы привилегий.
Все готово! Основная настройка MySQL завершена.
Тестовый сервис MySQL
Компонент MySQL вашего стека LAMP на Ubuntu 20.04 готов к работе.
Вы должны войти в систему сервера MySQL, чтобы убедиться, что она работает правильно. Поскольку вы запускаете эту команду как sudo, она автоматически войдет в MySQL, используя корневую учетную запись. Если вам будет предложено ввести пароль, введите пароль своей учетной записи Linux, а не MySQL.
Вы увидите подобную информацию:
Чтобы выйти из MySQL, введите exit и нажмите ENTER.
Вы успешно установили и настроили MySQL для вашего стека-«фонаря» на Ubuntu 20.04!
Установка PHP
Последним компонентом вашего стека LAMP на Ubuntu 20.04 является PHP.
Начните с обновления репозитория и установки пакета PHP. Мы также установим пакеты libapache2-mod-php и php-mysql, которые позволят PHP взаимодействовать с базой данных MySQL.
Нажмите y и ENTER при появлении запроса на установку пакета PHP.
Тест PHP в командной строке
После завершения установки пакета мы можем протестировать PHP в командной строке.
Если PHP установлен правильно, вы должны увидеть нечто подобное:
Видите? Тогда все отлично!
Тест PHP для Apache
Теперь давайте протестируем PHP для Apache.
Создайте новый файл с именем info.php в корневом каталоге документа.
После открытия редактора nano введите следующий PHP-код:
Нужно сохранить и выйти из документа (нажмите CTRL+X, Y и затем ENTER).
Теперь мы можем загрузить этот файл в браузере, перейдя по http://your_ip/info.php или http://example.com/info.php.
Ниже мы видим, что страница info.php работает правильно.
После того как вы подтвердили, что PHP работает правильно, важно удалить info.php, поскольку он содержит информацию, которая может быть полезна хакерам.
Если вы планируете загружать файлы размером более 2 Мб через WordPress или аналогичный движок, нужно будет изменить файл конфигурации PHP и установить максимальный размер загрузки.
Установка стека LAMP на Ubuntu 20.04 завершена! Если вы хотите настроить виртуальные хосты или дополнительную конфигурацию для Apache, читайте далее.
Мало кто знает, но LAMP на VDS можно установить автоматически. Такую услугу предоставляет хостинг-провайдер Timeweb. Все просто:
- Выберите тариф VDS.
- Оплатите его.
- При настройке сервера отметьте Ubuntu 20.04 и стек LAMP.
Через пару минут ваш сервер будет полностью готов к работе!
Настройка виртуального узла (необязательно)
Если вы хотите разместить несколько доменов на своем ламповом сервере Ubuntu 20.04 или настроить SSL-сертификаты с помощью Let’s Encrypt, вам понадобится виртуальный хост.
Если у вас пока нет доменного имени, вы можете обмануть свою ОС (Linux/Mac/Windows), чтобы разрешить перенаправление домена на IP-адрес вашего сервера с Ubuntu 20.04. Подробнее об этом поговорим далее
Создать каталог и index.html
Создайте новый каталог /var/www/ для вашего домена (замените mydomain.com на собственный).
Создайте index.html файл для тестирования:
Сохраняем изменения и выходим (нажмите CTRL+X, Y и затем ENTER).
Создание виртуального хоста
Чтобы создать файл конфигурации виртуального хоста, замените mydomain.com на собственный домен.
Введите замену mydomain.com:
Сохраняем и выходим (CTRL+X, Y и ENTER)
Проверим наличие ошибок:
Вы можете игнорировать любую ошибку, в которой присутствует подобное сообщение: «Не удалось надежно определить полное доменное имя сервера».
Включите замену виртуального хоста mydomain.com (снова нужно указать собственный домен):
Отключите Apache по умолчанию, иначе он переопределит ваш виртуальный хост:
Далее надо перезапустить Apache.
Тестовый виртуальный хост
Если у вас нет зарегистрированного доменного имени, вы можете перейти к следующему шагу, чтобы обмануть ОС и перенаправить любой URL на ваш сервер.
Теперь вам нужно перейти в настройки DNS вашего регистратора домена и указать А-запись для домена на IP-адрес вашего сервера Ubuntu 20.04 с LAMP. Как только запись станет активной (обычно это занимает от 24 до 48 часов), вы сможете увидеть тестовую страницу в браузере.
Чтобы добавить больше доменов, просто повторите шаги, указанные выше.
Редактировать файл hosts (необязательно)
Если у вас нет ни одного зарегистрированного домена и вы просто хотите загрузить mydomain.com (или другой адрес) в вашем браузере в качестве теста, можно отредактировать файл hosts в операционной системе, чтобы перенаправить этот домен на ваш сервер Ubuntu 20.04 с LAMP.
Чтобы отредактировать файл hosts в Linux или Mac, запустите sudo nano /etc/hosts в терминале. Как только файлы hosts будут открыты, введите IP-адрес вашего сервера Ubuntu 20.04, а затем доменное имя, которое вы хотите разрешить для этого IP.
Замените x.x.x.x на IP-адрес вашего веб-сервера.
Узнать IP-адрес вашего сервера можно с помощью команды:
После сохранения файла hosts в браузере откроется доступ к вашему серверу по адресу mydomain.com (или иному URL).
Настройка Apache (необязательно)
Теперь, когда у вас есть Apache, обслуживающий веб-страницы на вашем Ubuntu 20.04, могут потребоваться дополнительные настройки конфигурации.
Отключить список каталогов и включить AllowOverride
Apache по умолчанию будет перечислять содержимое ваших каталогов без индексов (index.html, index.РНР). Это угроза безопасности, поскольку она позволяет хакерам просматривать ваш веб-сервер в поисках сценариев.
Вы также обнаружите, что .htaccess по умолчанию в Apache будет игнорироваться. Если понадобится .htaccess, вы можете включить его, изменив файл конфигурации Apache.
Откройте файл конфигурации:
Нажмите CTRL + W и найдите .
Блок должен выглядеть примерно так:
Удалите Indexes, чтобы остановить список каталогов Apache, и измените AllowOverride None на AllowOverride All, чтобы включить .htaccess. Теперь это должно выглядеть так:
Сохраняем и выходим (CTRL+X, Y, ENTER).
Далее перезапускаем Apache.
Включить mod_rewrite
Если вы хотите настроить некоторые правила .htaccess, вам, скорее всего, придется включить mod_rewrite.
Далее нужно перезапустить Apache.
На этом полная установка и настройка стека LAMP завершена.
В скором времени ждите материал по установке phpMyAdmin. Всех с наступающим!
Источник