У наші дні HTTPS є ключовим при розміщенні веб-сайту. Без цього ваші користувачі можуть витікати у світ дуже особисті дані з вашого веб-сайту. Для вирішення цього питання багато веб-майстри Linux взялися за використання інструментів LetsEncrypt, оскільки вони дуже легко створюють сертифікат. Тим не менш, настільки ж просто, як LetsEncrpyt, ввімкнення його на Nginx або Apache в Linux все ще може стати суттєвою справою. На щастя, є кращий спосіб. Представляємо веб-сервер Caddy. Це веб-сервер, який за умовчанням включив HTTPS. Якщо вам не вистачає клопотів із сертифікатами SSL, Caddy може бути саме тим, що вам потрібно.
Встановлення Caddy
Встановлення веб-сервера Caddy працює досить багатоте саме, незалежно від того, яку серверну операційну систему ви використовуєте. Причина Caddy настільки проста в установці полягає в тому, що вибір розробника використовувати завантажуваний сценарій Bash для встановлення програмного забезпечення, а не додавання сторонніх сховищ програмного забезпечення або встановлення через бінарні файли.
У цьому підручнику ми будемо використовувати Ubuntu Server, хоча запуск веб-сервера Caddy буде добре працювати і на більшості інших ОС Linux, навіть на настільних. Для початку переконайтеся, що у вас є Завиток додаток на вашому ПК з Linux. Якщо ви цього не зробите, відкрийте пошук у терміналі у своєму менеджері пакунків для «згортання» та встановіть його.
Примітка. Визначте, чи вже у вас завиток, запустивши завиток в терміналі. Якщо для програми з’явиться діалогове вікно «довідка», у вас є Завиток на вашій машині Linux.

curl https://getcaddy.com | bash -s personal
Веб-сервер Caddy вільно використовувати для особистого користування, але його потрібно вказати. Плануєте використовувати Caddy в умовах підприємства? Запустіть команду встановлення за допомогою:
curl https://getcaddy.com | bash -s commercial
Запуск Curl передасть його через Bash і автоматично запустить процес встановлення. Інсталятору Caddy буде потрібно час, щоб завантажити двійковий веб-сервер і розмістити його / usr / local / bin / каталог. Якщо інсталяція пройшла успішно, ви побачите повідомлення "Успішно встановлено".
Після цього вам потрібно буде змінити бінарний файл Caddy. Виконайте наступну команду в терміналі, з судо пільги.
sudo setcap cap_net_bind_service=+ep /usr/local/bin/caddy
Налаштування Кетді
Caddy встановлений на сервері. Наступним кроком у процесі є налаштування структури каталогів. Почніть з отримання кореневого терміналу. Це зробить зміни папок у файловій системі набагато швидшими, оскільки вам не потрібно буде вводити їх судо для кожної команди з наступним паролем.
У більшості систем користувачі можуть входити безпосередньо в кореневий обліковий запис за допомогою:
su
Однак на сервері Ubuntu обліковий запис Root заблоковано з міркувань безпеки. Щоб обійти це, отримайте кореневу оболонку за допомогою судо.
sudo -s
Тепер, коли у нас є кореневий доступ, створіть необхідні каталоги для правильного роботи сервера Caddy.
mkdir /etc/caddy mkdir /etc/ssl/caddy
Примітка. Якщо ваш сервер вже має / var / www / каталог, пропустити цю останню mkdir командування.
mkdir /var/www
Потім створіть новий "Caddyfile" всередині / тощо / Caddy /.
touch /etc/caddy/Caddyfile
Використання chmod команду, оновіть дозволи для підпапки Caddy всередині / etc / ssl /.
chmod 0770 /etc/ssl/caddy
Нарешті, чоун то / var / www / каталог:
chown www-data: /var/www
Файл Caddy Systemd

Більшість серверів, особливо сервер Ubuntu, важківикористання системної системи init. Однак, оскільки веб-сервер встановлюється за допомогою сценарію Bash, системного файлу немає. Натомість нам потрібно буде зробити своє. Використовувати дотик команда створити новий порожній службовий файл.
touch /lib/systemd/system/caddy.service
Відкрийте нове caddy.service файл і вставте в нього такий код:
[Unit]
Description=Caddy HTTP/2 web server
Documentation=https://caddyserver.com/docs
After=network-online.target
Wants=network-online.target
[Service]
Restart=on-failure
StartLimitInterval=86400
StartLimitBurst=5
User=www-data
Group=www-data
; Letsencrypt-issued certificates will be written to this directory.
Environment=CADDYPATH=/etc/ssl/caddy
ExecStart=/usr/local/bin/caddy -log stdout -agree=true -conf=/etc/caddy/Caddyfile -root=/var/tmp
ExecReload=/bin/kill -USR1 $MAINPID
LimitNOFILE=1048576
LimitNPROC=64
PrivateTmp=true
PrivateDevices=true
ProtectHome=true
ProtectSystem=full
ReadWriteDirectories=/etc/ssl/caddy
; The following additional security directives only work with systemd v229 or later.
; They further retrict privileges that can be gained by caddy. Uncomment if you like.
; Note that you may have to add capabilities required by any plugins in use.
;CapabilityBoundingSet=CAP_NET_BIND_SERVICE
;AmbientCapabilities=CAP_NET_BIND_SERVICE
;NoNewPrivileges=true
[Install]
WantedBy=multi-user.target
Існує багато кодів для caddy.service файл, тож зробіть усе можливе, щоб усе там було. Коли ви впевнені, збережіть зміни, натиснувши на Ctrl + X комбінація клавіатури Вийдіть із редактора за допомогою Ctrl + X.
systemctl enable caddy.service systemctl start caddy.service
Після налаштування systemd все має бути готовим до роботи.
Налаштування доменів
Caddy, як і будь-який інший веб-сервер, перед його використанням потребує трохи конфігурації. Почніть зі створення папки домену:
Примітка. Обов'язково перейменуйте “test-domain.org” у свій домен.
mkdir -p /var/www/test-domain.org/
Далі відредагуйте файл Caddyfile ми створили раніше.
nano /etc/caddy/Caddyfile
Вставте наступний код, щоб активувати ваш новий домен:
my-domain.com {
root /var/www/test-domain.org
}
Перезапустіть систему Cddy systemd, щоб зберегти зміни. Коли служба закінчується перезавантаження, Caddy готова до використання на вашому сервері.
systemctl restart caddy.service</p>
Коментарі