summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDante Catalfamo2020-06-18 00:36:15 -0400
committerDante Catalfamo2020-06-18 00:36:15 -0400
commit78666e520d3e15d85b18a3467f870af120d5b9ff (patch)
tree418ec4be3d42686f021671f3cef20d531abbda66
parent8d49887bbd64177daa3388a0ec1e616418a74920 (diff)
downloadblog-78666e520d3e15d85b18a3467f870af120d5b9ff.tar.gz
blog-78666e520d3e15d85b18a3467f870af120d5b9ff.tar.bz2
blog-78666e520d3e15d85b18a3467f870af120d5b9ff.zip
Write more of the blog setup post
-rw-r--r--content/posts/how-this-blog-works/index.org60
1 files changed, 57 insertions, 3 deletions
diff --git a/content/posts/how-this-blog-works/index.org b/content/posts/how-this-blog-works/index.org
index 5b83c9c..fa1acb2 100644
--- a/content/posts/how-this-blog-works/index.org
+++ b/content/posts/how-this-blog-works/index.org
@@ -57,6 +57,12 @@ through how I run by blog.
it's pretty easy to figure out.
* Prerequisites
+
+ This can be hosted on a very cheap VPS since it only has to serve
+ static pages. For OpenBSD hosting I would recommend either [[https://www.vultr.com/][Vultr]] or
+ [[https://openbsd.amsterdam/][OpenBSD Amsterdam]].
+
+** Server
The only thing that's required on the host server is =git=, although
you could even get away without that if you chose to host your git
repository elsewhere, like on github.
@@ -65,9 +71,22 @@ through how I run by blog.
pkg_add git
#+END_SRC
- On the client you'll need both =git= and =rsync=. Both might already
- be installed depending on the system you're on. If not, check your
- package manager for details on how to install them.
+** Local machine
+ On the local machine you'll need both =git= and =rsync=. Both might
+ already be installed depending on the system you're on. If not,
+ check your package manager for details on how to install them. In
+ the case of Ubuntu or Debian it would be
+
+ #+BEGIN_SRC shell
+ sudo apt install git rsync
+ #+END_SRC
+
+ or for Fedora
+
+ #+BEGIN_SRC shell
+ sudo dnf install git rsync
+ #+END_SRC
+
* Version Control
@@ -118,7 +137,42 @@ through how I run by blog.
Since this blog is going to be hosted on OpenBSD, we don't need to
install a web server, as it already comes with one built in.
+ Setting up =httpd= couldn't be easier, the configuration syntax is
+ very straight forward. If you would like to see a full breakdown of
+ the options available, check out the man page with =man
+ httpd.conf=. The example configuration in =/etc/examples/httpd.conf=
+ is also a good starting point.
+
+ In this case the simplest configuration would be as follows
+
+ # js chosen for prism.js syntax highlighting
+ #+BEGIN_SRC js
+ server "blog.lambda.cx" {
+ listen on * port 80
+ root "/htdocs/blog.lambda.cx"
+ }
+ #+END_SRC
+
+ Despite how it looks, the =htdocs= folder doesn't reside in the
+ system root (=/=) directory. It actually lives in =/var/www/htocs=,
+ and only appears that way because =httpd= gets automatically
+ =chroot='ed in =/var/www/= for security reasons.
+
+ For more information about how to set up SSL with Let's Encrypt,
+ check out [[{{< ref "posts/letsencrypt-on-openbsd" >}}][this post]].
+
* Deployment
The system used to deploy this blog is incredibly simple, involving
only =rsync=, =hugo=, and a small shell script.
+
+** Server
+ First you have to allow the =blog= user to write to the website
+ root. We'll do this by making it the owner of
+ =/var/www/htdocs/blog.lambda.cx=.
+
+ #+BEGIN_SRC shell
+ chown -R blog /var/www/htdocs/blog.lambda.cx
+ #+END_SRC
+
+** Local machine