[1] RabbitMQ – Instalacja

22 marca 2022 Wyłączono przez Adam [zicherka] Nogły

Zainstaluj RabbitMQ, czyli oprogramowanie brokera komunikatów, które implementuje protokół AMQP (Advanced Message Queuing Protocol).

[1] Zainstaluj RabbitMQ.

[root@vlsr01 ~]# dnf install centos-release-rabbitmq-38
[root@vlsr01 ~]# sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/CentOS-Messaging-rabbitmq.repo
[root@vlsr01 ~]# dnf --enablerepo=centos-rabbitmq-38,powertools install rabbitmq-server
[root@vlsr01 ~]# systemctl enable --now rabbitmq-server

[2] Jeśli Firewalld jest uruchomiony, zezwól na port RabbitMQ.

[root@vlsr01 ~]# firewall-cmd --add-port=5672/tcp --permanent
[root@vlsr01 ~]# firewall-cmd –reload

[3] Aby korzystać z RabbitMQ, najpierw dodaj konta użytkowników.

Domyślnie istnieje tylko użytkownik gość i może połączyć się tylko z hostem lokalnym.

# rabbitmqctl add_user [user] [password]
[root@vlsr01 ~]# rabbitmqctl add_user zicherlab TajneHasło
Adding user "zicherlab" ...

# pokaż listę użytkowników
[root@vlsr01 ~]# rabbitmqctl list_users
Listing users ...
user    tags
zicherlab       []
guest   [administrator]

# zmień hasło dla użytkownika
[root@vlsr01 ~]# rabbitmqctl change_password zicherlab SuperTajneHasło
Changing password for user "zicherlab" ...

# dodaj rolę administratora użytkownikowi
[root@vlsr01 ~]# rabbitmqctl set_user_tags zicherlab administrator
Setting tags for user "zicherlab" to [administrator] ...

# skasuj użytkownika
[root@vlsr01 ~]# rabbitmqctl delete_user zicherlab
Deleting user "zicherlab" ...

[4] Aby używać RabbitMQ, dodaj również Virtualhost.

# rabbitmqctl add_vhost [vhost]
[root@vlsr01 ~]# rabbitmqctl add_vhost /my_vhost
Adding vhost "/my_vhost" ...

# pokaż listę vhost’ów
[root@vlsr01 ~]# rabbitmqctl list_vhosts
Listing vhosts ...
name
/my_vhost
/

# skasuj vhost’a
[root@vlsr01 ~]# rabbitmqctl delete_vhost /my_vhost
Deleting vhost "/my_vhost" ...

[5] Aby przyznać użytkownikowi uprawnienia do hostów wirtualnych, skonfiguruj w następujący sposób.

# rabbitmqctl set_permissions [-p vhost] [user] [uprawnienia -> (modify) (write) (read)]
[root@vlsr01 ~]# rabbitmqctl set_permissions -p /my_vhost zicherlab ".*" ".*" ".*"
Setting permissions for user "zicherlab" in vhost "/my_vhost" ...

# pokaż uprawnienia dla vhost’a
[root@vlsr01 ~]# rabbitmqctl list_permissions -p /my_vhost
Listing permissions for vhost "/my_vhost" ...
user    configure       write   read
zicherlab       .*      .*      .*

# pokaż uprawnienia dla użytkownika
[root@vlsr01 ~]# rabbitmqctl list_user_permissions zicherlab
Listing permissions for user "zicherlab" ...
vhost   configure       write   read
/my_vhost       .*      .*      .*

# skasuj uprawnienia dla konkretnego użytkownika
[root@vlsr01 ~]# rabbitmqctl clear_permissions -p /my_vhost zicherlab
Clearing permissions for user "zicherlab" in vhost "/my_vhost" ...