Ghost est le dernier et le plus grand parvenu à rivaliser avec WordPress. Le développement du thème est rapide et facile à apprendre parce que les développeurs fantômes ont décidé d'utiliser les deux ember.js et handlebars.js cadres pour éliminer une partie de la courbe d'apprentissage. Le moment de l' installation et la configuration devrait prendre environ 45-60 minutes et utilise des technologies suivantes: Node.js
, Relayd
et Httpd
.
Remarque: veuillez remplacer example.org par votre nom de domaine et 192.0.2.x par votre adresse IP Vultr attribuée. Nous utiliserons également des certificats auto-signés qui sont vraiment bons pour les tests uniquement. Si vous décidez d'utiliser Ghost en production, il est extrêmement important d'utiliser un vrai certificat. De vrais certificats peuvent être obtenus gratuitement en utilisant Let's Encrypt .
Configurer OpenBSD
Activez Httpd
et relayd
.
# rcctl enable httpd relayd
Créez le /etc/httpd.conf
fichier de configuration pour Httpd. Dans cet exemple, le seul but de Httpd est de rediriger les requêtes vers https. Relayd sera en fait celui qui écoute le https
port et qui envoie des demandes de proxy à Ghost.
prefork 3
types { include "/usr/share/misc/mime.types" }
server "www.example.org" {
listen on 192.0.2.1 port 80
# Redirect to https
block return 301 "https://$SERVER_NAME:$REQUEST_URI"
}
Créez les certificats SSL de test pour votre déploiement Ghost. Étant donné que ce ne sera vraiment que pour les tests, vous pouvez laisser la plupart des champs vides. Le seul que vous devrez compléter est le Common Name
champ et qui doit correspondre au nom de domaine complet du serveur. Lorsque vous êtes prêt à remplacer le certificat auto-signé par des certificats qui sont vrais et valides, n'oubliez pas de conserver les noms de fichiers inchangés. Relayd s'attend à trouver sa clé et son certificat avec la convention de dénomination <ip address>.crt
et <ip address>.key
.
# cd /etc/ssl
# openssl req -x509 -new -nodes -newkey rsa:4096 -keyout private/192.0.2.1.key -out 192.0.2.1.crt -days 364 -sha256
# chmod 0400 private/192.0.2.1.key
Créez le /etc/relayd.conf
fichier de configuration pour Relayd. Relayd fait la magie qui procède au proxy et redirige les requêtes vers Ghost.
prefork 3
http protocol https {
match request header append "X-Forwarded-For" value "$REMOTE_ADDR"
match request header append "X-Forwarded-By" \
value "$SERVER_ADDR:$SERVER_PORT"
tcp { nodelay, sack, socket buffer 65536, backlog 128 }
tls { no tlsv1, ciphers HIGH }
tls no session tickets
}
relay ghost {
listen on 192.0.2.1 port 443 tls
protocol https
forward to 127.0.0.1 port 2368
}
Ajoutez les packages suivants.
pkg_add -r node unzip wget
Créez un répertoire utilisateur et home pour l'installation de Ghost. Par exemple, créez un utilisateur nommé ghost
avec un répertoire personnel appelé /var/www/ghost
. Utilisez un mot de passe très fort pour ce compte.
# user add -m -c "Ghost User" -d /var/www/ghost -G wheel -g =uid -u 5000 -s /bin/ksh ghost
# passwd ghost
Passez à l' ghost
utilisateur et téléchargez la dernière version de Ghost.
# doas su ghost
# cd /var/www/ghost
# mkdir blog
# cd blog/
# wget https://ghost.org/zip/ghost-latest.zip
# unzip ghost-latest.zip
Installez Ghost.
# npm install sqlite3 --sqlite=/usr/local
# npm install --production
# npm install forever
# doas npm install -g knex-migrator
Configurez Ghost. Remplacez la database
section de config.production.json
par la database
clause ci-dessous si vous souhaitez utiliser à la sqlite
place de mysql
. Sqlite gère facilement environ 100 000 connexions par jour. Si vous avez déjà installé MySQL, vous pouvez toujours choisir de l'utiliser à la place. Pour le defaults.json
fichier, changez la domain
partie de la url
en votre domaine.
# cd core/server/config/env/config/
# vi config.production.json
"database": {
"client": "sqlite3",
"connection": {
"filename": "content/data/ghost.db"
},
# cd core/server/config/
# vi defaults.json
"url": "http://www,example.org",
"server": {
"host": "127.0.0.1",
"port": 2368
},
Nous devons maintenant remplir la base de données et démarrer Ghost.
# cd ~/blog
# NODE_ENV=production knex-migrator init
# NODE_ENV=production ~/blog/node_modules/forever/bin/forever start ~/blog/index.js
Effectuez une netstat -na -f inet
recherche et recherchez une 127.0.0.1:2368
entrée. Vous pouvez également faire un ps ax | grep node
pour vérifier que Ghost est en cours d'exécution.
Ouvrez votre navigateur Web préféré et accédez à http://www.example.org
. Vous serez automatiquement redirigé vers https://www.example.org
. Vous serez accueilli avec la page Ghost par défaut.
Naviguez pour http://www.example.org/ghost
terminer l'installation.