Як веб-сервер, 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.