4get_openbsd
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
4get_openbsd [2025/02/09 03:30] – created ethan | 4get_openbsd [2025/04/20 11:34] (current) – ethan | ||
---|---|---|---|
Line 1: | Line 1: | ||
======4get on OpenBSD====== | ======4get on OpenBSD====== | ||
- | this is a guide showing how to install [[https:// | + | this is a guide showing how to install [[https:// |
=====dependencies===== | =====dependencies===== | ||
====git==== | ====git==== | ||
Line 31: | Line 31: | ||
<code bash> | <code bash> | ||
pkg_add php-curl-8.2.27 | pkg_add php-curl-8.2.27 | ||
+ | </ | ||
+ | |||
+ | php runs in the webserver chroot (/var/www) for security. curl will look for / | ||
+ | |||
+ | create / | ||
+ | <code bash> | ||
+ | mkdir -p / | ||
+ | cp / | ||
</ | </ | ||
Line 81: | Line 89: | ||
</ | </ | ||
> if you get no errors everything is probably in working order. | > if you get no errors everything is probably in working order. | ||
+ | =====httpd.conf===== | ||
+ | you will need a new server block in your [[https:// | ||
+ | <file / | ||
+ | server " | ||
+ | | ||
+ | | ||
+ | |||
+ | tls { | ||
+ | certificate "/ | ||
+ | key "/ | ||
+ | } | ||
+ | |||
+ | | ||
+ | root "/ | ||
+ | request strip 2 | ||
+ | } | ||
+ | |||
+ | root "/ | ||
+ | |||
+ | | ||
+ | request rewrite "/ | ||
+ | | ||
+ | fastcgi socket "/ | ||
+ | } | ||
+ | | ||
+ | request rewrite "/ | ||
+ | | ||
+ | fastcgi socket "/ | ||
+ | } | ||
+ | |||
+ | | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | =====acme-client.conf===== | ||
+ | for tls, OpenBSD provides [[https:// | ||
+ | <file bash / | ||
+ | authority letsencrypt { | ||
+ | api url " | ||
+ | | ||
+ | } | ||
+ | domain search.yonderly.org { | ||
+ | | ||
+ | | ||
+ | sign with letsencrypt | ||
+ | } | ||
+ | </ | ||
+ | =====4get===== | ||
+ | go to /var/www/ and clone 4get's repository. | ||
+ | <code bash> | ||
+ | cd /var/www | ||
+ | git clone https:// | ||
+ | </ | ||
+ | it will now sit at / | ||
+ | |||
+ | you also need to set the permissions of icons/. | ||
+ | <code bash> | ||
+ | chmod -R 777 ./icons/ | ||
+ | </ | ||
+ | =====finalizing===== | ||
+ | there are a few last steps before 4get is public. | ||
+ | ====daemons==== | ||
+ | if you haven' | ||
+ | <code bash> | ||
+ | rcctl enable php82_fpm | ||
+ | rcctl enable httpd | ||
+ | </ | ||
+ | then, bring up or restart them. | ||
+ | <code bash> | ||
+ | rcctl restart php82_fpm | ||
+ | rcctl restart httpd | ||
+ | </ | ||
+ | the website should now be accessible through http. | ||
+ | |||
+ | ====acme-client==== | ||
+ | the certificates defined in httpd.conf and acme-client.conf haven' | ||
+ | <code bash> | ||
+ | acme-client -v search.yonderly.org | ||
+ | </ | ||
+ | |||
+ | now that the certificates are generated, restart httpd so it uses them. | ||
+ | <code bash> | ||
+ | rcctl restart httpd | ||
+ | </ | ||
+ | the website should now be accessible through https. | ||
+ | ===cronjob=== | ||
+ | to prevent the website' | ||
+ | <code bash> | ||
+ | doas crontab -e | ||
+ | </ | ||
+ | go to the bottom of the file and enter in a new line: | ||
+ | <file bash crontab> | ||
+ | ... | ||
+ | ~ * * * * acme-client search.yonderly.org | ||
+ | </ | ||
+ | this will make the system run acme-client every hour for search.yonderly.org. | ||
+ | {{tag> |
4get_openbsd.1739071852.txt.gz · Last modified: 2025/02/09 03:30 by ethan