웹사이트 검색

CentOS 8에서 Docker로 담론 포럼을 설치하는 방법


이 페이지에서

  1. 전제 조건
  2. 도커 설치
  3. 담론 설치
  4. 담론 웹 UI 액세스
  5. 결론

Discourse는 인터넷의 향후 10년을 위해 구축된 무료 오픈 소스 플랫폼입니다. 메일링 리스트, 토론 포럼, 장편 대화방 등으로 사용할 수 있는 최신 포럼 소프트웨어입니다. 백엔드에 Ruby on Rails, 프런트 엔드에 Ember.js, 데이터 저장소로 PostgreSQL, 캐싱 서버로 Redis를 사용합니다. 간단하고 효율적이며 모바일 친화적이고 사용자 정의가 가능하며 온라인 토론을 쉽고 재미있게 만듭니다.

이 튜토리얼에서는 CentOS 8 서버에서 Docker를 사용하여 Discourse 포럼을 설치하는 방법을 보여줍니다.

전제 조건

  • CentOS 8을 실행하는 서버.\n
  • 서버 IP를 가리키는 유효한 도메인 이름입니다.\n
  • 루트 암호는 서버에 구성됩니다.\n

도커 설치

먼저 서버에 Docker를 설치해야 합니다. 기본적으로 Docker는 CentOS 8 표준 리포지토리에서 사용할 수 없습니다. 따라서 시스템에 Docker 공식 리포지토리를 추가해야 합니다. 다음 명령으로 추가할 수 있습니다.

dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

저장소가 생성되면 다음 명령을 실행하여 Docker를 설치합니다.

dnf install docker-ce --nobest

Docker를 설치한 후 Docker 서비스를 시작하고 다음 명령을 사용하여 시스템 재부팅 시 시작되도록 활성화합니다.

systemctl start docker
systemctl enable docker

이제 다음 명령을 사용하여 Docker 버전을 확인할 수 있습니다.

docker --version

다음 출력이 표시되어야 합니다.

Docker version 20.10.1, build 831ebea

담론 설치

먼저 다음 명령을 사용하여 Discourse용 디렉터리를 만듭니다.

mkdir /opt/discourse

다음으로, 다음 명령을 사용하여 Git 리포지토리에서 최신 버전의 Discourse를 다운로드합니다.

git clone https://github.com/discourse/discourse_docker.git /opt/discourse

다음으로 디렉토리를 Discourse로 변경하고 다음 명령을 사용하여 Discourse를 설치합니다.

cd /opt/discourse
./discourse-setup

아래와 같이 FQDN을 제공하라는 메시지가 표시됩니다.

which: no docker.io in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
which: no docker.io in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
Ports 80 and 443 are free for use
'samples/standalone.yml' -> 'containers/app.yml'
Found 4GB of memory and 2 physical CPU cores
setting db_shared_buffers = 1024MB
setting UNICORN_WORKERS = 4
containers/app.yml memory parameters updated.

Hostname for your Discourse? [discourse.example.com]: discourse.linuxbuz.com

유효한 도메인 이름을 입력하고 Enter 키를 누릅니다. 유효한 이메일 주소와 비밀번호를 입력하라는 메시지가 표시됩니다.

Checking your domain name . . .
Connection to discourse.linuxbuz.com succeeded.
Email address for admin account(s)? [
SMTP server address? [smtp.example.com]: smtp.gmail.com
SMTP port? [587]: 
SMTP user name? [
SMTP password? [pa$$word]: yourpassword
Optional email address for Let's Encrypt warnings? (ENTER to skip) [

Does this look right?

모든 세부 정보를 제공하고 Enter 키를 누릅니다. 아래와 같이 모든 설정을 확인해야 합니다.

Hostname      : discourse.linuxbuz.com
Email         : 
SMTP address  : smtp.gmail.com
SMTP port     : 587
SMTP username : 
SMTP password : yourpassword
Let's Encrypt : 

ENTER to continue, 'n' to try again, Ctrl+C to exit: 

모든 것이 정상이면 Enter를 눌러 설치를 시작하십시오. 설치가 완료되면 다음과 같은 결과가 표시되어야 합니다.

+ /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=4 -e UNICORN_SIDEKIQS=1 -e RUBY_GLOBAL_METHOD_CACHE_SIZE=131072 -e RUBY_GC_HEAP_GROWTH_MAX_SLOTS=40000 -e RUBY_GC_HEAP_INIT_SLOTS=400000 -e RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=1.5 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_HOST= -e DISCOURSE_DB_PORT= -e LETSENCRYPT_DIR=/shared/letsencrypt -e DISCOURSE_HOSTNAME=discourse.linuxbuz.com -e  -h centos8-app -e DOCKER_HOST_IP=172.17.0.1 --name app -t -p 80:80 -p 443:443 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log --mac-address 02:e0:37:60:d3:09 local_discourse/app /sbin/boot
ab3bdf3c169d47d9ff06052f48ff078d46393f1152b651b9fd3354594cc38714

이제 다음 명령을 사용하여 Discourse 실행 컨테이너를 확인할 수 있습니다.

docker ps

다음 출력이 표시되어야 합니다.

CONTAINER ID   IMAGE                 COMMAND        CREATED          STATUS          PORTS                                      NAMES
ab3bdf3c169d   local_discourse/app   "/sbin/boot"   22 seconds ago   Up 21 seconds   0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   app

담화 웹 UI 액세스

이제 웹 브라우저를 열고 URL https://discourse.linuxbuz.com을 입력하십시오. Discourse 설정 화면으로 리디렉션됩니다.

등록 버튼을 클릭합니다. 등록 페이지가 표시됩니다.

이메일, 사용자 이름, 비밀번호를 입력하고 등록 버튼을 클릭합니다. 계정을 활성화하려면 이메일을 받아야 합니다.

결론

축하합니다! CentOS 8에 Discourse 포럼 소프트웨어를 성공적으로 설치했습니다. 이제 Discourse에서 더 많은 기능을 탐색하고 프로덕션 환경에 배포할 수 있습니다. 궁금한 점이 있으면 언제든지 문의해 주세요.