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

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

У наші дні 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>

Коментарі