HugoCMS > Installation

Für die Installation benötigen Sie lediglich den Static Site Generator Hugo und die apache2-utils um den Zugriff auf den Editor zu beschränken, wenn Sie Ihn Online verwenden wollen. Unter Debian und davon abgeleitete Distributionen können Sie das mit

apt install hugo

und

apt install apache2-utils

Für Hugo können Sie auch das aktuelle tarball verwenden.

Legen Sie mit hugo eine neue Website an, insofern Sie keine Vorhandene verwenden wollen.

hugo new site <Verzeichnis>

oder um die richtigen Schreibrechte zu setzen

sudo -u <www-server-user> hugo new site <Verzeichnis>

Beachten Sie das Hugo per default das Verzeichnis ‘public/’ verwendet um die Website zu erzeugen. Jetzt noch die Konfigurationsdatei config.json anlegen und das Verzeichnis ‘static/edit/’ das Editor-Repo klonen.

mkdir static/edit && cd static/edit && git clone https://github.com/hugoeditor/hugocms.git .

oder für die Pro Version:

mkdir static/edit && cd static/edit && git clone https://github.com/hugoeditor/hugocms-pro.git .

Tip: Zum Anlegen der config.json kann der folgende Befehl verwendet werden. Danach könne Sie den Editor zum bearbeiten der Konfigurationsdatei nutzen.
Actung das überschreibt eine vorhandene config.json!

echo "{}" > config.json && mv config.toml config.toml.bak

Um das Verzeichnis mit dem Editor zu schützen benutzen Sie htpasswd aus den apache2-utils und konfigurieren dann Ihren Nginx oder Apache2 Server.

htpasswd -c <password-file> <user>

zum Beispiel für Nginx:

htpasswd -c /etc/nginx/.htpasswd.<domain> <user>

und in der Konfigurationsdatei für Nginx folgendes hinzufügen ( durch die eigene Domain ersetzen):

location /edit/ {
    auth_basic          "Restricted and Password Protected App";
    auth_basic_user_file /etc/nginx/.htpasswd.<domain>;
}

Nun muss nur noch mit Hugo die Website erzeugt werden. Vorher noch ins Arbeitsverzechnis für Hugo wechseln.

hugo -DEF

bzw.

sudo -u <www-server-user> hugo -DEF

und schon kann der Editor über Ihre Domain mit abgehangenem ‘/edit/’ aufgerufen werden.