알이(4편) - 시놀로지 도커에 레드마인(프로젝트관리) 한방에 설치/운영하기

알이

안녕하세요 알이 입니다. 

 

레드마인(Redmine : 프로젝트 관리)을 시놀로지 docke에 한방에 설치/운영 방법 알려드려요

 

 Ununtu 20.04 이미지 도커로 레드마인 설치하기 (저는 20.04로 사용했어요)

 도커는 시놀로지 레지스트리에서 이미지 저장 => 컨테이너에서 Redmin 만들기 (상세 과정은 생략)

 

이미지

image.png.jpg

 

도커 설정

 

1) 38180 외부 포트를 80 도커포트 설정 => NASIP:38180 접속시 redmine 접속 편의를 위함

2) docker 디렉토리에 redmine 폴더 만들고 /home/redmin 으로 설정 : 편의를 위해 NAS file station에서 파일 생성 및 맵핑 편의를 위함 (ex : conf 파일 vi로 만들면 귀찮음 => 만들고 copy 해버림 / 향후 log를 이폴더에 copy하고 보기도 편함)

 

image.png.jpg

 

image.png.jpg

 

컨테이너 기동 모습

image.png.jpg

 

=== 자 컨테이너의 터미널 접속을 하여 설치를 해볼까요 ===

 

apt-get update  : 우분투 최신 상태로

apt-get upgrade : update도 사전 반영

 

apt-get install -y mariadb-server  : redmine은 DB가 필요하죠

service mysql start 

 

mysql -u root -p    :  확인 (처음은 패스워드는 enter로 skip)

exit;                     : 기동되는지만 확인함

 

mysql_secure_installation  : 이 단계에서 응답으로 패스워트 입력

 

> y    : remove anonymous user 

> n    : disallow root login remotely 

> y    : remove test database and access to it 

> y    : reload privilege tables now 

 

mysql -u root -p 

아래 패스워드입력란에는 미리 영문으로 패스워드 넣어서 기동해야 합니다.

 

> CREATE DATABASE redmine CHARACTER SET utf8mb4;

> GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY '패스워드입력';

> FLUSH PRIVILEGES;

> exit;

 

apt-get install apache2 libapache2-mod-passenger      : asia / seoul 선택 time zone 넣으세요

 

apt-get install redmine redmine-mysql    : 기본 redmine 사용하는 DB Table 생성

    dbconfig-common => y

    password => 패스워드 넣으세요

 

gem update   : Update시  error가 종종 나지만 무시해도됨

gem install bundler

 

apt-get install vim   : vi 설치 (시놀로지는 가벼운 이미지 도커 이프로 vim도 없는 상태이므로 실행)

 

vi /etc/apache2/mods-available/passenger.conf

 

<IfModule mod_passenger.c>

 PassengerDefaultUser www-data    : 이부분 추가

 PassengerRoot /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini

 PassengerDefaultRuby /usr/bin/ruby

</IfModule>

 

ln -s /usr/share/redmine/public /var/www/html/redmine     : 심볼릭 링크 연결 

 

vi /etc/apache2/sites-available/redmine.conf      :  외부 접속 시 기동 directory 연결 (도메인이 있을 경우)

 

<VirtualHost *:80>

 ServerAdmin sample@sample.kr          : sample은 상황에 맞게 넣으세요

 DocumentRoot /var/www/html/redmine

 ServerName redmine.xxxxx.kr              : xxxxx 는 도메인에 맞게 넣으세요

 ServerAlias www.redmine.xxxxx.kr         : xxxxx 는 도메인에 맞게 넣으세요

 <Directory /var/www/html/redmine>

   RailsBaseURI /redmine

   PassengerResolveSymlinksInDocumentRoot on

</Directory>

 ErrorLog ${APACHE_LOG_DIR}/error.log 

 CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

 

 

vi /etc/apache2/sites-available/000-default.conf    :  IP 접속 시 기동 directory 연결 (도메인이 없을 경우)

 

 

<VirtualHost *:80>

 ServerAdmin sample@sample.kr          : sample은 상황에 맞게 넣으세요

 DocumentRoot /var/www/html/redmine

 ErrorLog ${APACHE_LOG_DIR}/error.log

 CustomLog ${APACHE_LOG_DIR}/access.log combined

 <Directory /var/www/html/redmine>

   RailsBaseURI /redmine

   PassengerResolveSymlinksInDocumentRoot on

 </Directory>

</VirtualHost>

 

touch /usr/share/redmine/Gemfile.lock

chown www-data:www-data /usr/share/redmine/Gemfile.lock

 

apt-get install net-tools   : ifconfig 명령을 위해 설치 (기본 가벼운 이미지 이므로 설치 필요) => ifconfig로 ipaddress 확인

 

service apache2 restart   : web 기동 확인

 

에러 발생시

/etc/apache2/apache2.conf    :   파일 마지막줄에 (단축키 ctrl + /) : 아파치 기동시 ip 주소 확인 

 

Servername 172.17.0.6         : 입력 내용 - 위에 ipconfig에서 나온 주소 추가하고 저장

 

service apache2 restart    : web 다시 반영해야죠

 

=> 저는 redmine.xxxxx.kr 접속으로 Redmine 실행 (저는 도메인과 서브 도메인이 있음 : 일반 적이라면 xxx.xxx.xxx.xxx:38180 이죠

 

==  참조 : 도커 강제 종료 or 종료 후 다시 실행하면 서비스가 기동되어야함 실행 가능, 아래 실행 필요===

 

service mysql start

service apache2 start

 

== 위에 불편하면 ===

 

vi /home/autorun.sh    : 자동 실행할 내용 생성

 

내용은

 

service mysql start

service apache2 start

 

만들고

 

root 디렉토리

ls -al

vi .bashrc 수정으로 autorun.sh 제일 하단에 넣어줌 

 

bash /home/autorun.sh     : 도커 기동시 자동 실행 되는 내용으로 추가하세요

 

이렇게 하면 도커 강제 종료 재시작 해도 자동 실행됨

 

저는 아래와 같이 서브도메인 바로 접속해서 사용합니다.

일반적 접속은 xxx.xxx.xxx.xxx:38180 

 

image.png.jpg

 

image.png.jpg

 

이상 끝 ^^

IT 쟁이

적용중인 도장이 없습니다.

* 가입일 : 2022-04-26
* 총 게시글 수 : 5
* 총 댓글 수 : 4
* 추천받은 게시글 개수 : 5
* 추천받은 댓글 개수 : 2
댓글
4
  • 알이
    작성자
    2022.05.14

    도커는 이식성이 좋습니다. 저는 되도록 docker 안에 DB 및 Web도 같이 넣어서 통으로 이미지를 받아 다른 곳이 넣어서 사용하는 편입니다. db / web을 분리할 수 있지만 test 하면서 지우고 수정하는게 많아서 한번에 구성하는 편 입니다. 참조하세요

  • 달소
    2022.05.14

    오호 이렇게 사용해도 괜찮군요!!

    좋은정보감사합니다~

  • KelvinKang
    2022.05.16

    이 내용은 도커용 이라기 보다는..

    그냥 리눅스에 설치 하기가 더 어울릴듯 합니다.

     

    도커에 이미 Redmine 이미지가 있어 위와같은 설치 절차를 거치지 않고 바로 설치가 되는 것으로 알고 있거든요..

  • 알이
    작성자
    2022.05.16

    네 말씀주신 내용이 더 정확하네요. radmine 컨테이너 이미지를 적용하다보니 별도 mysql 연동을 하지않았고 + mysql 설치 + apache를 더하다 보니 ubuntu의 redmine 설치가 제목으로 더 맞겠네요 ^^

댓글 쓰기
권한이 없습니다.