Installation d’un serveur de courriel sur Alma 8.7


Les 3 modules que je me sers pour cette installation sont

  • Postfix
  • Dovecot
  • Roundcube ou Rainloop

Je préconise maintenant rainloop car il existe une app qui s’intègre à nextcloud.

Installer nextcloud 25.0.2 sur Alma 8.7

À noter que nextcloud 25 a besoin avoir la bonne heure donc je dois installer et activer le serveur ntp. Celui-ci devrait avoir été configuré par l’installation de LAMP mais j’en refais la vérification ici.

Mes outils pour ce travail sont putty comme terminal et winscp pour le transfert de fichier.  J’utilise maintenant redis pour le cache de nexcloud depuis la version 25.  Elle est supposé être installé mais pas démarré par l’installation de LAMP. Sinon il faut l’installer.

systemctl start redis
systemctl status redis
systemctl enable redis
redis-server –version

Je continue avec la création de la base de données.

Dans le cas d’une nouvelle installation pour éviter d’avoir à faire toute la conversion de la bd après je fais la modification des paramètres de mariadb avant
Éditer /etc/my.cnf.d/mariadb-server.cnf section server
Ajouter l’information suivante dans /etc/my.cnf.d/mariadb-server.cnf section
[server]
innodb_file_per_table=1

[mysqld]
transaction_isolation = READ-COMMITTED

systemctl restart mariadb
systemctl restart httpd
systemctl restart php-fpm

mysql -u root -p
CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER nextcloud@localhost IDENTIFIED BY ‘Monmotdepasse-1’;
GRANT ALL ON nextcloud.* TO ‘nextcloud’@’localhost’ IDENTIFIED BY ‘Monmotdepasse-1’;
FLUSH PRIVILEGES;
exit

Je copie la dernière version téléchargé avec winscp et je décompresse ensuite. Je change ensuite les droit pour cet environnement web soit accessible par l’usager apache.

tar -xjf nextcloud-25.0.2.tar.bz2
mv nextcloud /var/www/html/
chown -R apache:apache /var/www/html/nextcloud/

Je crée le dossier /usr/data

Ce sera l’endroit où je vais placer mon data
chown -R apache:apache /usr/data

Il reste maintenant à finir l’installation en utilisant un navigateur.  Il est à noter que je suis déjà en https.  Le serveur web doit déjà être bien configuré à cet effet.  Avec la facilité qu’on a de nos jours pour avoir un certificat je ne fonctionne plus en http.

Configurer nextcloud

Il est nécessaire de faire les ajustement au serveur apache et dns pour accéder à la page de configuration.  Il est particulièrement important de bien configurer le sous domain et non un domaine avec un chemin particulier.  Ma façon est de fonctionner avec un sous domaine.  Depuis que let’s encrypt permet les domaine wildcard c’est simple et facile de fonctionner de cette façon et de sécuriser l’environnement web d’apache.
https://cloud.mondomaine.com

On arrive ici à l’interface de nextcloud pour terminer l’installation.  Je décide du nom de mon usager administratif et de son mot de passe
admin
jechoisiunmotdepasse

Ici je change l’information qui concerne le chemin du data folder pour /usr/data
Je change aussi le choix de la connexion à la base de données pour choisir mysql.  J’entre ensuite les information que j’ai configuré pour la base de données mysql (mariadb).

nextcloud
Monmotdepasse-1
nextcloud
localhost

Nextcloud a besoin de configuration après sont installation pour éviter les erreurs de sécurité dans la page des paramêtres.

POST Installation
Message :

Dans config.php il faut ajouter
On connait déjà depuis plusieurs version l’ajout de la ligne
‘memcache.local’ => ‘\\OC\\Memcache\\Redis’,
‘mysql.utf8mb4’ => true,
‘default_phone_region’ => ‘CA’,

l’ajout de la ligne de phone region est à faire à partir de la version 21 je crois.  Avant cette version cette information n’était pas nécessaire.

Depuis NC 21 le chemin d’accès a changé pour ce paramètre
Pour la version 21.0.4 en php 8 il ne semble plus nécessaire de créer cette configuration. Je l’avais créé mais oublié de la sauvegarder et je n’ai pas reçu de message d’erreur de la part de nextcloud.
touch /var/www/.htaccess
Redirect 301 /.well-known/carddav /nextcloud/remote.php/dav
Redirect 301 /.well-known/caldav /nextcloud/remote.php/dav
Redirect 301 /.well-known/webfinger /nextcloud/index.php/.well-known/webfinger
Redirect 301 /.well-known/nodeinfo /nextcloud/index.php/.well-known/nodeinfo

systemctl reload httpd
systemctl reload php-fpm

Normalement après ces configuration, il ne devrait plus y avec de message d’information dans la page de paramêtres.  Ceci complète l’installation et la configuration de base de nextcloud 21.x.

Install LAMP sur Alma 8.7

On commence par l’installation des repo supplémentaire et ensuite on installe les module nécessaire au bon fonctionnement des différents interfaces qu’on installera.

dnf install epel-release
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
rpm -Uvh https://rpms.remirepo.net/enterprise/remi-release-8.rpm

dnf module install php:remi-8.1 -y

dnf -y install php-cli php-dom php-simplexml php-ssh2 php-curl php-libxml php-mysqlnd php-pdo-dblib php-opcache php-xml php-gd php-mbstring php-pecl-apcu php-pdo php-json php-intl php-fpm php-process mod_php php-pecl-imagick php-posix php-openssl php-pecl-zip php-bcmath php-gmp httpd mariadb mariadb-server mod_ssl openssl bzip2 chrony tar unzip rsyslog wget nano m4 redis php-redis

Une fois ces modules installé on fait la configuration après installation.

systemctl start rsyslog
systemctl enable rsyslog
systemctl status rsyslog

echo «  » > /var/www/html/info.php

firewall-cmd –permanent –add-service=http
firewall-cmd –permanent –add-service=https
firewall-cmd –reload
firewall-cmd –list-all

systemctl start httpd
systemctl enable httpd
systemctl start php-fpm
systemctl enable php-fpm
httpd -v
php -v

Browse http://ipadresse du serveur/info.php

Configuration de mariadb 10.3

systemctl start mariadb
systemctl enable mariadb
systemctl status mariadb
mysql -V

mysql_secure_installation

Configure https
Créer dossier /etc/httpd/keys
mkdir /etc/httpd/keys
Copier certificat valide

Pour atteindre un A+ dans les tests de ssllabs il y a quelques ajustement à faire au serveur apache pour y arriver. L’information est facilement disponible sur le Net.