결국 공인 인증서를 적용하기로 했습니다.

하지만... 무료였으면 좋겠다라는 오더에 입장을 적극 반영하여 검색을 합니다.

무료SSL 을 구글님에게 물어보니

startssl 이란 녀석을 알려줍니다. 물론 오더도 startssl 을 주문 했구요



이런 사이트 입니다만... 울렁증이 좀 오네요 하지만 개발자의 퓔로 . 사실 저의 멘토 이부장님이 도와주셧습니다. 해석을 도와 주신건 아니고 ssl 발급에 대한 용어와 지식을 알려주셧죠.



두 화면이 번갈아 가구요 프리 ssl 이란 단어를 보고 클릭 하였지만



가입을 하라네요 ㅎㅎ 이메일과 나라선택하고 이메일에 인증코드를 보내면 그걸 입력하면 됩니다.



그럼 login 에서 인증(왼쪽) 을 선택하면



이메일 인증으로 발급 됬던 인증서가 선택 되네요 마치 금융사이트의 공인 인증서 를 선택하는 것 같습니다.



저곳에서 상단부분의 validations wizard 를 선택 해야 합니다. 사실 인증위자드에서 바로 web ssl 부분이 있서 클릭하니 저기를 거치라고 하더군요




맨위에 도메인 인증을 마치면 그 도메인에 대한 인증서가 발급 됩니다.

아까 처음에 가입과 동시에 이메일에 인증서가 PC에 발급 된것 처럼요



해당 도메인에 관리자성향을 띈 메일리스트를 불러온건가 ..혹은 관리자 메일 이겟거니 한 메일리스트가 나옵니다. 

이것 때문에 한참 고민 하고 삽질 했습니다. 맨위에 노출된 메일은 퇴사하신지 오래된 분이고 다른 메일주소는 없거나 공용으로 사용되는 메일이기 때문에 ... 그중 없는 메일 주소를 관리자에 양해를 구하여 새로 생성 해서 진행을 했습니다.

마찬가지로 해당 메일에 인증코드를 보내고 그 인증코드를 입력하면



이 화면으로 넘어오게 됩니다. 이제 서브도메인을 포함한 URL을 입력하시고 해야 할일은 CSR을 생성 하는 것인데요 StartComTool.exe 를 클릭하면 파일을 하나 다운로드 하게 되는데 아래 그림을 띄운것입니다. 이 작업과 세번째 라디오 버튼 방법으로 생성을 해도 되는데 저는 첫번째거로 햇기 때문에 이것만 설명할게요. (삽질이엇기 때문에... 3번째는 바로 비번 치면 생성되요)



1. Generate mode : 윈도우용 리눅스용이라고 생각하면 편하다네요

2. Certificate Type : 클라이언트 인증, 코드 인증, ssl 인증 입니다. 유형별로 인증받으세요

3. Certificate subject infomation : 정보를 입력하는 곳입니다. 나라정보, 개인정보, 도메인이름 정도 적어주세요

4. 이 부분에서 미리 생성한 key 파일을 넣어줘야 하는데요 key는 리눅스서버에서 생성해놓았습니다. 




# rpm -qa openssl 로 openssl 이 있는지 확입니다. 기본적으로 다있더라구요

# openssl genrsa -des3 -out server.key 2048 로 키를 발급 받습니다. 발급 받은후에 ftp로 빼놓은 파일을 준비했었죠

혹시나 키생성할때 비번과 저 위에 비번치는 곳은 동일하게 했습니다.



그후 툴박스에 가보면 맨위에 인증리스트를 클릭하면됩니다 내인증받았던 내역을 파일로 받을수 있죠


1년은 무료, 그이후는 다른 인증이 필요하며 돈을 지불하는 형식입니다. 

제 발번역으로는 이렇게 이해했습니다.

이제 발급 받았으니.... 적용은.... 서버관리자에게 넘기겠습니다....




반응형



저번 포스팅을 마지막으로 연동 테스트가 모두 끝낫지만 역시 실전은 다르다.

연동에 문제가 있는 화면은 바로


테스트 성공에 기쁨과 잠시 상용 svn에 연동했더니 바로 저런 오류로 진행이 되지 않는다.

이 문제때문에 역시 몇일 삽질을 했다.

좀 검색해보니 레드마인의 subversion_adapter.rb 란 파일이 저장소 불러오는 역확을 한다고 한다.

어디있는지 명확하게 모르는 데다가 비트나미로 설치 했기때문에 사람들이 설명하는 위치랑도 다를 것이다. 해서 find 검색을 이용했다. 오래 걸려도 모르니까 최상위에서

find -name subversion_adapter.rb


요있네 ㅋ


이 파일을 수정 하면 된다고 하는데 ... 쉘 스크립트 이니 잘..... 보면 된다.



이부분에 원래 주석 달린 부분으로 되어 있는데 --trust-server-cert 를 추가 해주면......

될줄 알았는데 안된다... 역시 다른 사람은 되도 나만 안된다. 좀더 찾아보자...


안될때는 로그를 살펴야 한다는 가르침으로 /bitnami/apache2/logs 에 로그를 살피니 




페이지를 리로드 할때마다 이 오류가 뜬다.  저장소에 인증서 검증 문제 인듯하다. 서버 관리자에게 물어보니 사설 인증서를 사용하고 있다고 한다. 혹시나 해결 방법이 없나 해서 좀더 뒤져서 redmine 로그를 봣다 /bitnami/apps/redmine/htdocs/log 에 있다.





No close tag for 하고 리스트 어쩌고 하는데 리스트를 요청했는데 안오나보다...

쉘 스크립트를 보고 뭘 어떻게 요청하는지 확인해 봤다.

vi 로 아까 그 subversion_adapter.rb 파일을 열고 리턴 어쩌고 하는 부분을 찾앗더니 이부분이고 대충 에러메시지랑 대조하니 비슷한거 같다. 이놈일거 같아 분석해보니 cmd 커멘드로 요청을 하고 리턴을 받는 거같다. 리턴은 역시 저 위에 오류일 것이다.





logger.error("Error parsing svn output: #{cmd}") 를 에러로거에 추가 하여 어떻게 요청을 하는지 보았더니


이런 형식이었다. 대충 문자열이 안맞아 위 사진의 cmd 에 보내는 명령어를 약간 수정해 주었다. 예를들어 

svn list --xml 'https://125.133.65.199:8443/svn/smartad_src_temp//'@HEAD --username 'lkw4203' --password 'lkw4203' --trust-server-cert --no-auth-cache --non-interactive 이렇게 요청보내야 하는데 전에는 


'svn' list --xml 'https://125.133.65.199:8443/svn/smartad_src_temp//'@HEAD --username 'lkw4203' --password 'lkw4203' --trust-server-cert --no-auth-cache --non-interactive 이런식이엇다.

직접 요청을 보내보았다.


에러가 나서 뒤에 다 떼버리고 다시 보내보았다.



인증서 때문에 역시 접근 할건지 안할건지 묻는다. 
그렇다면 temporarily 했더니


뭔가 가져왔다. 그 프롬프트 창 때문에 사설 인증서는 안되는 것이다.

찾아보니 ... 저게 맞는거 같으다...

검증되지 않은 인증서라서 접근 여부를 물어야 하는데 대답이 없으니 ... 리스트를 가져오지 못하지 ... 공인인증서로 교체 해서 되면 리뷰를 남겨야 겟다.





반응형


난 ... svn 을 많..............이 사용해 봤지만.... 세팅을 전혀 해본적이 없다....

하지만 테스트를 위하여 svn 저장소를 생성해야만 했다. 테스트의 목적은 좀전에 설치한 bitnami 의 redmine 과 svn 의 연동이다.

연동을 하려는 이유는 svn 의 hooks 기능으로 커밋의 메시지만 받아와서 레드마인 일감을 자동으로 처리 하는 , 소요시간을 지정하는 방법을 위해서다.


어려울거 같은 기분이 들었고 정말 어려웠다.


뭔지 몰라도 늘 사용하던 svn 은 웹으로 접근이 가능했기 때문에 생각난 것은 이 svn과 apache 가 연동 되야 한다는 것이다. ( 해당 정보 검색하니 죄다 이렇게 하길래 ;;;)


개별로 설치 했다면 아파치에 모듈 등등을 설치해야 했겠지만.... 비트나미를 분석한 결과 그런 모듈은 애초에 설치 되어 있다. 모듈 설치는 생략한다.

우선... 저장소를 만들자. 


비트나미 설치와 마찬가지로 모든 상황은 root 로 진행할것이다.

# mkdir /svn 

# svnadmin create --pre-1.6-compatible --fs-type fsfs /svn/test



저 명령어는 먼지 모르겠지만... 돌고 도는 검색 도중 눈에 띄는 명령어 였다. 원래는 svnadmin create -fs-type fsfs 폴더명으로 알고 있었는데 .... 여튼 

저 상태에서 혹시 몰라 chmod 755 -R /svn 으로 모든 권한을 주었다. 


혹시나 모듈이 궁금하면 /비트나미 홈/apahe2/conf 에 http.conf 에

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

가 추가 됬는지 확인해보자 그리고 vhost location 설정이 필요한데 나는 다른 파일에다 설정하였다.

맨 마지막 줄에 

Include "/bitnami/apache2/conf/extra/httpd-subversion.conf" 을 추가 해당 파일 vi


 <Location /svn>
        DAV svn
        SVNParentPath /svn
        SVNListParentPath On
        AuthType Basic
        AuthName "Authorization!!"
        AuthUserFile /svn/htpasswd
        Require valid-user
 </Location>

이렇게 입력 해주었다. ( 이 모든 정보는 엄청난 검색 으로 이뤄낸 결과 ㅠㅠ )
htpasswd 를만드는 방법이 빠졋는데 
# htpasswd -cm /home/svn/htpasswd myId(내 아이디)


( vi로 /svn/htpasswd 를 보면
myId:$anjkjglkjflgkjlasjfl;sdlfkjasldkjfkl 같은 파일이 생성되어 있다. )


로 생성한다. 아이디는 ... 접속 할 유저명이겟지?? 저렇게 치면 비번입력 하라고 나온다. 

이건 처음 생성이고 추가는 -m 옵션만 붙이면 된다.

위에 chmod 777 한 이유는 여기서 문제가 생겨서 이다. 퍼미션 문제가 계속 해서 나왔는데..그게 귀찮아서 ;;; 그리고 htpasswd 는 비트나미 홈/apache2/bin  에있는걸 실행하는 것으로 내가 초기에 환경변수 등록으로 저래 쓰는 것이다.

그 다음 저장소로 돌아가 내기준으로 /svn/test
conf 파일에 authz , passwd, svnserve.conf 를 수정해야 한다.
# vi authz
[groups]
authz = myId
@authz = rw


#vi passwd
[users]
myId= 1111


#vi svnserve.conf

[general]
anon-access = read                 
auth-access = write              
password-db = passwd        
authz-db = authz                   


주석을 해제하고 수정만 하면 되니 어렵진 않았다.


모든게 완료되면 저장소를 이클립스로 불러오는데 성공 할수 있다.

https 로 접근하여 아이디를 적을수도 있게 되었다. 근데.... 커밋하면 파일이 어디 갔는지를 찾을수가 없다 ㅠㅠ 아파치의 캐시에 사있던데 ;;그게 맞는지도 모르겟고 ;; 분명 인증 파일 설정파일은 /svn/test 를 읽어가는데 ;; 커밋한 파일을 ;; 어디에 있을까 좀더 풀어 봐야겠다. 물론 이클립스로 커밋 체크아웃은 된다 ㅠㅠ 실물이 어딧냐고!!!


나중에 해결 하자;;



중요한건 이게 아니다.


비트나미 관리자 로그인 후 

좌측 상단 에 관리  > 설정 > 저장소로 이동한다. 



저기에서 중요한건 커밋(commit)된 변경묶음을 자동으로 가져오기 의 체크여부 이다.

저장소를 클릭할때 혹은 커밋이 이루어질때 변경 사항을 통째로 가져온단다 ... 그만큼 덩치가 커지면 느리단 말이니 목표는 저것을 해제 하고 .. 변경 기록과 커멘트만 가지고와야 한다.

WS를 사용하고 API 키를 생성 하자.

임감에 참조할 키워드를 눈여겨 보고 

커밋 시점에 작업 시간 기록 활성화 체크

기록된 시간에 적용한 작업 분류는 개발!!

키워드를 추가 하는건 개인의 몫이지만 내가 설정한 내용을 눈여겨 봐야 한다. 나중에 본보기로 보여 드리게 ㅎㅎ


이제 /svn/test/hooks 에 post-commit.tmpl 이란 파일을 복사하여 post-commit 로 만들어 vi 하고 

#!/bin/sh


 curl "http://10.112.59.201/redmine/sys/fetch_changesets?key=wL0vbKSytRnpn73civOc&id=test"


감이 좋으면 바로 알아볼수 있다. 여기서 삽질을 좁 했는데 레드마인 페이지 주소에/sys/..... 으로 붙이는 것때문에 좀 ㅠㅠ 고생을 했다. 이걸 누가 알려주는 사람이 없었다

key는 위 캡쳐 화면에서 생성한 API 키이고 ... id 는 프로젝트 생성 할때 프로젝트 고유 ID 이다. 즉.. 프로젝트에 svn 을 연결 한것이다.

자 이제 설정은 끝났다. 본보기를 보여 드리면

일감을 생성 하고


편집을 해서 작업종류를 개발로 합니다. 아까전 관리에서 작업시간 기록에 개발로 설정 했으니까요...


이런식으로 명령어를 날립니다.
키워드 작업번호 작업시간 커멘트 
refs 는 관리에서 지정해준 키워드 입니다. 주로 댓글 달때 시작 키워드죠


입력해준데로 소요 시간이 입력됬고 이제 일감을 마감 시킬게요



closes 는 완료 키워드였어요



자... 진척도가 100이 됫고 소요시간도 4시간 늘어났습니다.


아... 뿌듯하네요






반응형



레드마인의 도입은 여러가지 실패 이유가 있다.

내가 생각하기로는 개발자 입장에서 귀찮다. 

우선 일감 등록, 소요시간 입력, 진척도 보고 그냥 일하다 보면 까먹기 일수이고 어느날 들어가보면 몇일 분이 밀려 있다.

가장 이상적인 방법은 일감 등록은 PM 에게 맡기고 일감관리를 개발자가 맡는 방법인데 .... 과연


아무튼 저는 리눅스 자격증도 없고 리눅스에 대해서 뿌띠 라는 프로그램만 올고 취업에 해딩 했지만 지금은 서버를 약간이나마 관리를 할수 있게 됬다는 이유로 ㅠㅠ 레드마인 설치 + 관리 라는 중대 임무를 맡았다.


해서 테스트 서버로 받은 서버의 사양이다.



레드마인 설치에 많은 시행 착오를 걸쳐 지우도 다시 깔고를 반복 ( 저는 깨끗한걸 좋아함 )

http://www.redmine.org/projects/redmine/wiki/Download 요 사이트에서 레드마인을 따로 다운로드 하여 루비, mysql 등등 일일이 설치하여 실패하여 좌절 하고 있을때


https://bitnami.com/를 발견 원터치 설치를 알게 됬다. 브라보



즉시 다운로드 받아 서버를 깨끗한 상황으로 만들었다.

yum remove 로 apache , mysql , subversion 등등을 지워 주고 

chmod 755로 다운로드 받은 파일에 권한을 수정하여 

실행 하였다. ( 모든 상황은 root 로 실행함 )


./bitnami-redmine-3.2.0-0-linux-x64-installer.run



원터치로 subversion(svn), phpadmin ( 이건 왠지 모르지만 있으면 좋을것 같음 )

redmine, git 이 터치 한번으로 깔려 버린다.

계정을 생성 하고



언어 선택 까지 완료 하고 메일 설정을 마무리 ( 한글 사랑 )



개별 설치로 하루를 삽질 했는데 이건 패키지가 있는지 오늘 처음 알았다.

하지만 찜찜함은 내몫인가... 이 비트나미의 사용법을 알기위해 홈페이지에 redmine readme 파일을 읽어보았다.





조~~기 Readme

영어가 가득한데 중요한 요점만 캐치하면 된다.

- Redmine 3.2.0
  - Apache 2.4.18
  - ImageMagick 6.7.5
  - MySQL 5.5.47
  - Subversion 1.8.13
  - Git 2.6.1
  - Ruby 2.1.8
  - Rails 4.2.4
  - RubyGems 1.8.12

버전 정보 와 이미 했지만 설치 방법이 나와있다.

./ctlscript.sh (start|stop|restart) ./ctlscript.sh (start|stop|restart) mysql ./ctlscript.sh (start|stop|restart) apache ./ctlscript.sh (start|stop|restart) redmine ./ctlscript.sh (start|stop|restart) subversion


쉘스크립트로 원하는 서비스를 종료 시작 할수 있다고 한다.

예를들어 아파치를 재기동 하고 싶으면 ./ctlscript.sh restart apache 로 하면 된다.

설치해 보니 재기동 하는일이 빈번 한데 저 폴터에 저 스크립트 파일을 일일이 찾아 다니는게 번거로워 path 등록으로 명령어 등록을 하였다. bitnami 의 홈파일을 설치 할때 지정 할수 있다 . default 는 /opt 에 깔리지만 난 /bitnami 로 하였다.







이럭식으로 /etc/profile 을 수정하여 source /etc/profile 을 해주면 path가 등록된다. 이제 탭탭탭 으로 쉽게 명령어를 입력할수 있다.


readme 에 포트 정보도 있다.


The rest of this guide assumes that you installed Bitnami Redmine Stack in /home/user/redmine-3.2.0-1 on Linux or /Application/redmine-3.2.0-1 on OS X or C:\Program Files\Bitnami Redmine Stack on Windows and use port 8080 for Apache on Unix systems or 80 on Windows, 3306 for MySQL, 3690 for Subversion and, only on Windows, 3001 and 3002 for Thin cluster. 라고 입력 되있으니 해당 포트는 찾으면 금방 나온다. 물론 mysql 이나 apache 가 겹치지 않았다면 말이다.


성공 한다면 http://서버IP/redmine 에 페이지가 뜰것이다.


삽질 하면서 알아낸 정보는 mysql 이 깔리는데 root 의 비번이 무엇인가 인데...... 몇시간 삽질 결과 초기화도 해보려고 시도 했으나 실패하고 혹시나 쳐본 설치시에 redmine admin 계정 비번이 ...... mysql root 비번이더라 ......................................................................................................





반응형

+ Recent posts