Цей сайт працює на сервері Caddy і cms Grav яка працює без бази даних.
Розміщується на VPS Oracle Cloud Free Tier Ubuntu.
Встановлюємо Caddy на Ubuntu.
Додаємо репозиторій.
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-stable-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
Якщо все встановилося добре перевіряємо командою:
sudo systemctl status caddy
Повинно бути так:
● caddy.service - Caddy
Loaded: loaded (/lib/systemd/system/caddy.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2022-12-16 00:54:28 CET; 2 days ago
Docs: https://caddyserver.com/docs/
Main PID: 13636 (caddy)
Tasks: 9 (limit: 14244)
Memory: 14.3M
CPU: 25.280s
CGroup: /system.slice/caddy.service
└─13636 /usr/bin/caddy run --environ --config /etc/caddy/Caddyfile
Встановлюємо PHP пакети.
sudo apt install php-fpm php-cli php-curl php-gd php-mbstring
В Ubuntu створюємо директорію:
sudo mkdir /var/www/grav
В цю директорію як вам зручно (розпаковуємо, переміщуємо, копіюємо) зміст Grav core + Admin plugin тобто ядро і панель адміністратора.
Даємо права для сервера на цю директорію.
В директорії Grav grav-admin/webserver-configs/
є файл конфігурації для сервера Caddy.
Під назвою Caddyfile
Відкриваємо файл сервера Caddy sudo nano /etc/caddy/Caddyfile
і копіюємо те що потрібно з файлу grav-admin/webserver-configs/Caddyfile
Повинно бути щось подібне:
ваш домен або :80 {
encode gzip
# Set this path to your site's directory.
#root * /usr/share/caddy
root * /var/www/grav
# Enable the static file server.
file_server
# Another common task is to set up a reverse proxy:
# reverse_proxy localhost:8080
# Or serve a PHP site through php-fpm:
php_fastcgi unix//run/php/php-fpm.sock
# Begin - Security
# deny all direct access for these folders
rewrite /(\.git|cache|bin|logs|backups|tests)/.* /403
# deny running scripts inside core system folders
rewrite /(system|vendor)/.*\.(txt|xml|md|html|yaml|yml|php|pl|py|cgi|twig|sh|bat)$ /403
# deny running scripts inside user folder
rewrite /user/.*\.(txt|md|yaml|yml|php|pl|py|cgi|twig|sh|bat)$ /403
# deny access to specific files in the root folder
rewrite /(LICENSE\.txt|composer\.lock|composer\.json|nginx\.conf|web\.config|htaccess\.txt|\.htaccess) /403
respond /403 403
## End - Security
# global rewrite should come last.
try_files {path} {path}/ /index.php?_url={uri}&{query}
}
Перезавантажуємо сервер Caddy:
sudo systemctl restart caddy
sudo systemctl status caddy
Якщо все добре повинна відкритися сторінка Grav