GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer Concrete5 CMS avec Apache et Lets Encrypt SSL gratuit sur Ubuntu 20.04

Concrete5 est un système de gestion de contenu open source utilisé pour publier du contenu sur Internet. Il est écrit en PHP et utilise MariaDB comme backend de base de données. Il fournit un générateur facile à utiliser qui vous aide à créer des pages et du contenu via le navigateur Web. Il est flexible, sécurisé, prêt pour le mobile et basé sur l'architecture Model-View-Controller. Il offre un riche ensemble de fonctionnalités, notamment l'éditeur de contenu WYSIWYG, le gestionnaire de médias, le glisser-déposer de contenu, l'édition contextuelle et bien d'autres.

Dans cet article, nous vous montrerons comment installer Concrete5 CMS avec Apache et Let's Encrypt SSL sur le serveur Ubuntu 20.04.

Exigences

  • Un serveur exécutant Ubuntu 20.04.
  • Un nom de domaine valide pointant vers l'adresse IP du serveur.
  • Un mot de passe root est configuré sur votre serveur.

Mise en route

Tout d'abord, vous devrez mettre à jour l'index du package APT vers la dernière version. Vous pouvez le mettre à jour avec la commande suivante :

apt-get update -y

Une fois l'index APT mis à jour, vous pouvez passer à l'étape suivante.

Installer Apache, MariaDB et PHP

Ensuite, vous devrez installer le serveur Web Apache, le serveur de base de données MariaDB, PHP et d'autres extensions PHP sur votre serveur. Vous pouvez tous les installer à l'aide de la commande suivante :

apt-get install apache2 mariadb-server php libapache2-mod-php libapache2-mod-php php-common php-mbstring php-xmlrpc php-soap php-gd php-xml php-intl php-mysql php-cli php-ldap php-zip php-curl -y

Une fois tous les packages installés, éditez le fichier php.ini et définissez les valeurs souhaitées :

nano /etc/php/7.4/apache2/php.ini

Modifiez les lignes suivantes :

file_uploads = On
allow_url_fopen = On
memory_limit = 256M
upload_max_filesize = 64M
date.timezone = Asia/Kolkata

Enregistrez et fermez le fichier lorsque vous avez terminé, puis redémarrez le service Apache pour appliquer les modifications :

systemctl restart apache2

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Créer une base de données Concrete5

Ensuite, vous devrez créer une base de données et un utilisateur pour Concrete5. Tout d'abord, connectez-vous à MariaDB avec la commande suivante :

mysql

Une fois connecté, créez une base de données et un utilisateur avec la commande suivante :

MariaDB [(none)]> CREATE DATABASE concrete5;
MariaDB [(none)]> CREATE USER 'concrete5user'@'localhost' IDENTIFIED BY 'password';

Ensuite, accordez tous les privilèges à la base de données Concrete5 avec la commande suivante :

MariaDB [(none)]> GRANT ALL ON concrete5.* TO 'concrete5user'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Ensuite, videz les privilèges et quittez la console MariaDB avec la commande suivante :

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Télécharger le CMS Concrete5

Tout d'abord, rendez-vous sur le site Web de Concrete5 CMS, copiez l'URL de la dernière version de Concrete5 et téléchargez-la avec la commande suivante :

wget --trust-server-names https://www.concrete5.org/download_file/-/view/115589/ -O concrete5.zip

Une fois le téléchargement terminé, extrayez le fichier téléchargé avec la commande suivante :

unzip concrete5.zip

Ensuite, déplacez le répertoire extrait vers le répertoire racine Web d'Apache à l'aide de la commande suivante :

mv concrete5-* /var/www/html/concrete5

Ensuite, définissez l'autorisation et la propriété appropriées sur le répertoire concrete5 avec la commande suivante :

chown -R www-data:www-data /var/www/html/concrete5/
chmod -R 755 /var/www/html/concrete5/

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Configurer Apache pour Concrete5 CMS

Ensuite, vous devrez créer un fichier de configuration d'hôte virtuel Apache pour Concrete5 CMS. Vous pouvez le créer avec la commande suivante :

nano /etc/apache2/sites-available/concrete5.conf

Ajoutez les lignes suivantes :

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/html/concrete5/
     ServerName concrete5.example.com

     <Directory /var/www/html/concrete5/>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Enregistrez et fermez le fichier puis activez l'hôte virtuel Apache et réécrivez le module avec la commande suivante :

a2ensite concrete5.conf
a2enmod rewrite

Ensuite, redémarrez le service Apache pour appliquer les modifications :

systemctl restart apache2

Vous pouvez également vérifier l'état du service Apache à l'aide de la commande suivante :

systemctl status apache2

Vous devriez obtenir le résultat suivant :

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-05-15 15:00:03 UTC; 4s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 15566 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 15585 (apache2)
      Tasks: 6 (limit: 2353)
     Memory: 13.5M
     CGroup: /system.slice/apache2.service
             ??15585 /usr/sbin/apache2 -k start
             ??15586 /usr/sbin/apache2 -k start
             ??15587 /usr/sbin/apache2 -k start
             ??15588 /usr/sbin/apache2 -k start
             ??15589 /usr/sbin/apache2 -k start
             ??15590 /usr/sbin/apache2 -k start

May 15 15:00:03 ubuntu2004 systemd[1]: Starting The Apache HTTP Server...

À ce stade, le serveur Web Apache est configuré pour héberger Concrete5 CMS. Vous pouvez maintenant passer à l'étape suivante.

Accéder à l'interface Web du CMS Concrete5

Maintenant, ouvrez votre navigateur Web et accédez à l'interface Web de Concrete5 CMS en utilisant l'URL http://concrete5.example.com . Vous serez redirigé vers la page suivante :

Sélectionnez votre langue et cliquez sur la flèche bouton. Vous devriez voir la page suivante :

Assurez-vous que toutes les bibliothèques requises sont installées, puis cliquez sur Continuer vers l'installation bouton, vous devriez voir la page suivante :

Ici, indiquez le nom d'utilisateur de l'administrateur, le mot de passe, le nom d'utilisateur de la base de données, le mot de passe et le nom de la base de données, puis cliquez sur Installer Béton5 bouton pour lancer l'installation. Une fois l'installation terminée, vous devriez voir la page suivante :

Maintenant, cliquez sur Modifier votre site bouton, vous devriez voir le tableau de bord Concrete5 sur la page suivante :

Sécurisez Concrete5 avec Let's Encrypt SSL

Ensuite, il est recommandé de sécuriser votre site Web avec Let's Encrypt SSL. Commencez par installer le client Certbot à l'aide de la commande suivante :

apt-get install python3-certbot-apache -y

Une fois installé, exécutez la commande suivante pour sécuriser votre site Web avec Let's Encrypt SSL :

certbot --apache -d concrete5.example.com

Il vous sera demandé de fournir votre adresse e-mail et d'accepter les conditions d'utilisation comme indiqué ci-dessous :

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Plugins selected: Authenticator apache, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for concrete5.example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/concrete5-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/concrete5-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/concrete5-le-ssl.conf

Ensuite, sélectionnez si vous souhaitez ou non rediriger le trafic HTTP vers HTTPS comme indiqué ci-dessous :

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Tapez 2 et appuyez sur Entrée pour installer le SSL Let's Encrypt pour votre site Web :

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/concrete5.conf to ssl vhost in /etc/apache2/sites-available/concrete5-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://concrete5.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=concrete5.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/concrete5.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/concrete5.example.com/privkey.pem
   Your cert will expire on 2020-10-23. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Désormais, vous pouvez accéder à Concrete 5 en toute sécurité à l'aide de l'URL https://concrete5.example.com .

Conclusion

Dans le guide ci-dessus, vous avez appris à installer Concrete5 CMS avec Apache et Let's Encrypt SSL sur Ubuntu 20.04. Vous pouvez maintenant publier votre contenu sur Internet facilement en utilisant le CMS Concrete5. N'hésitez pas à me demander si vous avez des questions.


Ubuntu
  1. Comment installer Nextcloud avec Nginx et Lets Encrypt SSL sur Ubuntu 20.04 LTS

  2. Comment installer Magento 2 avec Nginx et Lets Encrypt SSL sur Ubuntu 20.04 LTS

  3. Installez Automad CMS avec Nginx et Lets Encrypt SSL sur Ubuntu 18.04

  4. Comment installer Grav CMS avec Nginx et Lets Encrypt sur Ubuntu 18.04 LTS

  5. Comment installer Automad CMS avec Apache et Lets encrypt sur Debian 10

Comment installer Drupal avec Apache et Lets Encrypt SSL sur Debian 11

Comment installer SuiteCRM avec Apache et Lets Encrypt SSL gratuit sur Debian 11

Comment installer Moodle avec Nginx et Lets Encrypt SSL sur Ubuntu 20.04

Comment installer MediaWiki avec Nginx et Lets Encrypt SSL sur Ubuntu 20.04

Comment installer Gitea avec Nginx et Lets Encrypt SSL gratuit sur Ubuntu 20.04

Comment installer Let's Encrypt SSL sur Ubuntu avec Apache