Perforce Swarm
버전 2015.1
설치 안내서
소개
이 문서는 Perforce Swarm(이후 "Swarm"으로 명시) 릴리스 2014.4.의 설치 및
초기 구성 프로세스에 대해 설명합니다. 다양한 OS 배포판에 따라 동일한 결과에
이르는 방식이 서로 다를 수 있습니다. 따라서 당사는 최선의 설명을 제공하기 위해
노력하지만, 사용자가 특정 배포판 설명서를 참조해야 하는 경우도 있습니다.
* Swarm의 설치 및 구성에는 시스템 관리자 기능이 필요하며 많은 경우 루트
권한 액세스를 필요로 합니다.
개요
Swarm 웹 응용프로그램의 설치 및 구성을 위해 이 문서가 다루는 주요 영역은
다음과 같습니다.
* 런타임 종속성
* Swarm 설치
* 사용자 환경에 맞는 Swarm 구성
* 트리거 토큰 설정
* Swarm에 맞는 Perforce 구성
* 워커 생성을 위한 반복 작업 설정
------------------------------------------------------------------------
런타임 종속성
------------------------------------------------------------------------
Swarm은 다음과 같은 런타임 종속성을 필요로 합니다.
* 지원되는 운영 체제 플랫폼
* mod_rewrite 및 mod_php5 모듈이 포함된 Apache 웹 서버
* 다음 확장이 포함된 PHP:
* iconv
* json
* session
* P4PHP
* APC(최적 성능용)
* imagick(선택 사항, 비 웹 안전 이미지 보기용)
* Zip(선택 사항, 파일/폴더 아카이브 다운로드용)
* LibreOffice(선택 사항, 오피스 유형 문서 보기용)
* zip 명령줄 도구(선택 사항, Zip 확장이 설치되어 있지 않은 경우 파일/폴더
아카이브 다운로드용)
* 연결을 위한 지원되는 Perforce 서비스 및 기능
참고: "Perforce 서비스"란 Perforce 서버, 프록시, 브로커, 레플리카, 에지
서버, 커밋 서버 또는 클러스터/노드를 지칭합니다.
이는 "서비스" 사용자를 지칭하지 않습니다. 서비스 사용자는 Perforce
서비스 내 복제 코디네이션에 사용됩니다.
지원하는 운영 체제 플랫폼
Swarm은 이진 버전 P4PHP(PHP용 퍼포스 확장)를 포함하므로 다음 운영 체제에서
지원됩니다.
* Linux 2.6+ Intel(x86, x86_64), gblic 2.3.3+ 사용
* Mac OS X 10.6+(x86_64)
직접 P4PHP를 구축하거나 기타 런타임 의존성이 충족되는 경우에는 다른
플랫폼에서도 Swarm을 실행할 수 있습니다. 소스에서 P4PHP를 불러와 빌드하는 방법은
다음을 참조하십시오.
http://www.perforce.com/perforce/doc.current/user/p4phpnotes.txt
Apache 웹 서버
Swarm을 작동하려면 Apache HTTP 서버 2.2 이상이 필요합니다.
http://httpd.apache.org/
Swarm은 또한 다음 Apache 모듈을 필요로 합니다.
* PHP와 상호 작용을 위한 mod_php5
일반적으로 PHP와 함께 설치됩니다.
* mod_rewrite URL 재작성 엔진
http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html
PHP
Swarm은 PHP 5.3.3+, 5.4.x 또는 5.5.x에서 지원됩니다:
http://www.php.net
Swarm은 다음과 같은 PHP 확장을 필요로 합니다.
* iconv(문자 인코딩 변환기)
http://php.net/iconv
대부분의 PHP 배포판에서 일반적으로 활성화됩니다.
* JSON(JavaScript 개체 노테이션)
http://php.net/json
대부분의 PHP 배포판에서 일반적으로 활성화되지만 최근 배포판에서는 선택
사항으로 처리되기도 합니다.
* Session(세션 처리)
http://php.net/session
대부분의 PHP 배포판에서 일반적으로 활성화됩니다.
* P4PHP(Perforce PHP 확장)
Swarm 패키지에 포함되어 있으며 설치 방법은 아래를 참조하십시오.
Swarm은 다음과 같은 PHP 확장과 함께 사용하면 매우 큰 이점을 가지게 됩니다.
* APC(대체 PHP 캐시)
http://php.net/apc
APC 설치 지침은 아래를 참조하십시오.
* Imagick(ImageMagick을 PHP에 통합)
http://php.net/imagick
Imagick 설치 지침은 아래를 참조하십시오.
Perforce 서버 요구 사항
* Swarm은 다음 패치 수준 이상의 Perforce 서버 버전과 연동합니다.
* 2010.2/503309
* 2011.1/506384
* 2012.1/512349
* 2012.2/525804
* 2013.1/610569
* 2013.2/708877
* 2013.3/740675
* 2014.1/807760
* Swarm은 Perforce 2013.1 이상에서 최고의 성능을 발휘합니다.
http://www.perforce.com
이후 단계에서 Perforce 서비스에 설치되는 Swarm 트리거의 요구 사항은
다음과 같습니다.
* Linux 호스트에 설치된 Perforce 서비스의 경우 다음 중 하나가 필요:
* curl
http://curl.haxx.se/download.html
* wget
http://ftp.gnu.org/gnu/wget/
* Windows 호스트에 설치된 Perforce 서비스의 경우 다음 중 하나가 필요:
* curl
http://curl.haxx.se/download.html
SELinux(Security-Enhanced Linux)
* Swarm은 현재 SELinux*를 *지원하지 않습니다. 향후 릴리스에서 SELinux를
지원하고 필요한 구성에 대한 지침을 제공하게 되기를 바랍니다.
* 본 버전의 Swarm은 '시행 모드'의 기본 구성을 사용하는 경우 SELinux와
*연동되지 않습니다*. SELinux 시스템을 실행 중인 경우 다음 명령을 통해 'Permissive
모드'로 설정하면 Swarm이 작동하지 않을 수 있습니다.
$ sudo setenforce 0
시스템을 'Permissive 모드'로 설정하면 댄 월시(Dan Walsh)를 슬프게 할 수
있습니다.
https://plus.google.com/112917221531140868607/posts/ZiqZVXAjrev
------------------------------------------------------------------------
Swarm 패키지 설치
------------------------------------------------------------------------
Swarm은 두 가지 배포 형식으로 사용할 수 있습니다. Debian(.deb) 및 RPM
(.rpm)
패키지 관리 도구가 각 패키지의 종속성을 파악하기 때문에 배포 패키지를 사용하면
소프트웨어의 설치, 업데이트 및 제거를 매우 간소화할 수 있습니다.
참고: Swarm 패키지는 Ubuntu 12.04 LTS, Ubuntu 14.04 LTS(Debian 패키지의 경우) 및
CentOS 6.1+(RPM 패키지)에 대해 철저한 테스트를 거쳤습니다. 각 패키지는 다른 호환
배포판에서도 작동이 가능하지만 이는 아직 테스트된 바 없습니다.
1. Perforce 패키지 리포지토리를 구성합니다.
루트 권한으로 다음 중 하나를 실행합니다.
a. Debian의 경우:
다음 컨텐츠로 '/etc/apt/sources.list.d/perforce.list' 파일을 생성합니다.
deb http://package.perforce.com/apt/ubuntu/ precise release
이는 Debian 및 Ubuntu 시스템에서 작동합니다.
b. RPM의 경우:
다음 컨텐츠로 '/etc/yum.repos.d/perforce-swarm.repo' 파일을 생성합니다.
[Perforce]
name=Perforce
baseurl=http://package.perforce.com/yum/rhel/6/x86_64/
enabled=1
gpgcheck=1
이는 RedHat 및 CentOS 모두에 적용됩니다.
2. Perforce 패키지 서명 키를 가져옵니다.
다음 중 한 가지를 실행합니다:
a. Debian의 경우:
$ wget -qO - http://package.perforce.com/perforce.pubkey | sudo
apt-key add -
$ sudo apt-get update
b. RPM의 경우(루트 권한으로 실행):
# rpm --import http://package.perforce.com/perforce.pubkey
서명 키의 승인 여부 확인에 대한 자세한 정보는 다음을 참조하십시오.
http://answers.perforce.com/articles/KB_Article/Public-Key-for-
Installation-Packages
3. 주요 Swarm 패키지를 설치합니다.
두 가지 패키지 파일을 선택할 수 있습니다.
다음 중 한 가지를 실행합니다:
i. Debian의 경우:
$ sudo apt-get install perforce-swarm
ii. RPM의 경우(루트 권한으로 실행):
# yum install perforce-swarm
4. Swarm 트리거 패키지를 설치합니다.
이 패키지를 Perforce 서비스 호스팅 서버에 설치합니다. 해당 서버는 Swarm
호스팅 서버와 동일한 서버이거나 또는 네트워크 상의 다른 서버일 수 있습니다.
중요: Perforce 서비스 호스팅 서버가 패키지를 사용할 수 없는 경우(예:
서버에서 Widnows 실행 중), '/opt/perforce/swarm/p4-bin/scripts'에서
Perforce 서비스 호스팅 서버로 적절한 Swarm 트리거 스크립트를 복사해야
합니다. Linux 시스템용은 'swarm-trigger.sh'입니다. Windows 시스템용은
'swarm-trigger.vbs'입니다. 복사한 후 트리거 스크립트를 구성해야 합니다. 자세한
정보는 아래 "Swarm용 Perforce 구성" 절을 참조하십시오.
다음 중 한 가지를 실행합니다:
i. Debian의 경우:
$ sudo apt-get install perforce-swarm-triggers
ii. RPM의 경우(루트 권한으로 실행):
# yum install perforce-swarm-triggers
5. Swarm 옵션 패키지를 설치합니다.
반드시 필요하지는 않지만 이 패키지는 Imagick 및 LibreOffice Swarm 모듈
사용에 필요한 종속성을 설치합니다. 이러한 모듈은 다양한 이미지 및 오피스 문서의
미리보기를 제공합니다.
다음 중 한 가지를 실행합니다:
i. Debian의 경우:
$ sudo apt-get install perforce-swarm-optional
ii. RPM의 경우(루트 권한으로 실행):
# yum install perforce-swarm-optional
중요: 이 패키지는 EPEL 프로젝트의 "php-pecl-imagick" 패키지의
영향을 받습니다. EPEL에서 패키지를 설치하려면 EPEL
리포지토리를 추가하고 서명 키를 허용해야 합니다. 관련 지침은
https://fedoraproject.org/wiki/EPEL에서 참조하실 수 있습니다.
6. 다음 사전 설치 단계를 완료합니다.
*perforce-swarm* 패키지가 설치되면 추가 구성이 필요합니다.
1. Swarm 구성 스크립트를 사용하여 Swarm을 설정합니다.
참고: Swarm 구성 스크립트에는 몇 가지 사용 방식이 있습니다. 아래의
단계는 대화형 설치를 통한 가장 간편한 구성에 대한 요약이지만 루트 권한을
사용하면 실행 중에 옵션을 검토할 수 있습니다.
$ /opt/perforce/swarm/sbin/configure-swarm.sh -h
루트 권한으로 대화형 설치 실행:
$ /opt/perforce/swarm/sbin/configure-swarm.sh -i
2. 구성 스크립트에 정보를 입력합니다.
a. P4PORT의 값을 지정합니다.
Perforce 서비스의 호스트 이름 및 포트를 지정합니다. 정의된 경우
P4PORT 값은 기본값으로 사용됩니다. 구성 스크립트가 자신의 연결 가능
여부를 확인합니다.
b. Perforce 서비스에서 관리자 수준 권한으로 일반 사용자의 사용자 ID
및 암호를 지정합니다.
기본 사용자 ID는 'swarm'입니다.
안내에 따라 사용자 ID에 따른 로그인 티켓 또는 암호를 입력합니다.
참고: 로그인 티켓은 다음을 실행하여 얻을 수 있습니다(다른 셸에서).
$ p4 -p myp4host:1666 -u userid login -p
입력한 로그인 티켓의 만료일이 1년 이내인 경우 경고가
표시됩니다.
c. Swarm UI의 호스트 이름을 지정합니다.
기본값은 현재 호스트 이름입니다. 구성 스크립트는 호스트
이름의 실제 작동 여부를 확인하지 않습니다.
d. 메일 릴레이 호스트를 지정합니다.
참고: 구성 스크립트는 입력한 메일 릴레이 호스트가 실제로 SMTP 연결을
허용하는지 확인하지 않습니다.
이 정보가 입력되면 구성 스크립트는 다음 작업을 수행합니다.
- P4PHP 구성
- 워커 작업의 상시 실행 보장을 위한 크론 잡 생성
- Swarm 'data/config.php' 구성 파일 생성
- Swarm용 Apache 가상 호스트 생성
- Apache 다시 시작
3. Swarm 트리거를 구성합니다.
자세한 정보는 아래 "Swarm용 Perforce 구성" 절을 참조하십시오.
모두 완료되었습니다.
------------------------------------------------------------------------
Swarm OVA 설치
------------------------------------------------------------------------
Swarm은 최소한의 구성을 필요로 하는 OVA(Open Virtualization Appliance)로
설치할 수 있습니다.
다음이 필요한 경우 OVA를 사용할 수 있습니다.
* 설치 및 구성 단계 간소화
* 추가 하드웨어 없이 Swarm 실험
* Linux 기반 서버 없이 Swarm 설치
OVA를 사용하려면 아래 지침에 따른 후
"트리커 토큰 설정" 절로 건너 뜁니다.
1. Swarm OVA를 다운로드합니다.
2. OVA를 사용자의 가상화 환경으로 가져옵니다.
3. 가상 컴퓨터를 시작합니다. 진단 및 부트 정보가 나타납니다.
4. 여러 구성 프롬프트가 순차적으로 표시됩니다.
a. 루트 사용자 암호
b. 시스템 *swarm* 사용자 암호
c. 가상 컴퓨터 호스트 이름
d. 메일 릴레이 호스트
e. Perforce 서비스 포트
f. *admin* 권한을 가진 Perforce 서비스의 일반 사용자
사용자 ID
g. *admin-level* Perforce 사용자의 티켓 또는 암호
프롬프트가 성공적으로 답변되면 가상 컴퓨터는 구성 작업을 완료합니다. 모든
작업이 완료되면 시작 화면이 표시됩니다.
시작 화면에서 Swarm, 문서 및 가상 컴퓨터 관리 콘솔에 액세스하는 URL을
제공합니다.
이제 OVA를 통해 Swarm에 액세스할 수 있습니다.
참고:
OVA가 구성되고 실행되면 SSH를 이용하여 시스템 *swarm* 사용자로 가상 컴퓨터에
연결하고 다음 Swarm config.php 파일을 수정하여 구성을 조정할 수 있습니다.
/opt/swarm/data/config.php
Swarm 설치 폴더는 /opt/swarm입니다.
더 아래 쪽의 "트리거 토큰 설정" 절로 진행합니다.
------------------------------------------------------------------------
Swarm 설치
------------------------------------------------------------------------
높은 수준에서 Swarm은 다음을 수행하여 설치됩니다.
* Swarm Tarball을 적절한 디렉토리에 확장
* Apache가 Swarm 'data' 폴더에 쓰기 가능한지 확인
* PHP용 iconv, json, session, P4PHP 및 APC 확장 설치 및 활성화
* Swarm 'public' 폴더를 포인팅하는 Apache 가상 호스트 생성
단계별 설치 지침
1. Swarm 패키지("압축 Tarball")를 확장합니다.
* 다양한 그래픽 파일 관리 응용프로그램(Linux의 Nautilus, Mac의
Finder 등)에서 Swarm Tarball 패키지를 두 번 클릭하면 자동으로 패키지가
확장됩니다.
* 명령줄에서 tar 명령으로 확장합니다.
$ tar -zxf swarm.tgz
* Swarm 패키지의 컨텐츠가 이름이 "swarm-<version>"인 상위 수준
폴더로 확장되며 여기서 <version>은 다운로드된 버전을 나타냅니다.
2. Swarm 패키지의 컨텐츠를 올바른 위치로 이동합니다.
* Swarm 파일의 위치를 확인합니다. 이는 Apache에서 구성된 가상 호스트와
일치해야 합니다(아래의 Apache 구성 및 설치 절 참조).
$ mv /path/to/swarm-<version> /path/to/vhosts/swarm
3. Swarm 파일에 대해 올바른 소유권과 권한을 할당합니다.
* Swarm 배포판의 상위 수준 폴더 'data'에 대해 웹 서버가 쓰기 가능해야
합니다. 이를 적용하려면 데이터 폴더의 소유권을 웹 사용자로 변경하면 됩니다.
$ sudo chown -R www /path/to/vhosts/swarm/data
* 위에서 'www' 사용자는 웹 서버 사용자 이름의 한 예입니다. 사용자의
배포판에 따라 이는 '_www', 'web', 'nobody' 또는 기타 다양한 이름이 될 수 있습니다.
보안 관점에서, Swarm 배포판과 웹 서버가 충돌하는 경우 사용자/그룹에
최소한의 파일 권한만 부여하는 것이 좋습니다.
Apache 구성 및 설정
* Apache HTTP 서버(Apache) 구성은 OS 배포판에 따라 다를 수 있습니다.
자신의 Apache 설치에 맞는 문서를 참조하십시오.
* 예를 들어 Mac OS X에서는 시스템 환경 설정의 공유 제어에서 웹 공유를
활성화해야 할 수 있습니다.
4. 설치에 맞는 Apache 가상 호스트("vhost")를 설정합니다.
* 자세한 정보는 Apache 전체 설명서를 참조하십시오.
http://httpd.apache.org/docs/2.2/vhosts/
http://httpd.apache.org/docs/2.4/vhosts/
* Apache 2.2용 가상 호스트 구성 예:
<VirtualHost *:80>
ServerName myswarm
ServerAlias myswarm.machine.domain.com
ErrorLog "/path/to/apache/logs/myswarm.error_log"
CustomLog "/path/to/apache/logs/myswarm.access_log" common
DocumentRoot "/path/to/vhosts/swarm/public"
<Directory "/path/to/vhosts/swarm/public">
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
* Apache 2.4용 가상 호스트 구성 예:
<VirtualHost *:80>
ServerName myswarm
ServerAlias myswarm.machine.domain.com
ErrorLog "/path/to/apache/logs/myswarm.error_log"
CustomLog "/path/to/apache/logs/myswarm.access_log" common
DocumentRoot "/path/to/vhosts/swarm/public"
<Directory "/path/to/vhosts/swarm/public">
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
* DocumentRoot 및 Directory 값이 위 2단계에서 배치한 Swarm 배포판의
"public" 폴더에 대응하는지 확인하십시오.
5. 올바른 Apache 모듈이 활성화되었는지 확인합니다.
* PHP 및 Rewrite 모듈의 활성화 여부를 쿼리하기 위해 모든 활성 모듈 목록을
표시하도록 'apachectl' 유틸리티를 사용할 수 있습니다(사용자 시스템에서는
'apache2ctl'이라는 이름으로 표시될 수 있음).
$ apachectl -t -D DUMP_MODULES
* 결과에서 'php5_module' 및 'rewrite_module'을 찾습니다. 해당 모듈이
보이면 6단계로 건너 뜁니다.
사용자의 배포에 'a2enmod' Apache 유틸리티가 포함되어 있는 경우, 이를
이용하여 PHP 및 Rewrite 모듈을 활성화합니다.
$ sudo a2enmod php5 rewrite
* 'a2enmod' 유틸리티를 사용하지 않고 Apache 구성 파일을 직접 편집합니다.
모듈에 대한 Apache 구성 파일을 찾아 주석을 해제하거나 다음 줄을 추가합니다.
LoadModule php5_module libexec/apache2/libphp5.so
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
* 참고로 사용자의 Apache 설치에 따라 모듈(.so 파일)의 위치는 다를 수
있습니다.
6. 웹 서버를 다시 시작합니다.
* 활성화한 Apache 구성 변경 사항이 적용되도록 웹 서버를 다시
시작합니다.
$ sudo apachectl restart
* Apache 활성 가상 호스트 및 모듈을 쿼리하여 변경 사항이 적용되었는지
확인합니다.
$ apachectl -t -D DUMP_VHOSTS
$ apachectl -t -D DUMP_MODULES
PHP 구성:
* PHP는 OS 배포판에 따라 다양하며 PHP 설치에 대한 해당 문서를 참조하십시오.
7. 먼저 PHP Apache 모듈이 사용할 php.ini 파일을 결정합니다. 참고로
명령줄에서 PHP를 호출할 때 사용되는 php.ini 파일과 반드시 동일할 필요는 없습니다.
(명령줄에서 'php --ini'를 실행하면 이 정보가 표시됩니다).
PHP Apache 모듈이 사용하는 php.ini가 어떤 것인지 파악하기 어렵다면,
Apache를 통해 사용할 수 있는 PHP 파일을 다음 컨텐츠로 생성합니다.
<?php phpinfo();?>
이 파일에 브라우저를 표시하고 결과 테이블에서 해당 테이블 행을
검색하십시오.
불러온 구성 파일
8. 시스템에 대한 date.timezone이 정확하게 설정되어 있는지 확인합니다.
일부 배포판에는 PHP가 사용할 수 있는 기본 시간대가 설정되어 있지 않습니다.
따라서 PHP용 시간대를 명확하게 설정하는 것이 좋습니다. 지원되는 시간대 목록:
http://www.php.net/manual/en/timezones.php
php.ini 내 date.timezone 설정 예:
date.timezone = America/Vancouver
9. iconv, json 및 세션 확장이 있는지 확인합니다.
* 해당 확장은 일반적으로 활성화되어 있지만, OS 패포판을 통해 패키지를
설치해야 할 수도 있습니다. 위 phpinfo 결과에서 각 이름을 검색하여 확장이
존재하는지 확인합니다.
10. PHP용 Perforce 확장 P4PHP 활성화:
* Swarm이 Perforce 서비스와 통신하도록 하려면 P4PHP 확장이 필요합니다.
* 당사는 Linux 플랫폼(32 및 64비트) 및 Mac OS X(Darwin)용, PHP 5.3,
5.4, 및 5.5를 위한 다양한 P4PHP 이진 베리언트를 제공합니다.
* Linux의 경우 기본 베리언트는 glibc 2.11로 컴파일되지만, Red Hat
Enterprise Linux 5.9. 등 이전 배포판 사용자를 지원하기 위해 glibc 2.3.3으로
컴파일된 PHP 5.3 베리언트도 함께 포함되어 있습니다.
* P4PHP를 활성화하려면 웹 서버의 php.ini 파일을 편집하여 다음 줄을
추가합니다.
extension=/path/to/swarm/p4-bin/bin.<platform>/perforce-
<variant>.so
예 1: PHP 5.4 실행 64비트 Linux 시스템의 경우:
extension=/path/to/swarm/p4-bin/bin.linux26x86_64/perforce-
php54.so
예 2: 2.11 이전 glibc을 사용하는 PHP 5.3 실행 32비트 Linux 시스템의
경우:
extension=/path/to/swarm/p4-bin/bin.linux26x86/perforce-php53-
glibc2.3.3.so
* 아니면 PHP 확장의 기본 위치에 확장 파일을 복사하고 다음 줄을 추가하십시오.
extension=perforce-<variant>.so
11. Apache를 다시 시작하면 변경 사항이 적용됩니다.
12. P4PHP의 활성화를 확인하려면 7단계에서 생성한 phpinfo 파일로 이동합니다.
그런 다음 "perforce" 섹션을 확인합니다 ("Perforce Module" 검색). 모듈이
활성화되었음을 알리고 버전 정보가 표시됩니다.
PHP용 대체 PHP 캐시(APC) 확장:
APC는 PHP 중간 코드 캐싱 및 최적화를 위한 견고한 무료 개방형
프레임워크입니다. APC를 활성화하면 Swarm의 성능이 향상됩니다. APC에 대한 자세한
정보는 다음에서 확인할 수 있습니다.
http://php.net/apc
http://pecl.php.net/package/APC
13. APC는 사용자의 OS 배포판을 통해 설치하는 것이 좋습니다(apt-get, yum 등을
통해).
* 배포판이 PHP용 APC 패키지를 제공하지 않을 경우 PECL을 통해 설치할 수도
있습니다(시스템 종속성 문제를 해결해야 할 수 있음).
$ sudo pecl install apc
14. PHP Apache 모듈의 php.ini 파일에서 APC가 활성화되었는지 확인합니다
(P4PHP에 대한 위 절에서 지정된 대로). 다음 줄을 php.ini에 추가해야 할 수
있습니다.
extension=apc.so
15. Apache를 다시 시작하면 변경 사항이 적용됩니다.
16. APC의 활성화를 확인하려면 P4PHP에 대한 위 절 1단계에서 생성한 phpinf
파일로 이동합니다. 그런 다음 "apc" 섹션을 확인합니다("APC Support"를 검색해야
할 수 있음). 해당 버전 정보 및 지시문 테이블이 보고됩니다.
설정할 APC 지시문에 대해 현재 권장되는 바는 없습니다.
** 위에서 생성한 phpinfo 파일에 대한 노트 참조 **
* P4PHP 및 APC의 설치 및 활성화가 완료되면 설치 정보가 노출되지 않도록
생성한 phpinfo 파일을 제거하는 것이 좋습니다.
PHP용 Imagemagick(imagick) 확장
* Imagick은 이미지의 생성 및 처리를 위한 ImageMagick 그래픽 라이브러리
API가 통합된 PHP 확장입니다. Enabling Imagick을 활성화하면 웹 브라우저에서
일반적으로 표시할 수 없는 그래픽 형식에 대한 Swarm의 미리 보기 기능이 강화됩니다.
Imagick에 대한 자세한 정보는 다음을 참조하십시오.
http://php.net/imagick
http://pecl.php.net/package/imagick
17. Imagick는 사용자의 OS 배포판을 통해 설치하는 것이 좋습니다
(apt-get, yum 등을 통해).
* 배포판이 PHP용 Imagick 패키지를 제공하지 않을 경우 PECL을 통해
설치하십시오(시스템 종속성 문제를 해결해야 할 수 있음).
$ sudo pecl install imagick
18. PHP Apache 모듈의 php.ini 파일에서 Imagick의 활성화 여부를
확인합니다(P4PHP에 대한 위 절에서 지정된 대로). 다음 줄을 php.ini에 추가해야
할 수 있습니다.
extension=imagick.so
19. Apache를 다시 시작하면 변경 사항이 적용됩니다.
20. Imagick의 활성화를 확인하려면 P4PHP에 대한 위 절의 1단계에서 생성한
:파일:`phpinfo`파일로 이동합니다. 그런 다음 "imagick" 섹션을 확인합니다.
해당 버전 정보 및 지시문, 지원되는 이미지 파일 형식 등을 나타내는 테이블이
보고됩니다.
** 위에서 생성한 phpinfo 파일에 대한 노트 참조 **
* P4PHP 및 Imagick의 설치 및 활성화가 완료되면 설치 정보가 노출되지
않도록 생성한 phpinfo 파일을 제거하는 것이 좋습니다.
LibreOffice
LibreOffice는 무료이면서 강력한 오픈 소스 개인 생산성 제품군입니다.
Swarm은 이를 숨김 모드로 활용하여 오피스 유형 문서의 미리 보기를 생성할 수
있습니다. LibreOffice에 대한 자세한 정보는 다음을 참조하십시오.
https://www.libreoffice.org/
21. LibreOffice는 사용자의 OS 배포판을 통해 설치하는 것이 좋습니다(apt-get,
yum 등을 통해).
* 특히, Swarm에 대해 필요한 최소 패키지 및 해당 패키지의 추이 종속성은
다음과 같습니다.
* libreoffice-calc
* libreoffice-draw
* libreoffice-impress
* libreoffice-writer
* libreoffice-headless(CentOS/RHEL만 해당)
------------------------------------------------------------------------
Swarm 구성
------------------------------------------------------------------------
이제 Swarm을 사용할 준비가 되었으며 사용자의 환경에 맞게
구성해야 합니다. 구성을 위한 높은 수준의 항목은 다음과 같습니다.
* Swarm이 Perforce 서버와 통신할 수 있도록 구성 파일 생성
* 워커 프로세스 생성을 위한 반복 작업 설정
Swarm 구성 파일
* 'data' 디렉토리 아래에 다음과 같은 컨텐츠로 'config.php'라는 이름의
파일을 생성합니다.
<?php
return array(
'p4' => array(
'port' => 'myp4server.domain.com:1666',
'user' => 'admin_userid',
'password' => 'ticket-value',
)
);
* 'port' 값의 경우 Perforce 서버에 연결할 때 사용된 P4PORT 값을
입력합니다.
* 'user' 값의 경우 Perforce 서비스에 대한 'admin' 수준 액세스를 가진
Perforce 사용자 이름을 입력합니다.
* 'password' 값의 경우 일반적인 텍스트 암호를 사용할 수도 있으나,
그것보다는 티켓 값을 사용하는 것이 좋습니다. 다음 명령을 사용하여 로그인 중
admin_userid용 티켓 값을 가져옵니다.
$ p4 -u <admin_userid> login -p
참고: 3에 대한 *security* 구성 설정을 사용하는 Perforce 서비스의 경우 티켓
기반 인증이 필요합니다.
중요: 티켓 기반 인증 사용 시 티켓이 만료되기까지의 기간이 충분한지
확인하십시오. 만료된 티켓으로는 많은 Swarm 작동을 수행할 수 없습니다.
다음을 통해 <admin_userid>의 티켓 만료 시점을 확인할 수 있습니다.
$ p4 -u <admin_userid> -P <ticket_value> login -s
티켓에 대한 자세한 정보는 다음에서 확인할 수 있습니다.
http://www.perforce.com/perforce/doc.current/manuals/p4sag/03_superuser
.html
------------------------------------------------------------------------
트리거 토큰 설정
------------------------------------------------------------------------
트리거 토큰은 Swarm 작업에 영향을 주는 승인되지 않은 이벤트를 방지하며
트리거는 유효한 토큰이 무시되지 않도록 Swarm에
요청합니다.
* Swarm에 수퍼 사용자로 로그인합니다.
* 주 도구 모음 오른쪽의 사용자 ID를 클릭합니다.
* Swarm 정보를 선택합니다. Swarm 정보 대화 상자가 나타납니다.
Swarm 정보 대화 상자가 표시되면 Swarm은 API 토큰이 없을 경우 이를
생성합니다.
* 대화 상자 아래쪽의 트리거 토큰 값을 메모하여 다음 단계에서 사용하십시오.
토큰을 클릭하여 선택하면 간편하게 복사할 수 있습니다.
------------------------------------------------------------------------
Swarm용 Perforce 구성
------------------------------------------------------------------------
이제 Swarm 인스턴스가 구성되었으며 마지막 단계는 관심 이벤트에 대한 정보를
Swarm에 전달하도록Perforce를 구성하는 것입니다. 이는
트리거를 사용하여 구성할 수 있습니다. Perforce 트리거에 대한
자세한 정보는 Perforce 시스템 관리자 안내서를 참조하십시오.
http://www.perforce.com/perforce/doc.current/manuals/p4sag/06_scripting
.html
Perforce 트리거를 사용하여 이벤트를 Swarm으로 푸시
* 다음 Swarm 트리거 스크립트를 사용하여 Perforce 이벤트를 Swarm으로
푸시합니다. 다음을 통해 사용할 수 있습니다.
p4-bin/scripts/swarm-trigger.sh
* 상기한 스크립트를 Perforce 서버 컴퓨터에 복사하여 Perforce 트리거가 이를
호출할 수 있도록 합니다.
* 스크립트를 수정하여 SWARM_HOST 변수를 적절하게 설정합니다.
* 스크립트를 수정하여 SWARM_TOKEN 변수를 적절하게 설정합니다. 이는 이전
단계에서 설정된 API 토큰입니다.
* 스크립트에 실행 권한이 있는지 확인합니다.
$ chmod +x swarm-trigger.sh
* 이 트리거 스크립트에는 트리거 테이블에 추가되어야 할 항목을 표시하는
간편한 플래그가 포함되어 있습니다.
$ ./swarm-trigger.sh -o
* '수퍼' 권한을 가진 Perforce 사용자로, 'p4 triggers' 명령을 실행한 다음
해당 명령의 결과 줄을 추가하여 트리거 테이블을 편집합니다.
------------------------------------------------------------------------
워커 생성을 위한 반복 작업 설정
------------------------------------------------------------------------
수신 Perforce 이벤트가 Swarm을 위해 자동으로 처리되는지 여부를 확인하려면
크론 잡을 설정하는 것이 중요합니다.
* crontab을 편집합니다. 사용자는 Swarm 호스트에 배치하고 싶을 수 있으나
이는 어떤 호스트에도 상주할 수 있습니다.
$ crontab -e
* 매 분마다 워커를 생성하도록 항목을 추가합니다.
* * * * * curl -o /dev/null -m1 http://myswarm/queue/worker
* Swarm에 대해 적절한 호스트 이름을 지정했는지 확인합니다.
이제 Swarm을 사용할 준비가 되었습니다. 즐겁게 사용하십시오!
끝