ГлавнаяОперационные системыLinuxКак создать собственный веб-сервер Caddy в Linux

Как создать собственный веб-сервер Caddy в Linux

Caddy — это современный и простой в использовании веб-сервер для Linux. Он работает за счет оптимизации процесса создания файлов конфигурации сайта и сертификатов SSL. Эта статья проведет вас через процесс установки Caddy на сервер Ubuntu Linux. Кроме того, он также покажет вам, как использовать Caddy для развертывания простой веб-страницы, а также обратного прокси-сервера SSL.

Зачем использовать Caddy в качестве веб-сервера?

Хотя Нгинкс и Апач являются мощными демонами ве

Зачем использовать Caddy в качестве веб-сервера?

нового пользователя. Caddy упрощает эту задачу, предоставляя «Caddyfile» — единый плоский файл с простым синтаксисом, который легко изучить даже новичкам.

Терминал, показывающий пример Caddyfile.

Еще одним преимуществом Caddy является то, что он обеспечивает HTTPS для вашего веб-сервера прямо из коробки. Это делает его удобным для пользователей, которые считают настройка SSL для своего сайта сложным и сложным. Таким образом, Caddy идеально подходит, если вы ищете простой веб-сервер в Linux, который прост в обслуживании и использовании.

Полезно знать: узнайте, как можно исправить ошибку «404 Not Found» в Nginx .

Установка Caddy

Первый шаг при установке Caddy в Ubuntu Linux — убедиться, что у вас есть инструменты для импорта ключей и информации из репозитория:

sudo apt install curl debian-keyring debian-archive-keyring

Получите ключ подписи репозитория для Caddy с сайта разработчика:

curl -fsSL 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg

Загрузите и сохраните файл репозитория проекта Caddy в каталоге «sources.list.d» вашего компьютера:

curl -fsSL 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy.list

Обновите репозитории apt вашей системы, выполнив следующую команду:

sud

Установка Caddy

e
&& sudo apt upgrade

Установите пакет Caddy для вашей системы, используя apt install:

sudo apt install caddy

Запуск вашего первого веб-сайта Caddy

Чтобы запустить свой первый веб-сайт, создайте корневую папку вашего сайта в домашнем каталоге:

mkdir ~/my-first-website && cd ~/my-first-website

Создайте файл index.html с помощью вашего любимого текстового редактора:

nano ./index.html

Вставьте следующий блок кода в новый HTML-файл:

<!DOCTYPE html>
<html>
<head> <title> Hello World! </title> </head>
<body>
 
<h1> Hello World! </h1>
<p> Hello MakeTechEasier! </p>
 
</body>
</html>

Сохраните файл index.html, затем выполните следующую команду:

caddy file-server --listen :8080

Убедитесь, что ваш веб-сервер работает правильно, перейдя н

Запуск вашего первого веб-сайта Caddy

ing="async" src="https://saintist.ru/wp-content/uploads/2024/05/create-caddy-webserver-linux-02-sample-localhost-webserver.png" alt="Снимок экрана, показывающий пример веб-сайта, работающего на локальном хосте: 8080.">

Создание веб-сайта с использованием Caddyfiles

Хотя инструмент CLI отлично подходит для обслуживания простых веб-страниц, Caddy также предоставляет простой в использовании «Caddyfile» для более сложных настроек. Для начала создайте новый Caddyfile в папке «/etc/caddy» с помощью вашего любимого текстового редактора:

sudo rm /etc/caddy/Caddyfile && sudo nano /etc/caddy/Caddyfile

Вставьте следующий блок кода в новый Caddyfile:

your-domain.com {
    redir https://www.{host}{uri}
}
 
www.your-domain.com {
    root * /var/www/html
    file_server
}

Примечание. Вы также можете разместить веб-сайт только для локальной сети с помощью Caddyfiles, заменив «ваш-домен.com» на «локальный хост».

Скопируйте файл index.html из домашнего каталога в каталог «/var/www» вашей системы:

sudo mkdir /var/www/html/
sudo cp ~/my-first-website/index.html /var/www/html

Обратитесь к своему регистратору DNS и убедитесь, что ваш корневой субдомен и субдомен www имеют запись A или AAAA, указывающую на адреса IPv4 и IPv6 вашего компьютера.

Снимок экрана, показывающий две за<h3><span id=Создание веб-сайта с использованием Caddyfilesong>Примечание. Вам не нужно настраивать какие-либо настройки DNS для веб-сайтов, подключенных только к локальной сети, поскольку Caddy сгенерирует для них самозаверяющий сертификат.

Включите встроенную службу Caddy на вашем компьютере:

sudo systemctl enable --now caddy

Проверьте, правильно ли работает ваш веб-сайт, перейдя по доменному имени.

Снимок экрана, показывающий пример веб-сайта, работающего с внешним доменным именем.

Создание обратного SSL-прокси с помощью Caddy

Как и Nginx и Apache, вы также можете использовать Caddy в качестве обратный прокси для внутренней службы на вашем компьютере. Для этого откройте Caddyfile вашей системы:

sudo nano /etc/caddy/Caddyfile

Вставьте следующий блок кода в ваш Caddyfile:

your-domain.com {
    reverse_proxy 127.0.0.1:LOCAL-PORT
}

Замените «LOCAL-PORT» на порт вашего веб-приложения. В моем случае я заменю свой на 3001, чтобы перенаправить весь входящий трафик на мой Время работы сервера Kuma .

Терминал, показывающий измененную конфигурацию обратного прокси-сервера Caddy.

Сохраните файл Caddy, затем перезагрузите службу Caddy, чтобы применить новые настройки:

sudo systemctl reload caddy

Проверьте, правильно ли работает обратный прокси-сервер, перейдя в свой домен с помощью веб-браузера.

Снимок экрана, показывающий экземпляр Uptime Kuma, проксируемый через Caddy.

Полезно знать: узнайте больше о веб-шифровании до создание собственного сертификата SSL с использованием OpenSSL .

Развертывание нескольких веб-сайтов и сервисов с помощью Caddy

Вы также можете использовать один и тот же Caddyfile для обслуживания веб-сайтов и прокси-серверов на одном хосте. Это позволяет легко управлять несколькими различными службами, не загромождая каталог конфигурации вашего веб-сервера.

Для начала перейдите на страницу Страница загрузки Caddy и введите «caddy-dns» в строке поиска.

Снимок экрана, показывающий поле поиска caddy-dns на странице заг<h2><span id=Создание обратного SSL-прокси с помощью Caddyй управляет вашим доменным именем. В моем случае я использую ЦифровойОкеан .

Выберите своего DNS-провайдера, затем нажмите «Загрузить» в правом верхнем углу страницы. Будет загружен пользовательский двоичный файл Caddy с соответствующим модулем для вашего провайдера DNS.

Снимок экрана, на котором выделена кнопка «Загрузить» после выбора сборки caddy-dns для DigitalOcean.

Остановите службу Caddy с помощью systemctl:

sudo systemctl disable --now caddy.service

Создайте резервную копию исходного двоичного файла Caddy, затем скопируйте пользовательский двоичный файл в каталог «/usr/bin/».

cp /usr/bin/caddy ~/caddy.bin.bak
sudo rm /usr/bin/caddy
sudo cp ~/Downloads/caddy_linux_amd64_custom /usr/bin/caddy
sudo chmod +x /usr/bin/caddy

Проверьте, правильно ли работает ваш пользовательский двоичный файл Caddy, проверив его версию:

caddy --version

Включение Caddy SSL для доменов с подстановочными знаками

Откройте Caddyfile вашей системы с помощью любимого текстового редактора:

sudo nano /etc/caddy/Caddyfile

Вставьте следующий блок кода в ваш Caddyfile:

*.your-domain.com {
	tls {
		dns digitalocean API-KEY
    # Replace the value of digitalocean with your DNS provider.
	}
 
	@www host www.your-domain.com
	handle @www {
          root * /var/www/html
          file_server
	}
 
	@subdomain host subdomain.your-domain.com
	handle @uptime {
		reverse_proxy 127.0.0.1:LOCAL-PORT
	}
 
	handle {
		abort
	}
}

Получите ключ API у своего DNS-провайдера. В DigitalOcean это можно получить,

Развертывание нескольких веб-сайтов и сервисов с помощью Caddy

панели страницы.

Снимок экрана, на котором выделена кнопка API на панели управления DigitalOcean.

Нажмите «Создать новый токен», а затем укажите сведения о своем ключе API.

Снимок экрана, на котором показаны сведения о токене для автоматических сертификатов с подстановочными знаками SSL.

Скопируйте секретный код API, а затем вставьте его в переменную «API-KEY» в вашем Caddyfile.

Настройте Caddyfile для своих конкретных настроек, а затем сохраните его.

Терминал, показывающий измененный файл конфигурации Caddy для нескольких сайтов.

Убедитесь, что ваше доменное имя имеет соответствующие записи A и AAAA для вашего домена и субдомена.

Перезапустите отключенный демон Caddy, чтобы применить новые настройки:

sudo systemctl enable --now caddy

Проверьте, правильно ли работает ваша «мультисервисная» настройка, открыв оба домена в веб-браузере.

Снимок экрана, показывающий две службы, работающие по протоколу SSL с Caddy.

Изучение того, как развертывать простые и безопасные веб-сервисы с помощью Caddy, — это лишь первый шаг в изучении чудесного мира самостоятельного хостинга в Linux. Погрузитесь глубже в эту вселенную к создание собственного сервера псевдонимов электронной почты с помощью SimpleLogin .

Изображение предоставлено: Джонатан Ибема через Unsplash и Викисклад . Все изменения и скриншоты Рамсеса Реда.

Включение Caddy SSL для доменов с подстановочными знаками

ПОХОЖИЕ СТАТЬИ

Популярные записи