일단 전 현제 코디어스 2개 돌리고 있습니다.
https://codius.mdbk.casa/version - 테스트용
https://c0.xrp.mdbk.casa/version - 메인
둘다 들어가시면 {"name":"Codiusd (JavaScript)","version":"1.0.3"} 이런 메세지가 뜨는데 이러면 뭐 다 된거라고 하더군요. 본론으로 들어가서
https://medium.com/codius/how-to-run-your-own-codius-host-42e13afe1fb2
스테판이 올려논 가이드를 보시면 몇가지 요구 사항이 있습니다.
1. CentOS 7. This tutorial assumes you’re using CentOS 7 and that’s the only OS that is officially supported right now. We’re working on providing instructions for other Linux distributions.
2. x86-64 architecture. You need a modern 64-bit processor. Unfortunately, ARM is not yet supported.
3. Virtualization support. Your Codius host is going to run contracts as VMs, so you need a processor that supports virtualization. Fortunately, most modern processors do.
4. Bare metal (recommended). You can get bare metal instances from services like Packet and AWS. A VM will work, too, if it supports nested virtualization. But it will be less efficient.
5. Root access. You’ll be installing software.
6. At least 2 GB of memory, ideally more. Each contract will use 512 MB of memory. In addition, you will need some memory for the host OS itself.
7. XRP Wallet. Support for other payment systems is in the works but right now, XRP is your best bet. Codius runs a local instance of Moneyd in order to handle payments. Note that your wallet needs to be funded, i.e. contain at least 36 XRP. Specifically, the wallet needs 16 XRP in addition to it’s current reserve. Also, the wallet you use here cannot be used with any other instance of Moneyd.
8. Domain: You need to have your own domain which will act as the public hostname of your Codius host. E.g. codius.example.com
If you want to run multiple Codius hosts under the same domain, you can just number them, like codius1.example.com, codius2.example.com, etc.
1. Centos7 이상, 7.0~5 모두 상관없습니다.
2. x86-64 아키텍쳐. AMD, INTEL 상관없이 64비트 일반적인 가정에서 또는 서버에서 쓰는 시피유는 다 되다고 보시면 됩니다. 아톰은 아직 시도 안해봤는데 기본 x86-64 아키텍쳐니 되지 않을까 싶습니다.
3. 가상화 지원. 코디어스 호스트가 코디어스 계약을 돌리는데 가상머신을 이용하니 시피유가 꼭 가상화 지원을 해야한다고 합니다.
4. Bare Metal (실제 물리 서버). 아마존이나 Packet 같은곳에서 서비스하는 실제 물리 서버를 추천하고 일반적인 클라우드 서버를 사용할시에는 nested virtualization (중첩 가상화) 를 지원하면 설정가능하지만 실제 물리서버보다는 덜 효율적입니다. 클라우드 서버 이용시 외국 유저들은 KVM 지원 VPS가 가장 이상적 이라고 하네요.
5. 루트 엑세스. 리눅스 루트 권한이 있어야 프로그램들을 설치 가능합니다.
6. 최소 2기가의 메모리. 각 코디어스 계약마다 512메가의 메모리를 사용하고 운영체제 기본 메모리를 생각하면 최소 2기가이상 추천. 실제 1기가 메모리로도 테스트 목적이면 가능은 하지만 메모리 가용량에 따라 안될수도 있으니 넉넉하게 2기가 준비.
7. xrp 지갑. 시크릿키를 볼수 있는 지갑이 필요합니다. 나노는 시크릿키가 다른형태라 안되는걸로 알고있고 토스트 월렛처럼 s 로시작하는 시크릿키를 보여주는 지갑이 필요합니다. 이 시크릿키는 절대 외부에 노출하시면 안됩니다. 최소 36xrp 가 필요한데 새로 토스트월렛에 만들면서 넉넉하게 40 넣어서 하시는게 좋습니다.
8. 도메인. 하부 도메인(A record)을 지원하는 또한 와일드 카드를 지원하는 도메인이 필요합니다. 간단하게 말하자면 A record란 원 도메인 이름이 example.com 이라면 그 앞에 붙는 [codius].example.com 이런것을 말하고, 와일드 카드란 [*].[codius].example.com 이런형식의 설정을 하여 별표 *에 어떤 문자를 넣더라도 접속을 지원하는 그러한 기능입니다. Godaddy나 namecheap 이 확실히 지원되고 다른 도메인 서비스는 모르겠습니다. 저는 현재 namecheap을 사용중입니다. Freenom은 안됩니다... 제가 거기서 십년짜리 도메인 하나 샀다가 지금 그냥 놀리고 있습니다.
스테판의 미디엄 블로그 가셔서 그대로 따라하셔도 괜찮지만 뭐든 편한게 좋은거 아니겠습니까. 해외 커뮤니티에서 쉽게 세팅할수 있는 스크립트를 만들었습니다.
일단 ssh 접속이 가능한 클라이언트가 필요한데 윈도우 환경이면 Putty 또는 윈도우 10이면 윈도우에 리눅스를 설치하여 사용해도 됩니다. 전 리눅스 하위 시스템을 설치하여 사용중입니다. 설치방법은 https://code.iamseapy.com/archives/108 이분 블로그를 방문하셔서 따라하시면 됩니다.
먼저 서버에 접속하시고 (서버 세팅이랑은 제가 앞에 적은 리플 벨리데이터 운영하기 참고하세요)
혹시나 조금이라도 저에게 도움을 주실분들은 digitalocean 링크로 들어가셔서 가입하시면 감사하겠습니다.
yum install -y wget
먼저 wget을 설치합니다. digitalocean에서 처음 서버를 실행하면 진짜 최소한의 것만 있습니다.
https://github.com/xrp-community/codius-install
위 링크가 코디어스 설치 스크립트 깃헙 주소 입니다.
루트 상태에서
wget https://raw.githubusercontent.com/xrp-community/codius-install/master/codius-install.sh -O codius-install.sh && bash codius-install.sh
실행하면
아래와 같은 화면이 나오고 서버 아이피, 도메인 주소, 리플 시크릿 키, 이메일을 물어봅니다.
리플 시크릿 키는 코디어스 계약시 페이먼트 채널을 열고 유지하기위해 꼭 필요합니다.
쭉 설치가 자동으로 이루어집니다. 중간에 A record 설정하라고 나오는데 두개다 설정해주세요
아래와 같은 화면에서 좀 오래걸릴수 있는데 보통 5분 이내면 됩니다.
이제 인증서 발급을 위해 DNS TXT record를 만들어 줍니다.
A record 만들때 처럼 하시면 되는데 A record 선택이 아닌 txt record 선택하시고 아래 화면과 같이 나온 (제꺼에선 HwXL..... 하고 RfML.....)을 txt record에 설정해 줍니다.
https://mxtoolbox.com/TXTLookup.aspx
요기 들어가셔서 위에 txt record 주소를 넣어 txt record 가 적용이 되었는지 확인해 줍니다. 보통 5분 이내면 됩니다.
아래와 같이 나오면 거의다 끝났습니다.
코디어스로 설정한 주소 codius.example.com/version 또는 /peers로 접속이 잘되는지 확인하세요.
만약 접속이 안되거나 에러 메세지가 뜨면 몇가지 설정을 더 해주어야 합니다.
전 moneyd랑 방화벽 설정 때문에 502 Bad gateway 가 떠서 몇가지 설정을 더 해주었습니다.
setsebool -P httpd_can_network_connect 1
입력
yum install -y firewalld
firewall 설치
systemctl start firewalld
로 방화벽 실행
만약 centos 7.4에서 7.5로 업그레이드 하셨으면 firewalld에러가 나니 수정되기전까지 업그레이드 안하시는게 좋을겁니다.
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=7768/tcp --permanent
firewall-cmd --reload
차례차례 입력으로 포트 오픈
systemctl restart moneyd-xrp
systemctl restart codiusd
로 moneyd 랑 codius 서비스 재실행
이후 아래와 같은 화면이 뜨면 정상입니다.
궁금하신거 있으시면 댓글 달아주세요
PS. 스크립트 원 제작자가 타 리눅스 배포판을 위한 인스톨 스크립트도 현재 만들고있다고 합니다 (우분투 데비안 계열)
Ripple : rsKczzPNkQ5PSkefC77odWETuquiJJ7bAB
Eth : 0xB16Fa9E89d26219D48C9c4ce23349DE64E750D74