Dans ce didacticiel, nous allons vous montrer comment installer Mezzanine sur CentOS 7 Mezzanine est un système de gestion de contenu gratuit et open source (également appelé CMS), construit à l'aide du framework d'application Web Django. Il s'agit d'un ensemble de composants utiles qui aident les développeurs à créer facilement et rapidement des sites Web à des fins diverses. Il fournit une interface intuitive pour gérer et créer des pages Web, des articles de blog, des données de formulaire, des produits de magasin, ainsi que de nombreux autres types de contenu.
Contrairement à d'autres applications CMS populaires, toutes ces fonctionnalités sont disponibles prêtes à l'emploi, sans qu'il soit nécessaire d'utiliser des modules ou des modules complémentaires supplémentaires. Installer Mezzanine CMS sur CentOS 7 est une tâche facile si vous suivez attentivement les étapes ci-dessous.
Prérequis
- Un serveur exécutant CentOS 7
- Accès SSH avec privilèges root ou accès à l'utilisateur root
Étape 1 :Connexion et mise à jour des packages
Tout d'abord, nous allons devoir nous connecter à notre serveur en utilisant SSH. Vous pouvez le faire en saisissant cette commande :
ssh root@IP_Address -p Port_Number
N'oubliez pas de remplacer "root" par votre nom d'utilisateur si vous n'utilisez pas l'utilisateur root. Modifiez "IP_Address" et "Port_Number" en fonction de l'adresse IP et du port de votre serveur.
Une fois connecté, vous devez mettre à jour tous vos packages vers leurs dernières versions disponibles, de cette façon nous pouvons maximiser la compatibilité et éviter les éventuelles divergences de version :
# yum update
Étape 2 :Installer les outils de développement
Le bundle "Outils de développement" est requis pour créer des modules Python. nous pouvons l'installer en utilisant cette commande :
# yum groupinstall 'Development Tools'
Étape 3 :Installez Python 3.6
Pour installer Python version 3.6, nous avons besoin du centos-release-scl
et epel-release
dépôts. Vous pouvez les installer avec cette commande :
# yum install centos-release-scl epel-release
Une fois cela fait, vous pouvez alors installer Python 3.6. De plus, nous allons installer nano
, un éditeur de texte polyvalent (facultatif) et Nginx
, un serveur Web hautement personnalisable :
# yum install rh-python36 nano nginx
Étape 4 :Installer le serveur MariaDB
L'installation du serveur de base de données MariaDB est simple et ne nécessite qu'une seule commande :
# yum install mariadb-server
Une fois l'installation terminée, permettons-lui de s'exécuter au démarrage, puis démarrons le service.
# systemctl enable mariadb # systemctl start mariadb
À ce stade, MariaDB est en cours d'exécution et nous allons maintenant créer un mot de passe pour l'utilisateur root. Exécutez la commande suivante pour créer un mot de passe root, supprimer la base de données de test, supprimer l'utilisateur anonyme, avant de finalement recharger les privilèges.
# mysql_secure_installation
Lorsque vous y êtes invité, répondez aux questions ci-dessous en suivant le guide.
Enter current password for root (enter for none): Just press the [Enter] key, since no password is currently set. Set root password? [Y/n]: Y New password: Enter a new password Re-enter new password: Repeat the new password Remove anonymous users? [Y/n]: Y Disallow root login remotely? [Y/n]: Y Remove test database and access to it? [Y/n]: Y Reload privilege tables now? [Y/n]: Y
Étape 5 :Créer une base de données pour la mezzanine
Créons-en un en utilisant les commandes suivantes. Tout d'abord, nous devons nous connecter à l'interface de ligne de commande MariaDB :
# mysql -u root -p
A partir de là, nous pouvons créer notre base de données :
mysql> create database mezzanine; Query OK, 1 row affected (0.00 sec)
Une fois la base de données créée, nous créerons un utilisateur et lui fournirons un accès complet à la base de données Mezzanine :
mysql> grant all on mezzanine.* to mezzanine@localhost identified by 'Password'; Query OK, 0 rows affected, 1 warning (0.00 sec)
N'oubliez pas de vider tous les privilèges pour que les modifications prennent effet :
mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
Quittez ensuite l'interface de ligne de commande.
mysql> quit
REMARQUE : Vous devrez remplacer le mot de passe "Mot de passe" ci-dessus par un mot de passe fort.
Étape 6 :Créer un utilisateur du système mezzanine
Avant de continuer, créons un nouvel utilisateur pour notre installation Mezzanine :
# adduser mezzanine
Ensuite, nous ajouterons ce nouvel utilisateur au groupe sudo :
# usermod -aG wheel mezzanine
Étape 7 :Créer un environnement virtuel
Nous allons créer un environnement virtuel sous l'utilisateur système que nous avons créé précédemment :
# su - mezzanine
Pour activer python3.6 dans cette session shell, nous devons exécuter cette commande :
$ scl enable rh-python36 bash
Vous pouvez vérifier la version python maintenant.
$ python -V
Nous pouvons maintenant créer un environnement virtuel. La commande suivante créera un environnement virtuel appelé "mezzanine":
$ python -m venv mezzanine
Pour utiliser l'environnement virtuel, nous devons d'abord l'activer en lançant cette commande :
$ source mezzanine/bin/activate
Une fois activé, l'invite du shell ressemblera à ceci :
Étape 8 :Installer et créer un projet mezzanine
Tout d'abord, nous allons installer un package Python appelé "mezzanine". Ceci est nécessaire pour que Mezzanine fonctionne correctement.
$ pip install mezzanine
Après cela, nous pouvons créer notre premier projet Mezzanine.
$ mezzanine-project first_project
La commande ci-dessus ajoutera un nouveau répertoire nommé "first_project". Sur votre serveur, vous pouvez choisir le nom de projet que vous souhaitez. N'oubliez pas de suivre le changement de nom tout au long du didacticiel.
Étape 9 :Configurer le projet mezzanine
À cette étape, nous devons modifier le settings.py
fichier dans notre premier répertoire de projet. Nous utiliserons MySQL pour le stockage de notre base de données :
$ cd first_project
$ nano first_project/settings.py
Localisez le bloc DATABASES et ajoutez les informations suivantes sur la base de données que nous avons créée précédemment.
DATABASES = { "default": { "ENGINE": "django.db.backends.mysql", "NAME": "mezzanine", "USER": "mezzanine", "PASSWORD": "Password", "HOST": "", "PORT": "", } }
Enregistrez les modifications et quittez.
Vous trouverez également le script principal de gestion des projets dans ce répertoire, qui s'appelle manage.py
.
Nous utiliserons ce script pour migrer la base de données et créer un nouveau compte superutilisateur pour notre interface d'administration Mezzanine.
Migrons la base de données en exécutant les commandes suivantes :
$ python manage.py makemigrations $ python manage.py migrate
Une fois la base de données migrée, nous pouvons créer un nouvel utilisateur administratif avec les éléments suivants :
$ python manage.py createsuperuser
Entrez les informations requises afin de créer le nouvel utilisateur administrateur :
Username (leave blank to use 'mezzanine'): Email address: [email protected] Password: Password (again): Superuser created successfully.
Ensuite, ouvrez le fichier suivant pour le modifier :
$ nano first_project/local_settings.py
Trouvez la ligne ALLOWED_HOSTS puis ajoutez l'adresse IP de votre serveur et/ou votre nom de domaine.
ALLOWED_HOSTS = ["localhost", "127.0.0.1", "::1", "your-server-IP", "your-domain-name"]
Enregistrez le fichier et quittez l'éditeur de texte nano.
Étape 10 :Démarrez le serveur mezzanine
Pour démarrer et exécuter le serveur Mezzanine, exécutez la commande suivante :
$ python manage.py runserver 0.0.0.0:8000
Vous pourrez désormais accéder à l'application à l'aide de votre navigateur préféré à l'adresse http://your_server_ip:8000/
.
Vous pouvez ensuite accéder à la page d'administration Mezzanine et vous connecter avec votre utilisateur administrateur sur http://your_server_ip:8000/admin
Pour arrêter l'exécution du serveur, vous pouvez simplement faire Ctrl+C.
Étape 11 : Configurer un proxy inverse
Pour mieux gérer l'application Mezzanine CMS, nous devons installer Gunicorn. Gunicorn est un serveur HTTP d'interface de passerelle de serveur Web python. Il s'agit d'un modèle de travail pré-fork, porté à partir du projet Ruby's Unicorn. Le serveur Gunicorn est compatible avec un grand nombre de frameworks Web, sa mise en œuvre est simple, il est léger sur les ressources du serveur et il est assez rapide. Pour l'installer, exécutez simplement ces quelques commandes suivantes.
$ pip install gunicorn $ python manage.py collectstatic $ deactivate $ exit
Une fois l'installation terminée, utilisez nano (ou votre éditeur de texte préféré) pour créer le fichier de service.
# nano /etc/systemd/system/gunicorn.service
Une fois le fichier ouvert, définissez les valeurs suivantes en copiant et collant ce qui suit :
[Unit] Description=gunicorn daemon After=network.target [Service] User=mezzanine Group=nginx WorkingDirectory=/home/mezzanine/first_project ExecStart=/home/mezzanine/mezzanine/bin/gunicorn --access-logfile - --workers 3 --bind unix:/home/mezzanine/first_project.sock first_project.wsgi:application [Install] WantedBy=multi-user.target
N'oubliez pas de remplacer "first_project" par le nom de votre projet Mezzanine ! Fermez et archivez et exécutez la commande suivante pour recharger la liste des services.
# systemctl daemon-reload
Maintenant, nous pouvons démarrer-arrêter-redémarrer l'application Mezzanine CMS en utilisant la commande systemctl :
# systemctl start gunicorn
Si vous voulez qu'il s'exécute au démarrage, nous devrons l'activer.
systemctl enable gunicorn
Gunicorn a maintenant été configuré avec succès. Maintenant, pour y accéder en utilisant votre nom de domaine dans le navigateur Web, nous allons installer et configurer Nginx pour passer le proxy à Gunicorn.
Créons un fichier de bloc de serveur Nginx. Assurez-vous de remplacer your_domain.com par votre nom de domaine actuel.
# nano /etc/nginx/conf.d/your_domain.com.conf
Collez ensuite ce qui suit dans le fichier :
server { listen 80; server_name your_domain.com; location = /favicon.ico { access_log off; log_not_found off; } location /static/ { root /home/mezzanine/first_project; } location / { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://unix:/home/mezzanine/first_project.sock; } }
Enregistrez et quittez une fois terminé. Exécutez les commandes suivantes pour charger les modifications, démarrer Nginx et lui permettre de démarrer au démarrage.
# nginx -t # systemctl start nginx # systemctl enable nginx
Pour autoriser Nginx à accéder à votre application CMS Mezzanine, nous devons ajouter l'utilisateur Nginx au groupe d'utilisateurs pouvant exécuter le CMS Mezzanine.
# usermod -aG mezzanine nginx
Ensuite, nous devrons également modifier les autorisations du répertoire du domicile de l'utilisateur Mezzanine.
# chmod 710 /home/mezzanine
Redémarrez Nginx pour que les modifications prennent effet.
# systemctl restart nginx
Voilà, vous devriez pouvoir accéder à votre application Mezzanine CMS sur http://yourdomain.com
à présent. Félicitations !
Bien sûr, vous n'êtes pas obligé d'installer Mezzanine CMS sur CentOS 7 si vous utilisez l'un de nos services d'hébergement VPS Mezzanine CMS, auquel cas vous pouvez simplement demander à nos administrateurs Linux experts d'installer Mezzanine CMS sur votre VPS pour vous. Ils sont disponibles 24h/24 et 7j/7 et prendront immédiatement en charge votre demande.
PS . Si vous avez aimé cet article sur comment installer Mezzanine CMS sur CentOS 7 , partagez-le avec vos amis sur les réseaux sociaux en utilisant les boutons ci-dessous ou laissez simplement une réponse dans les sections commentaires. Merci.