aboutsummaryrefslogtreecommitdiff
path: root/blog/gemini-server/index.org
diff options
context:
space:
mode:
Diffstat (limited to 'blog/gemini-server/index.org')
-rw-r--r--blog/gemini-server/index.org150
1 files changed, 0 insertions, 150 deletions
diff --git a/blog/gemini-server/index.org b/blog/gemini-server/index.org
deleted file mode 100644
index fd50c20..0000000
--- a/blog/gemini-server/index.org
+++ /dev/null
@@ -1,150 +0,0 @@
-#+title: Hosting a Gemini Server
-#+date: 2021-04-17
-#+description: A guide to self-hosting a Gemini web server on your own server.
-#+filetags: :sysadmin:
-
-* Similar Article Available
-To read more about Gemini and ways to test out this new protocol without
-your own server, see my previous post
-[[../launching-a-gemini-capsule/][Launching a Gemini Capsule]].
-
-* Preparation
-This guide assumes you have access to a server accessible to the world
-through a public IP address and that you own a domain name used for this
-Gemini capsule.
-
-* Getting Started with Agate
-We are going to use [[https://github.com/mbrubeck/agate][Agate]] for
-this tutorial. This is a basic Gemini server written in Rust. It takes
-very little time and maintenance to get it running.
-
-* Install Dependencies
-First, you will need to install the Rust package for your system. On
-Ubuntu, use the following commands (remember to use =sudo= if you are
-not the root user). The Rust installation will give you options to
-customize the installation; I used the default installation options.
-
-#+begin_src sh
-sudo apt update && sudo apt upgrade -y
-curl https://sh.rustup.rs -sSf | sh
-#+end_src
-
-Remember to configure your shell with the new configuration:
-
-#+begin_src sh
-source $HOME/.cargo/env
-#+end_src
-
-Before we install agate, make sure you have the =gcc= package installed:
-
-#+begin_src sh
-sudo apt install gcc
-#+end_src
-
-Next, you'll need to install the agate executable with Rust's Cargo
-package maintainer:
-
-#+begin_src sh
-cargo install agate
-#+end_src
-
-* Create Symlinks
-Once Cargo has finished installing all the required packages, symlink
-the executable to your $PATH.
-
-#+begin_src sh
-sudo ln -s $HOME/.cargo/bin/agate /usr/local/bin/agate
-#+end_src
-
-* Using Agate's Built-In Installation Tool
-If you're running Ubuntu or Debian, use the Debian installation script
-found in Agate's GitHub repository, under the =tools/debian= folder.
-
-#+begin_src sh
-git clone https://github.com/mbrubeck/agate
-cd agate/tools/debian
-sudo ./install.sh
-#+end_src
-
-* Configure the Gemini Service
-We have a little more to do, but since this script tries to immediately
-run the service, it will likely fail with an exit code. Let's add our
-finishing touches. Edit the following file and replace the hostname with
-your desired URL. You can also change the directory where content will
-be served.
-
-#+begin_src sh
-sudo nano /etc/systemd/system/gemini.service
-#+end_src
-
-#+begin_src sh
-# Edit these lines to whatever you want - see the next code block for my personal configuration.
-WorkingDirectory=/srv/gemini
-ExecStart=agate --hostname $(uname -n) --lang en
-#+end_src
-
-This is my personal config:
-
-#+begin_src sh
-WorkingDirectory=/var/gemini/
-ExecStart=agate --hostname gemini.example.com --lang en
-#+end_src
-
-Since we've altered the systemd configuration files, we have to reload
-the daemon. Let's do that, restart our service, and check its status.
-
-#+begin_src sh
-sudo systemctl daemon-reload
-sudo systemctl restart gemini.service
-sudo systemctl status gemini.service
-#+end_src
-
-* Fixing Systemd Errors
-If you're still getting errors, the installation process may not have
-properly enabled the gemini service. Fix it with the following commands.
-
-#+begin_src sh
-sudo systemctl enable gemini.service
-sudo systemctl restart gemini.service
-sudo systemctl status gemini.service
-#+end_src
-
-* Firewall Rules
-Great! Our server is now functional and running. The first consideration
-now is that you need to be able to access port 1965 on the server. If
-you have a firewall enabled, you'll need to open that port up.
-
-#+begin_src sh
-sudo ufw allow 1965
-sudo ufw reload
-#+end_src
-
-* Creating Content
-Let's create the Gemini capsule. Note that wherever you set the
-WorkingDirectory variable to earlier, Agate will expect you to put your
-Gemini capsule contents in a sub-folder called "content." So, I place my
-files in "/var/gmi/content." I'm going to create that folder now and put
-a file in there.
-
-#+begin_src sh
-sudo mkdir /var/gemini/content
-sudo nano /var/gemini/content/index.gmi
-#+end_src
-
-You can put whatever you want in the "index.gmi" file, just make sure
-it's valid Gemtext.
-
-* The Results
-Here are some screenshots of the Gemini page I just created in the
-[[https://gmi.skyjake.fi/lagrange/][Lagrange]] browser and the
-[[https://github.com/makeworld-the-better-one/amfora][amfora]] browser.
-
-#+caption: GUI Gemini browser
-[[https://img.cleberg.net/blog/20210417-hosting-a-gemini-server/lagrange.png]]
-
-/Lagrange/
-
-#+caption: CLI Gemini browser
-[[https://img.cleberg.net/blog/20210417-hosting-a-gemini-server/amfora.png]]
-
-/Amfora/