Ghost Installieren: Unterschied zwischen den Versionen
(neue Seite) |
|||
(9 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 6: | Zeile 6: | ||
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 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:<pre>hsscript -i</pre> | Als Paketadmin ''xyz00'' aufrufen:<pre>hsscript -i</pre> | ||
Zeile 13: | Zeile 11: | ||
In der HSAdmin-Shell gibt man dann ein: | In der HSAdmin-Shell gibt man dann ein: | ||
< | <syntaxhighlight lang=shell> | ||
xyz00@hsadmin> user.add({set:{name:'xyz00-ghost', password:'mein-Geheimwort', shell:'/bin/bash'}}) | 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> domain.add({set:{name:'ghost.example.com', user:'xyz00-ghost'}}) | ||
Zeile 19: | Zeile 17: | ||
xyz00@hsadmin> mysqldb.add({set:{name:'xyz00_ghostdb', owner:'xyz00_ghostusr'}}) | xyz00@hsadmin> mysqldb.add({set:{name:'xyz00_ghostdb', owner:'xyz00_ghostusr'}}) | ||
xyz00@hsadmin> bye | xyz00@hsadmin> bye | ||
</ | </syntaxhighlight> | ||
== Installation == | == Installation == | ||
Zeile 25: | Zeile 23: | ||
Als Paketadmin ''xyz00'' nimmt man mit <pre>sudo -u xyz00-ghost -i</pre> die Rechte des Domain-Administrators ''xyz00-ghost'' für die neue Domain ''ghost.example.com'' an. | Als Paketadmin ''xyz00'' nimmt man mit <pre>sudo -u xyz00-ghost -i</pre> 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 | 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. | |||
< | <syntaxhighlight lang=shell> | ||
cd | cd | ||
mkdir ghost | mkdir ghost | ||
cd ghost | cd ghost | ||
unzip ../ghost-0.7 | unzip ../ghost-0.11.7.zip | ||
npm install --production | npm install --production | ||
</ | </syntaxhighlight> | ||
== Konfiguration für Apache und Passenger == | == 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 | Die statischen Dateien der Anwendung werden mit den folgenden Befehlen richtig verlinkt | ||
(immer noch als User ''xyz00-ghost''): | (immer noch als User ''xyz00-ghost''): | ||
< | <syntaxhighlight lang=shell> | ||
cd | cd | ||
cd ~/doms/ghost.example.com/htdocs/ | cd ~/doms/ghost.example.com/htdocs/ | ||
Zeile 51: | Zeile 53: | ||
ln -s ~/ghost/core/shared . | ln -s ~/ghost/core/shared . | ||
ln -s ~/ghost/content/themes/casper/assets ./assets | ln -s ~/ghost/content/themes/casper/assets ./assets | ||
</ | </syntaxhighlight> | ||
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: | 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: | ||
< | <syntaxhighlight lang=javascript line> | ||
require('/home/pacs/xyz00/users/ghost/ghost/index.js'); | require('/home/pacs/xyz00/users/ghost/ghost/index.js'); | ||
process.chdir('/home/pacs/xyz00/users/ghost/ghost'); | process.chdir('/home/pacs/xyz00/users/ghost/ghost'); | ||
</ | </syntaxhighlight> | ||
Zum Schluß wird die Anwendung in der Datei ''~/ghost/config.js'' konfiguriert. Der Teil im Abschnitt ''config / production'' ist wichtig. Etwa wie folgt: | Zum Schluß wird die Anwendung in der Datei ''~/ghost/config.js'' konfiguriert. Der Teil im Abschnitt ''config / production'' ist wichtig. Etwa wie folgt: | ||
< | <syntaxhighlight lang=javascript line> | ||
config = { | config = { | ||
production: { | production: { | ||
Zeile 80: | Zeile 82: | ||
}, | }, | ||
... | ... | ||
</ | </syntaxhighlight> | ||
Alternativ für MySQL lautet die Datenbank-Konfiguration: | |||
<syntaxhighlight lang=javascript line> | |||
database: { | |||
client: 'mysql', | |||
connection: { | |||
host : 'localhost', | |||
user : 'xyz00_ghostusr', | |||
password : 'anderes-Geheimwort', | |||
database : 'xyz00_ghostdb', | |||
charset : 'utf8' | |||
} | |||
} | |||
</syntaxhighlight> | |||
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. | Ghost sollte nun unter der URL: ''https://ghost.example.com/'' erreichbar sein. | ||
Administration unter ''https://ghost.example.com/ghost/'' | Administration unter ''https://ghost.example.com/ghost/'' | ||
== Links == | == Links == | ||
*[https://ghost.org/de/ Ghost Homepage] | *[https://ghost.org/de/ Ghost Homepage] | ||
*[https://support.ghost.org/developers/ Dokumentation] | |||
*[https://langrisa.eu/setting-up-ghost-blog-on-nginx-phusion-passenger/ Setting up Ghost on Phusion Passenger (Englisch)] | *[https://langrisa.eu/setting-up-ghost-blog-on-nginx-phusion-passenger/ Setting up Ghost on Phusion Passenger (Englisch)] | ||
Aktuelle Version vom 28. Juni 2024, 11:24 Uhr
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/