Як налаштувати веб-сервер Caddy, щоб він працював замість вас (майже)

Caddy

Як налаштувати веб-сервер Caddy, щоб він працював замість вас (майже)

Хоч раз було таке, що захотілося встановити веб-сервер, а натомість заблукали в лісі налаштувань і хотілося просто здатися? Тоді вітаю, ви на порозі знайомства з Caddy! Це не просто сервер, а справжній герой, який візьме на себе все, що можна автоматизувати — від HTTPS до конфігурацій. Тож встановлюємо, налаштовуємо, і… йдемо пити каву!

Крок 1: Встановлення Caddy на Arch Linux, Fedora або Ubuntu

Arch Linux

Arch Linux і pacman — це як борщ зі сметаною. Відкриваємо термінал і просто кажемо:

sudo pacman -S caddy

Кілька секунд, і ось він, Caddy, стоїть напоготові, як чемний сусід з ключами.

Fedora

На Fedora все так само просто. Вводимо:

sudo dnf install caddy

Все, Caddy встановлено — можна переходити до налаштувань!

Ubuntu

Для Ubuntu є пара підготовчих кроків, але нічого складного. Спочатку додаємо репозиторій Caddy:

sudo apt update
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy

Готово! Тепер Caddy встановлений і чекає на наші команди.

Крок 2: Створимо просту HTML-сторінку, щоб було що показати

Перед тим як тестувати сервер, давайте створимо просту HTML-сторінку. Нічого надзвичайного, просто “привіт, світ”.

  1. Створюємо папку для сайту — назвемо її my_website, і переходимо в неї:

    mkdir my_website
    cd my_website
    
  2. У цій папці створюємо файл index.html — наш маленький шедевр:

    <!DOCTYPE html>
    <html lang="uk">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Ласкаво просимо на мій сайт!</title>
    </head>
    <body>
        <h1>Привіт, світе!</h1>
        <p>Це простий сайт, який працює через Caddy.</p>
    </body>
    </html>
    

Ну от, тепер у нас є що показати. Тепер залишилося запустити Caddy, щоб це все побачити.

Крок 3: Запуск Caddy

Тепер запускаємо Caddy, щоб подивитися наш HTML-шедевр.

  1. Переконайтеся, що ви в папці my_website, і запускаємо Caddy:

    caddy file-server --listen :8080
    
  2. Відкриваємо браузер, вводимо http://localhost:8080, і бачимо наш “Привіт, світе!”. Якщо все працює, ми на правильному шляху.

Крок 4: Налаштовуємо Caddyfile, щоб було все по-людськи

Caddyfile — це файл конфігурації Caddy, який говорить йому, що саме робити. Уявіть, що це такі собі інструкції до сервера — без жодних зайвих клопотів.

  1. У кореневій папці вашого сайту (наприклад, my_website) створюємо файл Caddyfile:

    cd my_website
    touch Caddyfile
    
  2. Відкриваємо Caddyfile і додаємо туди кілька простих команд:

    localhost:8080 {
        root * .
        file_server
    }
    

    Тут все просто: кажемо Caddy, що коренева папка — це поточна (.) і вмикаємо сервер для файлів.

  3. Хочете використовувати свій домен і HTTPS? Налаштовуємо Caddyfile ось так:

    yourdomain.com {
        root * /path/to/your/site
        file_server
    }
    

Caddy автоматично поновить сертифікати, тож можна не турбуватися про налаштування вручну.

Крок 5: Запускаємо Caddy як системний сервіс, щоб працював постійно

Тепер, якщо хочете, щоб Caddy запускався сам при увімкненні сервера, можна налаштувати його як системний сервіс через systemd.

  1. Включаємо сервіс:

    sudo systemctl enable caddy
    
  2. Запускаємо його:

    sudo systemctl start caddy
    
  3. Перевіряємо, чи все працює:

    sudo systemctl status caddy
    

    Якщо статус каже “active (running)”, значить, Caddy на посту!

Крок 6: Переміщуємо Caddyfile для systemd

Caddy за замовчуванням шукає Caddyfile в /etc/caddy/, тож переміщуємо його туди:

sudo cp /шлях/до/вашого/Caddyfile /etc/caddy/Caddyfile

Потім перезапускаємо Caddy, щоб завантажити нові налаштування:

sudo systemctl restart caddy

Крок 7: Перевіряємо логи — про всяк випадок

Щоб подивитися логи і переконатися, що Caddy не скаржиться, використовуємо команду:

sudo journalctl -u caddy -f

Висновок

От і все! Тепер Caddy налаштований, працює у фоновому режимі і автоматично поновлює сертифікати. Ви можете спокійно займатися іншими справами, поки Caddy дбає про ваш сайт. Якщо хочете дізнатися більше про налаштування, обов’язково загляньте в офіційну документацію Caddy.


See also