Ghost Installieren: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
 
(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:


<pre>
<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
</pre>
</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.


<pre>
<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
</pre>
</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''):


<pre>
<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
</pre>
</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:


<pre>
<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');
</pre>
</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:


<pre>
<syntaxhighlight lang=javascript line>
config = {
config = {
     production: {
     production: {
Zeile 82: Zeile 82:
         },
         },
         ...
         ...
</pre>
</syntaxhighlight>


Alternativ für MySQL lautet die Datenbank-Konfiguration:
Alternativ für MySQL lautet die Datenbank-Konfiguration:


<pre>
<syntaxhighlight lang=javascript line>
database: {
database: {
   client: 'mysql',
   client: 'mysql',
Zeile 97: Zeile 97:
   }
   }
}
}
</pre>
</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/

Links