Mahara est un système de portefeuille électronique open source. Il peut également être utilisé comme une plate-forme de réseautage social. Mahara est écrit en PHP et utilise un serveur de base de données PostgreSQL ou MySQL pour stocker ses données. Vous pouvez utiliser Mahara pour créer votre portfolio multimédia personnalisé et pour collaborer avec d'autres.
Dans ce tutoriel, nous allons installer Mahara sur le serveur CentOS 7.
Prérequis
- Serveur CentOS 7 minimal
- Privilèges root
Étape 1 - Installation d'Apache
Il est recommandé de mettre à jour le serveur avant d'installer un package afin que les packages et les référentiels existants soient mis à jour.
yum -y update
Une fois votre système mis à jour, vous pouvez procéder à l'installation du serveur Web Apache.
yum -y install httpd
Démarrez maintenant le serveur Web Apache et activez-le au démarrage à l'aide de la commande suivante.
systemctl start httpd
systemctl enable httpd
Étape 2 - Installation de PHP
Mahara supporte toutes les versions de PHP supérieures à 5.3. Mais dans ce tutoriel, nous allons installer PHP 7.1 car PHP v5.3 a atteint sa fin de vie. L'installation de la dernière version de PHP garantira la sécurité et les performances maximales de l'application.
Le référentiel YUM par défaut de CentOS n'inclut pas PHP 7.1, vous devrez donc ajouter le référentiel Webtatic dans votre système. Installer la version EPEL :
yum -y install epel-release
yum -y update
Tapez les commandes pour installer le référentiel Webtatic.
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y update
Tapez la commande suivante pour installer PHP 7.1 avec toutes les dépendances requises.
yum -y install php71w php71w-mysqli php71w-gd php71w-cli php71w-mcrypt php71w-mbstring php71w-dom
Pour vérifier si PHP est installé avec succès, vous pouvez exécuter :
php -v
Vous devriez obtenir une sortie similaire à celle-ci.
[[email protected] ~]# php -v PHP 7.1.6 (cli) (built: Jun 10 2017 07:28:42) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
Maintenant, vous devrez configurer quelques configurations en PHP. Ouvrez le fichier de configuration PHP, php.ini à l'aide de votre éditeur de texte préféré.
nano /etc/php.ini
Trouvez la ligne suivante et décommentez la ligne et définissez le fuseau horaire en fonction de votre région. Par exemple :
[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = Asia/Kolkata
Ensuite, recherchez la ligne suivante :
;session.entropy_length = 32
Décommentez la ligne et recherchez la ligne suivante :
post_max_size = 8M
Modifiez la valeur de 8M à 999M. Enregistrez le fichier et quittez l'éditeur.
Étape 3 - Installer MariaDB
MariaDB est un fork de la base de données MySQL. Pour installer MariaDB sur votre serveur, exécutez :
yum -y install mariadb mariadb-server
Exécutez les commandes suivantes pour démarrer MariaDB et lui permettre de démarrer au démarrage.
systemctl start mariadb
systemctl enable mariadb
Now run the following commands to secure your MariaDB installation.
mysql_secure_installation
La commande ci-dessus exécutera un script pour sécuriser la nouvelle installation de MariaDB. Le script demandera le mot de passe de l'utilisateur root existant, nous venons d'installer MariaDB, le mot de passe root n'est pas défini, appuyez simplement sur Entrée pour continuer.
Le script vous demandera si vous souhaitez définir un mot de passe root pour votre installation MariaDB, choisissez y et définissez un mot de passe fort pour l'installation. La plupart des questions sont explicites et vous devez répondre oui ou y à toutes les questions. La sortie ressemblera à celle ci-dessous.
Pour créer une base de données, nous devrons d'abord nous connecter à la ligne de commande MySQL. Exécutez la commande suivante pour le même.
mysql -u root -p
La commande ci-dessus se connectera au shell MySQL de l'utilisateur root, il demandera le mot de passe de l'utilisateur root. Fournissez le mot de passe pour vous connecter. Exécutez maintenant la requête suivante pour créer une nouvelle base de données pour votre installation Mahara.
CREATE DATABASE mahara_data CHARACTER SET UTF8;
La requête ci-dessus créera une nouvelle base de données nommée mahara_data. Assurez-vous d'utiliser un point-virgule à la fin de chaque requête car la requête se termine toujours par un point-virgule.
Pour créer un nouvel utilisateur de base de données, exécutez la requête suivante.
CREATE USER 'mahara_user'@'localhost' IDENTIFIED BY 'StrongPassword';
Fournissez maintenant tous les privilèges à votre utilisateur de base de données sur la base de données que vous avez créée. Exécutez la commande suivante.
GRANT ALL PRIVILEGES ON mahara_data.* TO 'mahara_user'@'localhost';
Exécutez maintenant la commande suivante pour appliquer immédiatement les modifications sur les privilèges de la base de données.
FLUSH PRIVILEGES;
Quittez l'invite MySQL à l'aide de la commande suivante.
EXIT;
Étape 4 - Installer et configurer Mahara
Comme toutes les dépendances sont prêtes, nous pouvons maintenant télécharger le package d'installation à partir du site Web de Mahara.
cd /var/www
wget https://launchpad.net/mahara/17.04/17.04.2/+download/mahara-17.04.2.zip
Vous pouvez toujours trouver le lien vers la dernière version de l'application sur la page de téléchargement de Mahara. Extrayez l'archive à l'aide de la commande suivante.
unzip mahara*.zip
Si vous n'avez pas besoin de décompresser installé, vous pouvez exécuter yum -y install unzip. Renommez votre dossier Mahara en utilisant :
mv mahara-*/ mahara/
Créez un nouveau répertoire de données pour stocker les données de session Mahara en exécutant :
mkdir /var/www/mahara/data
Copiez le fichier de configuration de Mahara en exécutant :
cp mahara/htdocs/config-dist.php mahara/htdocs/config.php
Ouvrez le fichier dans l'éditeur nano en exécutant :
nano mahara/htdocs/config.php
Maintenant, trouvez les lignes suivantes.
$cfg->dbtype = 'postgresql'; $cfg->dbhost = 'localhost'; $cfg->dbport = null; // Change if you are using a non-standard port number for your database $cfg->dbname = ''; $cfg->dbuser = ''; $cfg->dbpass = '';
Modifiez les informations ci-dessus en fonction de la base de données que vous avez créée. Dans ce cas, les lignes ci-dessus devraient ressembler à celles illustrées ci-dessous.
$cfg->dbtype = 'mysql'; $cfg->dbhost = 'localhost'; $cfg->dbport = null; // Change if you are using a non-standard port number for your database $cfg->dbname = 'mahara_data'; $cfg->dbuser = 'mahara_user'; $cfg->dbpass = 'StrongPassword';
Trouvez maintenant la ligne suivante et modifiez le chemin du répertoire de données.
$cfg->dataroot = '/var/www/mahara/data';
Fournissez également une chaîne aléatoire dans la configuration ci-dessous, elle est utilisée pour chiffrer les données de l'utilisateur.
$cfg->passwordsaltmain = 'some random string here.';
Changez maintenant le secret de l'URL en null afin que vous puissiez exécuter cron directement à l'aide du navigateur.
$cfg->urlsecret = null;
Enregistrez le fichier et quittez l'éditeur.
Étape 5 - Configurer les autorisations et le pare-feu
Vous devrez maintenant fournir la propriété de l'application à l'utilisateur du serveur Web à l'aide de la commande suivante.
chown -R apache:apache /var/www/mahara
Vous devrez peut-être également autoriser le trafic HTTP sur le port 80 via le pare-feu si vous en exécutez un. Exécutez les commandes suivantes pour le même.
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --reload
Pour désactiver temporairement SELinux sans redémarrer le serveur, exécutez la commande suivante.
setenforce 0
Pour désactiver complètement SELinux, vous devrez modifier le fichier /etc/selinux/config.
nano /etc/selinux/config
Recherchez la ligne suivante :
SELINUX=enforcing
Changez-le en :
SELINUX=disabled
Créez maintenant un hôte virtuel pour l'application Mahara. Exécutez la commande suivante pour le même.
nano /etc/httpd/conf.d/mahara.yourdomain.com.conf
Collez les lignes suivantes dans le fichier.
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "/var/www/mahara/htdocs" ServerName mahara.yourdomain.com ServerAlias www.mahara.yourdomain.com <Directory "/var/www/mahara/htdocs"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog "/var/log/httpd/mahara.yourdomain.com-error_log" CustomLog "/var/log/httpd/mahara.yourdomain.com-access_log" combined </VirtualHost>
Remplacez mahara.votredomaine.com par n'importe quel domaine ou sous-domaine que vous souhaitez utiliser pour accéder à l'application. Enregistrez le fichier et quittez l'éditeur. Exécutez la commande suivante pour redémarrer votre serveur Apache.
systemctl restart httpd
Terminez maintenant l'installation à l'aide d'un navigateur Web, accédez au lien suivant.
http://mahara.yourdomain.com
Vous serez accueilli par la page suivante.
Cliquez sur Installer Mahara bouton pour continuer.
Sur la prochaine interface, Mahara écrira la base de données et installera les modules nécessaires pour vous aider à démarrer. Une fois cela fait, vous pouvez cliquer sur Continuer lien pour continuer.
Sur la prochaine interface, il vous sera demandé de définir un mot de passe pour le tableau de bord de l'administrateur.
Enfin, vous serez redirigé vers le tableau de bord d'administration, qui ressemblera à celui illustré ci-dessous.
Conclusion
L'installation de Mahara est maintenant terminée, vous pouvez utiliser Mahara pour créer facilement un beau site Web à des fins personnelles ou commerciales.