nibula 1.4.0 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/nginx.conf +32 -13
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,22 @@ All notable changes to Nibula are documented here.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.4.1] - 2026-08-03
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- `nginx.conf` header now documents the full setup: package install,
|
|
12
|
+
certificate issuance with `certbot --cert-name`, auto-renew, and the
|
|
13
|
+
`sites-available` → `sites-enabled` steps.
|
|
14
|
+
- Troubleshooting table covering the errors whose message points elsewhere
|
|
15
|
+
than the actual cause: `nginx -t` without sudo, wrong certificate name,
|
|
16
|
+
certificate not covering the domain, nginx < 1.25, missing `404.html`,
|
|
17
|
+
DNS not pointing to the server.
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
- Certificates are now issued with `--cert-name SITE_NAME`, so the directory
|
|
21
|
+
under `/etc/letsencrypt/live/` matches the site name and `YOUR_CERTIFICATE`
|
|
22
|
+
is easier to fill in.
|
|
23
|
+
|
|
8
24
|
## [1.4.0] - 2026-08-03
|
|
9
25
|
|
|
10
26
|
### Changed
|
package/nginx.conf
CHANGED
|
@@ -3,31 +3,49 @@
|
|
|
3
3
|
# Static site + optional HTTP backend on 127.0.0.1:3000. PHP not handled.
|
|
4
4
|
# -----------------------------------------------------------------------------
|
|
5
5
|
# REPLACE
|
|
6
|
+
#
|
|
6
7
|
# YOUR_DOMAIN server_name, twice (port 80 and 443)
|
|
7
8
|
# SITE_FOLDER document root under /var/www/
|
|
8
|
-
#
|
|
9
|
+
#
|
|
10
|
+
# YOUR_CERTIFICATE dir under /etc/letsencrypt/live/ — not always the sam
|
|
9
11
|
# as YOUR_DOMAIN. Check: sudo certbot certificates
|
|
10
12
|
#
|
|
11
|
-
#
|
|
12
|
-
#
|
|
13
|
-
#
|
|
14
|
-
#
|
|
13
|
+
# SITE_NAME (commands below) name of this file and of the
|
|
14
|
+
# certificate; any short name, never appears in URLs
|
|
15
|
+
#
|
|
16
|
+
#
|
|
17
|
+
# 1. INSTALL (skip if already present)
|
|
18
|
+
# sudo apt update
|
|
19
|
+
# sudo apt install -y nginx certbot python3-certbot-nginx
|
|
20
|
+
# nginx -v # >= 1.25 for the http2 directive
|
|
21
|
+
#
|
|
22
|
+
# 2. CERTIFICATE (before enabling the site — nginx won't start without it)
|
|
23
|
+
# dig +short YOUR_DOMAIN A # must return this server's public IP
|
|
24
|
+
# sudo certbot certonly --nginx --cert-name SITE_NAME -d YOUR_DOMAIN
|
|
25
|
+
# sudo systemctl enable --now certbot.timer # auto-renew every 90 days
|
|
15
26
|
#
|
|
16
|
-
#
|
|
17
|
-
#
|
|
18
|
-
#
|
|
19
|
-
#
|
|
27
|
+
# 3. INSTALL THE SITE
|
|
28
|
+
# sudo cp nginx.conf /etc/nginx/sites-available/SITE_NAME
|
|
29
|
+
# sudo nano /etc/nginx/sites-available/SITE_NAME
|
|
30
|
+
# sudo ln -s /etc/nginx/sites-available/SITE_NAME /etc/nginx/sites-enabled/
|
|
31
|
+
# sudo nginx -t && sudo systemctl reload nginx
|
|
20
32
|
#
|
|
21
33
|
# IF IT FAILS
|
|
22
|
-
#
|
|
23
|
-
#
|
|
34
|
+
# cannot load certificate ... Permission denied → nginx -t needs sudo
|
|
35
|
+
# cannot load certificate ... No such file → wrong certificate name
|
|
36
|
+
# no alternative certificate subject name → cert doesn't cover domain
|
|
37
|
+
# unknown directive "http2" → nginx < 1.25
|
|
38
|
+
# 500 instead of the 404 page → 404.html missing
|
|
39
|
+
# NXDOMAIN / timeout during certbot → DNS not pointing here
|
|
24
40
|
# =============================================================================
|
|
25
41
|
|
|
26
|
-
|
|
42
|
+
# HTTP (80) configuration
|
|
27
43
|
server {
|
|
44
|
+
|
|
45
|
+
server_name YOUR_DOMAIN;
|
|
46
|
+
|
|
28
47
|
listen 80;
|
|
29
48
|
listen [::]:80;
|
|
30
|
-
server_name YOUR_DOMAIN;
|
|
31
49
|
|
|
32
50
|
# Webroot ACME renewal; drop if using the nginx authenticator.
|
|
33
51
|
location ^~ /.well-known/acme-challenge/ {
|
|
@@ -39,6 +57,7 @@ server {
|
|
|
39
57
|
}
|
|
40
58
|
}
|
|
41
59
|
|
|
60
|
+
# HTTPS (443) configuration
|
|
42
61
|
server {
|
|
43
62
|
### Essentials
|
|
44
63
|
listen 443 ssl;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nibula",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.1",
|
|
4
4
|
"description": "A beginner-friendly static site generator built on Eleventy that stays close to vanilla HTML, CSS and JS — with a page-management CLI, an optional PHP backend, and SEO files generated for you.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"static-site-generator",
|