GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer le logiciel Ghost Blog avec Apache et SSL sur Ubuntu 16.04

Ghost est une puissante plateforme de publication et de blog open source, magnifiquement conçue et facile à utiliser. Ghost est écrit en javascript et utilise node.js comme environnement d'exécution. La première version de Ghost est sortie en 2013 sous licence MIT et est constamment mise à jour. Ce tutoriel montre l'installation du logiciel Ghost Blog, Node.js et Apache en tant que serveur proxy SSL sur Ubuntu 16.04.

Nodejs est un environnement d'exécution javascript open source basé sur le moteur JavaScript V8 de Chrome (v4) pour le développement d'applications Web côté serveur. Nodejs est un environnement d'exécution multiplateforme qui peut s'exécuter sur OS X, Microsoft Windows, Linux et FreeBSD. Il fournit une architecture pilotée par les événements et un modèle d'E/S non bloquant qui le rend léger et efficace pour les applications Web en temps réel. Le projet Node.js a été lancé en 2009 par Ryan Dahl et a atteint la version 6.5.0 (LTS) à ce jour.

Prérequis

  • Ubuntu 16.04
  • privilèges racine

Ce que nous allons faire dans ce didacticiel :

  • Installer Node.js
  • Installer Ghost
  • Configurer Ghost
  • Installez Apache et ajoutez Ghost VirtualHost
  • Activer SSL pour Ghost

Étape 1 - Installer Node.js sur Ubuntu

Pour ce tutoriel, nous utiliserons nodejs v4.x. Nodejs peut être installé de différentes manières, comme l'installation à partir de la source ou l'installation à partir du référentiel Ubuntu. Je vais utiliser le dépôt nodejs de nodesecure https://deb.nodesource.com/node_4.x pour l'installation, il contient des logiciels à jour et l'utilisation d'un référentiel lui permet de mettre facilement à jour node.js ultérieurement.

Installez la clé de dépôt nodesource à l'aide de la commande ci-dessous :

curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -

Ajoutez ensuite le dépôt nodejs en exécutant les commandes ci-dessous :

sudo echo 'deb https://deb.nodesource.com/node_4.x xenial main' > /etc/apt/sources.list.d/nodesource.list
sudo echo 'deb-src https://deb.nodesource.com/node_4.x xenial main' >> /etc/apt/sources.list.d/nodesource.list

Mettre à jour le référentiel :

sudo apt-get update

Nous pouvons maintenant installer le package "nodejs" qui installera node.js et ses dépendances sur le serveur :

sudo apt-get install -y nodejs

Vérifiez maintenant la version de nodejs pour vous assurer que l'installation a réussi :

node --version

Vérifier la version npm :

npm --version

npm est un gestionnaire de packages pour installer, publier et gérer des programmes de nœuds.

Étape 2 - Installer le blog Ghost

Nous allons installer ghost dans le répertoire "/var/www/" et utiliser la dernière version de Ghost. Veuillez créer un nouveau répertoire "www" dans /var et entrez-le avec "cd":

mkdir -p /var/www/
cd /var/www/

Téléchargez Ghost avec la commande wget, puis extrayez-le dans un répertoire nommé "ghostblog" :

wget https://ghost.org/zip/ghost-latest.zip
unzip -d ghostblog ghost-latest.zip

REMARQUE :-d :crée automatiquement le répertoire.

Ensuite, allez dans le répertoire ghostblog et installez Ghost avec le npm commande :

cd ghostblog/
sudo npm install --production

Étape 3 - Configurer Ghost

Veuillez vous rendre dans le répertoire ghostblog, puis copier le fichier d'exemple de configuration dans "config.js"

cd /var/www/ghostblog/
cp config.example.js config.js

Ensuite, ajoutez un nouvel utilisateur "fantôme". Cet utilisateur sera poursuivi pour exécuter Ghost :

useradd -d /var/www -s /bin/bash ghost
passwd ghost
TYPE NEW PASSWORD FOR ghost USER

Remarque :

-d =Définit le répertoire personnel de l'utilisateur fantôme dans /var/www/.

-s =Définit le shell pour l'utilisateur fantôme.

Remplacez maintenant le propriétaire du répertoire d'installation fantôme par l'utilisateur "fantôme".

chown -R ghost:ghost /var/www/ghostblog

Testez le blog fantôme en exécutant la commande npm en tant qu'utilisateur fantôme. Veuillez vous connecter à l'utilisateur fantôme :

su - ghost

et allez dans le répertoire d'installation et démarrez Ghost :

cd ghostblog/
npm start --production

Ghost est installé et fonctionne sur localhost avec le port 2368. Nous pouvons le vérifier avec la commande curl :

curl -I localhost:2368

Vous pouvez voir que le fantôme est en cours d'exécution - HTTP/1.1 200 OK .

Nous exécuterons ghost as service pour faciliter le démarrage de ghost. Veuillez revenir à l'utilisateur sudo/root en tapant "exit" et créer un nouveau fichier appelé "ghost.service" dans le répertoire "/lib/systemd/system/".

cd /lib/systemd/system/
vim ghost.service

Collez le script systemd ci-dessous :

[Unit]
Description=ghost
After=network.target

[Service]
Type=simple
# Ghost installation Directory
WorkingDirectory=/var/www/ghostblog
User=ghost
Group=ghost
ExecStart=/usr/bin/npm start --production
ExecStop=/usr/bin/npm stop --production
Restart=always
SyslogIdentifier=Ghost

[Install]
WantedBy=multi-user.target

Ensuite, rechargez le démon systemd :

systemctl daemon-reload

Ajoutez ensuite ghost à démarrer au démarrage et démarrez ghost avec la commande systemctl :

systemctl enable ghost
systemctl start ghost

Vérifiez que le fantôme est en cours d'exécution en vérifiant le port 2368 :

netstat -plntu

Étape 4 - Installer Apache et Ghost VirtualHost

Installez apache avec la commande apt-get :

sudo apt-get install apache2

Une fois l'installation terminée, créez un nouveau fichier pour l'hôte virtuel fantôme dans le répertoire "/etc/apache2/sites-available/".

sudo cd /etc/apache2/sites-available/
sudo vim ghostblog.conf

Collez la configuration ci-dessous :

<VirtualHost *:80>
    #Domain Name
    ServerName ghostblog.me
    ServerAlias www.ghostblog.me

    #HTTP proxy/gateway server
    ProxyRequests off 
    ProxyPass / http://127.0.0.1:2368/ 
    ProxyPassReverse / http:/127.0.0.1:2368/     
</VirtualHost>

Enregistrez et quittez.

Activez le module proxy HTTP dans apache avec la commande a2enmod comme indiqué ci-dessous :

sudo a2enmod proxy proxy_http

Enfin, nous devons activer l'hôte virtuel Ghost puis redémarrer apache :

sudo a2ensite ghostblog
sudo systemctl restart apache2

Redémarrez le fantôme :

sudo systemctl restart ghost

Testez en visitant le domaine :http://ghostblog.me

Étape 5 - Activer SSL pour Ghost

Pour activer SSL sur apache, assurez-vous que la bibliothèque OpenSSL est installée sur le système. Nous allons générer une nouvelle clé et un nouveau fichier crt dans le répertoire "/etc/apache2/certs". Tout d'abord, nous créons de nouveaux certificats d'annuaire :

sudo mkdir -p /etc/apache2/certs

Et générez la clé de certificat avec la commande ci-dessous :

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/certs/ghostblog.key -out /etc/apache2/certs/ghostblog.crt

Veuillez modifier l'autorisation du fichier de certificat :

sudo cd /etc/apache2/certs/
sudo chmod 600 *

Ensuite, ajoutez la configuration SSL à ghost virtualhost en modifiant le fichier "ghostblog.conf".

sudo cd /etc/apache2/sites-available/
sudo vim ghostblog.conf

Collez le nouveau script de configuration ci-dessous :

<VirtualHost *:80>
    ServerName ghostblog.me
    ServerAlias www.ghostblog.me

    # Force http to https
    Redirect permanent / https://ghostblog.me/
#    ProxyRequests off 
#    ProxyPass / http://127.0.0.1:2368/ 
#    ProxyPassReverse / http:/127.0.0.1:2368/     
</VirtualHost>

<VirtualHost *:443>

   ServerName ghostblog.me

   SSLEngine on
   SSLCertificateFile /etc/apache2/certs/ghostblog.crt
   SSLCertificateKeyFile /etc/apache2/certs/ghostblog.key

   ProxyPass / http://127.0.0.1:2368/
   ProxyPassReverse / http:/127.0.0.1:2368/
   ProxyPreserveHost   On

   RequestHeader set X-Forwarded-Proto "https"

</VirtualHost>

Enregistrez le fichier et quittez vim.

Activez le module apache OpenSSL et redémarrez apache :

sudo a2enmod ssl headers
sudo systemctl restart apache2

Tests

Visitez http://ghostblog.me , et vous serez forcé d'accéder au site HTTPS/SSL de votre blog.

Ghost avec apache et SSL a été installé avec succès.

Conclusion

Nodejs est un environnement d'exécution javascript multiplateforme open source pour créer des applications Web côté serveur. Il est léger et efficace pour les applications Web en temps réel. Ghost est une plateforme de blogs écrite en Javascript pour Node.js. Ghost est magnifiquement conçu et convivial. L'interface intuitive rend ce système de blog facile à utiliser. Ghost peut être installé de manière autonome ou avec un serveur Web comme Apache ou Nginx. Vous pouvez sécuriser Ghost avec OpenSSL. Configurer Ghost avec Apache et OpenSSL est simple, il vous suffit de configurer le module apache http_proxy et de générer un certificat SSL.


Ubuntu
  1. Comment installer et configurer Nextcloud avec Apache sur Ubuntu 18.04

  2. Comment installer et sécuriser phpMyAdmin avec Apache sur Ubuntu 18.04

  3. Comment installer et configurer ownCloud avec Apache sur Ubuntu 18.04

  4. Comment installer Apache Hive avec Hadoop sur CentOS, Ubuntu et LinuxMint

  5. Comment installer Apache Maven sur Ubuntu 18.04 et 16.04

Comment installer ProjectSend avec Apache et Lets Encrypt SSL sur Ubuntu 20.04

Comment installer le logiciel Ghost Blog avec Apache et SSL sur Ubuntu 15.10

Comment installer PrestaShop sur Ubuntu 20.04 avec Apache

Comment installer Let's Encrypt SSL sur Ubuntu avec Apache

Comment installer Drupal avec Apache sur Debian et Ubuntu

Comment installer Django 3.2 sur Ubuntu 20.04 avec Apache et WSGI