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“.