Linux,Unix,BSD/redmine

bitnami-redmine 스택 이전 설치 : cafe24 -> iwinv

채윤아빠 2017. 7. 10. 09:00
728x90
반응형




cafe24 자료의 백업

  • redmine DB 백업
    • bitnami-redmine 스택의 mysql bitnami 계정 비밀번호 확인
      cat /opt/redmine/apps/redmine/htdocs/config/database.yml 
    • bitnami_redmine DB 백업
      /opt/redmine/mysql/bin/mysqldump -u bitnami -p bitnami_redmine > /home/Backup/mysql/bitnami_redmine-20170707.sql 
  • redmine 첨부파일 및 subversion 데이터 파일 백업
    cd /home tar cvfz backup-20170707.tgz apache2_log redmine_files svnroot Backup


bitnami redmine 신규 iwinv 서버로 이전 설치

    • iwinv 에서 신규 가상 서버 신청
    • 방화벽 관리에서 신규 방화벽 추가
      • inbound 접근 제어에 필요한 포트 추가
      • outbound 접근 제어에 필요한 포트 추가
      • 해외국가 접근 제어에서 반드시 한국을 제외한 모든 국가를 차단하도록 함
        • 방화벽을 설정하지 않고 ubuntu를 설치하였더니, 알 수 없는 데몬이 설치되고, 데몬이 죽여도 계속 되살아남...음 -.-+
        • 눈물을 머금고 재설치 ㅠ.ㅠ
    • 운영체제 선택 설치 ; ubuntu 16.04
      • 이메일로 온 root 권한 정보를 바탕으로 최초 로그인하여 비밀번호 변경
      • vi /etc/iptables/rules.v4 2022 및 3690 포트를 추가함
      • vi /etc/ssh/sshd_config 에서 Port 를 2022로 변경하고, reboot
      • 리부팅 : shutdown -r now
    • ubuntu 최신 보안 패치 적용하기
      • iwinv 방화벽 관리 > 해외국가 접근 제어 에서 중국만 차단으로 변경 ; 그래야 해외 서버 접속 가능
      • 최신 보안 패치를 적용하고 리부팅
        apt-get update apt-get upgrade  sync sync shutdown -r now 
    • bitnami redmine 스택 다운로드 및 설치
      wget https://bitnami.com/redirect/to/150714/bitnami-redmine-3.3.3-1-linux-x64-installer.run chmod 755 bitnami-redmine-3.3.3-1-linux-x64-installer.run ./bitnami-redmine-3.3.3-1-linux-x64-installer.run 
      • swap가 없는 경우에 다음과 같은 오류가 발생함
        Bitnami Redmine Stack requires at least 2000MB of memory and the installer has detected 488MB of memory. This may prevent the application from installing, working properly or cause it to stop functioning due to lack of memory. Visit the following link to learn how to increase the swap space.  https://bitnami.com/lowmemory 
      • 추가로 다음과 같은 오류도 만날 수 있으나, 일단 위의 swap 메모리가 부족한 문제로 인하여 설치가 제대로 완료되지 않아서 추가로 발생하는 문제임
        오류: 오류가 발생했습니다. The installer is unable to detect your glibcxx version. You can find how to proceed at  https://docs.bitnami.com/installer/linux-faq/#what-is-the-minimum-version-of-libs tdc-needed-for-bitnami-stacks. Please ensure that you have the minimun version  required "3.4.9" before proceeding. 
      • free -m 으로 SWAP 메모리를 확인하여 2GB가 안된다면 다음과 같은 명령으로 swap을 추가함
        dd if=/dev/zero of=/mnt/2GB.swap bs=512K count=4096 mkswap /mnt/2GB.swap echo "/mnt/2GB.swap swap swap defaults 0 0" >> /etc/fstab swapon /mnt/2GB.swap 
    • 기존 서버에서 가져온 백업 데이터 압축 풀기 : /home/Backup
      cd /home tar xvf backup-20170707.tgz cd /home/home mv * .. rm -rf /home/home cd /home/Backup gunzip bitnami_redmine-20170709.sql.gz 
    • 설정의 편의를 위하여 redmine 심볼릭 링크 생성
      ln -s /opt/redmine-3.3.3-1/ /opt/redmine 
    • 이전 서버의 레드마인 DB 복구
      • MySQL 비번 확인 ;
      • cat /opt/redmine/apps/redmine/htdocs/config/database.yml
      • 이전 서버의 데이터 복구
        /opt/redmine/mysql/bin/mysql -u bitnami -p bitnami_redmine < bitnami_redmine-20170709.sql 
      • 버전이 다른 경우 DB migration 처리
        cd /opt/redmine/apps/redmine/htdocs  /opt/redmine/ruby/bin/rake db:migrate RAILS_ENV=production /opt/redmine/ruby/bin/rake redmine:plugins:migrate RAILS_ENV=production 
    • redmine 전체 서비스 중지
      /opt/redmine/ctlscript.sh stop 
    • subversion 설정 복구
      • svnroot 폴더의 소유자 변경
        chgrp -R subversion /home/svnroot chown -R subversion /home/svnroot 
      • subversion 포트 및 저장소 폴더 변경

/opt/redmine-3.3.3-1/subversion/scripts/ctl.sh 다음과 같이 수정 ; svnserve -d -r /home/svnroot --listen-port=3690

  • 로그 로테이션을 위한 cronolog 설치 : apt-get install cronolog
  • apache 설정 수정
    • 로그 로테이션을 위한 httpd.conf 수정
      vi /opt/redmine/apache2/conf/httpd.conf  # 다음과 같이 수정 #ErrorLog "logs/error_log"  ErrorLog "|/usr/bin/cronolog /opt/redmine/apache2/logs/error-%Y%m%d.log"       #CustomLog "logs/access_log" common     CustomLog "|/usr/bin/cronolog /opt/redmine/apache2/logs/access-%Y%m%d.log" combined 
    • 가상 호스트의 로그 로테이션을 위한 bitnami.conf 수정
      vi /opt/redmine/apache2/conf/bitnami/bitnami.conf  # 다음 내용 추가 CustomLog "|/usr/bin/cronolog /home/apache2_log/www.hwh.kr/access-%Y%m%d.log" combined ErrorLog "|/usr/bin/cronolog /home/apache2_log/www.hwh.kr/error-%Y%m%d.log"  
    • httpd.conf에서 로그를 파이프를 통하여 로그 로테이션 처리를 하면 passenger에서 오류가 발생하므로 별도의 로그 파일 지정
      vi /opt/redmine/apache2/conf/bitnami/passenger.conf  # 다음 내용 추가 PassengerLogFile /opt/redmine-3.3.3-1/apache2/logs/passenger.log 
  • 레드마인 첨부파일 저장폴더 경로 수정
    vi /opt/redmine/apps/redmine/htdocs/config/configuration.yml  # 다음과 같이 수정 attachments_storage_path: /home/redmine_files 
  • 레드마인을 서비스로 등록하기 : How To Start The Stack Automatically On Boot?-
    • 서비스 구동을 위한 스크립트 생성
      cp /opt/redmine-3.3.3-1/ctlscript.sh /etc/init.d/bitnami-redmine  vi /etc/init.d/bitnami-redmine  # 다음 내용을 #!/bin/sh 다음줄에 추가함 ### BEGIN INIT INFO # Provides:          bitnami-redmine # Required-Start:    $remote_fs $syslog # Required-Stop:     $remote_fs $syslog # Default-Start:     2 3 4 5 # Default-Stop:      0 1 6 # Short-Description: Start daemon at boot time # Description:       Enable services provided by daemon. ### END INIT INFO 
    • bitnami-redmine 을 runlevel에 등록하고 활성화하기
      update-rc.d -f bitnami-redmine defaults update-rc.d -f bitnami-redmine enable 
    • 재부팅을 통하여 정상적으로 부팅과 함께 bitnami-redmine 서비스가 실행되는지 확인