싸권's IT Story

[Raspberry Pi Redmine 설치 #3] Apache 설치 및 Redmine 설정

싸권 2020. 2. 6. 14:58

이제 DB설치가 완료되었으니 웹서버로 Apache를 설치하고 Redmine 소스를 다운받고 설정하겠습니다.


먼저 Apache 웹서버와 필요한 패키지를 설치하도록 합니다.


pi@guruberry:/opt $ sudo apt-get install ruby-dev ruby bundler  <- ruby 관련 패키지

pi@guruberry:/opt $ sudo apt-get install apache2 libapache2-mod-passenger  <- apache 및 passenger 패키지(웹서버 및 AP서버)

pi@guruberry:/opt $ sudo apt-get install imagemagick imagemagick++-dev  <- imagemagick 패키지


위 패키지들은 redmine을 구동키 위한 Web과 Application 관련 패키지라고 보시면 됩니다.

설치 후 환경설정을 해줘야하는데, redmine 소스 다운로드 및 설정 후 변경하면 됩니다.


이제 redmine 소스를 다운받습니다.

소스경로는 /opt/redmine으로 지정합니다.(필요하면 다른 경로도 상관없습니다.)


pi@guruberry:/opt $ sudo wget http://www.redmine.org/releases/redmine.3.4.4.tar.gz  <- 소스 다운로드

pi@guruberry:/opt $ sudo tar -xvzf redmine.3.4.4.tar.gz  <- 소스 압축 해제

pi@guruberry:/opt $ sudo mv redmine.3.4.4 redmine  <- 디렉토리명 변경


database 설정 샘플 파일을 복사한 후 내용을 수정합니다.


pi@guruberry:/opt $ cd redmine/config/

pi@guruberry:/opt/redmine/config $ sudo cp database.yml.example database.yml 


해당파일을 열어 아래 부분을 수정합니다.


production:

  adapter: mysql2

  database: redmine   <- Mariadb 설정 시 redmine database 이름

  host: localhost  <- 내부에서만 사용할 것이기 때문에 localhost 지정

  username: redmine  <- Mariadb 설정 시 redmine user명

  password: "password"  <- 패스워드 입력. 따옴표까지

  encoding: utf8


config 디렉토리에서 다음과 같이 명령어 입력합니다.

pi@guruberry:/opt/redmine/config $ bundle install --without development test


그리고, redmine을 위한 database 구성하기전 다음과 같이 디렉토리 생성 후 manifest.js 파일을 생성합니다.


pi@guruberry:/opt/redmine/config $ cd ..

pi@guruberry:/opt/redmine $ cd app

pi@guruberry:/opt/redmine/app $ mkdir -p assets/config

pi@guruberry:/opt/redmine/app $ cd assets/config

pi@guruberry:/opt/redmine/app/assets/config $ sudo vi manifest.js


manifest.js 파일에 아래 내용을 입력합니다.


  //= link_tree ../images

  //= link_directory ../javascripts .js

  //= link_directory ../stylesheets .css


위 내용이 없을 시 redmine에서 database에 테이블을 생성할때 에러가 발생합니다.

이제 /opt/redmine 디렉토리에서 database에 테이블 생성 및 내용이 입력되도록 명령어를 내립니다.


pi@guruberry:/opt/redmine $ rake generate_secret_token

pi@guruberry:/opt/redmine $ RAILS_ENV=production rake db:migrate

pi@guruberry:/opt/redmine $ rake redmine:load_default_data RAILS_ENV="production"


위에서 마지막 명령어를 입력 후 언어 확인이 뜨면 ko로 입력합니다.


마지막을 Apache2 설정만 남았습니다.

/etc/apache2/site-available/000-default.conf 파일에 아래 부분을 마지막 줄 이후에 추가해줍니다.

 

<Directory /var/www/html/redmine>

        RailsBaseURI /redmine

        PassengerResolveSymlinksInDocumentRoot on

        PassengerStartTimeout 900 

</Directory>


PassengerStartTimeout이 중요한데, 기본 설정이 90입니다. 90초동안 응답을 기다리는건데, 라즈베리파이1이 워낙 성능이 안좋다보니 

웹서버 요청 시 timeout으로 인하여 에러가 발생합니다.

해당 옵션으로 900초까지 대기시간을 늘려서 처리가 늦더라도 사용이 가능토록 한겁니다.


웹서버 디렉토리에 redmine 서비스를 위한 심볼릭 링크를 만들어주고 /opt/redmine 디렉토리내 소유와 권한을 수정합니다.

그리고 Apache2 서버를 재시작합니다.


pi@guruberry:/ $ sudo ln -s /opt/redmine/public/ /var/www/html/redmine

pi@guruberry:/ $ sudo chown -R www-data:www-data /opt/redmine

pi@guruberry:/ $ sudo chmod -R 755 /opt/redmine

pi@guruberry:/ $ sudo service apache2 restart


여기까지 진행하면 Redmine 설치가 완료된 것입니다.

이제 웹브라우저에서 http://aaa.bbb.com:480/redmine 으로 접속을 하면 아래와 같은 화면을 보실 수 있습니다(몇개 프로젝트를 등록했네요 ^^)

(aaa.bbb.com 은 공유기에서 ddns로 설정한 도메인명입니다)




이제 Redmine을 잘 사용하면 됩니다. ^^