lamp server что это

И снова о… LAMP и базово защищённый мини-хостинг своими руками

lamp server что этоУвидев в очередной раз презренный посыл в Google в ответ на вопрос о том, как развернуть собственную LAMP’у, решил написать данный пост. Чтобы хоть как-то разбавить тонны радостных отчётов об успешной установке из блогов, суть которых сводится к одной команде aptitude install blah-blah.

Нет, ну конечно понятно, PHP самый надёжный язык, а все движки сайтов, на нём написанные, являются живым воплощением непробиваемой защиты от взлома. Тогда да — aptitude install apache2 — и будет вам счастье. Не забудьте оставить phpmyadmin по дефолтному адресу, да поставьте какое-нибудь дырявое FTP решето.

Вообще, как оказалось, многие даже не в курсе, что взломав сайт и получив возможность исполнять свой PHP код, злоумышленник на системе с дефотными настройками сможет как минимум прочитать в вашей системе почти что угодно. Оно и понятно — работая с Linux привыкаешь как-то, что по дефолту безопасность находится на вполне достаточном уровне. А тут такая дыра…

В общем — в этой статье в очередной раз описывается банальщина на тему как развернуть LAMP и дать доступ внешним пользователям к файлам и базам ваших сайтов. Т.е. как быстро сделать мини-хостинг своими руками. Однако, в отличие от, хостинг у нас будет хотя бы базово защищённым.

Те, кому тема веб-серверов надоела, возможно смогут найти в статье интересные приёмы многопользовательского ограниченного доступа к серверу по SFTP.

И нет, это не ещё одна статья с описанием установки Linux и выполнением aptitude install apache2. Скорее наоборот: в этой статье я хотел показать фатальную недостаточность данных манипуляций и мягко говоря некомпетентность тех, кто их тиражирует в интернете.

Установка

Всё будет описано на примере Debian.

Для начала нужно установить всё необходимое (кстати, для Ubuntu phpMyAdmin лучше ставить из PPA):

При установке phpMyAdmin генерируем произвольный пароль для подключения к БД, в остальном всё очевидно.

Как это будет работать

Все пользователи, которым нужно получить доступ к файлам на сервере, будут иметь локальную учётную запись с возможностью захода только по SFTP и только в папку с принадлежащими им сайтами. При этом будет поддерживаться авторизация как по паролю, так и по ключу. Интерактивный же вход по SSH будет невозможен, хотя если очень надо — его можно будет включить, причём тоже с закрытым доступом к системным файлам.

Никакого FTP не будет, хотя его и возможно легко прикрутить. SFTP надёжней (шифрование, возможность авторизации по ключу), а FTP в данном случае элементарно избыточен и является достаточно большой потенциальной дырой в безопасности.

Каждый сайт будет принадлежать некоему ‘аккаунту’, т.е. под одним ‘аккаунтом’ может быть несколько сайтов. К этим ‘аккаунтам’ привязываются SFTP пользователи, причём никто не мешает к одному ‘аккаунту’ привязать несколько пользователей. Дальше, внутри ‘аккаунта’, всё можно будет разрулить стандартными механизмами прав доступа в Linux.

Пользователи и пароли от БД никак не будут зависеть от системных пользователей, управление БД будет происходить через стандартный phpMyAdmin.

Кроме всего прочего сайты, работающие на вашем сервере, не смогут вылезти за пределы своего рабочего каталога и прочитать или изменить какие-нибудь данные, к ним не относящиеся.

Немного подробней про структуру

Все сайты будут лежать в каталогах вида /var/www/ACCOUNT/sites/SITENAME. ACCOUNT тут не обязательно означает какого-то системного пользователя, просто некий произвольный идентификатор.

У системных пользователей, которые будут подключаться по SFTP для редактирования сайтов, в качестве домашней директории будет установлено /var/www/ACCOUNT/home/USERNAME. Соответственно в зависимости от значения ACCOUNT тот или иной пользователь будет иметь доступ к тому или иному аккаунту. Создание каталога home внутри аккаунта нужно для того, чтобы иметь возможность авторизовывать SFTP пользователей по ключам.

Для всех пользователей SFTP основной группой будет установлена www-data (дефолтная группа Apache2 в deb-based). Кроме этого, все создаваемые как пользователем по SFTP, так и Apache, файлы по умолчанию будут иметь права 0660, а каталоги — 0770. Поскольку у Apache и SFTP пользователя одна и та же группа, то по-умолчанию в любой новый файл или каталог сможет писать как пользователь, так и веб-сервер, вне зависимости от того, кто его создал. Что обычно и требуется.

Базы же будут использовать свой, полностью отдельный механизм авторизации и контроля доступа. Тут всё крайне просто: создаём пользователей и даём им права только на конкретные базы. Поэтому к этому вопросу возвращаться больше не будем.

Создание ‘аккаунтов’ и системных пользователей

Размещение сайта на сервере стоит начать с подготовки места под него и создания пользователя для работы с ним. Как описано выше, для сайта нам нужна папка вида /var/www/ACCOUNT/. В качестве ACCOUNT задействуем для примера 42. Просто 42. Ок, создаём папку:

Кроме этого внутри аккаунта нам нужны каталоги home/USERNAME и sites. Создаём их:

Для будущей настройки SFTP сразу стоит убедиться, что и /var/www/42/sites, и все нижестоящие папки принадлежат root:root и ни у кого, кроме root, нет прав на запись в них.

Дальше создаём пользователя. Чтобы не путаться с обычными, полноценными пользователями сервера, SFTP пользователей можно перенести в диапазон UID от 901 до 999. Если вам это не надо — уберите соотв. параметры. Если вы хотите авторизовываться только по ключу, то добавьте параметр —disabled-password. В итоге команда такая:

Установка шелла в /bin/false гарантирует нам, что пользователь никак не сможет интерактивно зайти в систему.

Настройка SFTP

Настройка SFTP будет заключаться в том, что для всех членов группы www-data мы сделаем так, чтобы при заходе по SFTP они попадали сразу в папку sites ‘аккаунта’, в котором находится их HOME директория, без возможности выбраться выше по дереву каталогов.

Делается это просто. Достаточно в конец файла /etc/ssh/sshd_config дописать код

И ткнуть sshd для обновления конфигурации:

Этот кусочек кода для всех пользователей из группы www-data, во-первых, отключает TCP и X11 форвадинг (им незачем иметь доступ в вашу локалку). Во-вторых делает для них при заходе chroot в sites папку их ‘аккаунта’ (именно для этого нам нужно было делать sites папки доступными для записи только для root — иначе не работает chroot). Ну и в третьих меняет им обработчик SFTP на встроенный (которому не нужно полноценное окружение с шеллом и прочим), попутно говоря ему создавать все файлы и папки со значение umask в 007. То есть права по умолчанию на новые файлы будут 0660, а на каталоги — 0770.

Настройка Apache и phpMyAdmin

Как-либо специфично настраивать Apache для обеспечения базовой работы не нужно. Единственное, что в Debian пакет PHP5 идёт с интегрированным патчем Suhosin, повышающим безопасность. Он будет необходим при настройке конфигов сайта, хотя вполне можно обойтись и без него.

А так в целом для Apache нужно лишь изменить umask для создаваемых файлов и папок на такой же, который мы использовали для настройки SFTP. Делается это путём добавления в /etc/apache2/envvars строчек:

Для минимальной настройки phpMyAdmin нужно лишь поменять адрес, по которому он будет доступен, с неприлично бестолкового your.site/phpmyadmin на что-то другое. Для этого в файле /etc/phpmyadmin/apache.conf нужно заменить строчку

Не забывайте перезапускать Apache:

Добавление сайтов

Для добавления сайтов на ваш хостинг нужно сделать две вещи — во-первых, разместить файлы сайта с нужными правами на вашем сервере, а во-вторых создать конфиг апача для сайта. Кроме этого чаще всего потребуется создать БД и настроить права доступа к ней — но это тривиальная операция, поэтому рассматривать её не будем.

Для размещения файлов нужно из-под root создать каталог сайта в папке нужного ‘аккаунта’. Например:

Дальше выставить желаемые права. Как минимум у SFTP пользователя, который будет работать с этим каталогом, должны быть права на запись. К примеру, можно сделать так:

Ок, теперь пользователь может зайти и залить файлы сайта. Осталось настроить апач. Для этого, как всегда, создаём файл настроек в директории /etc/apache2/sites-available. Содержимое этого файла для сайта deep-thought.net с данными в каталоге /var/www/42/sites/deep-thought.net должно быть примерно таким:

Немного про temp: поскольку мы запрещаем PHP обращаться к файлам вне корневой директории сайта, то нам нужно указать каталог для сохранения временных файлов (файлов, загружаемых пользователями сайта на сервер через стандартный механизм загрузки из HTML формы) и файлов сессий внутри корня сайта. Каталог этот нужно, естественно, предварительно создать. Кроме этого лучше бы явно закрыть к нему доступ из интернета, что и сделано во втором блоке Directory. Иначе кто-нибудь может невзначай получить сессии ваших пользователей.

Если на сервере не установлен Suhosin, то вместо suhosin.executor.func.blacklist можно использовать стандартную опцию PHP disable_functions. Правда её нужно указывать в php.ini, т.е. она будет действовать на все сайты на вашем сервере.

Кроме этого в приведённых выше настройках не отключена функция eval. Увы, многим сайтам она зачем-то нужна, хотя всё же лучше её отключать. Обратите внимание на опции suhosin.executor.disable_eval и suhosin.executor.disable_emodifier всё того же Suhosin.

После того, как вы подготовите нужный вам конфиг, просто активируйте сайт:

И не забудьте пнуть апач:

Ну и конечно нужно залить файлы и базу данных сайта на сервер — без них вряд ли что-то заработает.

Тюнинг SSH: ключи и интерактивный вход

Для доступа пользователей SFTP по ключам нужно сделать всё тоже, что делается всегда: внутри HOME каталога создать директорию .ssh/, в ней файлик authorized_keys, в который прописать публичный ключи для пользователя.

Кроме этого, можно некоторым пользователям открыть интерактивный доступ на сервер. Для этого нужно, во-первых, подготовить в корневой папке соответствующего ‘аккаунта’ нужное chroot окружение, как минимум с интерпретатором и всеми необходимыми виртуальными ФС. Делается это стандартно и ничего сложно в этом нет.

Дальше можно создать дополнительную группу для интерактивного входа. Например, ssh-interactive:

Добавить в неё нужных пользователей, попутно сменив им SHELL на полноценный bash:

И прописать для этой группы специфические настройки в sshd_config. Для этого нужно модифицировать директиву Match, относящейся к www-data, дописав к ней !ssh-interactive, дабы она не распространялась на пользователей этой группы:

И после неё добавить ещё одну директиву Match:

Проблема только в том, что для членов группы ssh-interactive umask больше не будет выставляться в 007. Исправить это можно дописав соответствующий параметр в глобальных настройках подсистемы sftp в sshd_config. Кстати, вряд ли вы захотите перетаскивать компоненты openssh в chroot окружение, так что можно заодно сменить внешний обработчик sftp на внутреннюю реализацию:

В заключение

Меня всегда интересовал вопрос — а нет ли где-нибудь на официальных ресурсах полного списка с описанием всех PHP функций, которые так или иначе могут дать доступ скрипту к компонентам и файлам системы. Приведённый выше список честно взят из интернета, так что если кто поделится ссылочкой на списочек функций — буду премного благодарен.

Ну и да — если есть какие-то комментарии по поводу того, что ещё минимально можно сделать для обеспечения безопасной работы простейшего хостинга — пишите.

Источник

Повышаем безопасность стека web-приложений (виртуализация LAMP)

От переводчика:
Автор оригинального цикла статей на редкость немногословен и трудночитаем. Мы постараемся сохранить его лаконичность там, где это возможно и добавим разъяснений, где автор сам плохо понимает, что он хочет сказать. Перевод допускает ряд отступлений от принятых в профессиональной среде терминов и устойчивых выражений. Переводчик просит проявить снисхождение к подобным случаям в форме личных сообщений, если обнаруженное затрудняет понимание текста и обнажает невежественность писавшего.

LAMP: Типовая и дробная установки

Скорее всего, ваше решение, построенное на базе одного выделенного или виртуального сервера, выглядит следующим образом:

Что случится в случае если, скажем, будет скомпрометирован web-сервер Apache? Злоумышленник получит доступ к вашей базе данных, кэш-памяти и, так же, к другим элементам системы или сети. В таком случае вам необходимо разделить службы сервера следующим образом:

Роли каждой виртуальной машины / сервера:

Ниже приводится детальная информация о назначении машин. WordPress-блог, сайт на базе Drupal или же приложение «на заказ», размещенные на подобных серверах, могут легко обслуживать миллионы хитов в месяц.

lamp server что это

Как это работает?

Давайте посмотрим, как работает наша система с реверс-прокси сервером. В этом примере я размещу прокси и HTTP сервера до брандмауэра. (см. рис. 1). Веб-сайт www.example.com будет размещаться по статическому IPv4-адреу 202.54.1.1, который закрепляется за устройством eth0. Внутренний IP 192.168.1.1 назначается устройству eth1. Это узел нашего реверс-прокси сервера. Остальные сервера — внутри локальной сети и не могут быть доступны напрямую через Интернет.

lamp server что это

Правилами аппаратного или программного (OpenBSD/Linux) брандмауэра узла 202.54.1.1 разрешается доступ лишь к портам 80 и 443. Все остальные порты – заблокированы. На каждом узле VM также работают iptables и доступ разрешен только к необходимым портам. Ваш обратный прокси-сервер определяет пул HTTP-серверов следующим образом:

Apache и Lighttpd сервера получают доступ к файлам через NFS сервер, настроенный на vm05. Web-сервер Apache настроен для работы с PHP. Наши PHP приложение настроено для подключения к серверу БД, размещенному на vm04. Наше PHP приложение используют vm03 в качестве кеша SQL посредством использования Memcached сервера.

Примечание: Вы можете также поместить реверс-прокси сервер на DMZ, а HTTP и другие сервера – за брандмауэром для повышения безопасности. Но это увеличит стоимость проекта.

Хватит говорить, покажи мне процесс настройки серверов

Большинство перечисленных в этой заметке действий, пишутся с предположением, что они будут выполнены root-пользователем в bash-консоли CentOS 6.x/Red Hat Enterprise Linux 6.x. Тем не менее, вы можете легко копировать настройки на любой другой *NIX подобные операционные системы.

Источник

Личный опыт настройки LAMP

Приветствую всех habr’овчан! Это моя первая статья, поэтому прошу отнестись с пониманием. Хочу рассказать как я случайно получил в руки материнскую плату от ноутбука, еще пару комплектующих и решил попробовать сэкономить на хостинге и сделать некий «сервер» для моего сайта, которого еще нет 🙂

lamp server что этоВот такой device у меня получился

Кратко о характеристиках:

Процессор: Intel Atom processor E3800

Память: 2 Gb soDIMMM DDR3

Устройство хранения: FoxLine 8Gb HalfSlim SATA SSD

Realtec RTL810xE Fast Ethernet controlle 100 Mbit

Realtec RTL8723BE PCIe Wireless Network Adapter

Установка Debian 11

Для начала я скачал iso-образ Debian 11, затем скачал Rufus и создал загрузочную флешку. Описывать особенно нечего, программа интуитивно понятная: просто выбираем образ для записи, выбираем носитель, но который этот образ писать и нажимаем start.

lamp server что это

lamp server что этопрошу прощения за качество картинки

Я нашел карту SD и, записав на нее требуемый файл (сслыка на rtl8723befw_36.bin), нажал yes. Теперь будет работать wi-fi модуль. После этого выпадает окно с выбором сетевого адаптера, который будет нами использоваться. Я выбрал wi-fi.

Далее задал имя хоста (debian), имя домена (lan), пароль root, полное имя пользователя (Nikolai Kutuzov), имя учетной записи (nikkutuzov), пароль учетной записи, часовой пояс.

lamp server что это

На запрос об установке Grub даю положительный ответ, выбираю диск, на который его установить. На следующем экране вижу сообщение об окончании установки, нажимаю continue и после перезагрузки вижу:

lamp server что это

Настройка Wi-Fi

Во время установки я подключился к своей wi-fi сети, но после перезагрузки подключения нет. Первым делом ЛОКАЛЬНО логинимся под root’ом и выполняем команду:

lamp server что это

Ограничим права пользователей на файл для защиты ключа (pre-shared key) (PSK):

# chmod 0600 /etc/network/interfaces

«auto» подключит интерфейс wlp4s0 при запуске системы. Если этого не требуется, можно удалить или закомментировать эту строку.

lamp server что это

Для статического адреса исползуется слово static:

lamp server что это

Настройка sudo

После перезагрузки будет доступен вход через ssh, чем я и воспользуюсь. Я покажу на примере MacOS, потому что сам пользуюсь именно этой системой. Я думаю, что на остальных системах подключение по ssh не станет проблемой.

После установки набрал команду:

lamp server что это

Перехожу на строчку после root ALL=(ALL:ALL) ALL и пишу там nikkutuzov ALL=(ALL:ALL) ALL, где вместо nikkutuzov укажите имя своего пользователя.

lamp server что это

Сохраняю изменения в файле (ctrl+o), выхожу из nano (ctrl+x) и переключаюсь с root на своего пользователя:

lamp server что это

Настройка FTP

Чтобы настроить FTP выполняю следующие команды. Кстати, теперь можно ощутить всю прелесть sudo. Воспользуюсь установленным ранее sudo:

$ sudo systemctl status vsftpd

lamp server что это

Теперь создам уникального пользователя для ftp:

$ sudo adduser ftpuser

Добавляю созданного пользователя FTP в список разрешенных пользователей для входа:

Создам и назначу соответствующие права доступа к каталогу и права собственности:

lamp server что это

Потребовалось еще несколько манипуляций для окончательной настройки. Для этого немного поправил файл конфигурации, предварительно установив vim:

$ sudo vim /etc/vsftpd.conf

Я не буду перечислять каждую строку отдельно, а лучше покажу на скриншотах, что нужно раскомментировать, что изменить и что добавить. Если кто-то захочет повторить мой опыт или просто взять часть информации, я буду только рад, но эта статья не является руководством.

lamp server что это lamp server что это lamp server что это

Перезапустил службу и проверил ее статус:

lamp server что это

lamp server что это

Настройка mariadb

Следующим этапом была настройка базы данных. Я использую mariadb. Её установка производится простой командой:

lamp server что это

После установки нужно выполнить скрипт первоначальной настройки:

Вся предварительная настройка сводится к нескольким ответам:

Ввести пароль root для текущей базы данных (не путать с root’ом системы!). Он пустой, поэтому просто нажимаю enter;

На предложение установить пароль root’а нажимаю n. Дело в том, что в Debian учетная запись root для mariadb тесно связана с автоматизированным обслуживанием системы, так что мы не должны менять этот пароль. Позже я настрою дополнительную учетную запись для доступа через пароль;

На вопрос об удалении анонимных пользователей отвечаю «y»;

На запрет подключения под root’ом удаленно отвечаю «y»;

Наконец, сохраняем изменения, ответив на последний вопрос «y».

lamp server что это

Теперь, как я говорил в пункте 3, настраиваю дополнительную учетную запись для входа под паролем:

lamp server что это

Установка и настройка php и phpMyAdmin

В дальнейшем потребуется создание базы данных и пользователя для нее. Самый удобный способ по моему мнению это phpMyAdmin, его и установим. Для начала нужно установить несколько пакетов:

Потом поправить файл:

$ sudo vim /etc/apache2/mods-enabled/dir.conf

Он должен выглядеть вот так:

lamp server что это

Записываем изменения в файле и перезапускаем apache:

lamp server что это

Во время установки откроется несколько окон настройки, делаем все как на скриншотах (пароль я установил такой же как и при настройке дополнительного пользователя mariadb):

lamp server что это lamp server что это lamp server что это lamp server что это

Проверяем сначала apache, он должен был работать с самого начала без какой-либо настройки, для этого в строке браузера набираем ip-адрес нашего «сервера», в моем случае 192.168.1.111:

lamp server что это

lamp server что это

lamp server что это

Также будет описан способ настройки виртуальных хостов, получение сертификата для будущего сайта (бесплатно!) и установка wordpress. Информации получилось много, возможно, нужно было разбить на несколько частей, но получилось как получилось.

Источник

Установка LAMP в Ubuntu 20.04

В этой статье мы рассмотрим, как установить LAMP Ubuntu 20.04 несколькими способами: с помощью утилиты tasksel и вручную с помощью пакетного менеджера.

Установка LAMP в Ubuntu 20.04

1. Установка пакетов LAMP с помощью утилиты tasksel

Утилита tasksel позволяет устанавливать наборы пакетов различных программ буквально в одну команду. Она разработана для Debian, но может использоваться и в Ubuntu. Для её установки выполните в терминале команду:

lamp server что это

Далее, чтобы установить Lamp на Ubuntu, достаточно выполнить команду:

sudo tasksel install lamp-server

Установка займёт определенное время, так как утилите необходимо скачать все необходимые пакеты. После завершения установки вы получите полностью работающий стек LAMP.

lamp server что это

2. Установка пакетов LAMP вручную

Если вы не хотите использовать tasksel, вы можете установить все пакеты по отдельности из стандартных репозиториев и настроить их для совместной работы.

Для начала необходимо установить веб-сервер Apache2:

lamp server что это

Далее необходимо установить СУБД MySQL:

lamp server что это

Установка интерпретатора языка программирования PHP и расширений, необходимых для его работы с Apache и MySQL:

lamp server что это

На момент написания статьи актуальной версией PHP в официальных репозиториях Ubuntu считалась версия 7.4. Самая же последняя официальная версия PHP от разработчиков 8.0.9 по состоянию на 29 июля 2021 года.

Также необходимо установить дополнительные расширения для языка PHP, которые понадобятся для создания будущих проектов и их дальнейшей публикации на хостинг:

lamp server что это

3. Настройка брандмауэра

По умолчанию брандмауэр закрывает все неразрешённые входящие подключения. Поэтому, чтобы к вашему веб-серверу можно было получить доступ извне, необходимо добавить его порт в исключения:

sudo ufw allow in 80/tcp

lamp server что это

4. Проверка работы LAMP

Для начала необходимо убедиться, что веб-сервер Apache и СУБД MySQL успешно запустились и при необходимости запустить их. Смотрим статус apache, выполнив команду в терминале:

sudo systemctl status apache2

lamp server что это
В разделе Active должно быть active (running). Те же самые действия необходимо сделать для проверки MySQL:

sudo systemctl status mysql

lamp server что это

Если в статусах вместо active будет inactive (dead), то сервисы необходимо запустить вручную:

sudo systemctl start apache2
sudo systemctl status mysql

lamp server что это

lamp server что это

Для проверки наберите в адресной строке браузера IP-адрес сервера, куда вы устанавливали LAMP, в качестве примера выбран localhost:

lamp server что это

Если при открытии вы увидели страницу, которая изображена на скриншоте выше, это означает что веб-север apache успешно запущен и работает. Теперь необходимо проверить правильно ли работает PHP. Создайте файл в директории /var/www/html при помощи следующей команды:

sudo vi /var/www/html/phpinfo.php

Вместо vi можно использовать любой другой текстовый редактор на ваш выбор (nano, emacs, gedit и др.).
В файл phpinfo.php впишите следующую команду:

lamp server что это

Далее откройте адрес localhost/phpinfo.php в браузере. Если всё работает, вы должны увидеть страничку, которая изображена ниже на скриншоте:

lamp server что это

Также можно проверить, работает ли интеграция с СУБД MySQL. Если расширение PHP для MySQL установлено, то на странице с phpinfo будет размещен блок с информацией:

lamp server что это

На данном этапе процесс проверки пройден успешно. Далее мы перейдем к настройке стека 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

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 и замените на:

lamp server что это

Вывод ошибок в PHP по умолчанию отключён. Если вы хотите разрабатывать программы на этом сервере, то вам необходимо включить ошибки, иначе вместо ошибок вы будете видеть пустой экран. Для этого найдите эти строки и приведите их к такому виду:

error_reporting = E_ALL
display_errors = On

lamp server что это

После внесения всех изменений необходимо перезапустить Apache:

sudo systemctl restart apache2

7. Настройка MySQL

По умолчанию MySQL не очень хорошо настроена в плане безопасности. Необходимо задать пароль суперпользователя и удалить гостевой доступ. Для выполнения всех этих задач запустите в терминале следующую команду:

lamp server что это

На первом этапе утилита спросит вас необходимо ли включить компонент для валидации (проверки) паролей. Данный плагин проверяет надежность вашего пароля. Если вы решите настроить данный плагин, то сценарий предложит выбрать уровень проверки пароля. Наивысший уровень можно включить, нажав 2. Если данный плагин включать не требуется, введите No и далее нажмите на enter для перехода к следующему шагу. Следующим шагом утилита попросит вас ввести пароль суперпользователя, так как он ещё не задан, введите пароль, нажмите enter и введите пароль еще раз:

lamp server что это

Во всех следующих вопросах нужно отвечать утвердительно путем ввода y/Y или Yes:

lamp server что это

Готово, теперь ваша база данных защищена и готова к работе. Для того, чтобы войти в оболочку MySQL введите следующую команду:

Введите пароль пользователя root, который вы задали на этапе запуска mysql_secure_installation.
Не перепутайте пароль от пользователя root который присутствует в операционной системе Ubuntu и пользователя root в MySQL. Это разные пользователи, соответственно вы должны вводить пароль именно к учетной записи root, которая присутствует в MySQL.

lamp server что это

На этом настройка LAMP Ubuntu 20.04 завершена.

8. Как удалить LAMP в Ubuntu

Чтобы полностью удалить LAMP из системы, достаточно удалить все пакеты, которые вы установили ранее:

Команда purge позволяет удалить не только пакеты, но и их конфигурационные файлы. Если вы хотите оставить конфигурационные файлы, используйте команду remove.

Выводы

В этой статье мы разобрали, как выполняется установка LAMP Ubuntu 20.04. Как видите, это не очень сложно и с такой задачей может справиться даже новичок. Если у вас остались вопросы, оставляйте их в комментариях!

Источник

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

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