아이펀 엔진 설치하기

이 챕터에서는 개발환경을 꾸미기에 앞서 리눅스 호스트에 아이펀 엔진을 설치하는 방법에 대해서 설명합니다.

Note

윈도우 용 아이펀 엔진에 대한 내용은 윈도우에 설치하기 편을 참고하시기 바랍니다.

먼저, 아이펀 엔진은 Ubuntu (64bit) 혹은 CentOS (64bit) 리눅스 운영체제을 지원하며, Amazon LinuxDebian Linux 등은 같은 패키지 포맷을 사용하는 리눅스 배포판이라고 하더라도 정상적인 동작을 보장하지 않습니다.

Important

  • 아이펀 엔진은 32bit 아키텍처 리눅스는 지원하지 않습니다.

호스트는 물리머신 뿐 아니라 AWS 나 Azure, Google Cloud Platform 같은 클라우드 서비스나 VMWare, Hyper-V, VirtualBox 같은 가상화 솔루션으로 생성한 가상 머신도 지원합니다.

Warning

WSL(Windows Subsystem for Linux) 는 지원하지 않습니다.

아이펀 엔진은 C++ 과 C# 언어를 사용해서 개발을 진행할 수 있으며 각각 다음과 같은 개발 환경을 구축할 수 있습니다.

C++ 언어

C# 언어

Important

  • CentOS 에서는 C# 프로젝트를 생성할 수 없습니다.

Ubuntu (64bit)

Ubuntu 호스트 준비하기

현재 아이펀엔진을 사용할 수 있는 Ubuntu 버전은 다음과 같습니다.

  • 16.04 LTS (64bit)

  • 18.04 LTS (64bit)

  • 20.04 LTS (64bit)

아마존 AWS 같은 클라우드 서비스 또는 사용하고 계신 컴퓨터에 Hyper-V 나 VMware, VirtualBox 같은 솔루션을 이용해서 Ubuntu 가상 머신을 생성할 수 있습니다. (필요하다면 Ubuntu releases page 에서 설치 이미지를 받으실 수 있습니다.)

Note

  • Ubutu 14.04 LTS (Trusty Tahr) 에 대한 지원은 1.0.0-3986 Stable 버전을 끝으로 종료되었습니다.

Ubuntu 호스트가 준비되어 콘솔 또는 SSH 터미널을 통해서 접속할 수 있게 되면 다음 단계로 진행할 차례입니다.

APT 저장소 설정하기

Ubuntu 호스트가 준비되었다면 패키지 관리자에서 아이펀 엔진을 관리하기 위해서는 먼저 APT 저장소를 설정해야 합니다.

APT 저장소를 설정하는 방식은 아이펀 엔진에서 제공하는 데비안 패키지를 설치하는 방식과 수동으로 직접 설정하는 두가지가 있습니다.

패키지 설치 방식

Ubuntu 용 아이펀 엔진 자동 설정 패키지 를 다운받아 더블 클릭해서 설치하거나, 터미널 창을 열어 다음 명령을 실행합니다.

$ sudo apt-get install wget apt-transport-https
$ wget https://www.ifunfactory.com/engine/funapi-apt-setup.deb
$ sudo dpkg -i funapi-apt-setup.deb

Important

이 방법은 아래 서버들과의 통신이 필요합니다. 외부로 나가는 트래픽을 막는 방화벽이 있는 경우 아래 서버들로 나가는 트래픽을 열어주셔야 됩니다.
  • www.ifunfactory.com (54.65.9.158; 향후에 바뀔 수 있습니다)

  • keyserver.ubuntu.com (PGP key server; optional)

수동으로 설정

만일 외부와 통신을 못하게 방화벽이 설정되어있는 경우, 앞의 자동 설정 방법이 동작하지 않을 수 있습니다. 이런 경우에는 수작업으로 아이펀 엔진의 PGP 키를 추가하고 apt 저장소를 추가하셔야 됩니다.

다음 내용을 ifunfactory.gpg.key 로 저장해주세요.

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1

mQENBFHLrjgBCACzI7l8y1nygGN1b0XwgEDdBZGUlaTZhyHs1Y2VLBmYm3dgyRHp
qLfHhVGZm1FXzT1X7GlGgQRV+GsyeXNUHWcY794UwZMCM4h0mGDGXX1eR2objUNZ
tVE9VzoXwKwnu7mKJGXgSm+olZKQ43wPnr7Keyap42yKSJv3GBkMmfKjwnjTooLk
g62wwpJa3AOZBBqLwHKt0BYVRT/7ILXJnW4NqDoQPeT1y3Iqt1KxsaR1Ik+byh3g
UUvDqgFRXPW+HDkB265MbQgXHmPTGih8j7ygZz1dM5pJQ//bMqNHmbDPZSwLt0Wb
yB6UNbO9W5ZENCz4h7+3utYAvwERqdZ/nxKZABEBAAG0L0Z1bmFwaSBTdXBwb3J0
IDxmdW5hcGktc3VwcG9ydEBpZnVuZmFjdG9yeS5jb20+iQE4BBMBAgAiBQJRy644
AhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCj9+/dSTj/5jzNB/45CD2R
Bv8CrB+ErIVeFjXuhqYwg2fuAdQcXbVpla5rhrvHjGEbCl35kKqEPFP09YvWReIi
i3kK1yF7zNxyk/9N3GUZpIEgbyEuNVjkizPjrs+DWx0j6oZZQLrsEflUMxfALAmr
v3n6fB6XeCk2Hd83XBoqZSHKfzLPFUynS7e2/Vte4UVKbgFPsypPXazYrqvq4ej2
bnHva6/aUakti+A+l8Cs0kf2WzrwOp47PcceT5N0/mwF5XslwaiqH6q+6iGNLdj0
9hjzRcdZ5My/Do6rGXcFJJY17U72HGFTUCU8RXZRTBY2EfjAV6zQlKlaO/Aw0eWX
7UMXUhc+CLv+aZOxuQENBFHLrjgBCAC/xHRd1tH2zs8nplyI3EYRyWqF82waGIyK
SnV/pJ4CCc2YuECnQV0RvoOtZiuwmB3CuNTSEEyAfwU/K3tMsvczMN04MjQGvSA1
4it7xIkg24Qcx0O46JBwvihR4sZ8O/j6X/nVV4pN4zUg5PQh///yn/R7mVH2sWVW
WE5ZpZ1G/eA/fSiqdmZPOjFW9SWsVgPXvyKCM0b5lCjMlbwZspx8YGblJtDqCtWW
Ip2RnGTCSkSo4kRauDU+iGYojUsgsmUSxjtdGZHa41g5HDRoIcL3e40UYe3el7Sx
Aa+lV529kHAZCWtDfS7MoqtE7gvHSGoJAK+2nCAEfw1mz0Ja+XELABEBAAGJAR8E
GAECAAkFAlHLrjgCGwwACgkQo/fv3Uk4/+Y36Qf/VPov5n+h4pEzKspA6hHezD4J
rw9rVCQ/BvidBerV4VvL+oH5ghBV5QeAvd2TyccuKdZJsikAM9wUM1MS+Y4Akno7
vgIKO/7sGGkbAkgSG4vvfG4W9EQ0GqFycaTl9zpiNUrUri5vGNK2PC6p9uXxXmdQ
3iHe1c5+5jvLKCzOdC+Er2E949PzsMuI2L4viNp72J6ilm62RJ+/Pg1rOaRmTH1H
ax7L3Hwsy0GXeubKaeDizvBeKcv6e08DqI2TCllmd8NkR6OSLuks4yHDU1ztAa0c
+RcnddKag+TCYwto617oMZvCPaic/d6AjW3OL48PFNUPpfBeZEJ8B8tm16HxaQ==
=p+5n
-----END PGP PUBLIC KEY BLOCK-----

그리고 수동으로 위 키를 추가해주세요:

$ sudo apt-key add ifunfactory.gpg.key
OK

다음으로, 아래 내용을 /etc/apt/source.list.d/ifunfactory.list 로 저장해주세요:

deb [arch=amd64] https://www.ifunfactory.com/apt/ xenial non-free foreign
deb [arch=amd64] https://www.ifunfactory.com/apt/ bionic non-free foreign
deb [arch=amd64] https://www.ifunfactory.com/apt/ focal non-free foreign

Mono 프로젝트 저장소 설정하기

아이펀 엔진은 Protobuf 라이브러리C# 언어 를 활용할 개발 환경을 지원하기 위해서 Mono 라이브러리 를 사용합니다.

Ubuntu OS 에서 아이펀 엔진 을 설치하기에 앞서 아래 절차에 따라 Mono 라이브러리 저장소를 설정 해 주시기 바랍니다.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb http://download.mono-project.com/repo/ubuntu stable-xenial/snapshots/6.8 main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
sudo apt-get update
sudo apt-get install mono-devel
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb http://download.mono-project.com/repo/ubuntu stable-bionic/snapshots/6.8 main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
sudo apt-get update
sudo apt-get install mono-devel
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb http://download.mono-project.com/repo/ubuntu stable-focal/snapshots/6.8 main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
sudo apt-get update
sudo apt-get install mono-devel

아이펀 엔진 설치하기

APT 저장소 설정 후에는 저장소에서 패키지 리스트를 받아오고 funapi1-dev 를 설치합니다.

$ sudo apt-get update
$ sudo apt-get install funapi1-dev

위 명령을 실행하면 아이펀 엔진 게임 개발을 위한 개발 패키지와 run-time 패키지, 그리고 의존성이 걸려있는 패키지들이 모두 설치됩니다.

Important

최초에 아이펀 엔진을 설치하면 1주동안 유효한 평가판 라이선스가 자동으로 발급됩니다. 평가판 라이선스는 사용에 제약이 있습니다. 자세한 내용은 개요 매뉴얼을 참고해 주세요.

배포판 종류 선택하기

아이펀 엔진은 저장소 설정을 통해서 안정화 배포판인 stable 과 시험 배포판인 experimental 을 사용하도록 선택할 수 있습니다.

저장소 자동 설정 패키지를 설치하셨다면 stable 저장소로 초기 설정되며, funapi_select_repo 라는 명령을 이용해서 배포판 타입을 변경할 수 있습니다.

현재 배포판 타입 확인하기

현재 선택된 엔진의 배포판 타입과 실제로 설치된 엔진의 패키지 저장소 정보는 다음과 같은 방법으로 확인할 수 있습니다.

$ funapi_select_repo
Current repository: stable
Current package: funapi1-runtime_1.0.0-1661xenial: stable

위 명령어의 결과를 보면 현재 선택된 배포판 타입은 stable 이며, 설치되어있는 엔진은 stable 임을 알 수 있습니다.

Note

다음 챕터에서 설명하는 내용과 같이 설치 후 배포판 타입을 변경할 수 있기 때문에 현재 설정된 배포판 타입과 설치되어있는 배포판 타입은 다를 수 있습니다.

배포판 타입 변경하기

아이펀 엔진의 패키지 저장소는 stableexperimental 의 두 종류가 있습니다.

stable 저장소는 검증기간을 거친 새 기능이나 수정 사항을 적용한 안정화 버전을 모아놓은 저장소이고, stable 에 적용되지 전 검증이 필요한 수정사항들이 반영된 저장소가 experimental 입니다.

다음과 같이 funapi_select_repo 명령어 뒤에 사용할 배포판 타입을 인자로 주고 명령을 실행하면 사용하는 배포판 타입을 변경할 수 있습니다.

$ sudo funapi_select_repo experimental
Activating iFunEngine experimental repository
기존:1 http://mirror/ubuntu xenial InRelease
받기:2 http://mirror/ubuntu xenial-updates InRelease [95.7 kB]
받기:3 http://mirror/ubuntu xenial-backports InRelease [92.2 kB]
받기:4 http://mirror/ubuntu xenial-security InRelease [94.5 kB]
받기:5 http://mirror/ubuntu xenial-updates/main Sources [194 kB]
받기:6 http://mirror/ubuntu xenial-updates/universe Sources [99.1 kB]
받기:7 http://mirror/ubuntu xenial-updates/main amd64 Packages [396 kB]
받기:8 http://mirror/ubuntu xenial-updates/main i386 Packages [390 kB]
기존:9 https://www.ifunfactory.com/apt xenial InRelease
받기:10 http://mirror/ubuntu xenial-updates/universe amd64 Packages [335 kB]
받기:11 http://mirror/ubuntu xenial-updates/universe i386 Packages [331 kB]
받기:12 http://mirror/ubuntu xenial-security/main Sources [42.8 kB]
받기:13 http://mirror/ubuntu xenial-security/universe Sources [10.2 kB]
받기:14 http://mirror/ubuntu xenial-security/main amd64 Packages [152 kB]
받기:15 http://mirror/ubuntu xenial-security/main i386 Packages [148 kB]
받기:16 http://mirror/ubuntu xenial-security/universe amd64 Packages [44.4 kB]
받기:17 http://mirror/ubuntu xenial-security/universe i386 Packages [44.4 kB]
받기:18 https://www.ifunfactory.com/apt xenial/non-free-experimental amd64 Packages [9,290 B]
내려받기 2,478 k바이트, 소요시간 0초 (4,525 k바이트/초)
패키지 목록을 읽는 중입니다... 완료

위 명령을 보시면, 노란색으로 하이라이팅 된 것처럼 experimental 배포판이 활성화 되고 자동으로 패키지 목록이 갱신됨을 알 수 있습니다. 다시 인자 없이 funapi_select_repo 를 실행하면 다음과 같이 배포판이 바뀐 것을 알 수 있습니다.

$ funapi_select_repo
Current repository: experimental
Installed funapi1-runtime does not belong to stable repository
Current package: funapi1-runtime_1.0.0-1661xenial: experimental

최신 버전으로 업그레이드

일반적으로 사용하는 패키지 매니저의 업그레이드 명령을 사용하면 현재 설정되어 있는 저장소의 최신버전을 설치하려고 시도합니다.

$ sudo apt upgrade

이때, 저장소의 최신 버전이 현재 설치되어 있는 패키지 버전보다 낮으면 업그레이드가 진행되지 않으며 이것은 아이펀엔진 패키지 저장소과 상관없이 적용됩니다.

예를들어 현재 호스트에 Experimental 1.0.0-5000 버전이 설치되어 있다고 가정해 보겠습니다. 아이펀 엔진 저장소가 Stable 로 설정되어 있고, Stable 저장소의 최신버전이 Stable 1.0.0-4999 라면 업그레이드가 진행되지 않습니다.

이런 경우에는 다음에 설명하는 버전을 지정해서 설치하는 방법을 사용해 주시기 바랍니다.

버전 지정 설치

아이펀 엔진 패키지를 다운그레이드하거나, 특정 버전 패키지를 설치해야 하는 경우에는 다음에 설명하는 명령 형식을 사용해 주세요.

버전을 지정해서 설치하는 경우에는 funapi1-dev, funapi1-runtime, python-funapi1-dev 의 세개 패키지를 함께 설치해야 합니다.

아래 명령 중 1.0.0-1234focal 은 우분투 리눅스 배포판 이름을 포함하는 버전명입니다.

Note

버전명은 배포판 이름을 포함합니다.

$ sudo apt install funapi1-dev=1.0.0-1234focal funapi1-runtime=1.0.0-1234focal python-funapi1-dev=1.0.0-1234focal

(선택) 같은 서버에 MySQL, Zookeeper 설치하기

같은 서버에 MySQL 서버와 분산기능을 위한 Zookeeper 서버를 동시에 실행할 예정이라면 다음 패키지도 같이 설치합니다. 보통 개발 환경의 경우 서버 한대에 모든 것을 설치하는데 이런 경우에 해당됩니다.

다음 명령어로 간단하게 설치를 진행할 수 있으며 설치와 관련한 자세한 내용은 각 어플리케이션 공식 홈페이지를 참고 해 주세요.

$ sudo apt-get install mysql-server
$ sudo service mysql start

$ sudo apt-get install zookeeper zookeeperd
$ sudo service zookeeper start

CentOS (64bit)

CentOS 호스트 준비하기

현재 아이펀엔진을 사용할 수 있는 CentOS 버전은 다음과 같습니다.

  • CentOS 7 (64bit)

  • CentOS 8 (64bit)

아마존 AWS 같은 클라우드 서비스 또는 사용하고 계신 컴퓨터에 Hyper-V 나 VMware, VirtualBox 같은 솔루션을 이용해서 CentOS 가상 머신을 생성할 수 있습니다. (필요하다면 CentOS 다운로드 페이지 에서 설치 이미지를 받으실 수 있습니다.)

Important

반드시 64bit CentOS 7 혹은 64bit CentOS 8 을 설치하셔야 됩니다. 그 이하의 버전이나 같은 계열의 Amazon Linux 나 Redhat Enterprise Linux 에서는 정상 동작하지 않습니다.

CentOS 호스트가 준비되어 콘솔 또는 SSH 터미널을 통해서 접속할 수 있게 되면 다음 단계로 진행할 차례입니다.

자동으로 YUM 저장소 설정하기

CentOS 를 설치한 후에는 아이펀 엔진을 사용하기 위해 YUM 저장소를 설정해야됩니다.

CentOS용 아이펀 엔진 자동 설정 패키지 를 다운받아 더블클릭해서 설치하거나, 터미널 창을 열어 다음 명령을 실행합니다.

$ sudo yum install epel-release wget yum-utils
$ wget https://www.ifunfactory.com/engine/funapi-yum-setup.rpm
$ sudo rpm -Uvh funapi-yum-setup.rpm

Important

현재, CentOS8 에서 funapi-yum-setup 패키지를 처음 설치하면, 다음과 같은 에러가 발생합니다.

error: can't create transaction lock on /var/lib/rpm/.rpm.lock (Resource temporarily unavailable)
error: /tmp/funapi.key: key 1 import failed.
Installed GPG key for Funapi.

이때는 이어서 설명하는 수동으로 YUM 저장소 설정하기 를 참고하셔서 GPG 키를 추가하는 과정을 진행해 주시기바랍니다.

수동으로 YUM 저장소 설정하기

만일 외부와 통신을 못하게 방화벽이 설정되어있는 경우, 앞의 자동 설정 방법이 동작하지 않을 수 있습니다. 이런 경우에는 수작업으로 아이펀 엔진의 PGP 키를 추가하고 YUM 저장소를 추가하셔야 됩니다.

다음 내용을 ifunfactory.gpg.key 로 저장해주세요.

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1

mQENBFHLrjgBCACzI7l8y1nygGN1b0XwgEDdBZGUlaTZhyHs1Y2VLBmYm3dgyRHp
qLfHhVGZm1FXzT1X7GlGgQRV+GsyeXNUHWcY794UwZMCM4h0mGDGXX1eR2objUNZ
tVE9VzoXwKwnu7mKJGXgSm+olZKQ43wPnr7Keyap42yKSJv3GBkMmfKjwnjTooLk
g62wwpJa3AOZBBqLwHKt0BYVRT/7ILXJnW4NqDoQPeT1y3Iqt1KxsaR1Ik+byh3g
UUvDqgFRXPW+HDkB265MbQgXHmPTGih8j7ygZz1dM5pJQ//bMqNHmbDPZSwLt0Wb
yB6UNbO9W5ZENCz4h7+3utYAvwERqdZ/nxKZABEBAAG0L0Z1bmFwaSBTdXBwb3J0
IDxmdW5hcGktc3VwcG9ydEBpZnVuZmFjdG9yeS5jb20+iQE4BBMBAgAiBQJRy644
AhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCj9+/dSTj/5jzNB/45CD2R
Bv8CrB+ErIVeFjXuhqYwg2fuAdQcXbVpla5rhrvHjGEbCl35kKqEPFP09YvWReIi
i3kK1yF7zNxyk/9N3GUZpIEgbyEuNVjkizPjrs+DWx0j6oZZQLrsEflUMxfALAmr
v3n6fB6XeCk2Hd83XBoqZSHKfzLPFUynS7e2/Vte4UVKbgFPsypPXazYrqvq4ej2
bnHva6/aUakti+A+l8Cs0kf2WzrwOp47PcceT5N0/mwF5XslwaiqH6q+6iGNLdj0
9hjzRcdZ5My/Do6rGXcFJJY17U72HGFTUCU8RXZRTBY2EfjAV6zQlKlaO/Aw0eWX
7UMXUhc+CLv+aZOxuQENBFHLrjgBCAC/xHRd1tH2zs8nplyI3EYRyWqF82waGIyK
SnV/pJ4CCc2YuECnQV0RvoOtZiuwmB3CuNTSEEyAfwU/K3tMsvczMN04MjQGvSA1
4it7xIkg24Qcx0O46JBwvihR4sZ8O/j6X/nVV4pN4zUg5PQh///yn/R7mVH2sWVW
WE5ZpZ1G/eA/fSiqdmZPOjFW9SWsVgPXvyKCM0b5lCjMlbwZspx8YGblJtDqCtWW
Ip2RnGTCSkSo4kRauDU+iGYojUsgsmUSxjtdGZHa41g5HDRoIcL3e40UYe3el7Sx
Aa+lV529kHAZCWtDfS7MoqtE7gvHSGoJAK+2nCAEfw1mz0Ja+XELABEBAAGJAR8E
GAECAAkFAlHLrjgCGwwACgkQo/fv3Uk4/+Y36Qf/VPov5n+h4pEzKspA6hHezD4J
rw9rVCQ/BvidBerV4VvL+oH5ghBV5QeAvd2TyccuKdZJsikAM9wUM1MS+Y4Akno7
vgIKO/7sGGkbAkgSG4vvfG4W9EQ0GqFycaTl9zpiNUrUri5vGNK2PC6p9uXxXmdQ
3iHe1c5+5jvLKCzOdC+Er2E949PzsMuI2L4viNp72J6ilm62RJ+/Pg1rOaRmTH1H
ax7L3Hwsy0GXeubKaeDizvBeKcv6e08DqI2TCllmd8NkR6OSLuks4yHDU1ztAa0c
+RcnddKag+TCYwto617oMZvCPaic/d6AjW3OL48PFNUPpfBeZEJ8B8tm16HxaQ==
=p+5n
-----END PGP PUBLIC KEY BLOCK-----

그리고, 위 키를 패키지 관리자에 추가해주세요.

$ sudo rpm --import ifunfactory.gpg.key
OK

마지막으로 아래 내용을 /etc/yum.repos.d/funapi.repo 파일에 저장해주세요.

[funapi]
name=funapi
baseurl=https://www.ifunfactory.com/centos/7
gpgcheck=1
enabled=1

[funapi-experimental]
name=funapi-experimental
baseurl=https://www.ifunfactory.com/centos/7-experimental
gpgcheck=1
enabled=0
[funapi]
name=funapi
baseurl=https://www.ifunfactory.com/centos/8
gpgcheck=1
enabled=1

[funapi-experimental]
name=funapi-experimental
baseurl=https://www.ifunfactory.com/centos/8-experimental
gpgcheck=1
enabled=0

아이펀 엔진 설치하기

저장소 설정 후에는 저장소에서 패키지 리스트를 받아오고 funapi1-devel 를 설치합니다.

$ sudo yum update
$ sudo yum install funapi1-devel

위 명령을 실행하면 아이펀 엔진 게임 개발을 위한 개발 패키지와 run-time 패키지, 그리고 의존성이 걸려있는 패키지들이 모두 설치됩니다.

Important

최초에 아이펀 엔진을 설치하면 1주동안 유효한 평가판 라이선스가 자동으로 발급됩니다. 평가판 라이선스는 사용에 제약이 있습니다. 자세한 내용은 개요 매뉴얼을 참고해 주세요.

배포판 종류 선택하기

아이펀 엔진은 저장소 설정을 통해서 안정화 배포판인 stable 과 시험 배포판인 experimental 을 사용하도록 선택할 수 있습니다.

저장소 자동 설정 패키지를 설치하셨다면 stable 저장소로 초기 설정되며, funapi_select_repo 라는 명령을 이용해서 배포판 타입을 변경할 수 있습니다.

현재 배포판 타입 확인하기

현재 선택된 엔진의 배포판 타입과 실제로 설치된 엔진의 패키지 저장소 정보는 다음과 같은 방법으로 확인할 수 있습니다.

$ funapi_select_repo
Current repository: stable
Installed package: funapi1-runtime 1.0.0-5677centos8: stable

위 명령어의 결과를 보면 현재 선택된 배포판 타입은 stable 이며, 설치되어있는 엔진은 stable 임을 알 수 있습니다.

Note

다음 챕터에서 설명하는 내용과 같이 설치 후 배포판 타입을 변경할 수 있기 때문에 현재 설정된 배포판 타입과 설치되어있는 배포판 타입은 다를 수 있습니다.

배포판 타입 변경하기

아이펀 엔진의 패키지 저장소는 stableexperimental 의 두 종류가 있습니다.

stable 저장소는 검증기간을 거친 새 기능이나 수정 사항을 적용한 안정화 버전을 모아놓은 저장소이고, stable 에 적용되지 전 검증이 필요한 수정사항들이 반영된 저장소가 experimental 입니다.

다음과 같이 funapi_select_repo 명령어 뒤에 사용할 배포판 타입을 인자로 주고 명령을 실행하면 사용하는 배포판 타입을 변경할 수 있습니다.

$ sudo funapi_select_repo experimental
Activating iFunEngine experimental repository
Cache was expired
0 files removed

위 명령을 보시면, 노란색으로 강조한 것처럼 저장소를 experimental 로 변경합니다. 다시 인자 없이 funapi_select_repo 를 실행하면 다음과 같이 배포판이 바뀐 것을 알 수 있습니다.

$ funapi_select_repo
Current repository: experimental
Installed package: funapi1-runtime 1.0.0-5677centos8: stable

The installed package is not from the current repository.
This means you might have installed it from other repository.
So, please be cautious that it could be replaced upgrading the package.

최신 버전으로 업그레이드

일반적으로 사용하는 패키지 매니저의 업그레이드 명령을 사용하면 현재 설정되어 있는 저장소의 최신버전을 설치하려고 시도합니다.

$ sudo yum upgrade

이때, 저장소의 최신 버전이 현재 설치되어 있는 패키지 버전보다 낮으면 업그레이드가 진행되지 않으며 이것은 아이펀엔진 패키지 저장소과 상관없이 적용됩니다.

예를들어 현재 호스트에 Experimental 1.0.0-5000 버전이 설치되어 있다고 가정해 보겠습니다. 아이펀 엔진 저장소가 Stable 로 설정되어 있고, Stable 저장소의 최신버전이 Stable 1.0.0-4999 라면 업그레이드가 진행되지 않습니다.

이런 경우에는 다음에 설명하는 버전을 지정해서 설치하는 방법을 사용해 주시기 바랍니다.

버전 지정 설치

아이펀 엔진 패키지를 다운그레이드하거나, 특정 버전 패키지를 설치해야 하는 경우에는 다음에 설명하는 명령 형식을 사용해 주세요.

버전을 지정해서 설치하는 경우에는 funapi1-dev, funapi1-runtime, python-funapi1-dev 의 세개 패키지를 함께 설치해야 합니다.

아래 명령 중 1.0.0-1234centos8 은 CentOS 리눅스 배포판 이름을 포함하는 버전명입니다.

Note

버전명은 배포판 이름을 포함합니다.

$ sudo yum install funapi1-devel-1.0.0-1234centos8 funapi1-runtime-1.0.0-1234centos8 python-funapi1-dev=1.0.0-1234centos8

(선택) 같은 서버에 MySQL, Zookeeper 설치하기

서버 한대로 개발 환경을 꾸릴 예정이라면, 같은 서버에 MySQL 서버와 분산기능을 위한 Zookeeper 서버도 같이 설치합니다.

다음 명령어로 간단하게 설치를 진행할 수 있으며 설치와 관련한 자세한 내용은 각 어플리케이션 공식 홈페이지를 참고 해 주세요.

$ sudo yum install mariadb-server
$ sudo systemctl enable mariadb
$ sudo systemctl start mariadb

$ sudo yum install zookeeper
$ sudo systemctl enable zookeeper
$ sudo systemctl start zookeeper

Tip

아이펀 엔진 패키지들은 버전 번호에 빌드 번호를 포함하고 있습니다. experimental 으로 내보낸 후 안정화 기간을 거친 후 stable 로 내보내기 때문에 일반적으로는 experimental 배포판이 stable 보다는 높은 빌드 번호를 가지고 있게 됩니다.

이 때문에 stable 에서 experimental 로 변경하는 경우 대부분의 경우 apt-get upgradeyum update 만으로 experimental 배포판의 최신 버전으로 업그레이드 가능합니다. 그러나 그 반대로 배포판을 변경하거나, stable 배포판에 긴급하게 hot fix 수정을 적용하는 경우 앞의 명령으로 자동으로 설치되지 않는 경우가 있을 수 있습니다. 이 경우는 다음처럼 upgrade 대신 install 뒤에 희망버전을 명시해서 해결할 수 있습니다.

  1. Ubuntu 의 경우: $ sudo apt-get install funapi1-dev=희망버전 funapi1-runtime=희망버전 libfunapi1-mongodblogger=희망버전 python-funapi1-dev=희망버전

  2. Centos 의 경우: $ sudo yum install funapi1-devel-희망버전 funapi1-runtime-희망버전 python-funapi1-devel-희망버전