Realm 오브젝트 서버 설치

Realm 패키지 저장소는 PackageCloud 서비스를 통해 관리됩니다.

패키지 저장소를 설정하려면 아래 명령어를 실행해서 Realm 오브젝트 서버를 설치하고 시작합니다.

# Setup Realm's PackageCloud repository
curl -s https://packagecloud.io/install/repositories/realm/realm/script.rpm.sh | sudo bash

# Install the Realm Object Server
sudo yum -y install realm-object-server-developer

# Enable and start the service
sudo chkconfig realm-object-server on
sudo service realm-object-server start
# Setup Realm's PackageCloud repository
curl -s https://packagecloud.io/install/repositories/realm/realm/script.rpm.sh | sudo bash

# Install the Realm Object Server
sudo yum -y install realm-object-server-developer

# Enable and start the service
sudo systemctl enable realm-object-server
sudo systemctl start realm-object-server
# Setup Realm's PackageCloud repository
curl -s https://packagecloud.io/install/repositories/realm/realm/script.deb.sh | sudo bash

# Update the repositories
sudo apt-get update

# Install the Realm Object Server
sudo apt-get install realm-object-server-developer

# Enable and start the service
sudo systemctl enable realm-object-server
sudo systemctl start realm-object-server

Amazon EC2를 위한 Ubuntu 16.04 기반의 공개 AMI를 제공합니다. Paravirtual과 HVM의 차이점은 AWS 가이드에서 볼 수 있습니다.

  Paravirtual HVM
ap-northeast-1 (Tokyo) |  
eu-west-1 (Ireland) |  
us-east-1 (N. Virginia) |  

다른 Amazon EC2 AMI와 마찬가지로 이들 AMI를 시작할 수 있습니다. 22/TCP (ssh) 포트와 9080/TCP (대시보드와 클라이언트 액세스) 포트가 열려 있는지 확인하세요. 기본 SSH 사용자는 ubuntu 입니다.

Realm 대시보드 설정

로컬 Linux 컴퓨터에서 웹 브라우저에 액세스하거나 네트워크를 통해 원격으로 액세스해야 합니다. 원격 브라우저를 사용하는 경우 ROS를 설치한 네트워크 IP 주소나 호스트 이름을 알아야 합니다. 아래에서 사용하는 localhost를 적절한 IP 주소나 호스트 이름으로 대체하세요.

새 브라우저 윈도우를 열고 http://localhost:9080으로 이동합니다. Realm 대시보드의 로그인 페이지가 나타납니다. Linux 서버가 로컬 컴퓨터가 아닌 경우 localhost를 서버의 IP 주소로 대체하세요.

이메일 주소와 비밀번호를 입력해서 관리자 사용자를 만듭니다. 등록 이후 이 정보로 로그인할 수 있습니다.

Reaml 대시보드는 활성 네트워크 연결, 활성 Realm, 연결된 앱의 네트워크 트래픽 총량 등 Realm 오브젝트 서버의 상태를 보여줍니다.

문제 해결

외부에서 Realm 대시보드에 접속하기 위한 방화벽 규칙 확인

특정 요인은 Realm 오브젝트 서버의 동기화 기능 및 Realm 대시보드의 외부 (localhost가 아닌) 액세스에 영향을 줄 수 있습니다. 대시보드에 엑세스하기 위해 서버에서 9080 포트를 열어야 할 수 있습니다.

표준 Linux 도구를 사용해서 다음 명령을 실행하면 포트에 대한 액세스가 열립니다.

sudo iptables -A INPUT -p tcp -m tcp --dport 9080 -j ACCEPT
sudo service iptables save

방화벽 설정 방법 등에 대한 자세한 정보는 CentOS 6 문서를 확인하세요.

sudo firewall-cmd --get-active-zones
sudo firewall-cmd --zone=public --add-port=9080/tcp --permanent
sudo firewall-cmd --reload
sudo ufw allow 9080/tcp
sudo ufw reload

표준 방화벽을 사용하지 않는 환경인 경우 환경에 맞게 이들 명령어를 수정해야 합니다.

RealmTasks 만들기

The macOS version of RealmTasks

RealmTasks는 Realm 플랫폼에서 제공하는 간단한 태스크 매니저 앱으로 Realmac Software의 Clear에서 영감을 받았습니다. iOS, macOS, Android에서 사용할 수 있으며, 소스 코드는 Swift, Java, JavaScript (React Native), 크로스 플랫폼 C# (Xamarin)으로 각각 제공됩니다..

전체 소스 코드는 GitHub에서 볼 수 있습니다. iOS나 Android를 위한 앱을 만든다면 다음 튜토리얼을 확인하세요.

React Native와 Xamarin을 위한 튜토리얼을 준비 중이지만, 직접 만들어 볼 수 있습니다.

Mac을 사용한다면 macOS 번들을 통해 Realm 오브젝트 서버와 함께 macOS를 위해 미리 컴파일된 RealmTasks를 로컬에 설치할 수 있습니다.

다음 단계는?

이제부터는 RealmTasks와 유사한 iOS 앱 만들기 튜토리얼을 통해 처음부터 앱을 만들거나, Realm 오브젝트 서버 문서를 참고해서 이미 Realm 데이터베이스를 사용하고 있는 앱을 통합할 수 있습니다.

기존에 Realm을 사용해왔다면, 플랫폼을 고르고 문서를 확인할 수도 있습니다. 이 문서에서는 라이브 오브젝트나 자동 업데이트되는 쿼리, ORM으로부터의 해방 등 Realm 데이터베이스의 특장점을 확인할 수 있습니다.