Ubuntu, Apache2, mysql2, Redmine Upgrade

Posted by NUL 리눅스 : 2015. 5. 12. 19:00

작업 절차

  1. Backup
    Terminal 로 커널 업그레이드 작업 도중에 문제가 발생한다면 대처가 거의 불가능 하므로 반드시 백업이 필수.
  2. Ubuntu 14.04.2 업그레이드
    # do-release-upgrade
    안내대로 따라가주면 됩니다.
  3. Redmine 2.0 설치
    이전에 쓰던 버전이 2.0 버전입니다.
    migration이 잘 안될까봐 일단 기존에 잘 쓰던 2.0로 먼저 설치해본다는 의도입니다.
    HowTo_Install_Redmine_25x_on_Ubuntu_1404_with_Apache2_Phusion_Passenger_MySQL_and_Subversion
    Repositories_access_control_with_apache_mod_dav_svn_and_mod_perl
    다른 여타의(블로그 등) 설치 후기를 보기보다는 공식 문서를 정독하는 것이 우선입니다.
    User's GuideFAQHowTo's 에 대부분의 필요한 정보가 다 있습니다.
    문제 발생시 google 검색은 redmine.org, stackoverflow 의 답변들이 정답일 확률이 높습니다.
  4. Redmine 3.0 업그레이드
  5. RedmineUpgrade
    역시 순서대로 따라합시다.

기타 팁
  1. kr.archive.ubuntu.com 의 상태가 영 안좋습니다.
    https://kldp.org/node/85346
    daum을 씁시다.
  2. Apache2의 새버전에서 설정 방식이 살짝 달라졌더군요, 
    설정파일의 설명을 정독하고 설정해야 의도한 대로 동작합니다.
    기존의 잘 돌아가던 설정을 비교하는 것이 편할겁니다.
  3. redmine 3.0은 mysql2을 써야만 합니다.
    그렇다고해서 특별히 해야할 일은 없고 단지, database.yml에서 mysql2로 지정해 주면 됩니다.
    기존 데이터베이스의 백업본도 migration 이 잘됩니다.
  4. ruby 설치가 까다롭기 때문에 기본 1.9.3 버전을 그대로 쓰는 것을 추천합니다.
    시간을 아낍시다.
    정 최신 버전을 쓰겠다면 rvm을 설치합니다. (
    https://rvm.io/rvm/install)
  5. 의존성 문제는 apt-get --purge remove 같은 식으로 깔끔히 지워준 후 다시 설치를 반복하면 대부분 해결됩니다.
    gem 이나 bundle 역시 마찬가지입니다.
    대부분의 의존성 문제는 이런 메카니즘으로 해결 됩니다.
  6. permission 설정은 항시 확인합시다
    다 된줄 알았는데 redmine setting 페이지가 열람이 안되더군요
    tmp의 permission 문제였습니다.



  
Redmine upgrade breaks old attachments




구글 검색 하면 관련 이슈들이 종종 보이는데,

권한이나 소유권은 다 맞춰 놓은 상태에서도 404 에러를 뱉어내는 건 아직도 명확한 이유와 해결 방법를 모르겠다.

항상 그런거도 아니고 업그레이드시 간혹 발생하니까... 더 헷갈린다.




아무튼, 내가 해결한 방법은



config/configuration.yml 에서 attachments_storage_path 를 백업한 파일 경로로 지정해 주고 아파치 재시작을 하면

기존 백업 경로로 정상 작동됨을 확인할 수 있다.

그리고 다시 원래대로 바꾸고 (디폴드 값) 또 재시작 하면 정상작동 된다.



  

2011/11/16 - [리눅스] - TurnKey Linux redmine 설치 에서 처럼 redmine.pm 인증을 사용하게 되면,

branching, tagging 등의 copy to 명령시에 

svn could not read status line copy to ......................


이런식의 오류를 내뱉으며 동작을 안한다.

경로 탐색시에  redmine.pm 인증이 작동 안되기 때문인듯한데,

subversion 1.6.2 (svn+https) copy/commit "Could not read status line: Secure connection truncated"

걍 인증을 하지말라는 심플한 답변이다.

SVNPathAuthz off 를 아파치 환경설정에 추가하자.





주구장창 trunk만 쓰다보니 이제서야 안되는 걸 발견했다.
  

VPS (가상서버호스팅) 재 설치

Posted by NUL 리눅스 : 2012. 5. 18. 21:04
우분투를 주로 쓰다보니 (그래봐야 많이 쓰는건 아니지만)

기존 페도라 서버를 만지기 불편하기도 하고....

리눅스 사용 능력이 미숙하다보니... 다른 베포판을 번갈아 쓰기가 좀 불편함

그래서 아예 새로 설치

cafe24.com 에서 때마침 VPS 호스팅에 우분투도 설치해준다기에 신청....

SSH만 가능하고 APM을 직접 설치해야 한다고합니다. 뭐 설치하면 되죠..;



ubuntu 10.10 에서 redmine 설치 절차

제가 지금껏 본 가장 쉬운 설치입니다....  자동으로 다운 받아 거의 다 알아서 해버림 ...;

근데 버전이 구버전 입니다... 별수 없는게 저렇게 쉽게 패키징화 된 건 구버전일 수밖에 없죠.... 

그래서


위 링크 내용중 $ sudo apt-get install redmine redmine-mysql 요걸 빼고

2012/05/15 - [리눅스] - redmine 2.0.0 업그레이드 참고해서 redmine 2.0 설치

2009/12/15 - [리눅스] - Redmine VPS 서버 구축 참고 해서, SVN 설치 

2009/12/29 - [리눅스] - CRON 을 사용한 SVN + REDMINE 백업 참고해서 DB및 데이터 복원

2011/11/16 - [리눅스] - TurnKey Linux redmine 설치 참고해서 SVN과 DB 연동

이제와서 보니 지난글 들이 참 정리가 안되어 있네요... 저걸보고 어찌 설치할수 있을까...; 



이리저리 해보다 보면  Passenger 유저가 www-data 가 아닐 수도 있어서 Passenger 모듈 등록시 아래 처럼 추가 지정해 주는게 좋다.

$ sudo scite /etc/apache2/mods-available/passenger.conf
----
   LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-3.0.6/ext/apache2/mod_passenger.so
   PassengerRoot /var/lib/gems/1.8/gems/passenger-3.0.6
   PassengerRuby /usr/bin/ruby1.8
   PassengerDefaultUser www-data
----
$ sudo ln -s /etc/apache2/mods-available/passenger.conf /etc/apache2/mods-enabled/passenger.conf
 


아무튼 끝내고 보니....

어떤 문제인지 첨부파일 경로가 예전 경로에서 바뀌지 않네요....

이게 DB에 저장 되는 건지 어디 파일에 저장 되는건지 확실치는 않은데... 

OS를 밀고 깔았는데도 바뀌지 않은걸로 봐서 DB에 저장되는 듯 한데, 

복원 과정에서 문제가 있었을 수가 있죠.... 1.2.3 버전을 2.0.0 버전에 바로 적용 시켰으니...

아무튼.... mysql 수동 조작을 어찌할지 몰라서 걍 예전 경로로 mv 시켜버림...... 

끝 



  

redmine 2.0.0 업그레이드

Posted by NUL 리눅스 : 2012. 5. 15. 18:18

업그레이드 정보

1. 백업

만약을 위해 svn, mysql, 을 백업 합니다

database.yml, configuration.yml 요것도 백업 (있다면)후 새로 설치한 redmine에 덮어써 줍니다.

2. 다운로드/설치

redmine-2.0.0.tar.gz 를 받아서 압축을 풉니다.

tar xvzf filename.tar.gz

아님 checkout svn co http://svn.redmine.org/redmine/branches/XXX-stable redmine-XXX 

기존 설치 폴더 이름에 _old 를 붙이고, redmine-2.0.0 폴더를 기존 폴더의 이름으로 바꿉니다.

mv REDMINE OLD-REDMINE
mv NEW-REDMINE REDMINE

cp OLD-REDMINE/config/database.yml /REDMINE/config/database.yml
cp OLD-REDMINE/config/configuration.yml /REDMINE/config/configuration.yml
cp OLD-REDMINE/files/*.* /REDMINE/railsapp/files 

3. RMagick 설치

저한텐 굳이 필요 없지만 걍 설치 했습니다. 

apt-get install libmagickwand-dev


4. requirement 체크

ruby -v 

루비 버전은 사용가능하니 루비는 냅두고 rails 설치

gem install rails -v=3.2.3


5. bundle 설치

1.4 버전부턴 이넘으로 gem dependency를  체크하나봅니다.
 
mysql을 사용하므로 아래처럼....
 
bundle install --without development test postgresql sqlite

gem install bundler

메세지에 따라 추가 설치 하고...

bundle show 하면 현재 gem 들을 보여줍니다.


6. 업그레이드

rake config/initializers/session_store.rb

이거 안되서 아래처럼 걍 다시 만듦...


rake generate_secret_token

rake db:migrate RAILS_ENV=production


7. 클리어

rake tmp:cache:clear
rake tmp:sessions:clear


8. 권한 설정

chown www-data:www-data file, tmp, tmp/cache, log, log/production.log, config/environment.rb
chmod 666 log/production.log
chmod 755 tmp/cache (필요할까???)
chown www-data:www-data config/environment.rb (필요할까???)

9. 에러로그 보기

XXXXXX/apache2/error.log 

10. 인코딩 설정

관리 설정에서 저장소 인코딩값에 UTF-8,EUC-KR  
  

TurnKey Linux redmine 설치

Posted by NUL 리눅스 : 2011. 11. 16. 19:23

우분투에 특정 시스템만 가볍게 추가한 패키지입니다. 한방에 설치해 버리죠



장점을 보자면

1. 설치가 빠릅니다. 정말 설치가 다 된건지 의심이 갈 정도로....
2. 환경 설정 창과, 웹 SSH, 웹 관리자를 지원하는데 UI가 꽤나 깔끔합니다. 만족!

실제로 전 파티션을 어떻게 나눌까 고민하고 다시 나누는 시간이 길었고,
나름 입맛에 맞는 설정을 하다보니 추가로 시간이 더 들긴 했습니다만,
이건 리눅스를 잘 모르는 저의 한계일 뿐이죠



다음과 같은 순서로 설치합니다.

1. http://www.turnkeylinux.org/redmine에서 ISO 를 받아 부팅 시디를 만들고 이걸로 부팅

2. 메뉴를 따라서 파티션을 나누고 인스톨

3. root, redmine, mysql 암호 입력

4. 재부팅이 필요할때 지가 알아서 합니다... 언젠지 기억도 안나네요...;

5. 설치가 완료되면

  TuenKey Linux Configuratuib Console 가 뜹니다.
  여기서 네트워크 IP와 몇가지 부팅, 셧다운을 할수 있고요
  IP설정이 끝나면 각 항목별로 주소,포트 번호등등을 보여줍니다. 이걸로 접속해 보라는거죠 뭐

6. 대충 입력하고 시작해 봅니다.

  redmine 잘되네요...
  svn 터미널로 들어가서 생성하고 둘러보니 잘 됩니다.
 


redmine의 계정만으로 subversion을 읽고/쓸수 있게
 
아래 링크를 참고 했습니다.

이렇게 하면 redmine의 계정으로 http://.../svn/... 의 억세스가 가능해집니다.
대신 svn://..... 요건 별도로 동작되어버리는데..
방화벽에서 포트를 막아버렸습니다...;

권한 설정도 해줍시다 
chown -R www-data:www-data svn


- 끝 -




TurnKey Linux 정말 쉽고 편하군요... 감동입니다... ㅜㅜ


  

Redmine 1.2.0 업그레이드

Posted by NUL 리눅스 : 2011. 6. 16. 17:01
redmine 공식 홈 업그레이드 페이지

Change Log 에 별의별게 다 써 있어서 뭐가 바뀌었는지 보는 건 포기 (저의 자유 시간은 소중합니다)

Rails 2.3.11 Rack 1.1.1
으로 버전업 되었습니다. ruby 는 1.8.6, 1.8.7 그대로네요.


rails를 설치합니다.

gem install rails -v=2.3.11

rails를 설치합니다. rack 1.1.2 가 함께 설치되네요.... 원래 그런가.....

혹시 모르니까.... gem install rack -v=1.1.0 



1. 백업

  2009/12/29 - [리눅스] - CRON 을 사용한 SVN + REDMINE 백업 

2. 기존 1.0.0 버전 백업

  redmine -> redmine-old 로 이름 변경

3. SVN checkout

  svn checkout http://redmine.rubyforge.org/svn/trunk /설치경로/redmine
  걍 update 하면 더 간단한데..... 다음엔 그렇게 해야겠습니다. 

4. Upgrade
 
  cd 설치경로/redmine
  rake config/initializers/session_store.rb
  config/database.yml 복원
  config/email.yml 복원

  rake가 안되네요.... gem install -v=0.4.2 i18n 하라고 합니다... 그래서 지시에 따랐습니다 -_-;
  이젠 rake 되는 군요 

5. Database

  rake db:migrate RAILS_ENV=production 
  rake db:migrate:upgrade_plugin_migrations RAILS_ENV=production 
  rake db:migrate_plugins RAILS_ENV=production

6. Clean up / Permission

  rake tmp:cache:clear
  rake tmp:sessions:clear

  redmine:redmine 권한 설정 files, tmp, log, environment.rb
  예) chown redmine:redmine config/environment.rb 

7. Restart

  service httpd restart
  exit 

  

redmine 1.0.0 업그레이드

Posted by NUL 리눅스 : 2010. 8. 18. 18:30

1. 백업

  2009/12/29 - [리눅스] - CRON 을 사용한 SVN + REDMINE 백업
  config/database.yml
  config/email.yml 

2. 기존 0.9.2 버전 백업

  redmine -> redmine-0.9.2 로 이름 변경

3. SVN checkout

  svn checkout http://redmine.rubyforge.org/svn/trunk /설치경로/redmine

4. Upgrade

  rake config/initializers/session_store.rb
  config/database.yml 복원
  config/email.yml 복원

5. Database

  rake db:migrate RAILS_ENV=production
  rake db:migrate:upgrade_plugin_migrations RAILS_ENV=production 
  rake db:migrate_plugins RAILS_ENV=production

6. Clean up

  rake tmp:cache:clear
  rake tmp:sessions:clear

  redmine:redmine 권한 설정 files, tmp, log, environment.rb

7. Restart

  servic httpd restart

아무 문제 없이 잘 되는 군요, 순식간에 끝난 수월한 업그레이드 였음 -_-;

  

CRON 을 사용한 SVN + REDMINE 백업

Posted by NUL 리눅스 : 2009. 12. 29. 19:00


2009/12/15 - [리눅스] - Redmine VPS 서버 구축
에 사용할 자동 백업을 세팅하였습니다.

cron을 사용하려면 계정별 세팅을 하거나 crontab을 씁니다.

제 경우는 /var/spool/cron 에 계정별 설정 파일들이 있더군요 -> 그냥 편집
해당 시간에 명령 혹은 스크립트를 실행 해줍니다. 매우 간단하죠


cron 스크립트는 다음과 같습니다.

토요일 6시 정각에 백업 스크립트를 실행 합니다.

#분 시 일 월 요일(월=1 화=2 ... 일=7)
0 6 * * 6 /백업경로/bkscript.sh

혹시 cron이 동작 안할까봐... #crond restart 합니다.



백업 스크립트는 다음과 같습니다.

1. Redmine DB 백업
2. Redmine 첨부 파일 미러(?) 구동 - 이건 백업의 의미가 좀 약한듯.... 나중에 보완...
3. 모든 SVN Repository 백업
4. 3 개월 경과한 백업 파일 삭제
5. 백업파일은 gzip 사용
6. 복구 방법은 잊어먹을까바 적어두기

#!/bin/sh

# Redmine DB
mysqldump -uroot -p암호  redmine | gzip > /백업경로/redmine/redmine_`date +%y_%m_%d`.gz

# Redmine Files
rsync -avz /레드마인경로/files /백업경로

# SVN Repository
cd /SVN경로
for repo in *;do
  if [[ -d $repo ]];then
    svnadmin dump "/SVN경로/$repo" | gzip > "/백업경로/svn/$repo"_`date +%y%m%d`.svn.gz
  fi
done

# Delete Old File (3 Month)
find /백업경로/svn -name *.svn.gz -mtime +90 -delete
find /백업경로/redmine -name *.gz -mtime +90 -delete

# Restore : mysql -uroot -p DB NAME < FILE NAME
# Unzip : gunzip sample.svn.gz
# Restore : svnadmin create sample
             svnadmin load sample --force-uuid < sample.dump
# 특정 리비전 덤프 : svnadmin dump 이름 -r 리비전번호 --incremental > 덤프이름
# 범위 리비전 덤프 : svnadmin dump 이름 -r 리비전번호:리비전번호 --incremental > 덤프이름
# 최근 리비전 덤프 : svnadmin dump 이름 -r Head --incremental > 덤프이름



이제 매주 토요일 6시에 /백업경로/svn, /백업경로/redmine, /백업경로/files 에 각각 데이터가 백업됩니다.
회사 업무도 아닌 개인적인 코드들이라 1주일 간격으로 백업해도 무난하네요.

추가로 tar.gz 압축 풀기
tar xvzf filename.tar.gz


  

Redmine VPS 서버 구축

Posted by NUL 리눅스 : 2009. 12. 15. 23:45
http://cafe24.com 에서 VPS 를 신청 했습니다. 운영체제는 fedora 11 로 아무것도 없이 기본 OS 설치만 신청

일단 아는게 없으므로 -_-; http://bitnami.org 에서 패키징 된 버전을 설치해 봅니다.
잘 돌긴 하는데... 기본 아파치와 포트가 겹치고,
정확한 OS의 구조를 모르는 상태에서 이런 저런 설정 하려니 오히려 더 불편하더군요...
서비스를 어떻게 등록해야할지도 모르겠고......바로 삭제...?

http://www.redmine.org/wiki/redmine/RedmineInstall 를 참고하여 필요한 rpm, gem 등을 살펴보고 닥치는대로 설치 합니다. (최신 버전으로 도배....)
설치 도중 에러가 발생하면 설치 안된 rpm / gem 등을 설치해보고 그래도 안되면 구글링으로 하나씩 해결해 가면서 설치 했습니다.
참조한 웹페이지들이 너무나 많았고 버전이나 OS의 종류, 설치 패키지 종류 등도 조금씩 달라서 검색 했던 웹페이지들은 기록을 못했고, 많이 참조한 몇몇 웹 페이지만 적어놨습니다.

아래 블로그들은 해당 페이지 외에도 쓸만한 정보들이 많습니다.Ruby on Rails 를 리눅스에 설치하기
Subversion과 Redmine을 사용하여 프로젝트 관리하기
http://inocrazy.com/docs
http://www.redmine.org



아래의 구성품(?)들을 설치했습니다.

# yum install httpd
# yum install mysqld
# yum install php?
# yum install php-gd
# yum install php-mysql
# yum -y install subversion
# yum -y install mod_dav_svn
# yum install ruby ruby-irb ruby-libs ruby-rdoc ruby-mode ruby-ri ruby-doc
# yum install rubygems
# yum install rubygem-rails ruby-mysql
# yum install ruby-devel
# gem update --system
# gem install mocha
# gem install rails --include-dependencies
# yum install mongrel
# gem install passenger
# passenger-install-apache2-module

redmine은 SVN으로 최신 개발 버전을 다운 받아 설치 하였고redmine 설치 자체는 공식 홈페이지에 있는 설명만으로 충분할 정도로 간단합니다.문제는 그걸 제대로 구축 하려니 잘 안되더군요...;

설치 과정을 제대로 기록하지 않아 누락된 것이 많긴 하지만... 몇가지라도 기록 해두려 합니다.

1. 아파치 데몬을 재시작 해야 하는 경우가 있는데
# service httpd restart 를 사용

2. 설정 파일 / rpm 등을 찾아야 할땐
# find / -name 이름? ? # rpm -qa | grep 이름

3. 열려있는 포트 확인 (전 nmap 이 깔려 있었던....)
# nmap -sT -O localhost

4. MySQL root 패스워드 지정?
# mysql> use mysql;
# mysql> update user set password=password('패스워드') where user='root';
# mysql> flush privileges;
# mysql> select host, user, password from user;

5. 이후의 MySQL 사용
# mysql -u root -p

6. SVN 저장소 설치
# htpasswd -c /home/svn/.htpasswd 아이디?
# svnadmin create /home/svn/프로젝트
# chown -R apache.apache /home/svn/프로젝트

7. SVN 설정
/etc/httpd/conf.d/subversion.conf 를 아래와 같이 편집 (자동으로 추가되는 부분도 있슴)

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

<Location /svn/프로젝트>
DAV svn
SVNPath /home/svn/프로젝트
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /home/svn/.htpasswd
Require valid-user
</Location>

무식하게 프로젝트 별로 다 넣어줬습니다 -_-;

8. Passenger 설정
/etc/httpd/conf.d/passenger.conf 를 아래처럼 편집?(자동으로 추가되는 부분도 있슴)? ??LoadModule passenger_module /usr/lib64/ruby/gems/1.8/gems/passenger-2.2.7/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib64/ruby/gems/1.8/gems/passenger-2.2.7
PassengerRuby /usr/bin/ruby

<VirtualHost *:80>
ServerName 127.0.0.1
DocumentRoot /opt/redmine/public
RailsBaseURI /
</VirtualHost>

9. 나머지 redmine 관련은 redmine.org의 인스톨 가이드 그대로...

10. SMTP , SendMail 은 쓰지 않는다. (경험상 매우 귀찮고, 소규모기 때문에 그닥 필요성도 못 느낌, 나중에나......)

11. 나머지 어지간한 문제들은 에러 메세지들을 잘 보고 부족한 rpm / gem 등을 설치하거나 그래도 안되면 구글링을 하다 보면 비교적 쉽게 해결 할 수 있다.

12. 저장소 백업 및 복구 (예전 저장소에서 새로 구축한 서버로 이동)
# svnadmin dump 프로젝트> 프로젝트.dump
# svnadmin load 프로젝트?< 프로젝트.dump

13. 설치 완료 후 잘 되는 듯 했으나 첨부 파일 업로드시 에러 발생.
http://www.redmine.org/issues/3334
# chown -R redmine:redmine environment.rb
# chown -R redmine:redmine files log tmp
소유권을 바꿔서 해결했는데.... 많은 삽질 끝에 성공한거라 이게 정말 해결책인지는 미지수....



완성된 Redmine 프로젝트 관리 페이지는 http://project.nul.kr 에 있습니다
  

BitNami Redmine

Posted by NUL 공개툴 : 2009. 12. 10. 19:00

http://www.redmine.org 프로젝트(소스) 관리 툴
http://bitnami.org Open Source Software Package

BitNami Redmine 이란 한마디로 Redmine이란 소스 관리 툴을 BitNami 에서 패키징 해서 한큐에 설치할수 있게 만든 것이다.
(눈물난다. 여태 이걸 볼랐다니 ㅠㅠ)
기존의 Ubuntu 9.04 Server에 설치해봤더니 대강 되는 듯...

nForge, Trac, XE Issue Tracker 다 지워 버리고 이걸로 가야 할 것 같다. 간단하니까....;
nForge는 안정화 되기전까진... 현재는 사용이 너무 괴로움....;
Trac는 설정이 귀찮다...;
Redmine이 기본 설치만으로도 적당히 필요한게 다 들어가 있고 유아이도 깔끔하다.
Mantis는 유아이가 그닥 멋지지 않아서.... - 그게 뭔 상관일까 싶지만...

가상 서버 호스팅(VPS : Virtual Private Server)을 한달 신청했는데,
설치 되는대로 이리 저리 해보고 쓸만하다면 쭉 사용해 보려고 한다.
  
 «이전 1  다음»