Установка LAMP: различия между версиями

Материал из Википедия Maze-Host.Ru
Строка 41: Строка 41:
; CentOS<nowiki>:</nowiki>
; CentOS<nowiki>:</nowiki>
: /etc/httpd/conf/httpd.conf
: /etc/httpd/conf/httpd.conf
=== Установка сервера баз данных (MariaDB) ===
MariaDB — сервер баз данных с открытым исходным кодом. Процесс установки состоит из двух шагов: установки и запуска автоматическая настройки безопасности.
Установка:
; Ubuntu и Debian<nowiki>:</nowiki>
: <code>apt -y install mariadb-server mariadb-client</code>
; CentOS<nowiki>:</nowiki>
: <code>yum -y install mariadb mariadb-server</code>
Чтобы проверить, что сервер баз данных запустился и работает без ошибок, выполните команду:<br>
<code>systemctl status mariadb</code>
Если сервис не запустился автоматически (статус '''dead'''), активируйте и добавьте службу в автозагрузку вручную:<br>
<code>systemctl start mariadb && systemctl enable mariadb</code>
После установки можно проверить версию установленного сервера баз данных:
; Ubuntu и Debian<nowiki>:</nowiki>
: <code>mariadb --version</code>
: [[Файл:Lamp 5.png|thumbnail|none|upright 2.5]]
; CentOS<nowiki>:</nowiki>
: <code>mysql --version</code>
Для редактирования параметров безопасности запустите встроенный инструмент настройки:
C его помощью вы сможете отключить небезопасные опции, которые по умолчанию включены для работы тестового режима после установки.
На первом шаге скрипт предложит ввести текущий пароль '''root ''' от сервера баз данных.
По умолчанию после установки он не задан, достаточно нажать '''Enter'''.
После этого будет предложено подтвердить или отклонить дополнительные настройки безопасности — для согласия введите '''y''' (yes), для отказа — любую другую клавишу и нажмите '''Enter'''.
Рекомендуется подтвердить все параметры, так как они воплощают базовые рекомендации по безопасности сервера БД.
* Новый пароль '''root''' для сервера баз данных — потребуется ввести и подтвердить новый пароль;
* Удаление анонимных пользователей (один присутствует по умолчанию для тестового режима);
* Отключение удалённого доступа для пользователя '''root''';
* Удаление тестовой базы данных и доступов к ней;
* Перезагрузка таблиц для применения новых параметров.
[[Файл:Lamp 6.png|thumbnail|none|upright 2.5]]
=== Установка сервера баз данных (MySQL) ===
MySQL — самый популярный сервер баз данных. Установка состоит из двух этапов:
; Ubuntu и Debian<nowiki>:</nowiki>
: <code>apt -y install mysql-server</code>
; CentOS<nowiki>:</nowiki>
: <code>yum -y install mysql-server</code>
После установки нужно проверить, запустился ли MySQL:
; Ubuntu и Debian<nowiki>:</nowiki>
: <code>systemctl status mysql</code>
; CentOS<nowiki>:</nowiki>
: <code>systemctl status mysqld</code>
При необходимости — запустить его и добавить в автозапуск вручную:
; Ubuntu и Debian<nowiki>:</nowiki>
: <code>systemctl start mysql && systemctl enable mysql</code>
; CentOS<nowiki>:</nowiki>
: <code>systemctl start mysqld && systemctl enable mysqld</code>
Проверить версию установленного сервера баз данных можно командой:<br>
<code>mysql --version</code>
[[Файл:Lamp 7.png|thumbnail|none|upright 2.5]]
По умолчанию после установки сервер MySQL имеет несколько небезопасных опций. Чтобы их отключить, нужно запустить автоматическую настройку безопасности:<br>
<code>mysql_secure_installation</code>
В процессе система предложит настроить компонент для проверки надёжности паролей, запросит новый пароль для пользователя root сервера MySQL.
После этого будет предложено подтвердить или отклонить дополнительные настройки безопасности — для согласия введите '''y''' (yes), для отказа — любую другую клавишу и нажмите '''Enter'''.
Рекомендуется подтвердить все параметры, так как они воплощают базовые рекомендации по безопасности сервера БД.
Список настраиваемых параметров по порядку:
* Активация модуля проверки надёжности паролей
* Выбор уровня надёжности (0 — слабый / 1 — средний/ 2 — сильный)
* Ввод и подтверждение нового пароля для root-пользователя MySQL
* Удаление анонимных пользователей
* Отключение удалённого подключения к БД для root-пользователя MySQL
* Удаление открытой тестовой базы данных
* Перезагрузка таблиц привилегий для применения новых настроек
[[Файл:Lamp 8.png|thumbnail|none|upright 2.5]]
=== Установка PHP и дополнительных расширений ===
Проверить доступную для установки версию PHP можно командой:
; Ubuntu и Debian<nowiki>:</nowiki>
: <code>apt show php</code>
; CentOS<nowiki>:</nowiki>
: <code>yum info php</code>
Знать её нужно для корректной установки нужных компонентов на следующем шаге (для Ubuntu и Debian). В примере версия PHP — '''7.4'''.
Вам при установке нужно заменить её в команде на ту, которая доступна для вашей операционной системы.
[[Файл:Lamp 9.png|thumbnail|none|upright 2.5]]
Если версия по умолчанию вам подходит, после этого можно запустить установку:
; Ubuntu и Debian<nowiki>:</nowiki>
: <code>apt -y install php<b>7.4</b> libapache2-mod-php<b>7.4</b> php-mysql php<b>7.4</b>-xml php<b>7.4</b>gd php<b>7.4</b>mbstring php<b>7.4</b>-zip</code>
: ''Будьте внимательны — в названии пакетов вам нужно указать ту версию PHP, которую отобразила система при проверке на предыдущем шаге.''
; CentOS<nowiki>:</nowiki>
: <code>yum -y install php php-mysqlnd php-common php-cli php-json php-opcache php-mbstring php-zip</code>
Проверим установленную версию:<br>
<code>php -v</code>
[[Файл:Lamp 10.png|thumbnail|none|upright 2.5]]
Установленная версия PHP автоматически настроится в качестве модуля Apache. После этого потребуется перезагрузить веб-сервер:
; Ubuntu и Debian<nowiki>:</nowiki>
: <code>systemctl restart apache2</code>
; CentOS<nowiki>:</nowiki>
: <code>systemctl restart httpd</code>
Дополнительные расширения PHP, доступные для установки, можно посмотреть командой:
; Ubuntu и Debian<nowiki>:</nowiki>
: Для конкретной версии<nowiki>:</nowiki>
:: <code>apt-cache search php | egrep ''''7.4'''' | grep module</code>
:: [[Файл:Lamp 11.png|thumbnail|none|upright 2.5]]
: Для версии по умолчанию<nowiki>:</nowiki>
:: <code>apt-cache search php | egrep 'module' | grep default</code>
; CentOS<nowiki>:</nowiki>
: <code>yum search php | grep module</code>
Установить выбранный модуль можно командой:
; Ubuntu и Debian<nowiki>:</nowiki>
: <code>apt -y install '''php7.4-soap'''</code>
; CentOS<nowiki>:</nowiki>
: <code>yum -y install '''php-soap'''</code>
=== Проверка параметров PHP через phpinfo() ===
Чтобы вывести подробный список параметров PHP, можно использовать функцию '''phpinfo()'''.
Это может пригодиться в том числе при отладке настроек сайта после размещения на сервере.
Для начала перейдите в корневую директорию вашего сайта.
Если сайта ещё нет, по умолчанию это каталог '''/var/www/html'''. Создайте файл с именем '''info.php''' и откройте его в любом консольном текстовом редакторе:<br>
<pre>touch /var/www/html/info.php
vim /var/www/html/info.php</pre>
''В качестве примера приведён консольный редактор '''vim'''. Для входа в режим редактирования на клавиатуре нажмите '''I'''. Для выхода из режима редактирования нажмите '''Esc'''. Для сохранения и выхода из файла введите сочетание ''':wq''' Для выхода без сохранения введите ''':q!'''''
В файл вставьте следующую конструкцию:<br>
<pre><?php
phpinfo();
?></pre>
Теперь при переходе по ссылке типа «http://'''IP-адрес-сервера'''/info.php» вы увидите полный список параметров PHP на вашем сервере
[[Файл:Lamp 12.png|thumbnail|none|upright 2.5]]
Не забудьте удалить этот файл после проверки. Если оставить его в открытом доступе, информация из него может быть использована злоумышленниками для атак на ваш сайт.<br>
<code>rm /var/www/html/info.php</code>

Версия 03:48, 8 июля 2022

Что такое LAMP

LAMP — набор программного обеспечения, необходимый для работы веб-сайтов.

В него входят:

  • Linux — операционная система;
  • Apache — веб-сервер;
  • MySQL / MariaDB — сервер баз данных;
  • PHP — интерпретатор применяемого в разработке web-приложений языка PHP. Иногда его меняют на Perl или Python.

Установка веб-сервера Apache

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

Ubuntu и Debian:
apt update && apt -y install apache2
CentOS:
yum -y install httpd

После установки нужно проверить, корректно ли запустился веб-сервер:

Ubuntu и Debian:
systemctl status apache2
Проверка запуска веб-сервера
CentOS:
systemctl status httpd

На Ubuntu и Debian службы после установки запускаются и добавляются в автозапуск автоматически, на Centos это нужно сделать вручную. Запустить веб-сервер и настроить его автоматический старт после загрузки системы можно следующим образом:

Ubuntu и Debian:
systemctl start apache2 && systemctl enable apache2
CentOS:
systemctl start httpd && systemctl enable httpd

На CentOS после установки нужно отредактировать настройки встроенного фаервола:

firewall-cmd --permanent --zone=public --add-service=http --add-service=https
firewall-cmd --reload

Проверить, что настройки успешно применились, можно с помощью команды:

firewall-cmd --list-all

В блоке Services в списке должны отображаться http и https, рис. 2.

Lamp 2.png

Теперь можно открыть IP-адрес вашего сервера в браузере — откроется стартовая страница веб-сервера (при работе с CentOS 7; на CentOS 8 Apache по умолчанию не имеет приветственной страницы):

Lamp 3.png

На Debian и Ubuntu можно сразу ввести IP-адрес вашего сервера в адресную строку браузера — откроется приветственная страница веб-сервера, размещённая в директории «/var/www/html».

Lamp 4.png

Расширенные настройки веб-сервера доступны в конфигурационном файле:

Ubuntu и Debian:
/etc/apache2/apache2.conf
CentOS:
/etc/httpd/conf/httpd.conf