TikiWiki est un système de gestion de contenu gratuit et open-source écrit en langage PHP. Il est très puissant, complet et peut être utilisé pour créer des sites Web, des wikis, des applications Web, une base de connaissances, des portails, des galeries d'images et bien d'autres. TikiWiki est composé de quatre composants majeurs :des outils de création et de gestion de contenu, des outils de communication et des outils de configuration et d'administration, des outils d'organisation de contenu et des aides à la navigation. Ceux-ci vous permettront de créer et de gérer du contenu et de configurer des sites. TikiWiki est livré avec un riche ensemble de fonctionnalités, notamment des forums, un blog, des cartes, un espace de travail, un diaporama, un panier d'achat, un suivi des bogues et des problèmes, le multilingue, une galerie de fichiers et d'images, des événements et bien d'autres.
Dans ce tutoriel, nous allons apprendre à installer le CMS TikiWiki sur Debian 10.
Exigences
- Un serveur exécutant Debian 10.
- Un mot de passe root est configuré pour votre serveur.
Mise en route
Avant de commencer, vous devrez mettre à jour votre système avec la dernière version. Vous pouvez le faire en exécutant la commande suivante :
apt-get update -y
apt-get upgrade -y
Une fois votre serveur mis à jour, redémarrez votre serveur pour appliquer les modifications.
Installer le serveur LAMP
TikiWiki fonctionne sur un serveur Web Apache / Nginx, écrit en langage PHP et utilise MariaDB/MySQL pour stocker ses données. Vous devrez donc installer Apache, MariaDB, PHP et les autres extensions requises sur votre serveur. Tout d'abord, installez Apache et le serveur MariaDB avec la commande suivante :
apt-get install apache2 mariadb-server unzip -y
Par défaut, Debian 10 est livré avec PHP version 7.3. Cependant, TikiWiki ne prend pas en charge PHP 7.3. Vous devrez donc installer PHP 7.2 et les autres extensions requises.
Pour ajouter le référentiel SURY, téléchargez d'abord la clé GPG avec la commande suivante :
wget https://packages.sury.org/php/apt.gpg
apt-key add apt.gpg
Ensuite, ajoutez le référentiel SURY à APT avec la commande suivante :
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list
Ensuite, mettez à jour le référentiel et installez PHP7.2 avec toutes les extensions requises avec les commandes suivantes :
apt-get update -y
apt-get install php7.2 libapache2-mod-php7.2 php7.2-common php7.2-sqlite3 php7.2-curl php7.2-intl php7.2-mbstring php7.2-xmlrpc php7.2-mysql php7.2-gd php7.2-xml php7.2-cli php7.2-zip -y
Après avoir installé PHP7.2, ouvrez le fichier php.ini et modifiez quelques paramètres :
nano /etc/php/7.2/apache2/php.ini
Ajoutez les lignes suivantes :
memory_limit = 256M upload_max_filesize = 100M max_execution_time = 360 date.timezone = Asia/Kolkata
Enregistrez et fermez le fichier lorsque vous avez terminé. Passez ensuite à l'étape suivante.
Créer une base de données pour TikiWiki
Par défaut, MariaDB n'est pas sécurisée. Donc, vous devrez d'abord le sécuriser. Vous pouvez le sécuriser avec le script suivant :
mysql_secure_installation
Vous devez répondre à toutes les questions comme indiqué ci-dessous :
Enter current password for root (enter for none): Set root password? [Y/n]: N 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
Une fois MariaDB sécurisée, connectez-vous au shell MariaDB :
mysql -u root -p
Fournissez votre mot de passe root lorsque vous y êtes invité, puis créez une base de données et un utilisateur pour TikiWiki avec la commande suivante :
MariaDB [(none)]> CREATE DATABASE tikidb;
MariaDB [(none)]> CREATE USER 'tiki'@'localhost' IDENTIFIED BY 'password';
Ensuite, accordez tous les privilèges à la base de données TikiWiki avec la commande suivante :
MariaDB [(none)]> GRANT ALL ON tikidb.* TO 'tiki'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
Ensuite, videz les privilèges et quittez le shell 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 TikiWiki
Tout d'abord, vous devrez télécharger la dernière version de TikiWiki à partir du site Web Sourceforge. Vous pouvez le télécharger avec la commande suivante :
cd /var/www/html/
wget https://sourceforge.net/projects/tikiwiki/files/latest/download -O tikiwiki.zip
Une fois le téléchargement terminé, décompressez le fichier téléchargé avec la commande suivante :
unzip tikiwiki.zip
Ensuite, renommez le répertoire extrait en tikiwiki avec la commande suivante :
mv tiki-20.0 tikiwiki
Ensuite, donnez les autorisations appropriées au répertoire tikiwiki avec la commande suivante :
chown -R www-data:www-data /var/www/html/tikiwiki/
chmod -R 755 /var/www/html/tikiwiki/
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Configurer Apache pour TikiWiki
Ensuite, vous devrez créer un fichier de configuration d'hôte virtuel Apache pour TikiWiki. Vous pouvez le créer avec la commande suivante :
nano /etc/apache2/sites-available/tikiwiki.conf
Ajoutez le contenu suivant :
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/html/tikiwiki ServerName example.com <Directory /var/www/html/tikiwiki/> Options FollowSymlinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/tikiwiki_error.log CustomLog ${APACHE_LOG_DIR}/tikiwiki_access.log combined </VirtualHost>
Enregistrez et fermez le fichier. Ensuite, activez le fichier de configuration de l'hôte virtuel avec la commande suivante :
a2ensite tikiwiki.conf
Enfin, activez le module de réécriture Apache et redémarrez le service Apache pour recharger les modifications de configuration avec la commande suivante :
a2enmod rewrite
systemctl restart apache2
Accéder à l'interface Web de TikiWiki
Maintenant, ouvrez votre navigateur Web et tapez l'URL http://example.com. Vous allez être redirigé vers la page d'accueil de TikiWiki :
Sélectionnez votre langue et cliquez sur Continuer bouton. Vous devriez voir la page suivante :
Acceptez le contrat de licence et cliquez sur Continuer bouton. Vous devriez voir la page suivante :
Confirmez que votre système répond aux exigences minimales et cliquez sur Continuer bouton. Vous devriez voir la page suivante :
Indiquez le nom de votre base de données, le nom d'utilisateur et le mot de passe de la base de données. Ensuite, cliquez sur Continuer bouton. Vous devriez voir la page suivante :
Sélectionnez le moteur de base de données et cliquez sur Installer bouton pour lancer l'installation. Une fois l'installation terminée avec succès, vous devriez voir la page suivante :
Maintenant, cliquez sur Continuer bouton, vous devriez voir la page suivante :
Fournissez toutes les informations requises telles que le titre du wiki, l'e-mail de l'expéditeur, la connexion sécurisée, l'e-mail de l'administrateur et cliquez sur Continuer bouton. Vous devriez voir la page suivante :
Lisez toutes les informations et cliquez sur Continuer bouton. Vous devriez voir la page suivante :
Maintenant, cliquez sur "Enter Tiki and Lock Installer ". Vous devriez voir la page suivante :
Maintenant, définissez votre mot de passe administrateur et cliquez sur Appliquer bouton. Vous devriez voir la page suivante :
Sécuriser TikiWiki avec Let's Encrypt
Dans cette section, nous vous expliquerons comment sécuriser votre site TikiWiki avec le SSL gratuit Let's Encrypt.
Tout d'abord, vous devrez installer l'outil Certbot pour télécharger et installer le SSL gratuit Let's Encrypt pour votre site Web. Par défaut, la dernière version de Certbot n'est pas disponible dans le référentiel par défaut de Debian 10. Vous devrez donc ajouter le référentiel Certbot à votre système.
Vous pouvez ajouter le référentiel Certbot avec la commande suivante :
apt-get install software-properties-common
add-apt-repository ppa:certbot/certbot
Ensuite, mettez à jour le référentiel et installez Certbot avec la commande suivante :
apt-get update -y
apt-get install certbot python-certbot-apache -y
Une fois installé, créez un fichier well-known.conf pour que Let's Encrypt valide votre domaine.
Tout d'abord, créez un répertoire .well-known et accordez les autorisations appropriées :
mkdir -p /var/lib/letsencrypt/.well-known
chgrp www-data /var/lib/letsencrypt
chmod g+s /var/lib/letsencrypt
Créez ensuite un fichier well-known.conf avec la commande suivante :
nano /etc/apache2/conf-available/well-known.conf
Ajoutez les lignes suivantes :
Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/" <Directory "/var/lib/letsencrypt/"> AllowOverride None Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Require method GET POST OPTIONS </Directory>
Enregistrez et fermez le fichier. Ensuite, activez les modules requis avec la commande suivante :
a2enmod ssl
a2enmod http2
a2enmod headers
a2enconf well-known
Ensuite, redémarrez le service Apache pour appliquer toutes les modifications de configuration :
systemctl restart apache2
Commençons maintenant à installer le certificat SSL gratuit pour votre domaine example.com avec la commande suivante :
certbot --apache -d example.com
Tout d'abord, vous devrez fournir une adresse e-mail valide et accepter les conditions d'utilisation comme indiqué ci-dessous :
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apache 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 Obtaining a new certificate Performing the following challenges: http-01 challenge for example.com Enabled Apache rewrite module Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/example.com-le-ssl.conf Deploying Certificate to VirtualHost /etc/apache2/sites-available/example.com-le-ssl.conf Enabling available site: /etc/apache2/sites-available/example.com-le-ssl.conf 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
Ensuite, choisissez l'option 2 pour télécharger et installer un certificat SSL gratuit pour votre domaine. Une fois l'installation terminée avec succès. Vous devriez obtenir le résultat suivant :
Enabled Apache rewrite module Redirecting vhost in /etc/apache2/sites-enabled/example.com.conf to ssl vhost in /etc/apache2/sites-available/ example.com-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://example.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/example.com/privkey.pem Your cert will expire on 2019-10-22. 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" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - 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
C'est ça. Maintenant, ouvrez votre navigateur Web et accédez à votre CMS TikiWiki en utilisant l'URL https://example.com. Vous devez que votre site TikiWiki soit correctement sécurisé avec un certificat SSL gratuit.