Hugo - Nutzung auf einem Managed Server

Hugo ist eine Tool zum Generieren von statisch Webseiten. Das Tool ist in der Sprache Go geschrieben worden. Damit lassen sich Webseiten innerhalb weniger Sekunden erzeugen. Mit dieser Anleitung zeigen wir Ihnen, wie Sie Hugo auf einem Managed Server nutzen können.

Voraussetzungen

Für die Verwendung von Hugo auf den Managed Servern von providerdienste.de ist nur ein SSH Zugang erforderlich.

Installation

Die Hugo Binärdatei können Sie auf der Github Seite unter Releases herunterladen:

https://github.com/gohugoio/hugo/releases

Für unsere Managed Server wählen Sie die „Hugo Extended“ Version für Linux AMD64 aus. Zum Beispiel „hugo_extended_0.136.5_linux-amd64.tar.gz“.

Melden Sie sich bei dem gewünschten Nutzer per SSH an. Anschließend erstellen Sie einen Ordner für Hugo, laden Hugo Extended herunter und erstellen einen Symlink in den „bin“-Ordner“:

$ mkdir hugo
$ cd hugo/
$ wget https://github.com/gohugoio/hugo/releases/download/v0.136.3/hugo_extended_0[..]
$ tar xzf hugo_extended_0.136.3_Linux-64bit.tar.gz
$ ln -s ~/hugo/hugo ~/bin/hugo

Sollte der Nutzer noch kein „bin“-Ordner im Home-Verzeichnis haben, können Sie mit

$ mkdir ~/bin

den Ordner erstellen. Prüfen Sie auch, ob der Pfad zum „bin“-Ordner in Ihrer $PATH Variable enthalten ist. Üblicherweise ist dies der Fall:

$ $ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/home/user/bin

Damit ist die Installation von Hugo bereits abgeschlossen. Sie können nun eine Webseite erzeugen.

Erzeugen einer Webseite

Die Anleitung zur Erzeugung einer Webseite ist in Anlehnung zur „Quick Start“ Anleitung aus der offiziellen Dokumentation entstanden:

https://gohugo.io/getting-started/quick-start/

Zunächst erzeugen Sie ein neues Projekt mit dem Namen „hugo-webseite“:

$ hugo new site hugo-webseite

Wechseln Sie nun mit dem „cd“-Befehl in den Ordner und erzeugen ein git Repository:

$ git init

Nun fügen wir der Webseite noch ein Theme hinzu:

$ git submodule add https://github.com/theNewDynamic/gohugo-theme-ananke.git themes/ananke

Das Theme wird im Ordner „hugo-webseite“ unter themes/ananke abgelegt. Im vorletzten Schritt benötigt Hugo noch eine Konfigurationsdatei. Die „hugo.toml“ wird im Projektordner angelegt. Hier im Beispiel geben wir an, welches Theme verwendet werden soll:

$ echo "theme = 'ananke'" >> hugo.toml

Nun kann die Webseite erzeugt werden:

$ hugo
Start building sites …
hugo v0.136.3-bfa2fd683e7f0874c7f7e2198ec407a037dadf14+extended linux/amd64
BuildDate=2024-10-21T13:31:54Z VendorInfo=gohugoio


                   | EN
-------------------+-----
  Pages            |  8
  Paginator pages  |  0
  Non-page files   |  0
  Static files     |  1
  Processed images |  0
  Aliases          |  0
  Cleaned          |  0

Total in 113 ms

Das Verzeichnis des Projekts sollte nun etwa so aussehen:

$ ll
insgesamt 44K
drwxrwxr-x. 2 user user 4,0K 22. Okt 08:01 archetypes
drwxrwxr-x. 2 user user 4,0K 22. Okt 08:01 assets
drwxrwxr-x. 2 user user 4,0K 22. Okt 08:01 content
drwxrwxr-x. 2 user user 4,0K 22. Okt 08:01 data
-rw-rw-r--. 1 user user  100 22. Okt 08:02 hugo.toml
drwxrwxr-x. 2 user user 4,0K 22. Okt 08:01 i18n
drwxrwxr-x. 2 user user 4,0K 22. Okt 08:01 layouts
drwxr-xr-x. 6 user user 4,0K 22. Okt 08:52 public
drwxrwxr-x. 3 user user 4,0K 22. Okt 08:02 resources
drwxrwxr-x. 2 user user 4,0K 22. Okt 08:01 static
drwxrwxr-x. 3 user user 4,0K 22. Okt 08:02 themes

Im Ordner „public“ finden Sie nun die generierten Dateien zu Ihrer Webseite. Entsprechend setzen Sie das Ziel-Verzeichnis auf Ihrem Managed Server auf diesen Ordner. In diesem Beispiel auf „~/hugo-webseite/public“.