Как разместить веб-сайт с HTTPS с использованием Caddy на Linux

A web server is a server-side application designed to process HTTP requests between client and server. HTTP is the basic and very widely used network protocol.

Сервер Apache HTTP сыграл важную роль в формировании того, что является вебом сегодня. Он один занимает долю рынка в 37.3%. Nginx идет вторым в списке, имея долю рынка в 32.4%. Microsoft IIS и LiteSpeed занимают 3 и 4 места соответственно, имея долю рынка в 7.8% и 6.9%.

Недавно я столкнулся с веб-сервером под названием Caddy. Когда я попытался узнать о его функциях и протестировал его, могу сказать, что это потрясающе. Веб-сервер, который портативен и не требует файла конфигурации. Мне показалось, что это очень крутой проект, и я хотел бы поделиться им с вами. Вот, мы попробовали Caddy!

Что такое Caddy?

Caddy – альтернатива веб-серверу Apache с простотой настройки и использования. Мэтью Холт, лидер проекта Caddy, утверждает, что Caddy является универсальным веб-сервером, созданным для людей, и, вероятно, является единственным в своем роде.

Caddy – единственный первый веб-сервер, который может автоматически получать и обновлять сертификаты SSL/TLS с использованием Let’s Encrypt.

Особенности Caddy

  1. Быстрые HTTP-запросы с использованием HTTP/2.
  2. Мощный веб-сервер с минимальной настройкой и без проблемной разверткой.
  3. Шифрование TLS обеспечивает защищенную связь между приложениями и пользователями в Интернете. Вы можете использовать свои собственные ключи и сертификаты.
  4. Прост в развертывании и использовании. Всего лишь один файл и никаких зависимостей от какой-либо платформы.
  5. Не требуется установка.
  6. Переносимые исполняемые файлы.
  7. Работает на нескольких процессорах/ядрах.
  8. Продвинутая технология веб-сокетов – интерактивная коммуникационная сессия между браузером и сервером.
  9. Генерация Markdown документов на лету.
  10. Полная поддержка последнего протокола IPv6.
  11. Создает журнал в пользовательском формате.
  12. Обслуживание FastCGI, обратного прокси, перезаписи и перенаправлений, чистых URL-адресов, сжатия Gzip, просмотра каталогов, виртуальных хостов и заголовков.
  13. Доступно для всех известных платформ – Windows, Linux, BSD, Mac, Android.

Что делает Caddy другим?

  1. Caddy нацелен на обслуживание веба так, как это должно быть в 2020 году, а не в традиционном стиле.
  2. Он разработан не только для обслуживания HTTP-запросов, но и для людей.
  3. Наполнен последними функциями – HTTP/2, IPv6, Markdown, WebSockets, FastCGI, шаблоны и другие готовые функции.
  4. Запуск исполняемых файлов без необходимости их установки.
  5. Подробная документация с минимальным техническим описанием.
  6. Разработан с учетом потребностей и удобства дизайнеров, разработчиков и блогеров.
  7. Поддержка виртуальных хостов – определение столько сайтов, сколько вам нужно.
  8. Подходит для вас – не важно, статичен ваш сайт или динамичен. Если вы человек, то это для вас.
  9. Вы фокусируетесь на том, что хотите достичь, а не на том, как это сделать.
  10. Доступна поддержка большинства платформ – Windows, Linux, Mac, Android, BSD.
  11. Обычно у вас один файл Caddy на сайт.
  12. Установите за меньше чем 1 минуту, даже если вы не особо разбираетесь в компьютерах.
Тестовая среда

I will be testing it on the CentOS server, as well as Debian Server, but the same instructions also work on RHEL and Debian based distributions. For both the server I am going to use 64-bit executables.

Operating Systems: CentOS 8 and Debian 10 Buster
Caddy Version: v2.0.0

Установка веб-сервера Caddy в Linux

Неважно, на какой платформе вы находитесь и какую архитектуру используете, caddy предоставляет готовые бинарные пакеты, которые можно установить с помощью вашего менеджера пакетов по умолчанию, как показано ниже.

Установите Caddy в Fedora, RedHat, CentOS

Мы установим последнюю версию веб-сервера Caddy из репозитория CORP в Fedora или RHEL/CentOS 8.

# dnf install 'dnf-command(copr)'
# dnf copr enable @caddy/caddy
# dnf install caddy

Для RHEL/CentOS 7 используйте следующие команды.

# yum install yum-plugin-copr
# yum copr enable @caddy/caddy
# yum install caddy

Установите Caddy в Debian и Ubuntu

$ echo "deb [trusted=yes] https://apt.fury.io/caddy/ /" \
    | sudo tee -a /etc/apt/sources.list.d/caddy-fury.list
$ sudo apt update
$ sudo apt install caddy

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

# systemctl start caddy
# systemctl enable caddy
# systemctl status caddy

Теперь откройте ваш браузер и перейдите по следующему адресу, и вы должны увидеть приветственную страницу caddy.

http://Server-IP
OR
http://yourdomain.com
Caddy Web Server

Настройка доменов с Caddy

Чтобы настроить домен, сначала вам нужно направить записи DNS A/AAAA вашего домена на этот сервер в панели управления DNS. Затем создайте каталог документов для вашего веб-сайта "example.com" в каталоге /var/www/html, как показано ниже.

$ mkdir /var/www/html/example.com

Если вы используете SELinux, вам нужно изменить контекст безопасности файла для веб-контента.Теперь откройте и отредактируйте файл конфигурации caddy по пути /etc/caddy/Caddyfile.

# chcon -t httpd_sys_content_t /var/www/html/example.com -R
# chcon -t httpd_sys_rw_content_t /var/www/html/example.com -R

Теперь откройте и отредактируйте файл конфигурации caddy в /etc/caddy/Caddyfile.

# vim /etc/caddy/Caddyfile

Замените :80 на имя вашего домена и измените корневую папку сайта на /var/www/html/example.com, как показано.

Configure Caddy Web Server

Перезагрузите службу Caddy, чтобы сохранить изменения конфигурации.

# systemctl reload caddy

Теперь создайте любую HTML-страницу (вы можете создать свою) и сохраните страницу в корневом каталоге документов для вашего сайта.

# touch /var/www/html/example.com/index.html

Добавьте следующий примерный HTML-код на главную страницу вашего сайта.

# echo '<!doctype html><head><title>Caddy Test Page at TecMint</title></head><body><h1>Hello, World!</h1></body></html>' | sudo tee /var/www/html/index.html

Теперь снова посетите ваш сайт, чтобы увидеть вашу страницу.

Hosting Website with Caddy

Если все настроено правильно, ваш домен будет обслуживаться по протоколу HTTPS, что указывает на то, что ваше соединение защищено.

Заключение

Если вы новичок и хотите настроить веб-сервер, не углубляясь в конфигурацию, этот инструмент для вас. Даже если вы опытный пользователь, которому нужен мгновенный и простой веб-сервер, Caddy стоит попробовать. С небольшой настройкой вы также можете установить разрешения на папки, управлять аутентификацией, страницами ошибок, Gzip, HTTP-перенаправлением и другими, если вам нужно настроить более сложный и продвинутый веб-сервер.

Не рассматривайте Caddy как замену Apache или Nginx. Caddy не предназначен для работы в высоконагруженных производственных средах. Он предназначен для быстрой настройки веб-сервера, когда вашей основной заботой являются скорость и надежность.

Ссылки

Полное руководство пользователя / Полная документация по веб-серверу Caddy

Мы предоставляем эту документацию с целью быстрого обзора и инструкций по установке с изображениями там, где это необходимо. Если вы столкнетесь с плюсами/минусами проекта или каким-либо предложением, вы можете оставить его в разделе комментариев.

Для меня этот проект слишком молод, но работает безупречно и кажется мощным и перспективным. Самое большое преимущество, которое я вижу, заключается в том, что Caddy не нужно таскать свой конфигурационный файл повсюду. Он стремится предоставить лучшее из Nginx, Lighttpd, Vagrant и Websocketd. Вот и всё с моей стороны. Оставайтесь на связи с Tecmint. Классный проект!

Source:
https://www.tecmint.com/install-caddy-web-server-in-centos-ubuntu/