aboutsummaryrefslogtreecommitdiff
path: root/content/blog/2021-04-17-gemini-server.md
diff options
context:
space:
mode:
authorChristian Cleberg <hello@cleberg.net>2024-04-29 14:18:55 -0500
committerChristian Cleberg <hello@cleberg.net>2024-04-29 14:18:55 -0500
commitfdd80eadcc2f147d0198d94b7b908764778184a2 (patch)
treefbec9522ea9aa13e8105efc413d2498c3c5b4cd6 /content/blog/2021-04-17-gemini-server.md
parentd6c80fdc1dea9ff242a4d3c7d3939d2727a8da56 (diff)
downloadcleberg.net-fdd80eadcc2f147d0198d94b7b908764778184a2.tar.gz
cleberg.net-fdd80eadcc2f147d0198d94b7b908764778184a2.tar.bz2
cleberg.net-fdd80eadcc2f147d0198d94b7b908764778184a2.zip
format line wrapping and fix escaped characters
Diffstat (limited to 'content/blog/2021-04-17-gemini-server.md')
-rw-r--r--content/blog/2021-04-17-gemini-server.md76
1 files changed, 36 insertions, 40 deletions
diff --git a/content/blog/2021-04-17-gemini-server.md b/content/blog/2021-04-17-gemini-server.md
index 7b4aafe..19b336f 100644
--- a/content/blog/2021-04-17-gemini-server.md
+++ b/content/blog/2021-04-17-gemini-server.md
@@ -7,28 +7,27 @@ draft = false
# 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
+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.
+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 [Agate](https://github.com/mbrubeck/agate) for this
-tutorial. This is a basic Gemini server written in Rust. It takes very
-little time and maintenance to get it running.
+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.
+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.
```sh
sudo apt update && sudo apt upgrade -y
@@ -41,15 +40,14 @@ Remember to configure your shell with the new configuration:
source $HOME/.cargo/env
```
-Before we install agate, make sure you have the `gcc` package
-installed:
+Before we install agate, make sure you have the `gcc` package installed:
```sh
sudo apt install gcc
```
-Next, you\'ll need to install the agate executable with Rust\'s Cargo
-package maintainer:
+Next, you'll need to install the agate executable with Rust's Cargo package
+maintainer:
```sh
cargo install agate
@@ -57,18 +55,17 @@ cargo install agate
# Create Symlinks
-Once Cargo has finished installing all the required packages, symlink
-the executable to your \$PATH.
+Once Cargo has finished installing all the required packages, symlink the
+executable to your $PATH.
```sh
sudo ln -s $HOME/.cargo/bin/agate /usr/local/bin/agate
```
-# Using Agate\'s Built-In Installation Tool
+# 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.
+If you're running Ubuntu or Debian, use the Debian installation script found in
+Agate's GitHub repository, under the `tools/debian` folder.
```sh
git clone https://github.com/mbrubeck/agate
@@ -78,11 +75,10 @@ sudo ./install.sh
# 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.
+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.
```sh
sudo nano /etc/systemd/system/gemini.service
@@ -101,8 +97,8 @@ WorkingDirectory=/var/gemini/
ExecStart=agate --hostname gemini.example.com --lang en
```
-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.
+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.
```sh
sudo systemctl daemon-reload
@@ -112,8 +108,8 @@ sudo systemctl status gemini.service
# 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.
+If you're still getting errors, the installation process may not have properly
+enabled the gemini service. Fix it with the following commands.
```sh
sudo systemctl enable gemini.service
@@ -123,9 +119,9 @@ sudo systemctl status gemini.service
# 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.
+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.
```sh
sudo ufw allow 1965
@@ -134,19 +130,19 @@ sudo ufw reload
# 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.
+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.
```sh
sudo mkdir /var/gemini/content
sudo nano /var/gemini/content/index.gmi
```
-You can put whatever you want in the \"index.gmi\" file, just make sure
-it\'s valid Gemtext.
+You can put whatever you want in the "index.gmi" file, just make sure it's
+valid Gemtext.
# The Results