GNU/Linux >> Tutoriels Linux >  >> Ubuntu

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

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 4.2.0 (LTS) à ce jour.

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. Ghost est sorti en 2013 sous licence MIT.

Prérequis

  • Ubuntu 15.10
  • 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 node.js v0.12. Node.js peut être installé à partir de la source ou du dépôt nodesource.com. Nous utiliserons le dépôt node.js   https://deb.nodesource.com/node_0.12 pour l'installation.

Veuillez ajouter et mettre à jour le référentiel en exécutant la commande ci-dessous :

curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -

Installez ensuite node.js avec apt :

sudo apt-get install -y nodejs

Vérifiez maintenant la version de node.js :

node --version

v0.12.7

Et vérifiez la version npm :

npm --version

2.11.3

Npm est le gestionnaire de packages node.js utilisé pour installer, publier et gérer les 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 en tant que root/sudo :

cd ghostblog/
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

Ouvrez maintenant le fichier de configuration avec l'éditeur vim :

vim config.js

Dans le bloc serveur (ligne 27) , remplacez la valeur de l'hôte par 0.0.0.0 .

host = 0.0.0.0

Pour permettre l'accès au blog depuis l'extérieur. Enregistrez et quittez.

Ajoutez ensuite un nouvel utilisateur "fantôme". Cet utilisateur sera utilisé pour exécuter ghost :

sudo adduser --shell /bin/bash ghost
ENTER YOUR PASSWORD

Changez maintenant le propriétaire du répertoire d'installation fantôme pour 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 de Ghost et démarrez-le :

cd /var/www/ghostblog
npm start --production

Visitez l'IP du serveur sur le port 2368, dans mon cas :192.168.1.104:2368


Pour faciliter le démarrage de Ghost, nous allons créer un service système pour exécuter Ghost. Veuillez revenir à l'utilisateur sudo/root et créer un nouveau fichier appelé "ghost.service" dans le répertoire "/lib/systemd/system/".

sudo cd /lib/systemd/system/
sudo 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

Et enregistrez le fichier Puis rechargez le démon systemd :

sudo systemctl daemon-reload

Ajoutez le service Ghost pour qu'il démarre automatiquement au démarrage et démarrez Ghost avec la commande systemctl :

sudo systemctl enable ghost
sudo systemctl start ghost

É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". Nous créons d'abord 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 à l'hôte virtuel fantôme 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>

Sauvegardez et quittez.

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 est maintenant installé avec succès.

Conclusion

Nodejs est une runtine 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 le logiciel Ghost Blog avec Apache et SSL sur Ubuntu 16.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 Concrete5 CMS avec Apache et Lets Encrypt SSL gratuit sur Ubuntu 20.04

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

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