Hector
(Héctor Fernández)
1월 20, 2020, 12:51오후
1
https://blogs.oracle.com/developers/install-run-discourse-for-free-in-the-oracle-cloud
이 블로그 글은 작년 것입니다. 여기서는 언급이 없는 것 같고, 대부분의 사람들에게 Oracle이 호스팅 회사로서는 거의 주목을 받지 못하는 것 같습니다.
그래서, 게시하기 전에 실제로 실행 가능한지 확인해 보기 위해 직접 시도해 보았습니다. 데모 사이트를 만들었습니다:
https://www.opendiscussion.pw
Oracle Cloud에서 계정을 등록했습니다. 계정 검증에 15분이 걸린다고 했지만, 신용 카드 문제로 인해 2일을 기다려야 했습니다(검증을 위해 신용 카드가 요구됩니다).
블로그 글의 지시를 따랐고, 그런 다음 Discourse의 일반적인 Docker 설치 지침을 따랐습니다. 처음 시도에서 거의 성공했습니다! 이메일 설정에 문제가 있었습니다. 블로그 글에서 올바르게 설명되지 않은 유일한 부분이 그것인 것 같습니다. 문서를 읽어야 했습니다. Oracle의 문서는 매우 좋습니다.
이 티어에 포함된 내용은 다음과 같습니다:
2개의 VM
VM은 OCPU의 1/8을 가지며 추가 CPU 리소스를 사용할 수 있습니다. VM.Standard.E2.1.Micro. 2.0 GHz AMD EPYC 7551
메모리: 1 GB
대역폭: 10 TB
스토리지: 100 GB 블록 볼륨
이메일: 월 1,000건 (SMTP는 포함되지 않음)
elijah
(Eli the Bearded)
4월 23, 2020, 1:30오전
2
Oracle에서 제공하는 설정에는 약 40GB의 디스크 공간(OS 및 사용자 데이터용)과 8GB의 스왑 파티션이 포함되어 있다는 점이 주목할 만합니다. 스왑 파일은 필요하지 않습니다. 또한 “항상 무료” 등급에서 두 대의 VM을 사용할 수 있으므로, 데이터베이스 컨테이너를 분리하는 것이 확장 옵션이 될 수 있습니다.
(어떤 이유인지 모르겠지만,那里的 무료 데이터베이스 PaaS는 Postgres가 아닙니다. )
Canapin
(Coin-coin le Canapin)
4월 23, 2020, 2:51오후
3
흥미로운 정보를 공유해 주셔서 감사합니다!
저도 문제가 있었습니다. 여러 번 시도했지만 성공하지 못했습니다(카드번호는 정확했는데 은행에서 "잘못된 암호"라는 메시지가 떴습니다).
다른 브라우저로 시도하니 작동했고, 그냥 다른 이메일 주소를 사용했을 뿐입니다… 그리고 이제 몇 시간째 계정 인증을 기다리고 있습니다.
무료이지만 등록 과정이 좀 번거롭네요…
Lopro
(Lopro)
5월 18, 2020, 7:48오후
4
이메일 관련해서 정확히 무엇이 문제일까요? Oracle Cloud에 Discourse를 설치하는 데는 성공했지만, 어떻게 해도 이메일 전송이 작동하지 않습니다. Discourse 설치 시 관리자 사용자를 등록하려고 할 때 이메일이 절대 도착하지 않습니다.
Discourse-doctor는 Oracle SMTP 서버에 연결은 하지만, 이메일이 실제로 전송되지 않습니다.
혹시 모르니 승인된 발신자를 여러 개 설정해 두었습니다. 제 관리자 이메일, noreply@[포럼 도메인] 및 noreply@[메인 도메인]입니다. 이 중 어떤 것이 중요한 것일까요?
또한 도메인의 DNS 설정에 권장되는 SPF 문자열을 TXT 레코드로 추가해 두었습니다.
Hector
(Héctor Fernández)
5월 19, 2020, 3:17오전
5
조금 까다로웠습니다. 기억이 맞다면 저에게 작동하게 해준 건 containers/app.yml 파일을 수정한 것이었습니다:
## 첫 번째 가입 시 'From' 이메일 주소를 설정하려면 주석을 해제하고 변경하세요:
## 첫 가입 이메일을 받은 후 해당 줄을 다시 주석 처리하세요. 한 번만 실행하면 됩니다.
- exec: rails r "SiteSetting.notification_email='noreply@opendiscussion.pw'"
Lopro
(Lopro)
5월 19, 2020, 6:36오전
6
답변해 주셔서 감사합니다!
불행히도 앱도 다시 빌드해 봤지만 도움이 되지 않았습니다.
TXT 레코드가 어떻게 구성되어 있는지 여쭤봐도 될까요?
“START TLS” 설정도 주석 해제하지 않으셨나요?
그럼 이메일은 어떻게 처리했어요? 유료인가요? (SMTP가 포함되지 않는다고 하셨잖아요)
Lopro
(Lopro)
5월 19, 2020, 7:07오전
8
SMTP가 포함 되어 있습니다. 한때는 모든 지역에서 그렇게 wasn’t. 설정하는 것이 정말로 어렵습니다 …
Lopro
(Lopro)
5월 19, 2020, 8:45오전
9
오라클 클라우드 어딘가에 SMTP 로그가 있는지 아시나요? SMTP 서버에는 정상적으로 연결되는데 이메일이 전송되지 않는 이유가 궁금합니다. 권한이 없는 것인지, 아니면 다른 문제가 있는지 확인하고 싶습니다.
Hector
(Héctor Fernández)
5월 19, 2020, 12:16오후
10
Lopro
(Lopro)
5월 21, 2020, 9:52오전
11
실수했습니다. 말씀이 맞습니다. 무료 플랜으로 가입했는데, 유료 버전의 트라이얼에 등록되어 있다는 사실을 몰랐네요.
Discourse 자체는 Oracle Cloud에 유지하면서 Discourse와 호환되는 무료 SMTP 서비스가 있을까요?
남은 건 Pricing | Sinch Mailjet 뿐인 것 같아요. 실리콘 밸리의 마피아들이 인터넷에서 무료 이메일을 빼앗아 간 건 정말 안타까운 일이에요
Canapin
(Coin-coin le Canapin)
5월 22, 2020, 8:38오후
14
1개월 동안 내 트라이얼 계정을 작동시키려고 노력했지만, 채팅 지원은 도움을 줄 수 없다고 했고, 이메일 지원도 도움을 주지 못했을 뿐만 아니라 단 한 번만 "계정에 대한 정보를 수집하겠다"고 답장한 뒤 연락이 끊겼습니다…
친구에게 계정을 만들어 달라고 부탁했는데, 15분도 안 되는 시간에 완벽하게 작동했습니다.
그 후 Discourse를 설치하려고 했으나 많은 어려움을 겪었습니다. Oracle Discourse 설치 튜토리얼 을 따랐지만, 어떤 이유에서인지 포트 443에 연결할 수 없었습니다.
일반적인 Ubuntu 이미지에서 Discourse를 설치해 보았지만, 알 수 없는 이유로 포트 80이나 443으로 연결할 수 없었습니다.
공식 지침으로 돌아가 처음에는 작동하지 않았지만(두 포트 모두 연결 실패), docker를 재시작하자 마법처럼 두 포트 모두에 연결되었습니다.
따라서 제 경험은 최선은 아니었습니다. 문제가 제 탓인지 Oracle 탓인지는 모르겠지만요.
하지만 결국 무료이고 온라인이며, 당연히 가장 빠르지는 않지만, 작동하는 Discourse 설치 환경을 갖추게 되었습니다.
같은 튜토리얼을 따라 하려는 분들을 위해, 서버 방화벽 부분에 작은 오류가 있습니다.
아래처럼 입력하면 안 됩니다:
sudo firewall-cmd —reload
반드시 이렇게 입력해야 합니다:
sudo firewall-cmd --reload
Canapin
(Coin-coin le Canapin)
5월 27, 2020, 3:09오후
15
기본 설정에서는 포트 80과 443에 대한 연결이 허용되지 않으므로 Discourse를 설치할 수 없습니다. 보안 목록 (Oracle 제어판)과 인스턴스 방화벽 (SSH를 통해) 양쪽에 모두 이 포트들을 허용해야 합니다.
일반적인 Ubuntu 설치 환경에서 이를 수행하는 방법은 다음과 같습니다(공식 가이드는 다른 Linux 이미지를 사용하므로 약간 다릅니다).
Oracle 패널에서:
Ubuntu 인스턴스를 생성한 후, 인스턴스 세부 정보 로 이동하여 서브넷 링크 를 클릭합니다:
보안 목록을 클릭합니다:
입력 규칙 추가 를 클릭하고, TCP 프로토콜 을 선택한 후, 소스 CIDR을 0.0.0.0/0으로, 대상 포트 범위 를 80,443으로 설정합니다.
"입력 규칙 추가"를 클릭하여 확인합니다.
보안 목록에 규칙이 추가되었는지 확인합니다:
SSH를 통한 서버 명령줄에서:
다음 규칙을 iptables에 추가합니다:
iptables -I INPUT 5 -i ens3 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -I INPUT 5 -i ens3 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
이 명령은 규칙을 올바른 위치에 추가합니다. 단순히 기존 규칙 뒤에 줄 번호(5)를 지정하지 않고 추가하면, 이전에 존재하는 “모두 거부” 규칙에 의해 덮어쓰기되어 작동하지 않습니다.
재부팅 후에도 규칙이 유지되도록 저장합니다:
netfilter-persistent save
이제 Discourse를 설치할 수 있습니다!
nory
6월 24, 2020, 7:43오후
16
안녕하세요, Oracle Cloud가 프로덕션 환경에 적합한지, 그리고 트래픽이 많은 사이트에서도 충분히 버틸 수 있는지 추천해 주실 수 있을까요?
감사합니다
Canapin
(Coin-coin le Canapin)
6월 24, 2020, 7:55오후
17
사용자 여러분과 제가 포럼 속도에는 크게 신경 쓰지 않는다면, 작은 커뮤니티를 호스팅할 수 있다고 생각합니다.
하지만 더 저렴한 호스팅(월 약 5달러)으로 훨씬 나은 사양을 구할 수 있으므로, 그렇게 하지는 않겠습니다.
@Hector , https://www.opendiscussion.pw 는 여전히 무료 서버에 호스팅되고 있나요?
nory
6월 24, 2020, 8:01오후
18
안녕하세요, 월 5달러 정도의 저렴한 호스트라고 하셨을 때 Digital Ocean의 5달러 드롭릿을 말씀하신 건가요?
Canapin
(Coin-coin le Canapin)
6월 24, 2020, 8:15오후
19
네, 예를 들면요.
개인적으로 Hetzner를 좋아하는데, 가격이 저렴하고 서버가 시간 단위로 과금되므로 짧은 기간 동안 다양한 서비스를 테스트하기 좋습니다. 다만 유럽에만 서버가 있는 것 같습니다.
Hector
(Héctor Fernández)
6월 24, 2020, 9:34오후
20
네, 여전히 무료 서버에 있습니다. 트래픽이 전혀 없어서 어떤 성능을 낼 수 있는지 단정할 수 없습니다. 개발 용도로도 사용하고 있습니다. 지금까지는 잘 작동하고 있습니다.
nory
6월 27, 2020, 9:34오전
21
Hetzner VPS의 경우에도 LAMP 설치, 서버 업데이트, 해커에 대한 주의 등 같은 관리가 필요한가요?
반면 Digital Ocean에서는 모든 것이 준비되어 있어서 서버 보안을 직접 할 필요가 없고, Discourse를 설치하고 관리하기만 하면 되는 건가요? 이것이 Digital Ocean와 다른 VPS 간의 실제 차이인가요?
Digital Ocean은 매니지드 VPS와 같은 개념인가요?
감사합니다!
Deb