이전 CentOS에서 테스트해본 Redmine 설치를 이번엔 다시 Windows2008에 해보았다. 

이전에 설치할때는 더블클릭하면서 Next 만 눌러서 설치를 끝내고 종료& httpd-vhost 설정으로 끝냈던것으로 아는데...

매번 설치시마다 뭔가 달라져서 삽질을 하게 되는데, 다음번 버전업에서도 동일한 방법으로 설치되기를 기대해본다.


1. 다운로드하기
http://bitnami.org/ko/stack/redmine 에서 최신버전 2.2.2 를 다운로드 합니다.


2. 설치
설치경로는 나중에 백업 및 접근을 수월하게 하기 위해서 d:\Redmine으로 지정합니다.

이전버전에서는 MySQL Port 도 물어보고 아파치 서비스 포트도 물어봤던것 같은데, 그런거 전혀 안물어보네요.


3. 세팅
- mysql 접속및 관련 정보를 변경코자 한다면 
D:\Redmine\apps\redmine\htdocs\config\ 에 *.yml파일을 참고합니다.


4. phpmyadmin 접속정보는 설치시 시정한 사용자 계정/비밀번호를 사용합니다.
    mysql root 비밀번호도 동일합니다. (이부분이 투명하지 않아 좀 그랬습니다.


5. subversion 관련 추가설정
svn을 http protocol로 사용하려면 apache에 web dav 관련 추가설정을 해야합니다.


REDMINE_HOME/subversion/bin 디렉토리 밑에있는 
mod_authz_svn.so
mod_dav_svn.so 
파일을 REDMINE_HOME/apache2/modules 위치로 복사합니다.

  • httpd.conf 파일 수정사항합니다.

위에서 복사한 두 모듈파일을 추가
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so


라인 84 부근 주석을 해제 
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so


(이부분이 이전버전에는 없었던것 같은데, 암튼 이거땜에 한시간정도 삽질한듯 싶습니다.

사실 subversion 에 ReadMe 파일을 잘 읽어보면 좀 시간을 단축할수도 있었들 듯 합니다.)


httpd-vhosts파일 vhost Include 부분 주석제거
  1. Virtual hosts
    Include conf/extra/httpd-vhosts.conf
  • httpd-vhosts.conf 파일을 수정합니다.

    <VirtualHost *:80>
        <Location /svn>
            DAV svn
            SVNParentPath "D:/Redmine/subversion/repository" 
    
            AuthType Basic
            AuthName "SVN Repository" 
            AuthUserFile "D:/Redmine/subversion/svn.htpasswd" 
            Require valid-user
        </Location>
    </VirtualHost>
    
  • svn.htpasswd파일 생성하기
    REDMINE_HOME/apache2/bin/htpasswd.exe -c D:/Redmine/subversion/svn.htpasswd username<Enter>
    password : ******

manager-windows.exe 를 실행해서 전체 재시작 합니다.





계속 window에만 설치를 하다가 CentOS에 설치해봤습니다.

윈도우와는 또다른 문제가 발생했습니다. 특히 권한부분에서...

 

Linux 버전 2.2.2 다운로드 : http://bitnami.org/ko/stack/redmine 

다운받은 파일이 설치파일이고 Text 기반 wizard 형식이라 어렵지는 않습니다.

실행권한을 부여한 다음 실행한다.

 

 

1. 언어선택 : 영어나 한국어를 선택. Default 는 영어입니다.

2. phpMyAdmin 설치여부선택 : Y (혹시 dB를 들여다봐야 할지 몰라 선택했습니다.)

3. Redmine 여부 : Y 

4. 상단의 선택이 맞는지 확인질문

5. 설치 위치 지정(Default를 선택함)

6. Login User 생성 : (처음 레드마인 실행후 관리자로 실행할 사용자를 의미합니다.)

7. 메일주소 입력

8. 레드마인 Default 언어선택(생성한 User가 레드마인을 어떤언어로 사용할것인지 선택합니다. 나중에 레드마인 페이지에서 변경 가능합니다.)

9. 메일발송세팅

(Gmail을 선택하면 Gmail 인증 입력후 자동으로 해줍니다. 별도의 메일서버를 사용중이라면 Custom을 선택후 메일정보를 입력합니다. 나중에 레드마인 설정파일에서 변경가능합니다.)

10. 계속해서 설치하겠냐고 질문합니다. Y

11. 설치 진행바가 100% 될때까지 기다립니다.

(설치하는 PC/Server 사양에 따라서 차이가 발생할 것입니다. 가상서버에 설치하느라 꽤 걸렸습니다.)

 

---------------------------------------------

CentOS 5.x 라면 여기까시 설치후 바로 사용가능했겠으나 CentOS 6.x 부터 추가된 보안강화 때문에 몇가지 설정을 해야 합니다.

 

1. iptables 를 확인합니다.

꺼놓았다면 상관없겠으나 기본적으로 켜져있으므로 다음의 항목을 추가합니다.

 

vi /etc/sysconfig/iptables

 

-I INPUT -p tcp --dport 80 -j ACCEPT
-I INPUT -p tcp --dport 443 -j ACCEPT

 

아파치 Root 디렉토리를 변경할 경우 CentOS 6 에서 권한을 해제해 주어야 한다.

 

phpmyadmin 을 Y로 했다면 다음의 파일을 변경합니다.

리눅스에 설치할 경우 대부분 서버모드일 것이고 접속하는 PC는 다른 IP일 것이기 때문에 접속 가능 IP를 바꿔줍니다.

 

vi /opt/redmine-2.2.2-0/apps/phpmyadmin/conf/phpmyadmin.conf

<IfVersion < 2.3 >
Order allow,deny
Allow from 192.168.0.130   <== 접근하려는 IP를 입력합니다.
Satisfy all

 

여기까지 설정하고 http://server-ip/  로 접속하면 레드마인이 보여집니다.

http://server-ip/redmine 으로 접속하면 바로 레드마인 화면이 나옵니다.

 

다음으로  svn 을 설정합니다.

기본적으로 http로 svn을 사용하는것이 편하기에 아파치에 subversion 을 연동합니다.

 

httpd.conf 파일을 수정합니다.

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

 

...

 

# Virtual hosts
Include conf/extra/httpd-vhosts.conf 

 

httpd-vhosts.conf 파일을 수정합니다.

<VirtualHost *:80>
  <Location /svn>
    DAV svn
    SVNParentPath "/opt/redmine-2.2.2-0/apps/repos"

    AuthType Basic
    AuthName "SVN Repository"
    AuthUserFile "/opt/redmine-2.2.2-0/apps/repos/htpasswd"
    Require valid-user
  </Location>
</VirtualHost> 

 

htpasswd파일을 생성합니다.

/opt/redmine-2.2.2-0/apache2/bin/htpasswd -cm ./svn.htpasswd [svnuser] [svnpasswd]

 

이후 사용자 추가는 -b옵션 대신 -c 옵션을 사용합니다.

shell script 파일로 만들어 두면 나중에 새로운 사용자 추가시 편합니다.

 

 

이렇게 세팅후 아파치를 재시작하면 이상하게 Syntax error가 나옵니다.

httpd: Syntax error on line 113 of /opt/redmine-2.2.2-0/apache2/conf/httpd.conf: Cannot load /opt/redmine-2.2.2-0/apache2/modules/mod_dav_svn.so into server: /opt/redmine-2.2.2-0/apache2/modules/mod_dav_svn.so: undefined symbol: svn_relpath_join

 

본인의 경우는 기본적으로 제공되는 .so파일이 뭔가 문제가 있었는지(혹시 32bit/64bit 차이?) 제대로 작동을 하지 않아 다른곳에서 사용중인 .so파일을 가져다가 교체했습니다.

 

아래 64bit CentOS 테스트에서 정상 작동한  모듈파일입니다.   

 mod_authz_svn.so mod_dav_svn.so

 

혹시 권한관련 오류가 발생할 경우 아래의 명령어를 실행합니다.

 

chcon -R -t httpd_sys_content_t /opt/redmine-2.2.2-0/apps/repos

chcon -R -t httpd_sys_rw_content_t /opt/redmine-2.2.2-0/apps/repos

 

레드마인 전체를 재시작 합니다.

다음의 명령어를 사용하면 apache, subversion, mysql 전체를 재시작합니다.

/opt/redmine-2.2.2-0/ctlscript.sh [start/stop/restart]

 

저장소를 생성합니다.

cd  /opt/redmine-2.2.2-0/apps/repos

svnadmin create test

 

브라우저에서 생성된 위치를 확인합니다. http://server-ip/svn/test  를 입력할 경우 사용자 계정정보를 물어봅니다.

 

하위 폴더를 생성합니다.

export SVN_EDITOR='/bin/vi'

svn mkdir http://server-ip/svn/test/trunk

처음엔 root 의 비밀번호와 생성할 사용자의 계정정보를 물어봅니다. 이후부터는 root는 물어보지 않습니다.

 

vi editor가 실행되면

:q

취소(C) 합니다.

revision 정보가 나옵니다.

branches, tags 도 같은 방법으로 처리합니다.

 

혹시 Permission 관련 오류가 발생한다면

svn: Can't open file '/opt/redmine-2.2.2-0/apps/repos/spring/db/txn-current-lock': Permission denied

 

chmod -R 777 test 를 줍니다.

 

그런데 본인의 경우 위와같이 했음에도 불구하고 초기에 생성한 svn 계정으로 디렉토리가 생성되지 않는 문제가 발생했습니다.

그래서 새로운 사용자를 생성했더니 정상 작동합니다. 이유가 참...

 

Bitnami 로고페이지 변경하기

뭐 간단하지만 그래도 혹시나 해서 ....

 

첫페이지가 Bitnami 로고 및 설명페이지가 나옵니다. index.html 파일을 수정합니다.

 

vi /opt/redmine-2.2.2-0/apache2/htdocs/index.html

<meta http-equiv="refresh" content="0; url=/redmine">

이후부터는 접속하면 자연스럽게 초기페이지가 /redmine로 변경됩니다.

 

이방법 외에 다른 방법은 아직 찾지 못했습니다.  혹시 방법 아시는 분 알려주세요.

 

 

끝.

 

 

P.S. 이전 윈도우에서 사용하던 svn 저장소를 덤프받는 방법

 

svnadmin dump "d:\subversion\dev > d:\dev_dump.svn

 

특정 리비전을 받고자 한다면 -r 옵션을 사용합니다.

svnadmin dump "d:\subversion\dev -r 1:1000> d:\dev_dump.svn