이전글(https://dev-nicitis.tistory.com/93)에서 오라클 클라우드 인스턴스를 생성했다.
이제 이 인스턴스에 퍼포스를 설치하고 사용할 준비를 해보자.
1. 인스턴스에 연결해보기
우선 인스턴스를 생성했으니 터미널로 직접 연결부터 해보자.
저번 글에서 Instance 생성 시 Private / Public 키를 받았을텐데, 이를 Instance에 설정해줘야 한다.
1-1. 권한 설정하기
우선 Private SSH Key를 내 계정에서만 접근 가능하게 막는 것이 좋다. 한번 살펴보자.
이 과정은 다음 링크(오라클 공식문서: https://docs.oracle.com/en-us/iaas/Content/Compute/Tasks/connect-to-linux-instance.htm#linux-from-windows-openssh)를 참고했다.

일단 위와 같이 ....key 형태의 private 키 파일을 우클릭해 속성을 누른다.


사용 권한 탭에서 Administrators 계정보다 자신의 개인 계정이 아래에 위치해 있는지 확인하자.

이후 하단에 있는 '상속 사용 안 함'을 클릭한다.
그 후 뜨는 창에서는 ‘명시적 사용 권한으로 변환’을 선택한다.
이를 하는 이유가, 내 유저 이외의 계정들(SYSTEM, Administrators)이 이 Private SSH 키 파일에 접근하지 못하게 막기 위해서이다. 개개 파일에 대한 권한을 설정할 때 Windows에서는 위와 같이 진행한다. 반드시 할 필요는 없지만, SSH 클라이언트는 개인키가 너무 넓게 공개된 상태를 싫어한다. Oracle 문서도 Windows에서는 사용자 본인만 접근 가능하게 권한을 줄이는 것을 권장하고 있다. 그래서 Linux / macOS에서도 chmod 400 으로 권한을 제거하라고 안내하고 있다.
1-2. SSH 키를 통해 Instance 접속하기
이후, powershell을 관리자 권한으로 오픈하고, cd 등의 명령어로 ssh 키 파일이 존재하는 경로로 이동한 뒤, 다음을 입력한다.
ssh -i [private-key-name] ubuntu@[instance-ip]
이때 private-key-name은 키 파일 이름 ssh-key-2000-00-00.key (혹은 변경한 이름?)을 말하고, instance-ip는 이전 글에서 생성한 인스턴스의 Public IP를 가리킨다.

명령어를 치면 위와 같이 터미널에서 Instance에 접속한 것을 볼 수 있다.
1-3. (선택) 좀 더 편리하게 Instance에 접속하는 방법
이때 위에서 쳤던 SSH 키 명령어는 서버 콘솔에 접근할 때마다 쳐야 하는 명령어이다.
이때 주소 등을 매번 외우는 게 아무래도 번거롭게 때문에, 일반적으로 SSH config를 사용해 특정 별명을 통해 ssh 접속을 하는 게 훨씬 편리하다.
일반적으로 Windows에서는 다음 경로(C:\Users\[USER_NAME]\.ssh\config)에 이를 설정하는 파일이 있다. 여기에 마지막 부분에 다음을 추가한다.
Host [별명이름]
HostName [Public IP]
User ubuntu
IdentityFile [SSH Private Key 파일 경로]
여기서는 유저 명이 ubuntu라고 가정하는데, 이는 서버 콘솔 오픈 시
ubuntu@[instance-ip]
위와 같이 칠 때 ubuntu라고 입력했던 것이 이 유저명에 해당한다.
이렇게 등록하고 나면 다음부터는 터미널에서
ssh [별명이름]
위 명령어만 실행해도 바로 서버 콘솔에 접근할 수 있다!
2. 퍼포스 서버 설치 & 설정
2-1. 퍼포스 p4d 패키지 설치
이제 실제로 클라우드 서버에 퍼포스를 설치해 보자. ssh 키를 통해 터미널로 Instance에 접속했다고 가정한다.
퍼포스 서버 패키지의 이름은 p4d이므로, 우분투 패키지 apt-get으로 이를 설치해 보자.
이 부분은 철저히 튜토리얼을 참고하였다. 자세한 설명이 필요할 경우 참고해보자.
1. root user로 전환하기
sudo su -
2. 다음으로 apt-key로 퍼포스 패키징 키를 추가하자.
wget -qO - https://package.perforce.com/perforce.pubkey | sudo apt-key add -
3. /etc/apt/sources.list.d로 이동해서 새 파일(perforce.list)을 생성하자. 그리고 nano editor로 열어줄 것이다.
cd /etc/apt/sources.list.d
nano perforce.list
4. 에디터가 열리면 다음을 적고 저장하자. 나노 에디터를 저장하는 건 Ctrl+o, 종료하는 건 Ctrl+x로 할 수 있다. Ctrl + …로 명령어를 처리할 수 있는 방식이다.
deb http://package.perforce.com/apt/ubuntu focal release
5. 다음으로 p4d를 설치한다.
apt-get update
sudo apt-get install helix-p4d

여기까지 해서 콘솔에서 위와 같은 형태가 나왔다면 성공이다.
2-2. 퍼포스 기본 설정
다만 여기까지 해도 설정할 게 추가로 더 있다.
- 퍼포스 서비스 이름 [master] : 원하는 이름을 넣자.
- 퍼포스 서버 루트 (P4ROOT) : 저장(depots) 경로로, 작성자는 /opt/perforce/servers/depots를 자주 활용함
- 서버 유니코드 모드 : 작성자는 옵션 no로 둔다고 했지만, 만약 한글 경로나 한글 설명이 들어갈 일이 있다면 사실 yes로 하는 걸 추천.
- 퍼포스 서버 case-sensitive(대소문자 구분) : 언리얼 문서에서는 case-insensitive server(대소문자 미구분)를 추천한다고 했으므로, no로 하는 것을 추천한다.
- 퍼포스 서버 주소 (P4PORT) : 앞에서 설정한 ssl:1666을 쓰자.
- 퍼포스 슈퍼 사용자 로그인 [super] : 슈퍼 사용자 이름을 적당히 설정하자. 예를 들어 perforceadmin이라든가..
- 슈퍼 사용자 패스워드
위 내용을 설정해야 하는데, 이를 다음 명령어를 통해 수행할 수 있다. 위에서 리스트를 작성한 것과 동일하기 때문에 순서대로 잘 적어보자...
sudo /opt/perforce/sbin/configure-helix-p4d.sh
만약 개별 옵션 설정에 실패했다면, 다음을 실행해서 개별 옵션을 어떻게 수정할지 살펴보자.
sudo /opt/perforce/sbin/configure-helix-p4d.sh --help
2-3. 퍼포스 내 포트 설정
여기서 퍼포스의 포트 설정을 마쳤으니, 실제 이 서버에 대한 포트 설정도 해야 한다. 방화벽은 우분투에 접속할 때도 존재하고, 오라클 클라우드에서 가상 클라우드 네트워크(virtual cloud network)에 접속할 때도 검사하기 때문이다.
그래서 다음을 통해 포트를 허용해주는 작업이 추가로 필요하다.
sudo iptables -I INPUT 4 -p tcp -m tcp --dport 1666 -j ACCEPT
만약 이 작업을 해주지 않으면 고생할 수 있다. 포트 허용이 제대로 되었는지 확인하려면 다음 명령어를 쳐주자.
sudo iptables -S
위 명령어를 쳐서 아래와 같은 내용이 없다면 그건 1666 포트가 허용되지 않았다는 말이다(나는 대략 8번째 라인 즈음에 있었다).
-A INPUT -p tcp -m tcp --dport 1666 -j ACCEPT
GPT에게 물어본 바에 따르면, 기본적으로 22번 포트 이외에는 막아놓도록 설정되어 있어서, 이 내용이 없으면 포트가 닫혀 제대로 동작하지 않는다.
공유기를 쓴다던가 PC의 방화벽이 막고 있다던가 뭐고 그런 건 문제가 아니고, 서버의 포트가 열려 있는지 아닌지가 중요한 거다.
여기까지 했는데 제대로 되는지 확인하고 싶다면, 로컬 콘솔에서 다음 명령어를 쳐보자. 서버 콘솔에서 치면 안되고, 자기 컴퓨터에서 Powershell을 아무거나 하나 더 열어서 실행해야 한다.
Test-NetConnection PUBLIC_ADDRESS -Port 1666
이때 PUBLIC_ADDRESS에는 클라우드 Instance의 공용 IP를 설정하자.

실행해서 위와 같이 TcpTestSucceeded가 True로 나오면 성공이다.
이제 상시 접속 가능한 나만의 작은 퍼포스 서버가 열렸다!
3. 퍼포스 참고할 만한 튜토리얼들
이제부터는 필요에 따라 워크플로 세팅을 진행하면 되는데, 사용자, depots, 워크스페이스를 생성하고, P4 ignore 파일이나 타입맵 같은 걸 설정하면 된다.
다만 나처럼 Version Control System이나 Perforce 그 자체에 익숙하지 않은 경우에는 몇 가지 튜토리얼을 보고 시작하는 걸 추천한다고 한다.
참고할 만한 튜토리얼로는 다음이 있다.
Collaboration and Teamwork in Unreal Engine | Unreal Educator Livestream
Source Control & Remote Team Collaboration | Unreal Fest 2022
Perforce를 어떻게 쓰는지에 대해서까지 모두 다루려고 하면 너무 분량이 많아질 듯하다.

다른 부분으로는, 다음 튜토리얼을 참고하면 좋을듯하다.
언리얼 엔진에서 Perforce 소스 컨트롤 사용 | 언리얼 엔진 5.7 문서 | Epic Developer Community
팀 내 다른 사람들과의 애셋 공유를 위한 Perforce 구성 방법입니다.
dev.epicgames.com
'Unreal Engine 5' 카테고리의 다른 글
| 오라클 프리티어 기반 Perforce 설정하기 1 - 오라클 클라우드 생성하기 (0) | 2026.03.29 |
|---|---|
| [UE5] SCENE_QUERY_STAT() 매크로 (0) | 2026.03.03 |
| 언리얼 엔진 - 블루프린트 변수가 자꾸 초기화된다? : Instance Editable 옵션 (0) | 2026.01.10 |
| 언리얼 엔진 - 블루프린트 대 C++: 두 언어의 차이점과 두 언어를 모두 사용해야 하는 이유 (0) | 2025.12.13 |
| 언리얼 엔진 - 향상된 입력 시스템(Enhanced Input System) (0) | 2025.12.04 |
댓글