[1] RabbitMQ – Instalacja
22 marca 2022Zainstaluj 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" ...