Как исправить Apache 2, не выполняющий файлы PHP
25 августа 2023 г.Сколько раз вы настраивали веб-сервер с Apache 2 и обнаруживали, что при попытке просмотреть страницу с расширением .php страница либо пытается сохраниться на локальном диске, либо отображает код PHP в браузере ? Это плохо на нескольких уровнях. Во-первых, ваш сайт не работает должным образом. Хуже того, кто-то может получить представление о вашем коде из первых рук, что является не только разочарованием, но и возможной проблемой безопасности.
Учитывая, что это легко исправить, нет причин избегать работы с PHP и Apache 2. Но как это исправить? Позволь мне показать тебе.
Примечание. Я демонстрирую этот процесс на Ubuntu Desktop 23.04, на котором работают последние версии Apache 2 и PHP 8.1. Этот процесс может работать в большинстве современных дистрибутивов Linux.
Перейти к:
- Установка Apache 2 и PHP 8.1
Запуск и включение Apache 2
Проверка установки PHP 8.1
Следующие шаги: защита настроек Apache 2 и PHP
Установка Apache 2 и PHP 8.1
Управление пакетами упрощает установку и настройку Apache 2 и PHP 8.1. Используйте следующие команды в терминале для установки Apache 2, PHP 8.1, интерпретатора командной строки PHP 8.1 и модуля, который настраивает Apache 2 и PHP 8.1 для совместной работы:
sudo apt-get install apache2 php8.1 php8.1-cli \
libapache2-mod-php8.1 -y
Примечание. Приведенная выше строка разбита из-за ограничения поля на странице. Использование обратной косой черты в конце строки намеренно.
ПОСМОТРЕТЬ: Воспользуйтесь этим контрольным списком для управления серверами TechRepublic Premium и устранения неполадок.
Запуск и включение Apache 2
После завершения установки Apache 2 и модулей PHP необходимо будет запустить Apache 2 и включить Apache 2. Если вы запустите Apache 2, но не включите его, то Apache 2 не перезапустится при перезагрузке системы:
sudo systemctl запустить apache2
sudo systemctl включить apache2
Проверить статус Apache 2 можно с помощью команды:
статус sudo systemctl apache2
Эта команда сообщит вам, запущен ли Apache 2 и включен ли он.
Проверка PHP 8.1. монтаж
После установки Apache 2 и настройки PHP 8.1 необходимо будет убедиться, что установка работает. Вы можете сделать это, создав простой PHP-скрипт в каталоге /var/www/html.
По умолчанию пакет Apache 2 создаст файл index.html в каталоге /var/www/html. Удалить это можно командой:
sudo rm /var/www/html/index.html
Команда sudo необходима, поскольку этот файл принадлежит пользователю root.
Теперь создайте на его месте новый файл /var/www/html/index.php:
sudo nano /var/www/html/index.php
И в этот файл поместите следующий код:
phpинформация();
Если на вашем сервере установлена среда рабочего стола и веб-браузер, вы можете перейти к установке по URL-адресу http://localhost. В противном случае вы можете перейти к установке с другого компьютера в вашей сети, используя IP-адрес сервера, на котором вы выполнили установку.
Если вы видите экран, похожий на показанный ниже, то поздравляем! Вы успешно установили Apache 2 и PHP 8.1 (рис. A).
Рисунок А
Убедившись, что ваши установки Apache 2 и PHP 8.1 работают, вам обязательно следует ввести команду phpinfo(), особенно если она запущена на общедоступном сервере:
//phpинформация();
Следующие шаги: защита настроек Apache 2 и PHP
Обычно мы могли бы сказать: «Вот и все!» что касается вашей настройки Apache 2 и PHP, но это наверняка не так. Во-первых, конфигурация Apache 2 по умолчанию крайне небезопасна; вашим следующим действием должна быть его надежная защита. Более подробную информацию о том, как именно это сделать, вы можете получить из следующих статей:
- Как защитить сервер Apache 2 за четыре шага (TechRepublic)
Как повысить безопасность Apache, скрывая папки каталогов (TechRepublic)
Как улучшить безопасность сервера Apache, ограничив раскрываемую им информацию (TechRepublic)
Оригинал