GNU/Linux >> Linux Esercitazione >  >> Fedora

Come installare RabbitMQ in Fedora 35

RabbitMQ è un software broker di messaggi open source che implementa l'Advanced Message Queuing Protocol (AMQP). RabbitMQ funziona ricevendo messaggi dagli editori (applicazioni che li pubblicano) e li indirizza ai consumatori (applicazioni che li elaborano).

Contenuti correlati

  • Come installare Erlang su Fedora 35
  • Come installare Erlang su Rocky Linux/Alma Linux/CentOS 8
  • Come installare e abilitare il repository EPEL su Rocky Linux/Centos 8

Prerequisiti

Per seguire, assicurati di avere quanto segue

  • Un server Fedora 35 aggiornato
  • Accesso a Internet
  • Accesso root o utente con accesso Sudo

Indice dei contenuti

  1. Aggiornamento del sistema
  2. Aggiunta del repository Yum di PackageCloud
  3. Installazione di Erlang
  4. Installazione di RabbitMQ
  5. Avvio e abilitazione del servizio rabbitmq-server
  6. Facoltativo:abilitazione del dashboard RabbitMQ
  7. Comandi di base per la gestione degli utenti di RabbitMQ

1. Aggiornamento del sistema

Prima di procedere, assicurarsi che i pacchetti del server siano aggiornati. Usa questo comando per ottenere ciò:

sudo dnf -y update

2. Aggiunta del repository Yum di PackageCloud

Il pacchetto RabbitMQ viene distribuito tramite i repository Yum su PackageCloud. Installa il repository PackageCloud Yum usando questo comando:

curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash

Questo è l'output sul mio server:

$ curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
Detected operating system as fedora/34.
Checking for curl...
Detected curl...
Downloading repository file: https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/config_file.repo?os=fedora&dist=34&source=script
done.
Installing pygpgme to verify GPG signatures...
rabbitmq_erlang                                                                                                                                                       3.2 kB/s | 951  B     00:00
rabbitmq_erlang-source                                                                                                                                                4.5 kB/s | 951  B     00:00
rabbitmq_rabbitmq-server-source                                                                                                                                       1.4 kB/s | 819  B     00:00
rabbitmq_rabbitmq-server-source                                                                                                                                        23 kB/s | 3.9 kB     00:00
Importing GPG key 0x4D206F89:
 Userid     : "https://packagecloud.io/rabbitmq/rabbitmq-server (https://packagecloud.io/docs#gpg_signing) <[email protected]>"
 Fingerprint: 8C69 5B02 19AF DEB0 4A05 8ED8 F4E7 8920 4D20 6F89
 From       : https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
rabbitmq_rabbitmq-server-source                                                                                                                                       393  B/s | 296  B     00:00
No match for argument: pygpgme
Error: Unable to find a match: pygpgme

WARNING:
The pygpgme package could not be installed. This means GPG verification is not possible for any RPM installed on your system.
To fix this, add a repository with pygpgme. Usualy, the EPEL repository for your system will have this.
More information: https://fedoraproject.org/wiki/EPEL#How_can_I_use_these_extra_packages.3F

Installing yum-utils...
rabbitmq_rabbitmq-server-source                                                                                                                                       4.6 kB/s | 951  B     00:00
Package dnf-utils-4.0.24-1.fc34.noarch is already installed.
Dependencies resolved.
Nothing to do.
Complete!

WARNING:
The yum-utils package could not be installed. This means you may not be able to install source RPMs or use other yum features.

Generating yum cache for rabbitmq_rabbitmq-server...
Generating yum cache for rabbitmq_rabbitmq-server-source...

The repository is setup! You can now install packages.

3. Installazione di Erlang

RabbitMQ richiede Erlang/OTP per essere eseguito. Il progetto rabbitmq/erlang-rpm fornisce un pacchetto Erlang RPM a 64 bit a dipendenza zero che fornisce quanto basta per eseguire RabbitMQ . Ricevi le ultime novità dalle versioni qui https://github.com/rabbitmq/erlang-rpm/releases.

curl -LO -C - https://github.com/rabbitmq/erlang-rpm/releases/download/v24.1.4/erlang-24.1.4-1.el8.x86_64.rpm

Quindi installa il file scaricato

sudo dnf install ./erlang-24.1.4-1.el8.x86_64.rpm

Questo è l'output sul mio server

$ sudo dnf install ./erlang-24.1.4-1.el8.x86_64.rpm
rabbitmq_rabbitmq-server                                             1.3 kB/s | 833  B     00:00
rabbitmq_rabbitmq-server-source                                      1.6 kB/s | 819  B     00:00
Dependencies resolved.
=====================================================================================================
 Package             Architecture        Version                     Repository                 Size
=====================================================================================================
Installing:
 erlang              x86_64              24.1.4-1.el8                @commandline               20 M

Transaction Summary
=====================================================================================================
Install  1 Package

Total size: 20 M
Installed size: 36 M
Is this ok [y/N]: y
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                             1/1
  Installing       : erlang-24.1.4-1.el8.x86_64                                                  1/1
  Running scriptlet: erlang-24.1.4-1.el8.x86_64                                                  1/1
  Verifying        : erlang-24.1.4-1.el8.x86_64                                                  1/1

Installed:
  erlang-24.1.4-1.el8.x86_64

Complete!

4. Installazione di Rabbitmq

Dopo aver configurato il repository RabbitMQ, installa RabbitMQ Server utilizzando i comandi seguenti.

sudo dnf install -y rabbitmq-server

I dettagli del pacchetto possono essere richiesti utilizzando rpm comando con l'opzione -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. Avvio e abilitazione del servizio rabbitmq-server

Avvia il servizio

sudo systemctl start rabbitmq-server

Quindi controlla lo stato per confermarne l'esecuzione

$ 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 Fri 2021-11-12 19:15:12 UTC; 2s ago
   Main PID: 67336 (beam.smp)
     Status: "Initialized"
      Tasks: 23 (limit: 4603)
     Memory: 93.1M
        CPU: 7.581s
     CGroup: /system.slice/rabbitmq-server.service
             ├─67336 /usr/lib64/erlang/erts-11.2.2.7/bin/beam.smp -W w -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -P 1048576 -t 5000000 -stbt db -zdbbl 128000 -sbwt none -sbw>
             ├─67345 erl_child_setup 1024
             ├─67387 inet_gethost 4
             └─67388 inet_gethost 4

Nov 12 19:15:08 cloudsrv.citizix.com rabbitmq-server[67336]:   TLS Library: OpenSSL - OpenSSL 1.1.1l  FIPS 24 Aug 2021
Nov 12 19:15:08 cloudsrv.citizix.com rabbitmq-server[67336]:   Doc guides:  https://rabbitmq.com/documentation.html
Nov 12 19:15:08 cloudsrv.citizix.com rabbitmq-server[67336]:   Support:     https://rabbitmq.com/contact.html
Nov 12 19:15:08 cloudsrv.citizix.com rabbitmq-server[67336]:   Tutorials:   https://rabbitmq.com/getstarted.html
Nov 12 19:15:08 cloudsrv.citizix.com rabbitmq-server[67336]:   Monitoring:  https://rabbitmq.com/monitoring.html
Nov 12 19:15:08 cloudsrv.citizix.com rabbitmq-server[67336]:   Logs: /var/log/rabbitmq/[email protected]
Nov 12 19:15:08 cloudsrv.citizix.com rabbitmq-server[67336]:         /var/log/rabbitmq/[email protected]_upgrade.log
Nov 12 19:15:08 cloudsrv.citizix.com rabbitmq-server[67336]:   Config file(s): /etc/rabbitmq/rabbitmq.conf
Nov 12 19:15:12 cloudsrv.citizix.com rabbitmq-server[67336]:   Starting broker... completed with 0 plugins.
Nov 12 19:15:12 cloudsrv.citizix.com systemd[1]: Started RabbitMQ broker.

Ora puoi abilitarlo all'avvio

sudo systemctl enable rabbitmq-server

Puoi ottenere lo stato degli interni di Rabbitmq:

$ sudo rabbitmqctl status

6. Opzionale:abilitazione del dashboard RabbitMQ

Usa il rabbitmq-plugins enable comando per abilitare la dashboard di gestione:

$ 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

started 3 plugins.

Il servizio web è in ascolto sulla porta 15672

$ ss -tunlp | grep 15672
tcp   LISTEN 0      128          0.0.0.0:15672      0.0.0.0:*

Se hai un servizio Firewalld attivo, consenti le porte 567215672

$ ss -tunlp | grep 15672
tcp   LISTEN 0      1024         0.0.0.0:15672      0.0.0.0:*

Accedi aprendo l'URL http://[server IP]:15672 come http://127.0.0.1:15672

Per impostazione predefinita, l'ospite l'utente esiste e può connettersi solo da localhost . Puoi accedere con questo utente in locale con la password "ospite"

Per poter accedere alla rete, crea un utente amministratore come di seguito:

$ 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] ...

Accedi con questo nome utente amministratore e la password assegnata. Dovresti vedere un'interfaccia simile alla seguente:

Per utilizzare rabbitmqadmin strumento da riga di comando, copialo nel tuo $PATH.

sudo dnf install -y mlocate
sudo updatedb
sudo cp `locate rabbitmqadmin` /usr/local/bin/rabbitmqadmin
sudo chmod +x /usr/local/bin/rabbitmqadmin

Devi avere python installato e configurato per eseguire rabbitmqadmin. Usa questo comando per assicurarti che python sia installato:

sudo dnf install -y python3

7. Comandi di base per la gestione degli utenti di RabbitMQ

Elimina utente:

sudo rabbitmqctl delete_user user

Modifica password utente:

sudo rabbitmqctl change_password user strongpassword

Crea un nuovo host virtuale:

sudo rabbitmqctl add_vhost /my_vhost

Elenca gli host virtuali disponibili:

sudo rabbitmqctl list_vhosts

Elimina un host virtuale:

sudo rabbitmqctl delete_vhost /myvhost

Concedi autorizzazioni utente per vhost:

sudo rabbitmqctl set_permissions -p /myvhost user ".*" ".*" ".*"

Elenca i permessi vhost:

sudo rabbitmqctl list_permissions -p /myvhost

Per elencare le autorizzazioni utente:

rabbitmqctl list_user_permissions user

Elimina le autorizzazioni utente:

rabbitmqctl clear_permissions -p /myvhost user

Conclusione

Siamo riusciti a installare Rabbitmq in questa guida


Fedora
  1. Come installare Vagrant su Fedora 34

  2. Come installare Node.js su Fedora 35 / Fedora 34

  3. Come installare Java 17 in Fedora 35

  4. Come installare Notepad++ su Fedora 35

  5. Come installare Wireshark su Fedora 35

Come installare SQLite su Fedora 35

Come installare LibreOffice su Fedora 35

Come installare FFmpeg su Fedora 35

Come installare Anaconda su Fedora 35

Come installare Terraform su Fedora 35

Come installare Vai su Fedora 35