Ghost Installieren

Aus Hostsharing Wiki
Wechseln zu: Navigation, Suche

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.

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.11.7 aktuell), der Download-Link liegt unter https://ghost.org/de/developers/.

Den Download ins User-Verzeichnis umbennen in ghost-0.11.7.zip und ins $HOME des Domain-User hochladen.

cd
mkdir ghost
cd ghost
unzip ../ghost-0.11.7.zip 
npm install --production

Konfiguration für Apache und Passenger

Ghost benötigt die NodeJS-Version 4.x. Die Installation ist unter NodeJS beschrieben.

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
        },
        ...

Alternativ für MySQL lautet die Datenbank-Konfiguration:

database: {
  client: 'mysql',
  connection: {
    host     : 'localhost',
    user     : 'xyz00_ghostusr',
    password : 'anderes-Geheimwort',
    database : 'xyz00_ghostdb',
    charset  : 'utf8'
  }
}

Eine Konfiguration mit einer Postgres-Datenbank soll ebenfalls möglich sein. Sie wird vom Ghost-Projekt jedoch nicht getestet.


Ghost sollte nun unter der URL: https://ghost.example.com/ erreichbar sein. Administration unter https://ghost.example.com/ghost/

Links