Ghost Installieren: Unterschied zwischen den Versionen
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
Zeile 11: | 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 17: | 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 28: | Zeile 28: | ||
Den Download ins User-Verzeichnis umbennen in ''ghost-0.11.7.zip'' und ins $HOME des Domain-User hochladen. | 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 | ||
Zeile 34: | Zeile 34: | ||
unzip ../ghost-0.11.7.zip | 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 == | ||
Zeile 43: | Zeile 43: | ||
(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 53: | 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 82: | Zeile 82: | ||
}, | }, | ||
... | ... | ||
</ | </syntaxhighlight> | ||
Alternativ für MySQL lautet die Datenbank-Konfiguration: | Alternativ für MySQL lautet die Datenbank-Konfiguration: | ||
< | <syntaxhighlight lang=javascript line> | ||
database: { | database: { | ||
client: 'mysql', | client: 'mysql', | ||
Zeile 97: | Zeile 97: | ||
} | } | ||
} | } | ||
</ | </syntaxhighlight> | ||
Eine Konfiguration mit einer Postgres-Datenbank soll ebenfalls möglich sein. Sie wird vom Ghost-Projekt jedoch nicht getestet. | Eine Konfiguration mit einer Postgres-Datenbank soll ebenfalls möglich sein. Sie wird vom Ghost-Projekt jedoch nicht getestet. |
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/