Servidor de Email –; Partie 2 –; MariaDB
Il s'agit de la deuxième partie du processus de création du serveur Mail dans un CentOS 8. Si vous êtes arrivé ici par hasard, mieux lire le post précédent d'abord sur le Installation du paquet
Pourquoi utiliser MariaDB/MySQL?
Tout d'abord je dois préciser que je préfère utiliser PostgreSQL au détriment de MariaDB/MySQL pour de nombreuses raisons, cependant, il ya un qui pèse lourdement contre l'utilisation de PostgreSQL sur un serveur unifié avec WordPress et les services de messagerie qui est le simple fait que WP n'a pas de support natif pour PostgreSQL. Vous pouvez avoir plus d'informations à ce sujet dans la documentation officielle WordPress dans ce lien. Comment je suis basé sur des expériences personnelles pour écrire ce document et aussi pour les petits services, J'utilise ce qui est plus commun et plus abordable. Si l'utilisation de PostgreSQL vous intéresse, vous pouvez consulter ce document plus tard où je vais vous montrer comment migrer de MariaDB à PostgreSQL.
Configuration MariaDB/MySQL
En supposant que vous suivez les traces de ce manuel, vous aurez une installation MariaDB pas encore configurée. Si vous avez déjà une installation fonctionnelle, peut sauter à la prochaine étape.
Initialement, je bloque tout accès à la base de données source externe. Ce n'est qu'à partir de connexions créées à partir du serveur lui-même qu'elles peuvent être effectuées pour mesurer la sécurité. Pour ce faire, nous ouvrons le fichier /etc/my.cnf.d/server.cnf et nous ajoutons les lignes ci-dessous juste après l’entrée [Mysqld] Existant.
[mysqld]
# Diretorio para o arquivo errmsg.sys no idioma que você desejar usar
language=/usr/share/mysql/portuguese
# Ativa o logging por default para ajudar a encontrar problemas
general-log
# Indica que o log será enviado para uma tabela ao invés de ser escrito em um arquivo. Útil para quem não quer ficar conectando no servidor para analisar os logs. Você poderá utilizar o PHPMyAdmin para fazer as consultas
log_output=TABLE
# Habilita o relatório de consultas lentas
slow_query_log
# Tempo mínimo para considerar uma consulta lenta (em segundos)
long_query_time=5.0
# Indica para desativar o mecanismo de rede e somente aceitar conexões através do arquivo de socket local
skip-networking
bind-address = 127.0.0.1
Si l'intention est d'autoriser des connexions à distance à MariaDB, devront exécuter les commandes ci-dessous pour permettre des connexions à distance.
$ firewall-cmd --add-port=3306/tcp
$ firewall-cmd --permanent --add-port=3306/tcp
Redémarrer le service afin que les modifications soient apportées
$ sudo systemctl stop mysqld && sudo systemctl start mysqld
Création d'utilisateur pour Postfix et les tables nécessaires
Pour que nous puissions utiliser Postfix avec MariaDB, nous devrons créer un utilisateur pour l'accès et à partir de lui les tables nécessaires pour gérer les domaines et les comptes virtuels.
Tout d'abord, créons la base de données.
REMARQUE: Si aucune modification n'a été apportée à l'installation MariaDB, vous pouvez vous connecter sans utiliser de mot de passe pour l'utilisateur ‘;root’;@’;localhost’;, Sinon, utiliser le -p pour avoir demandé à entrer le mot de passe.
$ mysql -u root
Ensuite, nous allons créer l'utilisateur et les tables. Je vais utiliser mypostfixdb mypostfixdb nom de la base de données et mypostfixdbuser pour le nom d'utilisateur. Modifier l'information en fonction de ce que vous voulez, Principalement mypostfixdbuser_password. Ces informations seront utilisées dans l’étape de configuration des fichiers Postfix qui utiliseront les tables créées.
MariaDB> CREATE DATABASE mypostfixdb;
MariaDB> GRANT SELECT, INSERT, UPDATE, DELETE ON mypostfixdb.* TO 'mypostfixdbuser'@'localhost' IDENTIFIED BY 'mypostfixdbuser_password';
MariaDB> GRANT SELECT, INSERT, UPDATE, DELETE ON mypostfixdb.* TO 'mypostfixdbuser'@'localhost.localdomain' IDENTIFIED BY 'mypostfixdbuser_password';
MariaDB> FLUSH PRIVILEGES;
MariaDB> USE mypostfixdb;
MariaDB> CREATE TABLE virtual_domains (id int(11) NOT NULL AUTO_INCREMENT, name VARCHAR(100) NOT NULL, PRIMARY KEY(id)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
MariaDB> CREATE TABLE virtual_users(id int(11) NOT NULL AUTO_INCREMENT, vdomain_id int(11) NOT NULL, password VARCHAR(100) NOT NULL, email VARCHAR(100) NOT NULL, PRIMARY KEY (id), UNIQUE KEY email(email), FOREIGN KEY (vdomain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=utf8;
MariaDB> CREATE TABLE virtual_aliases (id int(11) NOT NULL AUTO_INCREMENT, vdomain_id int(11) NOT NULL, source VARCHAR(100) NOT NULL, PRIMARY KEY (id),FOREIGN KEY (vdomain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Ces tables stockeront les comptes et les domaines virtuels et seront consultées par Dovecot (selon la proposition de ce tutoriel).
Et c’est tout.
Maintenant, nous sommes prêts à mettre en place Dovecot.
3 Réponses
[…;] Avec tout installé, nous pouvons commencer les réglages. Commençons par MariaDB. […;]
[…;] Partie 2 –; Configuration MariaDB […;]
[…;] Partie 2 –; Mise en place de MariaDB […;]