1달전부터 RabbitMQ 커미터가 하는 세션이 삼성역에서 있다고 메일이 왔다, event driven쪽은 아직 잘 몰라서 스킵했는데, 2-3번 메일 계속 오고나니 나도 모르게 신청을 눌렀다, 근데 또 세션을 들으러 가는데 하나도 모르고 가는건 예의가 아니라 시작하게 됐다.
RabbitMQ는 원래 표준 Debian and Ubuntu에 포함돼있었다. 그러나 포함된 버전은 최신 버전이 아니거나 심지어 지원이 끊긴 버전일수도 있다.
가장 추천되는 방법이다.
sudo apt-get update -y
sudo apt-get install curl gnupg -y
apt가 Cloudsmith.io 미러 또는 Launchpad에서 RabbitMQ 및 Erlang 패키지를 다운로드하기 위해 필요하다.
sudo apt-get install apt-transport-https
Cloudsmith는 repository마다 하나씩 자체 GPG키를 사용하여 서명해야 한다.
repository를 사용하기위해서는 key가 시스템에 추가되어 있어야 한다. 이렇게 해야 apt가 해당 key로 서명된 패키지는 신뢰하게 된다.
## Team RabbitMQ's main signing key
curl -1sLf "https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA" | sudo gpg --dearmor | sudo tee /usr/share/keyrings/com.rabbitmq.team.gpg > /dev/null
## Community mirror of Cloudsmith: modern Erlang repository
curl -1sLf https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key | sudo gpg --dearmor | sudo tee /usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg > /dev/null
## Community mirror of Cloudsmith: RabbitMQ repository
curl -1sLf https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key | sudo gpg --dearmor | sudo tee /usr/share/keyrings/rabbitmq.9F4587F226208342.gpg > /dev/null
다른 apt repository처럼 RabbitMQ 및 Erlang 패키지 리포지토리 파일도 /etc/apt/sources.list.d/ 경로에 있어야 한다. 파일이름은 rabbitmq.list로 한다.
sudo vi /etc/apt/sources.list.d/rabbitmq.list
## Provides modern Erlang/OTP releases from a Cloudsmith mirror
##
deb [signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa1.novemberain.com/rabbitmq/rabbitmq-erlang/deb/ubuntu $distribution main
deb-src [signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa1.novemberain.com/rabbitmq/rabbitmq-erlang/deb/ubuntu $distribution main
# another mirror for redundancy
deb [signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa2.novemberain.com/rabbitmq/rabbitmq-erlang/deb/ubuntu $distribution main
deb-src [signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa2.novemberain.com/rabbitmq/rabbitmq-erlang/deb/ubuntu $distribution main
## Provides RabbitMQ from a Cloudsmith mirror
##
deb [signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa1.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu $distribution main
deb-src [signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa1.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu $distribution main
# another mirror for redundancy
deb [signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa2.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu $distribution main
deb-src [signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa2.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu $distribution main
위에 보면 $distribution이 있는데 아래의 ubntu 버전에 맞춰서 넣으면 된다.
저같은 경우는 20.04이므로 deb-src [signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa2.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu focal main 이런식이다.
jammy for Ubuntu 23.04
jammy for Ubuntu 22.04
focal for Ubuntu 20.04
bionic for Ubuntu 18.04
buster for Debian Buster, Bullseye, and Sid
이제 apt에 repository를 추가했으니 upadte를 실행한다.
sudo apt-get update -y
근데 아래와 같은 에러가 후두둑 떨어진다. 오류, 무시가 너무 많다.

https://groups.google.com/g/rabbitmq-users/c/lajhREel9iU 있다.
심지어 해결방법도 제시해줬다.
deb [arch=amd64 signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa2.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu focal main
위와 같이 arch=amd64를 추가하면 된다고 한다. 일단 해본다.
일단 오류 글짜도 사라졌고 엄청 짧아졌다.
이제 erlang과 rabbitmp-server package를 설치해본다.
## Install Erlang packages
sudo apt-get install -y erlang-base \
erlang-asn1 erlang-crypto erlang-eldap erlang-ftp erlang-inets \
erlang-mnesia erlang-os-mon erlang-parsetools erlang-public-key \
erlang-runtime-tools erlang-snmp erlang-ssl \
erlang-syntax-tools erlang-tftp erlang-tools erlang-xmerl
## Install rabbitmq-server and its dependencies
sudo apt-get install rabbitmq-server -y --fix-missing
amd64 repository에서 잘 받는다, 위의 i386에러는 해결된 거 같다. 아랫줄 rabbitmq-server도 이상없다.
systemctl start rabbitmq-server
systemctl status rabbitmq-server
위와 같은 결과가 나왔다면 성공이다.