RabbitMQ est un logiciel de courtage de messages open source qui implémente le protocole AMQP (Advanced Message Queuing Protocol). RabbitMQ fonctionne en recevant des messages des éditeurs (applications qui les publient) et les achemine vers les consommateurs (applications qui les traitent).
Contenu associé
- Comment installer Erlang sur FreeBSD 13
- Comment installer RabbitMQ dans FreeBSD 13
- Comment installer Erlang sur Ubuntu 20.04
- Comment installer Erlang sur OpenSUSE Leap 15.3
- Comment installer Erlang sur Fedora 35
- Comment installer RabbitMQ dans Fedora 35
- Comment installer Erlang sur Rocky Linux/Alma Linux/CentOS 8
- Comment installer et activer le référentiel EPEL sur Rocky Linux/Centos 8
Prérequis
Pour suivre, assurez-vous d'avoir les éléments suivants
- Un serveur/poste de travail OpenSUSE Leap mis à jour
- Accès à Internet
- Accès root ou utilisateur avec accès Sudo
Table des matières
- Mise à jour du système
- Installer Erlang
- Installer RabbitMQ
- Démarrage et activation du service rabbitmq-server
- Facultatif :Activer le tableau de bord RabbitMQ
- Commandes de base de gestion des utilisateurs RabbitMQ
1. Mise à jour du système
Avant de continuer, assurez-vous que les packages du serveur sont à jour. Utilisez cette commande pour y parvenir :
sudo zypper ref
sudo zypper up -y
2. Installer Erlang
Le package RabbitMQ se trouve dans les référentiels OpenSUSE par défaut. Installez-le à l'aide de cette commande :
sudo zypper install -y erlang
Ceci est la sortie sur mon serveur
~> sudo zypper install -y erlang
Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following recommended package was automatically selected:
psqlODBC
The following 6 NEW packages are going to be installed:
erlang erlang-epmd libltdl7 libpq5 psqlODBC unixODBC
6 new packages to install.
Overall download size: 28.9 MiB. Already cached: 0 B. After the operation, additional 52.3 MiB will be used.
Continue? [y/n/v/...? shows all options] (y): y
Retrieving package libltdl7-2.4.6-3.4.1.x86_64 (1/6), 32.6 KiB ( 38.6 KiB unpacked)
Retrieving: libltdl7-2.4.6-3.4.1.x86_64.rpm ....................................................................................[done]
Retrieving package libpq5-14.0-5.3.1.x86_64 (2/6), 172.2 KiB (679.2 KiB unpacked)
Retrieving: libpq5-14.0-5.3.1.x86_64.rpm .......................................................................................[done]
Retrieving package unixODBC-2.3.6-3.2.1.x86_64 (3/6), 306.1 KiB ( 1.0 MiB unpacked)
Retrieving: unixODBC-2.3.6-3.2.1.x86_64.rpm ....................................................................................[done]
Retrieving package psqlODBC-13.01.0000-3.9.1.x86_64 (4/6), 405.1 KiB ( 1.3 MiB unpacked)
Retrieving: psqlODBC-13.01.0000-3.9.1.x86_64.rpm ..................................................................[done (16.3 KiB/s)]
Retrieving package erlang-22.3-1.26.x86_64 (5/6), 27.9 MiB ( 49.2 MiB unpacked)
Retrieving: erlang-22.3-1.26.x86_64.rpm ...........................................................................[done (29.6 MiB/s)]
Retrieving package erlang-epmd-22.3-1.26.x86_64 (6/6), 145.4 KiB ( 55.3 KiB unpacked)
Retrieving: erlang-epmd-22.3-1.26.x86_64.rpm ......................................................................[done (16.4 KiB/s)]
Checking for file conflicts: ...................................................................................................[done]
(1/6) Installing: libltdl7-2.4.6-3.4.1.x86_64 ..................................................................................[done]
(2/6) Installing: libpq5-14.0-5.3.1.x86_64 .....................................................................................[done]
(3/6) Installing: unixODBC-2.3.6-3.2.1.x86_64 ..................................................................................[done]
(4/6) Installing: psqlODBC-13.01.0000-3.9.1.x86_64 .............................................................................[done]
Additional rpm output:
odbcinst: Driver installed. Usage count increased to 1.
Target directory is /etc/unixODBC
(5/6) Installing: erlang-22.3-1.26.x86_64 ......................................................................................[done]
(6/6) Installing: erlang-epmd-22.3-1.26.x86_64 .................................................................................[done]
Additional rpm output:
Created symlink /etc/systemd/system/sockets.target.wants/epmd.socket -> /usr/lib/systemd/system/epmd.socket.
4. Installation de Rabbitmq
RabbitMQ se trouve dans les référentiels OpenSUSE par défaut. Installez à l'aide de cette commande :
sudo zypper install -y rabbitmq-server
Vous devriez voir une sortie semblable à celle-ci :
~> sudo zypper install -y rabbitmq-server
Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following 3 NEW packages are going to be installed:
rabbitmq-server rabbitmq-server-plugins socat
3 new packages to install.
Overall download size: 15.2 MiB. Already cached: 0 B. After the operation, additional 16.4 MiB will be used.
Continue? [y/n/v/...? shows all options] (y): y
Retrieving package socat-1.7.3.2-4.10.x86_64 (1/3), 227.4 KiB (710.5 KiB unpacked)
Retrieving: socat-1.7.3.2-4.10.x86_64.rpm ......................................................................................[done]
Retrieving package rabbitmq-server-plugins-3.8.11-3.3.3.x86_64 (2/3), 3.6 MiB ( 3.7 MiB unpacked)
Retrieving: rabbitmq-server-plugins-3.8.11-3.3.3.x86_64.rpm ..........................................................[done (954 B/s)]
Retrieving package rabbitmq-server-3.8.11-3.3.3.x86_64 (3/3), 11.4 MiB ( 12.0 MiB unpacked)
Retrieving: rabbitmq-server-3.8.11-3.3.3.x86_64.rpm ...............................................................[done (16.6 KiB/s)]
Checking for file conflicts: ...................................................................................................[done]
(1/3) Installing: socat-1.7.3.2-4.10.x86_64 ....................................................................................[done]
(2/3) Installing: rabbitmq-server-plugins-3.8.11-3.3.3.x86_64 ..................................................................[done]
(3/3) Installing: rabbitmq-server-3.8.11-3.3.3.x86_64 ..........................................................................[done]
Les détails du package peuvent être interrogés à l'aide de rpm
commande avec l'option -qi
.
$ rpm -qi rabbitmq-server Name : rabbitmq-server Version : 3.8.23 Release : 1.fc34 Architecture: x86_64 Install Date: Fri 12 Nov 2021 07:14:47 PM UTC Group : Unspecified Size : 16503697 License : MPLv1.1 Signature : RSA/SHA256, Wed 20 Oct 2021 03:42:27 PM UTC, Key ID 1161ae6945719a39 Source RPM : rabbitmq-server-3.8.23-1.fc34.src.rpm Build Date : Wed 20 Oct 2021 03:16:35 PM UTC Build Host : buildvm-x86-11.iad2.fedoraproject.org Packager : Fedora Project Vendor : Fedora Project URL : https://www.rabbitmq.com/ Bug URL : https://bugz.fedoraproject.org/rabbitmq-server Summary : The RabbitMQ server Description : RabbitMQ is an implementation of AMQP, the emerging standard for high performance enterprise messaging. The RabbitMQ server is a robust and scalable implementation of an AMQP broker.
5. Démarrage et activation du service rabbitmq-server
Démarrer le service
sudo systemctl start rabbitmq-server
Vérifiez ensuite l'état pour confirmer son exécution
~> sudo systemctl status rabbitmq-server
● rabbitmq-server.service - RabbitMQ broker
Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; disabled; vendor preset: disabled)
Active: active (running) since Sun 2021-11-14 17:46:33 UTC; 10s ago
Main PID: 2478 (beam.smp)
Status: "Initialized"
Tasks: 24 (limit: 8192)
CGroup: /system.slice/rabbitmq-server.service
├─2474 /bin/sh /usr/sbin/rabbitmq-server
├─2478 /usr/lib64/erlang/erts-10.7/bin/beam.smp -W w -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -P 1048576 -t 5000000 -stbt db -zdbbl 128>
├─2489 erl_child_setup 65535
├─2538 inet_gethost 4
└─2539 inet_gethost 4
Nov 14 17:46:26 ip-10-2-40-188 systemd[1]: Starting RabbitMQ broker...
Nov 14 17:46:33 ip-10-2-40-188 systemd[1]: rabbitmq-server.service: Supervising process 2478 which is not our child. We'll most likely not notice when it exits.
Nov 14 17:46:33 ip-10-2-40-188 systemd[1]: Started RabbitMQ broker.
Vous pouvez maintenant l'activer au démarrage
sudo systemctl enable rabbitmq-server
Vous pouvez obtenir l'état des composants internes de rabbitmq :
$ sudo rabbitmqctl status
6. Facultatif :activation du tableau de bord RabbitMQ
Utilisez le rabbitmq-plugins enable
commande pour activer le tableau de bord de gestion :
~> sudo rabbitmq-plugins enable rabbitmq_management
Enabling plugins on node [email protected]:
rabbitmq_management
The following plugins have been configured:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
Applying plugin configuration to [email protected]
The following plugins have been enabled:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
set 3 plugins.
Offline change; changes will take effect at broker restart.
Le service Web est en écoute sur le port 15672
$ ss -tunlp | grep 15672
tcp LISTEN 0 128 0.0.0.0:15672 0.0.0.0:*
Si vous disposez d'un service Firewalld actif, autorisez les ports 5672
et 15672
$ ss -tunlp | grep 15672
tcp LISTEN 0 1024 0.0.0.0:15672 0.0.0.0:*
Accédez-y en ouvrant l'URL http://[server IP]:15672
comme http://127.0.0.1:15672
Par défaut, l'invité l'utilisateur existe et ne peut se connecter qu'à partir de localhost
. Vous pouvez vous connecter localement avec cet utilisateur avec le mot de passe "invité"
Pour pouvoir vous connecter au réseau, créez un utilisateur administrateur comme ci-dessous :
$ sudo rabbitmqctl add_user admin Secr3t Adding user "admin" ... Done. Don't forget to grant the user permissions to some virtual hosts! See 'rabbitmqctl help set_permissions' to learn more. $ sudo rabbitmqctl set_user_tags admin administrator Setting tags for user "admin" to [administrator] ...
Connectez-vous avec ce nom d'utilisateur administrateur et le mot de passe attribué. Vous devriez voir une interface similaire à celle ci-dessous :
7. Commandes de base de gestion des utilisateurs RabbitMQ
Supprimer l'utilisateur :
sudo rabbitmqctl delete_user user
Modifier le mot de passe utilisateur :
sudo rabbitmqctl change_password user strongpassword
Créer un nouvel hôte virtuel :
sudo rabbitmqctl add_vhost /my_vhost
Lister les hôtes virtuels disponibles :
sudo rabbitmqctl list_vhosts
Supprimer un hôte virtuel :
sudo rabbitmqctl delete_vhost /myvhost
Accorder des autorisations utilisateur pour vhost :
sudo rabbitmqctl set_permissions -p /myvhost user ".*" ".*" ".*"
Lister les autorisations vhost :
sudo rabbitmqctl list_permissions -p /myvhost
Pour répertorier les autorisations des utilisateurs :
rabbitmqctl list_user_permissions user
Supprimer les autorisations utilisateur :
rabbitmqctl clear_permissions -p /myvhost user
Conclusion
Nous avons réussi à installer Rabbitmq dans ce guide