Peter .WEB2

January 16, 2008

OSX Leopard에서 AMP & phpmyAdmin 설치하기

Filed under: IT-PM Skill, Mac, System Guru — Peter Kim @

Leopard에서 AMP 환경을 구성하기 위해서 XAMPP for MacOS X 0.7.1,는 Leopard에서 MySql이 실행이 안되는 문제가 있어서 (Leopard 보안 정책의 변경으로 패치 중이라고 한다.) 안되었고,
맥전용 MAMP Pro은 유료인데다가, 필요한 모듈을 추가하기가 어려워, source bulild를 해주는 MacPort를 통해 Apache, MySql, PHP 및 phpMyAdmin을 직접 설치하였다.

1. Apple Developer Connection에서 Xcode 다운로드 받고 설치한다.
Leopard
에 설치할 것이므로 Xcode 3.0을 선택 후 다운로드


2. MacPort에서 Leopard용 MacPorts ver 1.6.0을 다운로드 받아 설치한다.
Leopard, Tiger, Panther용이 따로 있는데.. Leopard(Universal) 다운로드 받아 설치

* macport (이전 darwinport)는 source package 형태로 직접 build 설치하기때문에 , binary install을 하는 fink보다 사용자 환경 설정 변경이 용이하다는 장점이 있다.
* macport package 의존성 검사를 수행하여 필요한 모듈은 자동으로 다운로드 받아서 설치하기 때문에, 그다지 어렵지 않게 설치가 가능하다.

3. Terminal 환경 설정

$cd ~
$vi .bash_profile 하여 아래와 같이 macport의 bin 실행디렉토리 path를 추가한다.
———————————————–
export PATH=/opt/local/bin:$PATH
———————————————–

$source ~/.bash_profile 을 하여 bash profile을 reload한다.
$env 를 통하여 환경 설정 점검한다.

4. Apache2 설치
$su
#port install gawk

#port install nawk
#port install apache2

이후 Apache의 기본 설정파일을 생성해 준다.
#cp /opt/local/apache2/conf/httpd.conf.sample /opt/local/apache2/conf/httpd.conf

기존 Leopard OSX의 웹 문서 구조와 동일시 하기 위해 opt/local/apache2/htdocs Document Root 디렉토리를 기존 Leopard 기본 디렉토리로 변경한다.
#vi /opt/local/apache2/conf/httpd.conf 하여 아래 사항대로 변경/적용을 시킨다.

——————————————————————————-

“/opt/local/apache2/htdocs” 부분을 찾아 “/Library/WebServer/Documents”로 변경해 준다.
아래와 같이 주석처리되어있는 것을 해제해준다. (#삭제)
Include conf/extra/httpd-userdir.conf
Include conf/extra/httpd-autoindex.conf
Include conf/extra/httpd-default.conf

——————————————————————————-

이제 설치한 Apache가 제대로 돌아가는지 daemon을 실행시켜보도록 한다. 우선 실행을 위한 단축 alias를 만든다.
vi .bash_profile
——————————————————————————-

alias apache2ctl=’sudo /opt/local/apache2/bin/apachectl’
——————————————————————————-

이제 항상 Leopard가 재부팅할때마다 자동으로 실행되게끔 하려면..
#launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist

이후 Apache2 실행하려면 apache2ctl start , 중지시키려면 apache2ctl stop 이렇게 입력하면 됨.

이제 브라우저를 열어 http://localhost 및 http://localhost/~username 를 했을 경우, 제대로 보이면 성공.

5. PHP5 설치

Apache 설정은 완료되었으며 이제 PHP5 모듈 설치를 시작한다. (간단하다)

#port install php5 +apache2 +mysql5 +pear
#cp /opt/local/etc/php.ini-dist /opt/local/etc/php.ini
#cd /opt/local/apache2/modules
#/opt/local/apache2/bin/apxs -a -e -n “php5″ libphp5.so
# vi /opt/local/apache2/conf/httpd.conf
——————————————————————————-
우선 확장자 index.php를 기본 문서로 추가 지정
DirectoryIndex index.htm index.php

확장자 .php 실행을 위한 script 인식
#
# Cause the PHP interpreter handle files with a .php extension.
#
<Files *.php>
SetOutputFilter PHP
SetInputFilter PHP
LimitRequestBody 9524288
</Files>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

——————————————————————————-


이렇게 하고 $
apache2ctl restart 하면 완료
PHP가 잘 돌아가는지 테스트를 하기위해서 다음과 같이 입력
#cd /Library/WebServer/Documents
#vi test.php
——————————————————————————-

<?php phpinfo() ?>

——————————————————————————-

이후에 브라우저로 http://localhost/test.php 를 실행하여 결과물 확인

6. MySql 설치

이제 mysql을 설치하도록 하자. 앞서와 마찬가지로 port install 명령어를 통해 쉽게 인스톨 된다.
#
port install mysql5 +server
#launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist
상기 launchctl 명령이 제대로 안되는 경우가 있는데.. 이럴땐
#vi /Library/LaunchDaemons/com.mysql.mysqld.plist 파일을 아래와 같이 생성해준다.

——————————————————————————-
<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE plist PUBLIC “-//Apple//DTD PLIST 1.0//EN” “http://www.apple.com/DTDs/PropertyList-1.0.dtd”>
<plist version=”1.0″>
<dict>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>com.mysql.mysqld</string>
<key>Program</key>
<string>/opt/local/bin/mysqld_safe –user=root</string>
<key>RunAtLoad</key>
<true/>
<key>UserName</key>
<string>root</string>
</dict>
</plist>
——————————————————————————-

#cd /opt/local/
#sudo -u mysql5 mysql_install_db5

#mkdir /opt/local/var/db/mysql5/
#touch /opt/local/var/run/mysql5/mysqld.sock
#chmod 777 /opt/local/var/run/mysql5/mysqld.sock
#sudo -u mysql mysql_install_db5
#cp /opt/local/share/mysql5/mysql/my-small.cnf /opt/local/etc/mysql5/my.cnf
#sudo ln -s /opt/local/var/run/mysql5/mysqld.sock /tmp/mysql.sock

설치 후에 root 계정 등록 및 패스워드 변경을 위해 아래와 같이 실행한다.
#mysqld_safe5 –skip-grant-tables –user=root &
#mysql5 -u root -p

——————————————————————————-

mysql> use mysql;
mysql> INSERT INTO user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv,
Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv,
References_priv, Index_priv, Alter_priv) VALUES(”%”, “root”, password(”패스워드입력”),
“Y”, “Y”, “Y”, “Y”, “Y”, “Y”, “Y”, “Y”, “Y”, “Y”, “Y”, “Y”, “Y”, “Y”);

mysql> quit
——————————————————————————-


기존의 mysqld 데몬을 kill 하고 다시 mysql 데몬을 실행시킨다.
#killall mysqld

mysql 데몬을 실행시키기 위해서는 아래와 같이 입력한다.
#mysqld_safe5 –user=root &

언제라도 mysql 데몬을 종료시키려면 아래와 같이 입력한다.
#mysqladmin5 -u root -p shutdown

mysql command line으로 직접 로그인하기 위해서는 아래와 같이 입력한다.
#mysql5 -u root -p

7. PHPMyAdmin 설치
mysql을 WEB GUI로 관리하기 위해서 PHPMyAdmin을 인스톨한다.

우선 http://www.phpmyadmin.net/home_page/downloads.php 에서 최신버전 다운로드를 한다.
all-languages.tar.gz
다운로드 (phpMyAdmin 2.11.4)한 후 아래와 같이 압축을 풀고 설치 디렉토리로 이동 시킨다.

#tar xvfz phpMyAdmin-2.11.4-all-languages.tar.gz
#mv phpMyAdmin-2.11.4-all-languages /Library/WebServer/Documents/phpMyAdmin2
#cd /Library/WebServer/Documents/phpMyAdmin

실행을 위한 환경 설정 파일을 생성한다.
#cp config.sample.inc.php config.inc.php

8. 환경설정
앞서 Apache, PHP5, MySql을 설치하였고 이를 보다 원활히 실행하기 위한 방법으로 .bash_profile에 아래와 같이 등록해 놓는다.

$vi ~/.bash_profile
——————————————————————————-
alias apache2ctl=’sudo /opt/local/apache2/bin/apachectl’
alias mysqlstart=’sudo mysqld_safe5 –user=root &’
alias mysqlstop=’sudo mysqladmin5 -u root -p shutdown’
——————————————————————————-

Technorati Tags: , , , , , ,

December 27, 2007

CentOS 5.0에 subversion - viewvc 설치

Filed under: IT-PM Skill, Project Management, System Guru — Peter Kim @

CentOS 5.0 subversion/svn 설치 이후에 tortoisesvn(Windows), svnX (Mac), svn terminal (10.5 Leopard에 기본 내장된 svn terminal명령어로도 한글 파일명 사용에 문제 없다) 명령어를 통하여 잘 쓰다가 Web을 통한 Repository Browsing을 하기 위해 viewvc를 설치하였고, 그 방법을 공유한다.

ViewVC의 장점은 다음과 같다.
1) CVS, SVN을 동시에 지원한다.
2) Virtual Host를 지원한다.
3) Syntax highlight를 지원한다.
4) 웹하드 형태의 브라우저 , revision history, view, download, diff를 직접 제어할 수 있다.

크게는 아래와 같은 순서로 진행한다.
1) Subversion 설치 및 Repository 구성
2) ViewVC 설치
3) ViewVC 환경 설정
4) Repository Browser

1) Subversion 설치 및 Repository 구성
CentOS 5.0에서 Subversion 설치 및 구성 에 대해서는 CentOS 5.0 subversion/svn 설치 참조

2) ViewVC 설치
- http://viewvc.tigris.org/ 에서 ViewVC download한 후 압축을 풀어 준다.
#wget http://viewvc.tigris.org/files/documents/3330/37319/viewvc-1.0.4.tar.gz
#tar xvfz viewvc-1.0.4.tar.gz
#mv viewvc-1.0.4 /usr/local

3) ViewVC 환경 설정
#cp /usr/local/viewvc-1.0.4/
#./viewvc-install
viewvc.confInstallation path [/usr/local/viewvc-1.0.4]: (엔터)
DESTDIR path (generally only used by package maintainers) []: (엔터)

#vi viewvc.conf 를 하여 하단과 같은 항목을 변경하여 준다.
——————————————————————————
#cvs_roots = cvs: /home/cvsroot
svn_roots = svn: /data1/svn
root_parents = /data1/svn : svn
default_root = svn
root_as_url_component = 1
use_enscript = 1
enscript_path = /usr/share/enscript
use_highlight = 1
——————————————————————————

- 모든 설정이 완료되었으며, 실행을 위한 준비를 한다.
실행하는 형태는 크게 3가지로 구성되며, 이 중 기존 업된 Apache의 cgi-bin에 간단히 복사하는 방식은 b)번 방식을 취한다.
a) 웹서버 구성에 /usr/local/viewvc-1.0.4/bin/cgi/viewvc.cgi을 추가하는 방법

b) 기존 cgi-bin 디렉토리에 /usr/local/viewvc-1.0.4/bin/cgi/viewvc.cgi 파일을 복사하는 방법

c) 독립 실행형 서버 /usr/local/viewvc-1.0.4/bin/standalone.py.

#cp bin/cgi/viewvc.cgi /opt/lampp/cgi-bin

4) Repository Browser
http://(해당 서버의 IP or DNS주소)/cgi-bin/viewvc.cgi
이렇게 하면 Multiple Repository의 목록들이 보이고 탐색기 취하듯 해당 Repository Browsing을 하면 됨.

참고
#01. 윈도우 환경에서의 Subversion 설치 및 ViewVC 설치 방법은 이재홍님의 윈도우에서 Subversion과 ViewVC 사용하기를 참고하세요.
#02.
Trac에서는 기본적으로 ViewVC와 유사한 효과의 Repository Browser를 지원합니다.
#03. CentOS 환경에서의 Apache, MySQL, PHP 설치는
CentOS 5.0에 XAMPP 1.6.1 설치 글을 참조하세요.

Subversion 참고 :
#01.
CentOS 5.0 subversion/svn 설치
#02. CentOS 5.0 subversion - viewvc 설치
#03. Subversion 사용 통계/현황 요약 보기
#04. Subversion commit 메일로 통보 받기

Enjoy Subversion~!

Technorati Tags: , , ,

December 17, 2007

Trac을 Windows에서 쉽게 설치하여 사용하기

프로젝트 관리 도구로 Trac (http://trac.edgewall.org/)을 쓰는 기업이 많다.
요즘들어 많은 WEB2.0 개발회사들이 Trac을 프로젝트 관리 도구 System으로 사용하는 기업이 많은 것 같다.
(테더앤미디어의 TEXTCUBE 프로젝트도 trac으로 개발되고 있다.)

Trac을 쓰게되면 1) 프로젝트 MileStone관리 2) 프로젝트 이슈(티켓)관리 3) 프로젝트 문서 관리(위키) 4) 프로젝트 형상관리 (Subversion) 을 통합적으로 trac 단일 UI에서 관리가 가능하게 됨으로써, PM-DEV-QA간의 원활한 진행 체크 및 커뮤니케이션 관리가 가능해지는 장점이 있다.

Trac은 사용하기는 쉬우나, 워낙 설치가 까다로워서 왠만한 Engineer는 몇일 고생할 거 생각하고 xNIX 환경에서 구현해야하나, SourceFourge에 TOW (Trac on Windows)라는 제품으로 윈도우에서 설치 1분만에 Trac을 사용할 수 있는 혁신적인 Easy-Installer가 나와서 소개하고자 한다. (지금보니 한국분이 개설한 제품이다)

Project Repository - http://sourceforge.net/projects/traconwindows/
Project Blog - http://traconwindows.wordpress.com/
Trac Guide - http://trac.edgewall.org/wiki/TracGuide

현재 기준으로는 Base 및 Standard 패키지가 존재하고 둘의 차이점은 다음과 같다.
Base 패키지 구성
- python 2.4.4
- trac 0.10.4
- clearsilver 0.9.14
- apache 2.2.6
- mod_python 3.3.1
- subversion 1.4.5
- svn-python 1.4.5
- sqlite 3.5.2
- pysqlite 2.3.5
- easy_install

Standard 패키지 구성
- Base 패키지 포함
- Added Web Admin plugin
- Added Account Manager plugin
- Added XML-RPC plugin
- Added Eclipse Trac Integration plugin
- Added TracNav plugin
- Added WYSIWYG Editor plugin
- Added trac.ini Admin plugin
- Added TOC macro

원래 설치하려면 위의 Base, Standard 해당하는 내용을 일일이 찾아서 설치해 주어야 하는데..
본 TOW (Trac On Windows)는 설치,구성이 3분 이내에 할 수 있을 정도로 매우 쉽게 구성되어 있으며, 다음과 같이 하면 된다.

1) http://sourceforge.net/projects/traconwindows/ 에서 최신 Standard 패키지를 다운로드 받습니다.
2) C:\ 에 압축파일을 풉니다.
3) C:\TOW\start-tow.bat 파일을 실행하면 완료 (정말 쉽다.^^)
4) http://localhost:8080/projects/ 로 접근하시면 됩니다.

신규 프로젝트 설정법
1) 사용자 등록
C:\TOW>add-user.bat <UserName> <Password>

2) 프로젝트 등록 하는 방법
C:\TOW>create-svn-repo.bat <ProjectName>
C:\TOW>create-trac-repo.bat <ProjectName>
해준 후 http://localhost:8080/projects/<ProjectName> 으로 접속하면 됨.

상기와 같이 항상 데몬 프로그램을 로그인 한 후 CMD 창에서 start-tow.bat파일을 해주어야 하나,
이를 윈도우의 서비스로 등록하면 자동으로 된다.
C:\>sc create trac binPath= “c:\TOW\start-tow.bat” start= auto displayname= “Trac Service of TOW”

이렇게하면 윈도우즈 서비스로 등록되며 자동 실행 되어야 하나, 필자 컴퓨터에서는 무슨 이유에서인지 “Error 1053:The Service did not responde to the start or control request in an timely fashion”이라는 메시지를 뿌리면서 자동 서비스 실행이 안된다. (MSDN에서 찾아보니 .NET Framework SP을 설치하면 된다고 한는데.. 성공하시면 덧글/트랙백 좀 남겨주세요.)

참고 :
#01.
CentOS 5.0 subversion/svn 설치
#02. CentOS 5.0 subversion - viewvc 설치
#03. Subversion 사용 통계/현황 요약 보기
#04. Subversion commit 메일로 통보 받기
#05. 프로젝트 협업을 위한 Trac, CodeBeamer, Jira, Mantis의 간단 비교

Technorati Tags: , , ,

June 19, 2007

Mantis와 dokuWIKI를 상호 연동 하는 방법 설정 HOWTO

Filed under: IT-PM Skill, System Guru — Peter Kim @

버그 tracking으로 많이 쓰고 있는 Mantis와 dokuWIKI를 상호간에 인증을 포함하여(SSO) 연동시켜 보다 효율적으로 Mantis와 WIKI를 쓰는 방법 KNOW-HOW를 공유하고자 한다.  Issue 위주의 tracking 은 mantis에 맡기고, 이로 인한 howto, 제품 및 개발에 관련된 지적재산은 wiki를 통해서 지식을 쌓는 장점이 있다.

기초문서 : Integration DokuWiki with Mantis
설정환경 : CentOS/RHEL 5.0, mantis 1.0.7, Xampp 1.6.2(AMP)

■ 기본적인 순서는

1. Xampp 환경 설정 / 초기 환경 설정
    1) Xampp 설치 : CentOS 5.0에 XAMPP 1.6.1 설치 참조
    2) PHP 환경 설정 : #vi /opt/lampp/etc/php.ini 하여 memory_limit을 20M 로 상향 조정 (초기 설정 8M)
        202 memory_limit = 20M
    3) Mantis 설치 : CentOS/RHEL 5.0에 Mantis 설치 참조

    4) WIKI 설치 : CentOS/RHEL 5.0에 DokuWIKI 설치 참조

2. DokuWiki 설정
    1) 기본 설정
        #vi /opt/lampp/htdocs/dokuwiki/conf/dokuwiki.php 에서

— 하단 부분 새로 생성
efine( ‘MANTIS_ROOT’, ‘/opt/lampp/htdocs/mantis/’ );                 // file path to Mantis, must terminate with /
define( ‘MANTIS_URL’, ‘http://(hostname을기재)/mantis/’ );     // url to Mantis, must terminate with /

— 하단 부분 설정값 변경
$conf['useacl'] = 1;
$conf['authtype'] = ‘mantis’

$conf['defaultgroup'] = ‘VIEWER’;

    2) SSO 설정 파일 생성(mantis의 인증 체계를 따라감)
         # vi /opt/lampp/htdocs/dokuwiki/inc/auth/mantis.class.php 하여 파일 생성 (내용은 여기 내용을 copy & paste할 것)

    3) 인증 구성 내용 변경
         # vi /opt/lampp/htdocs/dokuwiki/conf/acl.auth.php 의 내용을 변경 (내용은 여기 내용을 copy & paste할 것)

    4) mantis plugin 설치
         # vi /opt/lampp/htdocs/dokuwiki/lib/plugins/mantis/syntax.php의 내용을 변경 (내용은 여기 내용을 copy & paste할 것)

3. Mantis 설정
    1) 환경 설정 변경
         # vi /opt/lampp/htdocs/mantis/config_defaults_inc.php  하여 맨 끝부분에 내용을 추가 (내용은 여기 내용을 copy & paste할 것)

    2) wiki_api.php 생성
         # vi /opt/lampp/htdocs/mantis/core/wiki_api.php 하여 파일을 생성 (내용은 여기 내용을 copy & paste할 것)

    3) wiki_dokuwiki_api.php 생성
         # vi /opt/lampp/htdocs/mantis/core/wiki_dokuwiki_api.php 하여 파일을 생성 (내용은 여기 내용을 copy & paste할 것)

    4) html_api.php 변경
         # vi /opt/lampp/htdocs/mantis/core/html_api.php 의 내용에 아래와 같은 내용을 추가
— 하단 부분 새로 생성
  59   require_once( $t_core_dir . ‘wiki_api.php’ );

— print_menu() 부분 변경  생성
 507         # Project Wiki
 508         if ( wiki_is_enabled() ) {
 509           $t_current_project = helper_get_current_project();
 510           $t_menu_options[] = ‘<a href=”wiki.php?type=project&id=’ . $t_current_project . ‘”>’ . lang_get(
     ‘wiki’ ) . ‘</a>’;
 511         }
 512

— 하단 부분 새로 생성
1093 # ——————–
1094 # Print a button to create a wiki page
1095 function html_button_wiki( $p_bug_id ) {
1096   if ( ON == config_get( ‘wiki_enable’ ) ) {
1097     if ( access_has_bug_level( config_get( ‘update_bug_threshold’ ), $p_bug_id ) ) {
1098       html_button( ‘wiki.php’,
1099              lang_get_defaulted( ‘Wiki’ ),
1100              array( ‘id’ => $p_bug_id, ‘type’ => ‘issue’ ),
1101              ‘get’ );
1102     }
1103   }
1104 }
1105

— 하단 부분 변경
 856   # ——————–
 857   # Print an html button inside a form
 858 function html_button ( $p_action, $p_button_text, $p_fields = null, $p_method = ‘post’ ) {
 859   $p_action   = urlencode( $p_action );
 860   $p_button_text  = string_attribute( $p_button_text );
 861   if ( null === $p_fields ) {
 862     $p_fields = array();
 863   }
 864
 865   if ( strtolower( $p_method ) == ‘get’ ) {
 866     $t_method = ‘get’;
 867   } else {
 868     $t_method = ‘post’;
 869   }
 870
 871   PRINT “<form method=\”$t_method\” action=\”$p_action\”>\n”;
 872
 873   foreach ( $p_fields as $key => $val ) {
 874     $key = string_attribute( $key );
 875     $val = string_attribute( $val );
 876
 877     PRINT ” <input type=\”hidden\” name=\”$key\” value=\”$val\” />\n”;
 878   }
 879
 880   PRINT ” <input type=\”submit\” class=\”button\” value=\”$p_button_text\” />\n”;
 881   PRINT “</form>\n”;
 882 }
 883
 884

    5) wiki.php 설정
         # vi /opt/lampp/htdocs/mantis/wiki.php 하여 파일을 생성 (내용은 여기 내용을 copy & paste할 것)

    6) bug_view_page.php 설정
         # vi /opt/lampp/htdocs/mantis/bug_view_page.php 하여 파일을 수정

— 하단 부분 추가
 61   <!– Title –>
 62 <span class=”small”>
 63     <?php print_bracket_link( ‘wiki.php?id=’.$f_bug_id, lang_get( ‘wiki’ ) ) ?>
 64 </span>

    7) bug_view_advanced_page.php 설정
         # vi /opt/lampp/htdocs/mantis/bug_view_advanced_page.php 하여 파일을 수정
— 하단 부분 추가
 59   <!– Title –>
 60 <span class=”small”>
 61     <?php print_bracket_link( ‘wiki.php?id=’.$f_bug_id, lang_get( ‘wiki’ ) ) ?>
 62 </span>
 63

■ 사용 방법은
Mantis로 로그인을 하여 ‘이슈’ 보기를 누르면 상단 이슈 시작 부분에 앙증맞게 ‘wiki’라는 메뉴가 보이고 이 wiki를 클릭하면 dokuwiki로 인증 로그인되어 접속 된다. 이후에는 wiki 문법에 맞추어 작성/ 연결하면 된다.

Technorati Tags: , ,

Powered by ScribeFire.

June 15, 2007

Peter가 제안하는 WEB2.0/ Enterprise2.0 구축 및 활용 HOW-TO

Filed under: IT, IT-PM Skill, Project Management, System Guru, Web 2.0, Work 2.0 — Peter Kim @

[Enterprise2.0 소개]
Project Management에 대해 관심이 많아 PPM(Personal PM) > TPM(Team PM) > OPM(Organization) > EPM (Enterprise Project Management)에 대한 trend를 확인 하던 중 영국 South East Kent에서 IT-PM을 하고 있는 Scott Gavin “meet Charlie”라는 Charlie라는 가상 인물이Enterprise 2.0 (WEB2.0을 업무에 활용) 소개에 관한 slide를 보게되었다.

http://www.slideshare.net/slgavin/meet-charlie-what-is-enterprise20

이 슬라이드에 자극을 받아 평소에 생각하고 있었던 worldwide special-unit-work-oriented virtual team이 갖추고 있어야할 WEB2.0 기술을 조합한 ENTERPRISE2.0 환경을 정의하고, 이의 구축 방법을 기재해 보고자 한다.

[Synopsys]
가상팀 조직/회사명은 Mobilefuture Ltd(TF)이다. Mobilefuture TF는 Mobile 기반의 미래 사회에 대한 생활을 예측하고, 이에 대응하는 필수 핵심 기술을 개발 및 공급하는 팀,조직,가상회사이다. 8명의 파트너들은 세계 각지에서 자신만의 전문 고유 업무(80%)가 있고, Mobilefuture TF를 위해서는 20% 정도만 참여하여 일해주고 있다.

파트너들의 IT환경은 다양하다. Windows는 물론 Mac OS X, Ubuntu linux환경에서 업무를 하고 있다. 문서의 산출물은 Open Source인 OpenOffice를 통해서 Word, Spreadsheet, PT를 작성한다. 각각 주요 과제에 대한 Idea는 Open source Mind-map 프로그램으로 Platform OS 구분없이 작성하여 공유한다.

Mobilefuture의 협업 핵심이 되는 Collaboration System을 이용하여 프로젝트별 WBS/milestone 정의, work-package/task 정의 및 할당, 산출물를 공유한다. 필요시 client와 해당 프로젝트에 대해 milestone, task, document를 collaboration system상에서 공유하거나 , project blog를 통해서 공유한다. (e-mail을 통하여 일을 추진하지 않는다)

각각의 구성원은 개인 Blog(wordpress)가 있어 서로간에 최근 근황을 RSS reader를 통하여 확인한다. 주기적으로 또는 긴급한 안건/토론이 필요시 VoIP(skype)를 사용하여 다자간 화상 및 음성 conference를 수행한다. (Autobahn을 주행하면서도 WIMAX 기술로 VoIP가 가능하다)

진행 프로젝트 단위로 협업 repository로 문서(wiki), 소스(subversion), 버그추적(mantis) 영역이 생성되어 협업을 기반으로 detail한 진척 상황, 과거 업무 history 및 중간 산출물들을 누가 언제 어떻게 변경 되었는지 상호간에 확인 하고 지적자산을 생산한다.

1년에 2번 있는 OFF모임은 돌아가면서 파트너가 속해 있는 국가에서 해당 국가의 문화유산을 즐기며 모임을 가지고, 한번은 휴양지에서 한적하게 가족모임으로 쉬거나, ski, scuba diving, sky diving, equestrian을 즐긴다.

[사용기술]

1. Office solution
- Open-office http://www.openoffice.org/
- Thinkfree http://www.thinkfree.com/

2. Collaboration solution
- Basecamp http://www.basecamphq.com/
- PHPCollab http://www.php-collab.org
- Activecollab http://www.activecollab.com/
* activecollab설치 HOWTO : CentOS/RHEL 5.0에 Activecollab 설치

3. Blog
- WordPress http://wordpress.org/

4. VoIP
- Skype http://www.skype.com/

5. WIKI
- Dokuwiki http://wiki.splitbrain.org/wiki:dokuwiki
* Dokuwiki 설치 HOWTO : CentOS/RHEL 5.0에서 Dokuwiki 설치

6. Subversion
- Server http://subversion.tigris.org/
- Client http://tortoisesvn.tigris.org/
* Server 설치 HOWTO : CentOS 5.0에 subversion/svn 설치
* Client 사용 HOWTO : http://blog.empas.com/mcchae/19118563

7. Bug tracker
- mantis http://www.mantisbt.org/
- bugzilla http://www.bugzilla.org/
- trac http://trac.edgewall.org/
* Mantis 설치 HOWTO: CentOS/RHEL 5.0에 Mantis 설치


[작은바램]

인터넷 Dev 개발로 시작한 IT 분야에서 몸 담고 있는 것이 이제 10년이 지나가고 있다.

10년이면 강산이 변한다는데.. IT분야는 정말 많이 변했다. 인터넷boom , 수익모델boom, 모바일boom, WEB2.0 boom.. 하루가 멀다하고 변하는 기술이 있는 반면에 변하지 않는 것은 체계적인 프로젝트 수행 방법의 중요성, 개발 혹은 운영 업무 수행 프로세스의 중요성, 사람과 사람사이의 협업의 효율성, 지적재산 관리의 중요성은 변하지 않는 것 같다.

본 글에서 소개하는 WEB2.0/Enterprise2.0 시스템을 도입하여 그동안 주로 Manpower에 의해서 진행되던 비효율적(본인은 효율적이겠지만 정작 협업에서는 비효율적..) 요소를 System / Process 로 보완하고 , 프로젝트 진행 및 지적재산이 투명하게 남아 후에 훌륭한 Lessen Learned 자료로 활용되길 바란다.

Powered by ScribeFire.

Technorati Tags: , , , ,

June 14, 2007

CentOS/RHEL 5.0에 DokuWIKI 설치

Filed under: IT-PM Skill, System Guru, Work 2.0 — Peter Kim @

CentOS(RHEL) 5.0에서 Dokuwiki 설치에 대한 KNOW-HOW를 공유하고자 한다.

설치 Reference
1) http://wiki.splitbrain.org/wiki:dokuwiki
2) http://www.splitbrain.org/projects/dokuwiki

위키엔진의 비교는 http://kldp.org/comment/reply/76469/359428 를 참조하시구요.
Dokuwiki의 경우 Mantis와 Integration되는 장점이 있습니다.

1. DokuWIKI 다운로드
#wget http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-rc2007-05-24.tgz?id=projects%3Adokuwiki&cache=cache

2. DokuWIKI 압축해제
#tar xvfz dokuwiki-rc2007-05-24.tgz
#mv dokuwiki-rc2007-05-24 /opt/lampp/htdocs/dokuwiki

3. DokuWIKI 초기 권한 설정
#chown -R root:root dokuwiki
#chmod -R 777 dokuwiki/
http://hostname/dokuwiki/install.php 실행을 통해 Site 이름, 관리자주소 및 권한 정책 설정
#mv install.php install-reserve.php <- 이후 보안을 위해 install.php를 Rename하거나 삭제

4. WIKI 사용
http://hostname/dokuwiki/ 를 통해 WIKI 사용
위키 사용 벙법 (한글) : http://wiki.splitbrain.org/wiki:ko:manualhttp://wiki.splitbrain.org/wiki:ko:syntax 참조

5. WIKI 활용
WIKI는 개인,팀,회사의 HOWTO, 업무Manual 등 지식 Archiving 용도로 매우 훌륭한 도구이다.
작지만 막강한 협업 Revision history가 가능한 TEXT Editor인 WIKI를 통해 멋진 Digital Library를 구축할 수 있기를 기원합니다.

Technorati Tags: ,

Powered by ScribeFire.

CentOS/RHEL 5.0에 Mantis 설치

Filed under: IT-PM Skill, System Guru, Work 2.0 — Peter Kim @

CentOS/RHEL 5.0에 Bugtracking으로 유명한 Mantis (http://www.mantisbt.org/) 설치 Know-How를 공유한다.

Bugtrackig 시스템으로는 Open-Source인 trac, bugzilla, mantis가 유명하다.

참고문서 :
1) http://www.mantisbt.org/manual/manual.installation.php
2) http://www.worker-bee.com/projects/docs/MantisInstallation.html
3) http://hwsj.tistory.com/14

설치 환경은 앞서 언급한 CentOS 5.0및 XAMPP 1.6.2 환경이다.

1. Mantis를 위한 Database 생성
    http://hostname/phpmyadmin 으로 접속하여 “create new database” 로 Mantis database 생성

2. Mantis 다운로드 및 압축 해제
    http://www.mantisbt.org/ 에서 최근 버전의 (1.0.7) 압축파일 다운로드
    #wget http://internap.dl.sourceforge.net/sourceforge/mantisbt/mantis-1.0.7.tar.gz
    #tar xvfz mantis-1.0.7.tar.gz
    #mv mantis-1.0.8 /opt/lampp/htdocs/mantis

3. Mantis Setup
    http://hostname/mantis/admin/install.php 으로 하여 Wizard 형태로 입력 완료 1>2>3단계

4. 한글 및 Site 정보 변경을 위한 설정
   1) 한글 환경 설정
    #vi /opt/lampp/htdocs/mantis/config_default_inc.php 파일에서 한글 관련 정보 수정
        (329 line) $g_default_language   = ‘korean_utf8′;
        (402 line) ‘ko’ => ‘korean_utf8′,

   2) Site 정보 변경
    #vi /opt/lampp/htdocs/mantis/config_default_inc.php 파일에서 Site 관련 정보 수정
      example.com 부분을 찾아 자신의 도메인으로 변경
     80    $t_host = ‘hostname’;
     90    $g_path = ‘http://hostname/mantis/’;
    188   # — email variables ————-
    189   $g_administrator_email  = ‘username@hostname’;
    190   $g_webmaster_email    = ‘username@hostname’;
    191
    192   # the ‘From: ‘ field in emails
    193   $g_from_email     = ‘username@hostname’;
    194
    195   # the return address for bounced mail
    196   $g_return_path_email  = ‘username@hostname’;

5. Login 및 administrator 계정 폐기
    1) http://hostname/mantis/ 로 하여 초기 ID/PASS인 administrator / root 를 입력
    2) Manage > Create Account에서 관리자로 사용할 ID 입력
        - 이때 반드시 권한을 administrator로 주고, Enable 은 V 체크하고, Protected는 V 체크 하지 않음
        - 한글 사용을 위해 Language를 english –> korean_utf8로 변경
    3) 새로 생성한 administrator권한의 새 계정으로 Login > Manage 에서 administrator 삭제

6. 프로젝트 및 User 등록 및 사용
    1) 프로젝트 등록
        http://hostname/mantis/ 로 로그인을 하면 관리 > 프로젝트관리 > 새로운 프로젝트 생성 함

    2) User 등록
        관리 > 계정관리 를 통해서 계정 생성 및 관리 (언어를 korean_utf8로 필히 변경)

7. 활용
   - Mantis 기능으로 DocuWIKI 연결, CVS/Subversion 연결, Eclipse 연결 모듈과 연동할 수 있음.
   - Config 설정 : Mantis config에 대한 설명은 http://www.mantisbt.org/manual/manual.configuration.php 참조
   - Mantis - Subversion 연동은 http://alt-tag.com/blog/archives/2006/11/integrating-mantis-and-subversion/ 참조
  

Technorati Tags: , , ,

Powered by ScribeFire.

June 13, 2007

CentOS/RHEL 5.0에 Activecollab 설치

Filed under: IT-PM Skill, System Guru, Work 2.0 — Peter Kim @

CentOS (RHEL) 5.0의 Activecollab 설치 Know-How를 공유한다.

Activecollab는 37signals (http://www.37signals.com/)의 Basecamp Service (http://www.basecamphq.com/)의 Open Source clone이라고 볼 수 있다.
Basecamp 및 Goplan과의 비교자료는 http://5thirtyone.com/archives/791에 도표식으로 잘 정리가 되어 있으니 참고하면 될 것이다.

설치 기준은 XAMPP 환경하 (1.6.2로 upgrade되었음.) 를 기준으로 한다. 역시 쉽다~^^

1. MySQL 환경 설정 보완
#vi /opt/lampp/etc/my.cnf

#skip-innodb <– 이 부분을 주석 처리
innodb_data_home_dir = /opt/lampp/var/mysql/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /opt/lampp/var/mysql/
innodb_log_arch_dir = /opt/lampp/var/mysql/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 16M
innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
2. MySQL Database 작성
http://(서버IP)/phpmyadmin 으로 접속하여 신규 Database 생성

3. Activecollab 다운로드 및 압축 해제
#wget http://www.activecollab.com/files/0.7.1/activeCollab.tar.gz
#tar xvfz activeCollab.tar.gz /opt/lampp/htdocs/

4. Activecollab 설치
http://(서버IP)/activecollab/public/install/ 설치 입력대로 진행 1->2->3단계

5. Activecollab 사용/활용
http://(서버IP)/activecollab/

Technorati Tags: , , ,

Powered by ScribeFire.

June 4, 2007

CentOS 5.0에 subversion/svn 설치

Filed under: IT, System Guru — Peter Kim @

CentOS (RHEL 5.0)에 Subversion 1.4.3의 설치 Know-How를 공유한다.

대표적인 형상관리 서버로 CVS/CVSNT, Subversion등이 있다.

Reference Site :
1) http://www.pyrasis.com/main/Subversion-HOWTO
2) http://blog.empas.com/mcchae/19118563
3) http://svnbook.red-bean.com/

우선 순서는
1) Subversion 설치
2) Repository 생성
3) Daemon 설정
4) Client 사용
5) 활용

으로 설명하려 한다.

1. 설치
yum으로 의외로 쉽게 설치된다.
#yum install subversion

기본적으로 이렇게 설치하면 File System으로 관리할 수 있는 기본 패키지가 설치된다.
Subversion으로 repository관리는 두가지로 File System 및 Berkeley DB를 선택 사용할 수 있다.
Berkely DB를 사용하기 위해서는 http://www.oracle.com/technology/software/products/berkeley-db/db/index.html
에서 설치하고 쓸 수 있는데.. 이곳저곳에서 관리 파일 용량이 많아지면 문제가 있다는 report가 있어 안전하고 직관적(실제 물리적 foder/file구조로 관리할 수 있게끔 file system 방식으로만 쓰고자 한다.

2. Repository 생성
1) Repository 생성
우선 Root Repository를 생성해야 한다. (이유: 3.1) 참조)
#mkdir /data1/svn
#cd /data1/svn
#svnadmin create –fs-type fsfs project

이렇게하면 /data1/svn에 project directory 및 기본적으로 하위 디렉토리들이 만들어 진다.
인증/보안을 위한 몇가지 옵션을 설정해 주어야 한다.

2) 기본적인 환경 설정
#vi /data1/svn/project/conf/svnserve.conf

[general]
anon-access = none
auth-access = write
password-db = passwd기본적으로 anonymous access 불가, 인증 성공한 사람만 write권한, 인증방식은 passwd 파일 방식

#vi /data1/svn/project/conf/passwd

[users]
userid1=password1
userid2=password2

접속을 허용할 userid 및 password를 기재해주면 된다.

3. Daemon 설정
기 제작한 project repository에 대한 file-system으로의 생성, 인증, password의 본적은 환경 설정은 마쳤고, 이제 subversion daemon을 실행하기 위한 시스템 환경 설정이 남았다.

1) 환경 설정
#vi /etc/rc.d/init.d/subversion 을 열어 17 줄의 SYSCONFIG 내용을 확인한다.
SYSCONFIG=”/etc/sysconfig/subversion”
#vi /etc/sysconfig/subversion
OPTIONS=”–threads –root /data1/svn”

이렇게 하여 svn의 root repository directory를 설정해 준다.

2) 시스템 가동

#/etc/rc.d/init.d/subversion start

이렇게 하면 subversion이 daemon으로 동작하게 된다.

환경 변수를 바꾸고 subversion을 restart해야한다면

#/etc/rc.d/init.d/subversion restart

3) Booting시 자동 실행

#vi /etc/inittab

우선 서버의 실행 Level을 확인해야 하는데 /etc/inittab의 18번째 줄 내용을 확인한다.
id:5:initdefault:

본 id와 initdefault사이의 값인 5값을 확인한다. (X11로 booting한다는 의미)

#cd /etc/rc5.d
#vi S99local

/etc/rc.d/init.d/subversion start &
적당한 줄에 상기 내용을 추가한다.

4. Client 사용
- http://blog.empas.com/mcchae/19118563 에 워낙 잘 설명이 되어 있어서 pass

5. 활용
- 전체적으로 subversion으로 여러 사람의 협업을 통해 소스 형상 관리 및 Binary 관리등을 관리해야 하고, 프로젝트별 권한, Backup 및 Restore, 관리자 통계(오늘 어떤 파일/내용이 수정되었고, 누가 올렸고.. 등등) 여러가지 Tunning작업을 해야한다.
- IT Project에서는 trac을 많이 쓰고 있고, 비슷한 형태로 http://oss.segetech.com/bugzilla-svn-wiki.html을 참고해도 될 것 같다.

참고 :
#01.
CentOS 5.0 subversion/svn 설치
#02. CentOS 5.0 subversion - viewvc 설치
#03. Subversion 사용 통계/현황 요약 보기
#04. Subversion commit 메일로 통보 받기

Technorati Tags: , , , ,

Powered by ScribeFire.

May 26, 2007

CentOS 5.0에 XAMPP 1.6.1 설치

Filed under: System Guru — Peter Kim @

CentOS 5.0 (RHEL 5.0) 에 XAMPP (기존 LAMPP) 1.6.1의 설치 Know-How를 공유하고자 한다.

기본적으로 CentOS에서 httpd(apache), mysql, php, vsftpd가 설치가 되나.. 워낙 디렉토리가 흩어져있어 관리하기가 쉽지 않고 뭐 하나 설치하려하면, 이런저런 setting값을 바꿔줘야 하는데 쉬운 작업은 아니다. 그래서 쉽게 설치 및 관리할 수 있는 AMP 중 XAMPP를 선택하였다. 다른 AMP와는 달리 XAMPP는 Windows, Linux, Solaris 및 OSX용이 있어서 어느 정도 개념만 잡히면 이 기종간에도 거의 유사한 환경으로 설정/사용을 원활하게 할 수 있다는 점과 백업이 쉽다는 점(명령어 하나로 sh이 만들어 지고.. 이것만 실행하면 복구된다), 그리고 다양한 기본 Module들이 설치되어 있어서 복잡한 세팅 없이도 웬만큼 쓸 수 있는 장점이 있다. (FTP로 로그인하면 기본으로 Root폴더인 /opt/lampp/htdocs 으로 접속이 된다)

설치한 XAMPP Linux 1.6.1은 Apache 2.2.4, MySQL 5.0.37, PHP 5.2.1 & 4.4.6 & PEAR + SQLite 2.8.17/3.2.8 + multibyte (mbstring) support, Perl 5.8.7, ProFTPD 1.3.0a, phpMyAdmin 2.10.02, OpenSSL 0.9.8e, GD 2.0.1, Freetype2 2.1.7, libjpeg 6b, libpng 1.2.12, gdbm 1.8.0, zlib 1.2.3, expat 1.2, Sablotron 1.0, libxml 2.4.26, Ming 0.3, Webalizer 2.01, pdf class 009e, ncurses 5.8, mod_perl 2.0.2, FreeTDS 0.63, gettext 0.11.5, IMAP C-Client 2004e, OpenLDAP (client) 2.3.11, mcrypt 2.5.7, mhash 0.8.18, eAccelerator 0.9.4, cURL 7.13.1, libxslt 1.1.8, phpSQLiteAdmin 0.2, libapreq 2.07, FPDF 1.53, XAMPP Control Panel 0.6 가 기본으로 같이 설치된다. (이걸 일일이 수동으로 할 생각하면.. rpm이 있다고 하더라도… 얼마나 끔찍한…)

[1] 우선 CentOS 관련 서비스 정지
- CentOS에 기본적으로 설치되는 Apache (httpd-2.2.3-6.el5.centos.1) , MySQL(5.0.22-2.1), PHP(php-5.1.6-12.el5)의 서비스를 중지 시킨다.

[2] XAMPP 설치
- 기본 가이드 : http://www.apachefriends.org/en/xampp-linux.html
1) XAMPP Linux 1.6.1 download :
#wget http://www.apachefriends.org/download.php?xampp-linux-1.6.1.tar.gz
2) 다운로드한 파일은 /opt에 압축해제
#tar xvfz xampp-linux-1.6.1.tar.gz -C /opt (기본적으로 /opt/lampp가 설치 dir이다. 바꿀수가 없었음)
3) LAMPP 시작
#
/opt/lampp/lampp start
4) 시험 (가지고 있는 Browser로 http://localhost 혹은 http://(linux server ip address)

[3] XAMPP 환경설정 / 완료
기본적으로 설정을 완료하게 되면 아무나 접근가능하도록 설정이 되어있으며, 이의 보안 설정을 해주어야 한다. XAMPP는 이것도 shell로 간편하게 조정할 수 있다.
1) MySQL root 계정, ProFTPD 유저계정, PhpMyAdmin 암호 등을 쉽게 바꿀 수 있다.
# /opt/lampp/lampp security
XAMPP: Quick security check…
XAMPP: Your XAMPP pages are secured by a password.
XAMPP: Do you want to change the password anyway? [no]
XAMPP: MySQL is not accessable via network. Good.
XAMPP: MySQL has a root passwort set. Fine! :)
XAMPP: ProFTPD has a new FTP password. Great!
XAMPP: Do you want to change the password anyway? [no]
XAMPP: Done.

2) 설정 완료. 이젠 쉽게 XAMPP를 시작하고 종료한다.
#/opt/lampp/lampp stop <– 서비스 종료 (Apache, MySQL, PHP, ProFTP)

#/opt/lampp/lampp start <– 서비스 시작 (Apache, MySQL, PHP, ProFTP)

#/opt/lampp/lampp restart <– 서비스 재기동 (Apache, MySQL, PHP, ProFTP)
# /opt/lampp/lampp security <– 보안 설정 변경
# /opt/lampp/lampp <– 도움말

3) 그럴일은 없겠지만.. 삭제하고 싶을땐?
# rm -rf /opt/lampp (How Dare you…^^)

[4] XAMPP 활용
1) 이제 설치하고 싶은 공개 PHP 등을 /opt/lampp/htdocs 하위 폴더에 설치만 하면 바로 쓸 수 있다.
- WEB 2.0 한국대표 Blog 테더툴스 : http://www.tattertools.com/ko/
- WEB 1.0(?) 대표 Board 제로보드 : http://www.nzeo.com/
- WEB 2.0 출마하는 제로보드XE : http://beta.zb5.zeroboard.com/(6월에 정식 출시된다네요)
- 그누보드 : http://www.sir.co.kr/solution/gnuboard4/
- PHP보물섬(?) PHPSchool : http://www.phpschool.com/(자료실에 각종 PHP 활용한 프로그램들이 많이 있습니다. )

2) Linux 재부팅할때 XAMPP도 같이 시작되는 방법
#egrep :initdefault: /etc/inittab <– 이렇게 해서 나온 숫자를 확인 (나의 경우엔 id:5:initdefault:로 표기 되어 5)
#cd /etc/rc.d/rc5.d (앞서 숫자가 3이라면 /etc/rc.d/rc3.d로 이동)
#ln -s /opt/lampp/lampp S99lampp
#ln -s /opt/lampp/lampp K01lampp
3) XMAPP 백업 및 복구 하는 방법
#/opt/lampp/lampp backup (mysql root 패스워드) <- ()없이 mysql root 패스워드 입력
이렇게하면 /opt/lampp/backup 디렉토리에 실행 날짜의 sh 파일이 생성된다.
복구는 sh xampp-backup-dd-mm-yy.sh 이렇게하면 복구 완료.

Technorati Tags: , , ,

Powered by ScribeFire.

Next Page »

Blog at WordPress.com.