Установка LAMP (Apache, MySQL, PHP) на Ubuntu
Здесь написаны максимально короткие инструкции.
Расширенные инструкции на русском см. на Digital Ocean:
Проверить версию Ubuntu:
lsb_release -r
Оптимальная версия — последняя LTS 20.04. См., например, поддерживаемые Microsoft версии Ubuntu для WSL.
Проверить, установлены ли Apache, MySQL и PHP:
apachectl -v php -v mysql --version
Установить lynx (не обязательно; нужен для проверки ответа Apache в командной строке через команду apachectl status):
sudo apt install lynx
Установить Apache:
sudo apt install apache2
После установки проверить:
apachectl -v apachectl status
Также проверить в браузере:
Выполните команду:
apachectl -t
Если выдается сообщение:
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
то нужно в файле /etc/apache2/apache2.conf задать имя хоста по умолчанию ServerName localhost:
sudo sh -c "echo 'ServerName localhost' >> /etc/apache2/apache2.conf"
См. также: Установка веб-сервера Apache в Ubuntu 20.04
У PHP много используемых версий, не всегда совместимых между собой. Поэтому устанавливаем конкретную версию из официального репозитория https://launchpad.net/~ondrej.
Далее на примере установки php7.3. Аналогично можно установить php5.6, php7.0, php7.1, php7.2, php7.3, php7.4, php8.0, php8.1.
sudo add-apt-repository ppa:ondrej/php sudo apt update sudo apt install -y php7.3
После установки проверить:
php -v
Чтобы проверить в браузере, создайте тестовый файл:
sudo sh -c "echo '<?php phpinfo(); ?>' >> /var/www/html/test.php"
Проверьте в браузере:
Вместо классической MySQL установим ее версию MariaDB, потому что она чаще встречается на хостингах.
sudo apt install mariadb-server
Проверить:
mysql --version sudo systemctl status mysql
Запустите скрипт настройки безопасности MySQL:
sudo mysql_secure_installation
На впорос VALIDATE PASSWORD COMPONENT нажмите n Enter.
Затем задайте пароль администратора (root) MySQL.
Дальше на все вопросы отвечайте y Enter.
После этого вход в командную строку MySQL под рутом делается не командой sudo mysql, а такой командой:
mysql -u root -p
См. также: