2014년 10월 26일 일요일

Phabricator 설치 - 2 -



  • unresolved setup issues

    관리자 계정 설정을 마치고 메인 페이지에 접속하게 되면 설치시 내려 받은 phabricator 의 최신 업데이트 상태에 따라 갯수는 달라지겠지만 상단에



    이런 식으로 뜨는 것을 볼 수 있을 겁니다.

    • 이전 설치글에서 로컬 저장소 경로는 외부 저장소만 이용할 것이라 그다지 필요없다고 봐서 만들어 주지 않았었는데 이슈로 뜨게 되었네요. (만들어 주면 경고는 꺼집니다.)
    • mysql 은 그다지 특별한 것들은 없고, 이후 실시간 알림을 위한 알림 서버(aphlict notification server)를 사용할 것이라면 로컬 '127.0.0.1' 접속 제한 설정은 풀어주어야 합니다.

  • mail 설정

    sendmail 의 경우 발송이 느리기도 하고 해서 저의 경우에는 google mail 을 이용하도록 설정했습니다.
    다음 링크에 자세히 나와있으니 자신에게 적합한 방식을 선택하면 되겠습니다.
    https://secure.phabricator.com/book/phabricator/article/configuring_outbound_email/

  • Diffusion

    phabricator 는 기본적으로 모든 문자 인코딩을 utf-8 을 기준으로 잡고 처리합니다.
    따라서 기존의 오래된 프로젝트의 소스 코드는 변경 사항이 제대로 표시가 안되고 소스 파일을 바이너리로 인식하는 문제가 있을 수 있습니다.
    이 때에는 설정에서 encoding 항목을 cp949 등 적절한 인코딩 지정을 해주면 됩니다. 단, 이렇게 할 경우 원본 문서를 보고자 할 경우 한글이 깨져보이는 등의 문제가 있습니다.
    phabricator 개발은 애초에 프로젝트 시작 부터 utf-8 로 작업을 할 것을 권장하고 있습니다.

  • Aphlict Notification Server

    실시간 알림을 제공하는 서비스 입니다. ( node.js 이용 )
    알림 사항을 받고자 하는 목록 중 메일도 받는 항목은 이미 읽은 상태로 알림 목록에 입력되기 때문에 실시간 알림 기능을 적극적으로 활용하고 싶은 항목은 메일 받기는 꺼두시는 것이 좋습니다.
    읽지 않은 항목에 대해서만 상단 아이콘이 붉게 변하면서 카운트 숫자를 표기해 줍니다.


    자세한 사항들은 사용자 문서에서 상세하게 설명하고 있으니 다음 링크를 따라가 보도록 하세요.
    https://secure.phabricator.com/book/phabricator/

2014년 10월 21일 화요일

Phabricator 설치

포프님의 유튜브 영상을 통해서 phabricator 라는 협업 툴을 알게 되었고, 회사에서 설치해 봤었습니다. ( 그다지 호응은 없었지만... )

설치 과정을 간단히 기록으로 남겨두기 위해 집에서 virtualbox 를 이용해 가상 머신 위에서 다시 설치해 봤습니다.

OS 는 Ubuntu Server 14.04 를 기준으로 xubuntu-desktop 을 추가로 설치하고 진행했습니다.

  1. Ubuntu Server 설치

    • 우선 우분투 서버 64 비트 이미지를 받아 가상 머신 위에 설치 했습니다.

    • 그리고 apt-get install xubuntu-desktop 으로 xubuntu 설치를 진행.
      ( 14.04 이후로 xrdp 원격 접속 세션 매니저로 xfce4 를 추천하는 글이 많았습니다. )

    • 다음 몇 가지 패키지를 추가로 설치했습니다. ( 취향 따라.. )
      virtualbox guest addon , gvim

      회사에서 설치할 때는 ssh 서버와 원격 데스크톱 셋팅 했는데, xrdp 를 설치하고 정상적으로 원격 접속을 하기 위해서 다음 링크에 나오는데로 적절하게 .xsession 파일을 생성하고 서비스를 재시작해 주어야 합니다.
      http://c-nergy.be/blog/?p=5305
  2. phabricator 설치

    • phabricator 설치는 다음 링크를 참고로 해서 진행 했습니다.
      http://99percentcomplete.com/linux/installing-phabricator-ubuntu/
    • prerequisites
      mysql-server , nginx , php5-cli , php5-fpm , php-apc , git
      php5-mysql , phpmyadmin , php5-curl , subversion

      회사에서 테스트 설치 해봤었을 때는 mysql 대신 mariadb 를 설치해도 무방했었습니다. 이번에는 그냥 링크 글에 나오는대로 mysql 로 설치했습니다.
    • create local reposit directory
      기존 외부에 사용하던 저장소를 연결만 할 것이라면 필요 없는 과정 같습니다.
    • 이제 본격적으로 phabricator 를 설치 합니다.
      mkdir -p /opt/phabricator
      cd /opt/phabricator
      git clone git://github.com/facebook/libphutil.git
      git clone git://github.com/facebook/arcanist.git
      git clone git://github.com/facebook/phabricator.git

    • 일단 웹서비스를 멈추어 줍니다.

    • 링크에 나오는데로 /etc/nginx/sites-available/phabricator 파일을 만들고 다음 내용을 적어 줍니다.
      2 번째 줄에 your.domain.com 부분은 적절하게 자신이 사용하는 도메인 명을 적어주면 되는데 공식 도메인명을 사용하기 보다는 hosts 파일을 이용하는 경우가 많을 것이라고 생각됩니다.
      특정 포트를 사용하고 싶다면 listen 8080; 식으로 2 번째 줄에 추가해 줍니다.
    • 작성한 phabricator 파일의 심볼릭 링크를 /etc/nginx/sites-enabled 아래에 만들어줍니다. (기본 사이트에 대한 링크는 삭제합니다.)

    • /etc/php5/cli/php.ini 파일에서 시간 지역을 지정해 줍니다.
      ;date.timezone = 으로 주석이 되어있는 것을
      date.timezone = Asia/Seoul 로 설정해 줍니다.
      ( vi  의 경우 찾기 명령은 명령 모드에서 / 치고 찾고자 하는 단어 입력 입니다. )
    • /etc/php5/fpm/php.ini 파일 제일 하단에 다음 내용을 추가합니다.
      apc.stat = off
    • 다음 내용으로 /etc/nginx/sites-available/phpmyadmin 파일을 만듭니다.
      그리고 위에서와 마찬가지로 /etc/nginx/sites-enabled 아래에 심볼릭 링크를 만들어 줍니다.
    • 링크 페이지 순서와는 조금 다르게 mysql 에 대한 설정값을 미리 셋팅해 줍니다.
      • ./bin/config set mysql.host 127.0.0.1
      • ./bin/config set mysql.port 3306
      • ./bin/config set mysql.user root
      • ./bin/config set mysql.pass password
    • 다음을 실행시켜서 database schema 를 만들어 줍니다.
      • ./bin/storage upgrade
    • /etc/mysql/my.cnf 파일에서 [mysql] 부분을 찾아서 다음 내용을 추가 합니다.
      • sql-mode = STRICT_ALL_TABLES
    • base-uri 를 설정해 줍니다.
      • ./bin/config set phabricator.base-uri 'http://XXXX.com'
      • 자신 혹은 팀(회사)에서 지정한 도메인명을 적어줍니다.
    • /etc/php5/fpm/pool.d/www.conf 파일에서 다음 내용을 수정해줍니다.
      • 원래 내용
        listen = /var/run/php5-fpm.sock
      • 변경 내용
        listen = 127.0.0.1:9000
    • 터미널에 다음 명령을 입력해서 서비스를 시작시킵니다.
      • service php5-fpm start
      • service nginx start
    • 여기까지 했으면 일단 다음과 같이 어드민 계정 설정 페이지가 뜨는 것을 볼 수 있습니다.
    • 몇 가지 추가 적인 사항들은 다음 글에서 정리하도록 하겠습니다.