articlesdebian:tegu:lamp

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

sudo apt install tasksel

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

sudo tasksel install lamp-server

sudo apt install apache2

sudo apt install mysql-server

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

sudo apt install php8.1 libapache2-mod-php8.1 php-mysql

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

sudo apt install php-curl php-json php-cgi php-gd php-zip php-mbstring php-xml php-xmlrpc

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

sudo ufw allow in 80/tcp

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

Работает, теперь давайте проверим, правильно ли работает PHP. Создайте файл в директории /var/www/html со следующим содержимым:

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

<?php phpinfo(); ?>

Настройка 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

<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>

Далее необходимо перезапустить Apache:

sudo systemctl restart apache2

По умолчанию короткие теги, обрамляющие скрипты 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

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

sudo mysql_secure_installation

На первом этапе утилита попросит вас ввести пароль суперпользователя, так как он ещё не задан, просто нажмите Enter:

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

Запретить удалённый вход для root; Запретить гостевой вход; Удалить временные таблицы; Обновить таблицы привилегий.

  • articlesdebian/tegu/lamp.txt
  • Последнее изменение: 2023/04/28 15:51
  • 127.0.0.1