Как установить php5 на debian 9

Обновлено: 08.07.2024

В статье собрано все самое важное по настройке веб-сервера. Для использования будут доступны сразу несколько версий PHP. Никакого Apache, только Nginx+php-fpm. Установка MySQL, phpMyAdmin и автоматически обновляемые SSL-сертификаты Let’s Encrypt.

Статья периодически обновляется, всё сказанное проверенно в Debian 10 buster. Дополнения в комментариях приветствуются.

PHP 5.*, 7.*, 8.*

Подключим источник, откуда можно установить в систему одновременно несколько версий PHP.

Следующие команды — установка соответствующих версий PHP. Можно установить только нужное.

Установка специально с указанием конкретных компонентов, чтобы не ставить Apache.

Конфиги располагаются здесь /etc/php/версия/fpm/php.ini .

После их настройки перезагрузка, соответственно:

Nginx

Простой пример конфига для сайта:

Конфиг записывается в файл с произвольным именем, но в определенный каталог, например /etc/nginx/sites-available/pctuner.club . После этого его необходимо активировать и перезагрузить Nginx:

Когда вносятся изменения в конфиг работающего сайта, то, чтобы избежать неудачного перезапуска Nginx и остановки работы сайта, полезно вначале выполнить тестирование:

Использовать будем Let’s Encrypt. Бесплатные SSL-сертификаты и автоматическое обновление, что еще надо? Достаточно один раз настроить и можно забыть.

Каталог /var/www/letsencrypt необходимо создать.

Чтобы с правами доступа точно все было в порядке:

Для удобства настройки Nginx создадим пару файлов. Будем их подключать потом в нужных местах конфигов, чтобы не писать одно и тоже сто раз. Первый /etc/nginx/inc_letsencrypt — необходим для обновления SSL-сертификатов:

Почитать подробнее про задействованные параметры можно здесь. Правда там на немецком, но онлайн-переводчик в помощь, это самая толковая инструкция, что удалось найти в свое время.

Немного расширенный конфиг сайта /etc/nginx/sites-available/pctuner.club :

Изначально нужные сертификаты (файлы) отсутствуют, поэтому Nginx не примет конфиг в таком виде. До того момента пока сертификаты не будут получены необходимо закоментировать подключение файла inc_ssl_pctuner :

Пример теста получения сертификата:

Один сертификат будет на 2 домена.

В одном сертификате имеет смысл объединять все домены, имеющие отношение к одному и тому же сайту. Больше доменов добавляются аналогично:

Здесь параметр --dry-run отвечает за запуск в тестовом режиме. Это позволяет убедиться, что с настройкой сервера все хорошо и сертификат точно будет получен.

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

В случае успешного теста будет ответ:

Кроме сертификата необходимо сгенерировать ключ:

На этом все. Включаем обратно подключение файла inc_ssl_pctuner в конфиге и перезапускаем Nginx.

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

Для автоматического обновления сертификатов в будущем ничего делать не нужно, файл /etc/cron.d/certbot с необходимыми для этого настройками уже был создан. Программа автоматически запускается дважды в сутки. Она видит полученные сертификаты всех сайтов на сервере, при необходимости обновляет их.

Можно протестировать процесс обновления, без получения реальных сертификатов:

Basic-auth

Для генерации файлов с логином и паролем установим:

В процессе будет запрошен пароль.

Пример подключения файла в конфиге Nginx для всего сайта:

MySQL

Не знаю куда делся MySQL из штатного репозитория Debian 10, поэтому ставим следующим образом. Актуальную версию установочного файла можно посмотреть здесь.

Будет предложен выбор версии MySQL. Выберите 8.0 или 5.7.

Теперь можно продолжить:

В процессе, если сможете, задайте пароль для root базы.

У меня не получилось, я оставил поле пароля пустым и далее сделал так:

На следующие вопросы важно ответить положительно:

Настройки MySQL обычно в /etc/mysql/mysql.conf.d/mysqld.cnf и /etc/mysql/my.cnf .

В секцию [mysqld] стоит добавить параметры:

Проверка настроек MySQL:

Если ответ пустой, то всё хорошо. Полезно проверять после внесения изменений в конфиг, чтобы избежать ошибки перезапуска.

MySQL должен проработать непрерывно хотя бы пару дней. Должна накопиться статистика именно по вашей базе, нагрузке и т.д. После этого можно запустить mysqltuner.pl и посмотреть его рекомендации:

Чтобы работать на сервере с MySQL и не вводить каждый раз пароль, удобно создать файл

/.my.cnf , в котором прописать необходимое:

Установка прав доступа на файл:

phpMyAdmin

Установим Сomposer. Он всегда может пригодиться.

И конкретно сейчас он будет нужен для установки новейшего phpMyAdmin.

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

Он установится по пути /var/www/dev.pctuner.club/phpmyadmin и можно уже обращаться к нему соответствующим образом.

Хранилище конфигурации phpMyAdmin не полностью настроено, некоторые расширенные функции были отключены. Узнайте причину.
Или перейдите на вкладку 'Операции' любой базы данных, чтобы настроить хранилище в ней.

Ничего страшного. Просто нужно создать базу, в которую phpMyAdmin будет сохранять свои настройки. Следуем по ссылке «Узнайте причину». И там нажимаем ссылку «Создать».

Еще одно уведомление внизу:

В конфигурационном файле необходимо задать парольную фразу (blowfish_secret).

Создаем файл конфигурации из файла-примера (копируем):

В файле редактируем параметр:

В качестве значения вписываете любые свои символы, порядка 40 знаков.

Теперь phpMyAdmin готов к полноценному использованию.

Настройка локали

Просмотр установленных локалей:

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

Сервер необходимо перезапустить, чтобы увидеть изменения в действии.

Что еще?

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

Я перевожу очень старый сервер (Debian etch) на Debian Stretch, и каждое разработанное приложение имеет проблемы с PHP, как и ожидалось. Некоторые могут быть исправлены, некоторые не могут (как несколько сайтов drupal 6). В будущем когда-нибудь одно приложение будет обслуживаться под PHP7.0, но до этого дня мне нужен PHP5.3, обслуживающий их.

Кроме того, я нашел несколько примеров работы PHP5.3 и PHP5.4 или PHP5.6 вместе с Debian Jessie, Wheezy и т. Д., Но не над Debian Stretch (PHP7.0): /superuser/913792 / PHP-5-3-10-на-Debian-Jessie

Итак, во-первых, мне нужно знать, возможно ли совместное использование PHP7.0 и PHP5.3 для apache2 в Debian Stretch.

Во-вторых, мне нужно выяснить, как это можно сделать .

Я не являюсь системным администратором, поэтому мои знания по Debian растут день ото дня с нуля.

Есть ли особые требования для перехода на Stretch? Джесси по-прежнему поддерживается, вы можете перейти на это вместо. У меня есть внутренний сервер, работающий с PHP 5 и 7. Я согласен со Стивеном, Джесси - более легкий путь. Готовы ли вы жить с проблемами безопасности? К сожалению, требуется растяжка, я "получаю" пользователя root виртуального сервера с установленным SO (debian 9), все остальное зависит от меня. Я знаю о проблемах безопасности с PHP5.3, это было бы временным решением, так как я могу перенести все приложения для работы с PHP7.0 Я отказался от Debian Stretch, нет способа получить PHP 5.3. @RuiFRibeiro, ваша версия PHP5 5.6, не так ли? Возможно, у меня может быть PHP5.3 и PHP7.0 в Debian Jessie, но я не могу найти простой способ, как с 5.6 (apt-get install php7.0-fpm php5-fpm). 5,6 точно. Это больше взломать, чем что-либо еще, не будет использовать его на интернет-сервере.

Я наткнулся на похожую проблему и сумел заставить ее работать.

Мне пришлось установить сервер с Debian 9 / nginx / php5.4, поэтому, хотя он не совсем соответствует вашим требованиям, я предполагаю, что решение аналогично. Я перечислю шаги, которые я сделал, который решил это для меня.

По сути, вам нужно установить php из исходников, и это создает проблему, если вам нужна поддержка openssl (--with-openssl), потому что старые версии PHP (<7.0) не поддерживают openssl> = 1.1.0, что по умолчанию в Debian 9. Поэтому вы должны собрать более старую версию openssl (я взял 1.0.1u).

Но давайте сначала установим некоторые зависимости.

Тогда мы будем строить openssl.

В качестве цепной реакции вам придется собрать libcurl и libc-client (для поддержки imap) с помощью только что созданного openssl. Начнем с libcurl.

Затем libc-клиент. Я на самом деле использовал исходники Debian 8, так как он включал некоторые патчи. Сама сборка не удалась, но все равно выдала c-client.a, и это все, что мне было нужно

С этим у меня было все, что мне нужно для сборки PHP5.4. Обратите внимание, что у меня было предупреждение о привязках postgresql при компиляции (из-за несоответствия версий локальной и системной версий openssl), поэтому я думаю, что вам придется создать свой собственный libpq, если вы хотите их использовать.

Осталось только создание файлов php.ini и php-fpm.conf, которые являются тривиальными, настройка сокета php-fpm и создание начального сценария (есть много примеров в Интернете, я не могу опубликовать полный файл здесь) и конфигурации вашего веб-сервера (fastcgi on socket).

У меня проблема с строкой emake из компиляции uw-imap_2007f. Есть много проблем в основной декларации /usr/local/imap-2007f/ipopd/ipop2d.c Да, это ожидается. Он все равно должен сгенерировать файл c-client / c-client.a, который является всем необходимым для следующих шагов.

dfsg-7.debian.tar.xz и uw-imap_2007f \

dfsg-7.dsc являются текущими (исправление 2 больше не доступно). У меня также был конфликт с существующим /usr/lib/libc-client.a, который я не решил. Я решил пропустить IMAP.

Через неделю мне удалось заставить его работать, но по-другому. Я перестал возиться с хозяином и начал изучать, как Docker может спасти мою жизнь.

Мое начальное чтение о докере было таким: PHP Web Development с Docker

Подводя итог, мне не нужно устанавливать apache2.2 и PHP5.3 на моем хост-сервере, у меня может быть изолированный контейнер, в который я могу установить все, что мне нужно (обычно один сервис), и забыть о возможных несовместимостях с версией хост-ОС. Докер управляет всем этим. Таким образом, я могу иметь один контейнер с apache 2.2 + PHP 5.3, как это было бы в операционной системе Debian Squeeze. Другой контейнер с apache 2.2 + PHP 5.4, как это было бы в Wheezy, другой с apache 2.4 + PHP7.0 как в растяжке и так далее. Все работают одновременно и обслуживают разные домены. Чтобы добиться последнего, сделайте на хосте apache / nginx, чтобы он работал в качестве обратного прокси-сервера, перенаправляя каждый домен в отдельный контейнер apache-php благодаря сопоставлению портов докера. Вам даже не нужно иметь apache / nginx на хосте, он также может быть в контейнере.

Способ докера состоит в том, чтобы каждая (микро) служба была в контейнере, чтобы вы могли иметь mariaDB в другом контейнере и т. Д.

Мои шаги (кратко): ( Я не могу публиковать больше, чем ссылки, когда я наберу достаточно репутации, я буду редактировать и добавлять их )

0 - Узнайте о докере (чем больше, тем лучше): как создавать образы с помощью Dockerfile , лучшие практики , работа в сети в Docker, .

1 - Установите Docker: всегда следуйте официальному руководству .

2 - Создайте каталог с вашим будущим именем образа (например, / home / user / docker / images / apache22php53), внутри создайте ваш Dockerfile и конфиги (в данном случае - virtualhost conf), мой Dockerfile был:

В директории поместите файл conf вашего виртуального хоста в путь: conf / apache / virtualhosts /

3 - построить изображение с помощью (предыдущий компакт-диск внутри директории):

4 - запустить контейнер с:

Docker отобразит (-p) хост-порт 2253 на 80 контейнерный порт. Мы монтируем (-v) также наш корневой каталог хоста (/ var / www / html) в корневой каталог документа apache-контейнера (в squeeze это / var / www). Устанавливаются также имя контейнера (--name).

5 - SSH в контейнер с:

и при необходимости запустите apache (как в моем случае). "выход", чтобы вернуться к хозяину кли.

Это основы. После этого вы узнаете, как монтировать данные хоста (www, базы данных и т. Д.) Внутри контейнеров, как контейнеры могут взаимодействовать между ними и с хостом (приватные IP-адреса в сети Docker), как использовать docker-compose для настройки нескольких контейнеров. сразу (веб, база данных и т. д.), обратный прокси-сервер для нескольких контейнерных веб-серверов и т. д.

Комплект LAMP — это набор программного обеспечения с открытым исходным кодом, которое обычно устанавливается в комплексе для размещения на сервере динамических сайтов и веб-приложений. Этот термин представляет собой аббревиатуру. Операционная система Linux используется с веб-сервером Apache. Данные сайта хранятся в базе данных MariaDB, а за обработку динамического контента отвечает PHP.

В этом обучающем модуле мы установим комплект LAMP на сервер Debian 9.

Предварительные требования

Для данного обучающего модуля вам потребуется сервер Debian 9 с учетной записью пользователя без привилегий root и с привилегиями sudo , а также базовым брандмауэром. При настройке следует использовать указания руководства по начальной настройке сервера Debian 9.

Шаг 1 — Установка Apache и обновление брандмауэра

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

Установите Apache с помощью диспетчера пакетов apt в Debian:

Поскольку это команда sudo , данные операции выполняются с привилегиями root. Для подтверждения система попросит ввести пароль обычного пользователя.

После ввода пароля apt покажет, какие пакеты планируются к установке, и сколько они займут дополнительного пространства на диске. Нажмите Y , а затем нажмите ENTER , чтобы продолжить установку.

При установке в операционной системе Debian 9 в UFW имеются профили приложений, с помощью которых вы можете настраивать параметры брандмауэра. Для просмотра полного списка профилей приложений запустите следующую команду:

Профили WWW используются для управления портами, которые используются веб-серверами:

Если вы просмотрите профиль WWW Full , вы увидите, что он активирует трафик на портах 80 и 443 :

Вы можете провести точечную проверку работы брандмауэра, открыв в браузере внешний IP-адрес сервера:

Вы увидите веб-страницу по умолчанию Debian 9 Apache, предназначенную для информационных целей и целей тестирования. Она должна выглядеть следующим образом:

Если вы видите эту страницу, ваш веб-сервер правильно установлен и доступен через ваш брандмауэр.

Если вы не знаете внешний IP-адрес вашего сервера, вы можете определить его с помощью нескольких способов. Обычно это адрес, который вы используете для подключения к серверу через SSH.

Существует несколько способов сделать это через командную строку. Во-первых, вы можете использовать инструменты iproute2 для получения IP-адреса с помощью следующей команды:

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

Также можно использовать утилиту curl для связи с внешним устройством. Вы увидите, как это устройство видит ваш сервер. Для этого нужно запросить ваш IP-адрес у конкретного сервера:

Вне зависимости от метода получения IP-адреса введите его в адресную строку браузера для просмотра страницы Apache по умолчанию.

Шаг 2 — Установка MariaDB

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

MariaDB — это созданное сообществом разработчиков ответвление MySQL. В Debian 9 в качестве сервера MySQL по умолчанию используется MariaDB 10.1, а пакет mysql-server , который обычно используется для установки MySQL, представляет собой переходный пакет, который фактически устанавливает MariaDB. Однако рекомендуется устанавливать MariaDB с помощью пакета mariadb-server .

Используйте apt для получения и установки этого программного обеспечения:

Примечание. В этом случае вам не нужно предварительно запускать команду sudo apt update до выполнения команды. Это связано с тем, что вы недавно запускали ее для установки Apache, и индекс пакетов на вашем компьютере уже должен быть обновлен.

Эта команда также выводит список устанавливаемых пакетов и показывает, сколько они займут места на диске. Введите Y , чтобы продолжить.

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

При этом откроется серия диалогов, где вы можете внести некоторые изменения в параметры безопасности установки MariaDB. В первом диалоге вам нужно будет ввести пароль пользователя root для текущей базы данных. Это административная учетная запись MariaDB, имеющая повышенный уровень привилегий. Она напоминает учетную запись root на сервере (хотя эта учетная запись относится только к MariaDB). Поскольку вы только что установили MariaDB и еще не меняли параметры конфигурации, пароль будет пустым, так что вам достаточно нажать ENTER в этом диалоге.

В следующем диалоге вам будет предложено задать пароль для пользователя root базы данных. Введите N и нажмите ENTER . В Debian учетная запись пользователя root для MariaDB тесно связана с автоматизированным обслуживанием системы, так что мы не должны изменять настроенные методы аутентификации для этой учетной записи. Это позволит нам обновить пакет для уничтожения системы базы данных посредством удаления доступа к административной учетной записи. Позднее мы расскажем о том, как настроить дополнительную административную учетную запись для доступа через пароль, если аутентификация через сокет не подходит для вашего случая.

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

При установке на системы Debian пользователь root MariaDB настроен для аутентификации с помощью плагина unix_socket , а не с помощью пароля. Во многих случаях это обеспечивает более высокую безопасность и удобство, однако это также может осложнить ситуацию, если вам нужно предоставить права администратора внешней программе (например, phpMyAdmin).

Поскольку для ротации журналов, запуска и остановки сервера используется учетная запись root, лучше всего не менять учетные данные пользователя root. Изменение учетных данных в файле конфигурации /etc/mysql/debian.cnf может сработать на начальном этапе, но при обновлении пакета изменения могут быть перезаписаны. Если вам требуется настроить доступ с паролем, команда поддержки рекомендует создать отдельную учетную запись администратора вместо изменения учетной записи root.

Для этого мы создадим новую учетную запись admin с теми же привилегиями, что и у учетной записи root, но настроенную для аутентификации с использованием пароля. Для этого откройте командную строку MariaDB через терминал:

Теперь мы можем создать нового пользователя с привилегиями root и доступом с использованием пароля. Измените имя пользователя и пароль на желаемые:

Очистите привилегии, чтобы они были сохранены и доступны в текущем сеансе:

После этого закройте оболочку MariaDB:

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

Вы настроили систему базы данных и теперь можете перейти к установке PHP, заключительного компонента комплекта LAMP.

Шаг 3 — Установка PHP

PHP — это компонент системы, обрабатывающий код для отображения динамического контента. Он может запускать скрипты, подключаться к базам данных MariaDB для получения информации и передавать обработанный контент на веб-сервер для отображения.

Используйте систему apt для установки PHP. Кроме того, установите вспомогательные пакеты, чтобы код PHP можно было запускать на сервере Apache, и чтобы он мог взаимодействовать с базой данных MariaDB:

Эта команда должна установить PHP без каких-либо проблем. Сейчас мы это протестируем.

В большинстве случаев необходимо изменить способ обслуживания файлов Apache при запросе директории. Обычно, если пользователь запрашивает директорию на сервере, Apache в первую очередь ищет файл index.html . Нам нужно, чтобы веб-сервер предпочитал файлы PHP, и чтобы Apache в первую очередь искал файл index.php .

Для этого введите следующую команду, чтобы открыть файл dir.conf в текстовом редакторе с привилегиями root:

Он будет выглядеть примерно так:

Переместите файл индекса PHP (выделен выше) на первую позицию после спецификации DirectoryIndex , примерно так:

После завершения сохраните и закройте файл, нажав CTRL+X . Для подтверждения сохранения нажмите Y , а затем нажмите ENTER для подтверждения расположения сохраняемого файла.

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

Также вы можете проверить статус службы apache2 с помощью команды systemctl :

Вы можете установить дополнительные модули, чтобы расширить функционал PHP. Чтобы посмотреть доступные варианты модулей и библиотек PHP, отправьте результаты поиска apt search на пейджер less , позволяющий просматривать результаты выполнения других команд:

Используйте стрелки для прокрутки экрана и клавишу Q для выхода.

На экране результатов будут показаны все доступные для установки опциональные компоненты. Также будет выведено краткое описание каждого из них:

Дополнительную информацию о функциях каждого модуля можно найти в Интернете. Также вы можете посмотреть длинное описание пакета с помощью следующей команды:

На экране результатов будет много текста, а в поле описания Description будет приведено развернутое описание функционала модуля.

Например, чтобы узнать функции модуля php-cli , нужно использовать следующую команду:

Помимо другой информации вы увидите следующий фрагмент:

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

Если вы решили установить php-cli , введите следующую команду:

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

Ваш комплект LAMP установлен и настроен. Однако прежде чем вносить другие изменения или развертывать приложения, будет полезно протестировать конфигурацию PHP на наличие возможных проблем.

Шаг 4 — Тестирование обработки PHP на веб-сервере

Чтобы проверить правильность настройки системы для кода PHP, создайте простой скрипт PHP под названием info.php . Чтобы Apache мог найти этот файл и правильно его обслуживать, его нужно сохранить в специальной директории web root.

В Debian 9 эта директория находится по адресу /var/www/html/ . Для создания файла в этой директории запустите следующую команду:

В результате откроется пустой файл. Вставьте в файл следующий код PHP:

После завершения редактирования сохраните и закройте файл.

Теперь вы можете проверить способность вашего веб-сервера правильно отображать контент, генерируемый этим скриптом PHP. Для этого откройте страницу в своем браузере. Вам снова потребуется внешний IP-адрес вашего сервера.

Вам нужен следующий адрес:

Отображаемая страница должна выглядеть примерно так:

Информация PHP по умолчанию в Debian 9

На этой странице содержится базовая информация о вашем сервере с точки зрения PHP. Эта информация полезна для отладки и обеспечения правильного применения настроек.

Если вы видите эту страницу в своем браузере, PHP работает надлежащим образом.

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

Если впоследствии вам снова потребуется эта информация, вы всегда можете воссоздать эту страницу.

Заключение

Вы установили комплект LAMP, и теперь у вас имеется множество вариантов дальнейших действий. Вы установили платформу, которая позволит вам устанавливать на ваш сервер разнообразные сайты и веб-приложения.

Как установить PHP на Debian 9

Перед тем, как начать изучение этого руководства, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo .


Установка PHP 7.2 на Debian 9

Следующие шаги описывают, как установить PHP 7.2 с помощью репозитория Ondrej Sury.

Начните с импорта ключа GPG репозитория, используя следующую команду curl :


Добавьте репозиторий ondrej в список репозиториев программного обеспечения вашей системы, набрав:

Теперь, когда в нашей системе включен репозиторий ondrej, мы можем установить PHP, указав версию, которую хотим использовать:

Проверьте установку, выполнив следующую команду, которая распечатает версию PHP.


Настройка Apache для запуска PHP

Если вы используете Apache в качестве веб-сервера для установки PHP и модуля Apache PHP, выполните следующую команду:


После установки пакетов для включения модуля php7.2 просто перезапустите службу Apache:


Настройка Nginx для запуска PHP

В отличие от Apache, Nginx не имеет встроенной поддержки обработки файлов PHP, поэтому нам нужно установить отдельное приложение, такое как PHP FPM («менеджер процессов fastCGI»), которое будет обрабатывать файлы PHP.

Чтобы установить пакеты PHP и PHP FPM, выполните следующую команду:


После установки пакетов служба PHP FPM запустится автоматически. Вы можете проверить статус услуги с помощью:

Теперь вы можете отредактировать блок сервера Nginx своего домена и добавить следующие строки, чтобы Nginx мог обрабатывать файлы PHP:


Перезапустите службу Nginx, чтобы новая конфигурация вступила в силу:


Установка расширений PHP

Мы можем расширить базовую функциональность PHP, установив дополнительные расширения. Расширения PHP доступны в виде пакетов и могут быть легко установлены с помощью:


Например, если вы хотите установить расширения MySQL и GD PHP, вы должны выполнить следующую команду:


После установки нового расширения PHP не забудьте перезапустить службу Apache или PHP FPM, в зависимости от ваших настроек.


Тестирование обработки PHP

Чтобы проверить, правильно ли настроен ваш веб-сервер для обработки PHP, создайте новый файл с именем info.php внутри /var/www/html каталога со следующим кодом:

phpinfo Функция будет печатать информацию о конфигурации PHP , как показано на рисунке ниже:



Заключение

Вы успешно установили PHP на свой сервер Debian 9 и узнали, как настроить веб-сервер для обработки файлов PHP.

Читайте также: