Ghost Installieren
Ghost installieren
Ghost ist eine moderne einfache Weblog-Software in JavaScript.
Vorbereitung
Als Paket-Admin xyz00 werden mit HSAdmin ein User angelegt und eine Domain aufgeschaltet. Eine produktive Installation von Ghost kann mit SqLite oder MySQL genutzt werden. Wenn SqLite genutzt werden soll entfällt das Anlegen des MySQL-Users und der MySQL-Datenbank.
Mit hsscript werde angelegt:
Als Paketadmin xyz00 aufrufen:
hsscript -i
In der HSAdmin-Shell gibt man dann ein:
xyz00@hsadmin> user.add({set:{name:'xyz00-ghost', password:'mein-Geheimwort', shell:'/bin/bash'}}) xyz00@hsadmin> domain.add({set:{name:'ghost.example.com', user:'xyz00-ghost'}}) xyz00@hsadmin> mysqluser.add({set:{name:'xyz00_ghostusr', password:'anderes-Geheimwort'}}) xyz00@hsadmin> mysqldb.add({set:{name:'xyz00_ghostdb', owner:'xyz00_ghostusr'}}) xyz00@hsadmin> bye
Installation
Als Paketadmin xyz00 nimmt man mit
sudo -u xyz00-ghost -i
die Rechte des Domain-Administrators xyz00-ghost für die neue Domain ghost.example.com an.
Die Ghost-Software wird von der Seite http://ghost.org heruntergeladen (Stand heute ist Version 0.7.8 aktuell):
cd wget https://ghost.org/zip/ghost-0.7.8.zip mkdir ghost cd ghost unzip ../ghost-0.7.8.zip npm install --production
Konfiguration für Apache und Passenger
Die statischen Dateien der Anwendung werden mit den folgenden Befehlen richtig verlinkt (immer noch als User xyz00-ghost):
cd cd ~/doms/ghost.example.com/htdocs/ rm .htaccess ln -s ~/ghost/core/shared . ln -s ~/ghost/content/themes/casper/assets ./assets cd ~/doms/ghost.example.com/htdocs-ssl/ rm .htaccess ln -s ~/ghost/core/shared . ln -s ~/ghost/content/themes/casper/assets ./assets
Für die Anwendung legen wir in den Verzeichnissen ~/doms/ghost.example.com/app/ und ~/doms/ghost.example.com/app-ssl/ eine Datei app.js mit dem folgenden Inhalt an:
require('/home/pacs/xyz00/users/ghost/ghost/index.js'); process.chdir('/home/pacs/xyz00/users/ghost/ghost');
Zum Schluß wird die Anwendung in der Datei ~/ghost/config.js konfiguriert. Der Teil im Abschnitt config / production ist wichtig. Etwa wie folgt:
config = { production: { url: 'https://ghost.example.com', mail: { transport: 'SMTP', options: { host:'localhost' } }, database: { client: 'sqlite3', connection: { filename: path.join(__dirname, '/content/data/ghost.db') }, debug: false }, ...
Ghost sollte nun unter der URL: https://ghost.example.com/ erreichbar sein. Administration unter https://ghost.example.com/ghost/