Как веб-сервер, Caddy является относительно новой альтернативой Apache и Nginx, хотя изначально он был выпущен в 2015 году. Это веб-сервер с открытым исходным кодом, созданный на языке Go и использующий HTTPS по умолчанию. Как и любой другой веб-сервер, Caddy может использоваться в качестве веб-сервера, обслуживающего как статические, так и динамические веб-сайты. Caddy — это универсальный и эффективный статический файловый сервер. Его также можно использовать в качестве надежного и масштабируемого обратного прокси. В этом руководстве мы покажем вам, как установить веб-сервер Caddy на Ubuntu 22.04.
Необходимые условия
- Ubuntu 22.04 VPS
- Требуется корневой доступ SSH или пользователь с привилегиями sudo
Условные обозначения
# — указанные команды должны выполняться с правами root либо непосредственно от имени пользователя root, либо с помощью команды sudo.
$ — данные команды должны выполняться от имени обычного пользователя.
Шаг 1. Войдите на свой сервер по SSH
Сначала вам нужно будет войти на ваш Ubuntu 22.04 VPS по SSH как пользователь root:
ssh root@IP_Address -p Port_number
Вам нужно будет заменить ‘IP_Address’ и ‘Port_number’ на соответствующие IP-адрес и номер порта SSH вашего сервера. Кроме того, замените ‘root’ на имя пользователя системы с правами sudo.
Проверить, установлена ли на вашем сервере правильная версия Ubuntu, можно с помощью следующей команды:
# lsb_release -a
В результате мы получим следующее сообщение.
Затем выполните следующую команду, чтобы убедиться, что все установленные на сервере пакеты обновлены до последних доступных версий:
# apt update
Шаг 2. Установка зависимостей
Существует как минимум три способа установки Caddy. Мы можем установить его, просто загрузив исполняемый бинарный файл, установить его, скомпилировав исходный код, или установить его из репозитория. В этой статье мы покажем вам, как установить Caddy с помощью репозитория. Поскольку для установки веб-сервера Caddy требуются некоторые пакеты, перед началом работы мы установим все зависимости на нашу систему Ubuntu 22.04. Для этого выполним приведенную ниже команду.
# apt install gnupg curl apt-transport-https cdebian-keyring debian-archive-keyring -y
Шаг 3. Добавление репозитория Caddy
Прежде чем приступить к установке, нам необходимо добавить ключ GPG с помощью следующей команды:
# curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
Затем добавьте репозиторий.
# wget -qO - https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt | sudo tee /etc/apt/sources.list.d/caddy.list
Далее не забудьте обновить индекс пакетов и получить информацию о доступных пакетах из всех включенных репозиториев.
# apt update
Шаг 4. Установите Caddy
На предыдущем шаге мы добавили репозиторий и обновили индекс пакетов. Наконец, мы можем выполнить приведенную ниже команду для установки Caddy.
# apt install caddy -y
Вот и все! Вы успешно установили Caddy на свою систему Ubuntu 22.04. После установки Caddy начнет работать — он уже настроен на запуск при перезагрузке сервера. Мы можем проверить это, выполнив следующую команду:
# systemctl status caddy
Вы также можете убедиться в том, что Caddy работает, попробовав зайти в него через ваш любимый веб-браузер. Перейдите по адресу http://YOUR_SERVER_IP_ADDRESS и вы увидите следующее:
Шаг 5. Настройте Caddy
На данный момент Caddy запущен, и вы можете получить доступ к нему по порту 80. Чтобы разместить ваш сайт, мы можем изменить файл /etc/caddy/Caddyfile для создания виртуального хоста. Давайте отредактируем его для размещения вашего простого сайта.
# nano /etc/caddy/Caddyfile
Добавьте в файл следующие строки:
yourdomain.com {
root * /var/www/html
file_server
log {
output file /var/log/caddy/access.log
format console
}
}
Не забудьте заменить yourdomain.com на реальное имя домена или поддомена, который уже указывает на ваш сервер. Сохраните файл и выйдите из редактора.
Чтобы применить новые изменения, нам нужно перезапустить Caddy.
# systemctl restart caddy
Подождите около минуты, и Caddy уже будет обслуживать ваш сайт в режиме HTTPS. Если DNS-запись вашего домена или поддомена не указывает на ваш сервер Caddy, то он будет обслуживаться в режиме HTTP.
Пример: Использование Caddy с WordPress
Если вы хотите разместить на своем домене/поддомене CMS — например, WordPress — мы можем перейти к следующим шагам. Давайте установим MariaDB и PHP.
# apt install mariadb-server php-{curl,fpm,imagick,mbstring,mysql,xml,zip}
После установки MariaDB и PHP-FPM должны быть готовы к работе. Давайте приступим к созданию базы данных.
# mysql
Выполните эти команды в оболочке MySQL.
mysql> CREATE DATABASE wpcaddy;
Query OK, 1 row affected (0.00 sec)
mysql> CREATE USER 'wpcaddy'@'localhost' IDENTIFIED BY 'm0d1fyth15';
Query OK, 0 rows affected (0.01 sec)
mysql> GRANT ALL PRIVILEGES ON wpcaddy.* TO 'wpcaddy'@'localhost';
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> q
Далее давайте отредактируем наш файл Caddy. Удалите строки из предыдущего шага или добавьте следующие строки в /etc/caddy/Caddyfile
yourdomain.com {
root * /opt/caddy
file_server
encode zstd gzip
php_fastcgi unix//run/php/php8.1-fpm.sock
log {
output file /var/log/caddy/access.log
format console
}
}
Сохраните файл и выйдите. Обратите внимание, что вам нужно перезапускать Caddy каждый раз, когда вы вносите изменения в свой Caddyfile.
# systemctl restart caddy
Далее нам нужно загрузить файлы ядра WordPress. Вы можете установить и использовать WP-CLI, если хотите, но в этой статье мы будем использовать wget. Если на вашем сервере отсутствует пакет wget, вы можете установить его с помощью apt install wget. Давайте загрузим, извлечем и исправим права доступа.
# cd /opt/caddy
# wget https://wordpress.org/latest.tar.gz
# tar -xzvf latest.tar.gz --strip-components 1
# chown -R www-data: /opt/caddy
Вот и все, вы должны иметь доступ к HTTPS://yourdomain.com, чтобы завершить установку WordPress.