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

Существуют официальные репозитории 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. Если вы используете восьмую версию, то кодовое слово для неё – jessie. Также можно добавить репозитории непосредственно из командной строки, выполнив команду 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, с помощью которой можно загружать файлы на сервер. Скачивать ключ лучше в папку временных файлов, которая очищается при каждой загрузке системы. Эта папка находится в корневом каталоге и имеет путь /tmp. Перейдите в эту папку, выполнив в терминале команду cd /tmp. После этого загрузите в неё ключ с сайта Nginx:

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

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

apt-key add nginx_signing.key

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

apt-key add /tmp/nginx_signing.key

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

apt-get update

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

apt-get policy nginx

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

apt-get install nginx

Конфигурационные файлы Nginx вы можете найти в каталоге /etc/nginx. Каталог /etc – это каталог конфигурации приложений. Теперь установим PHP. Нас интересует свежая версия. Её никогда нет в официальных репозиториях, однако благодаря большому сообществу Debian, свежие версии популярных программ, как правило, всегда можно найти в неофициальных репозиториях. Добавьте в базу ваших репозиториев доверенные неофициальные репозитории Debian:

apt-add-repository -s 'deb http://packages.dotdeb.org codename all'

Затем загрузите и установите GPG ключ:

wget https://www.dotdeb.org/dotdeb.gpg
apt-key add dotdeb.gpg

Обновите кэш репозиториев:

apt-get update

Установите PHP 7 с интерфейсом FPM:

apt-get install php7.0-fpm

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

apt-get install php7.0

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

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

mkdir /var/www

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

mkdir /var/www/localhost

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

touch /var/www/localhost/index.html

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

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

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