Установка приложений из репозиториев

Существуют официальные репозитории Debian, официальные репозитории разработчиков отдельных программ и неофициальные репозитории, поддерживаемые сообществом. Недостатком официальных репозиториев является их редкая обновляемость, поэтому если вам требуются свежие версии программ, то вам необходимо загружать их либо из неофициальных репозиториев, либо из репозиториев разработчиков этих программ (при наличии). Не всем неофициальным репозиториям можно доверять, выбирайте только надёжные источники. Попробуем проверить доступную версию Nginx в официальных репозиториях. Для этого введите следующую команду:

apt-cache policy nginx

Можно видеть, что версия, лежащая в официальных репозиториях Debian, далеко не свежая. Поэтому необходимо добавить репозитории Nginx в базу репозиториев вашего сервера. Перейдите на официальный сайт Nginx и добавьте репозитории для вашего дистрибутива Linux. Лист репозиториев находится в файле /etc/apt/sources.list. Репозитории подразделяются на репозитории бинарных пакетов deb и репозитории исходного кода deb-src. Вы можете добавить в этот файл нужные репозитории:

deb http://nginx.org/packages/debian/ codename nginx
deb-src http://nginx.org/packages/debian/ codename nginx

Где codename – кодовое название версии Debian. Если вы используете десятую версию, то кодовое слово для неё – buster. Также можно добавить репозитории непосредственно из командной строки, выполнив команду apt-add-repository. Обратите внимание на флаг -s, который автоматически добавляет репозиторий с исходным кодом. То есть репозиторий исходного кода deb-src в этом случае не указывается:

apt-add-repository -s 'deb http://nginx.org/packages/debian/ codename nginx'

Для новых репозиториев требуется установить PGP ключ, который будет верифицировать их подлинность, — без него репозитории не будут активны. Ключ можно загрузить из официальных источников. Перейдите на сайт Nginx и скопируйте ссылку на PGP ключ (для ленивых: http://nginx.org/keys/nginx_signing.key). Чтобы импортировать ключ, сначала нужно загрузить его на сервер. С этого момента становится интересно: вы узнаете о команде wget, с помощью которой можно загружать файлы на сервер. Скачивать ключ лучше в папку загрузок. Эта папка находится в корневом каталоге и имеет путь /opt. Перейдите в эту папку, выполнив в терминале команду cd /opt. После этого загрузите в неё ключ с сайта Nginx:

cd /opt
wget http://nginx.org/keys/nginx_signing.key

Перейдите в каталог /opt с помощью клиента SFTP и убедитесь, что файл загружен (этот шаг можно пропустить), после чего импортируйте ключ с помощью команды apt-key add:

apt-key add nginx_signing.key

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

apt-key add /opt/nginx_signing.key

Удаляем ключ после импортирования:

rm /opt/nginx_signing.key

Далее обновите кэш репозиториев:

apt-get update

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

apt-get policy nginx

Версия актуальная, поэтому установим Nginx:

apt-get install nginx

Конфигурационные файлы Nginx вы можете найти в каталоге /etc/nginx. Каталог /etc – это каталог конфигурации приложений. Теперь установим PHP с интерфейсом FPM:

apt-get install php7.3-fpm

Обратите внимание, что версия PHP должна быть свежей. На данный момент это версия 7.3. При установке система предложит вам установить дополнительные пакеты – соглашайтесь: эти пакеты называются зависимостями, которые необходимы для работы устанавливаемого приложения. Кроме зависимостей также установятся рекомендуемые пакеты. Если вы не хотите устанавливать рекомендуемые пакеты, добавьте к команде флаг --no-install-recommends. В нашем случае ничего лишнего не установится, поэтому можете не использовать данный флаг. Однако при установке, например, следующим способом:

apt-get install php7.3

Система предложит установить также Apache и все возможные интерфейсы PHP как зависимости. В связи с тем, что в статье рассматривается установка и использование высокопроизводительной серверной связки Nginx + php7.3-fpm, Apache на данном этапе устанавливать не рекомендуется. Если в будущем вам всё же понадобится Apache, то его можно будет установить отдельно в любой момент, как и любой другой интерфейс PHP.

После установки PHP можно приступить к созданию первого хоста, который будет выводить тестовую фразу Hello Universe!. Для этих целей создадим каталог, в котором будет находиться индексный файл. Проверьте, существует ли на вашем сервере каталог /var/www, если нет, то создайте его при помощи команды mkdir:

mkdir /var/www

Затем создадим директорию localhost:

mkdir /var/www/localhost

Далее создадим индексный файл в директории localhost и запишем в него тестовую фразу с помощью команды echo:

echo "Hello Universe!" > /var/www/localhost/index.html

Можете открыть файл /var/www/localhost/index.html при помощи SFTP, чтобы проконтролировать результат.