알이(4편) - 시놀로지 도커에 레드마인(프로젝트관리) 한방에 설치/운영하기
안녕하세요 알이 입니다.
레드마인(Redmine : 프로젝트 관리)을 시놀로지 docke에 한방에 설치/운영 방법 알려드려요
Ununtu 20.04 이미지 도커로 레드마인 설치하기 (저는 20.04로 사용했어요)
도커는 시놀로지 레지스트리에서 이미지 저장 => 컨테이너에서 Redmin 만들기 (상세 과정은 생략)
이미지
도커 설정
1) 38180 외부 포트를 80 도커포트 설정 => NASIP:38180 접속시 redmine 접속 편의를 위함
2) docker 디렉토리에 redmine 폴더 만들고 /home/redmin 으로 설정 : 편의를 위해 NAS file station에서 파일 생성 및 맵핑 편의를 위함 (ex : conf 파일 vi로 만들면 귀찮음 => 만들고 copy 해버림 / 향후 log를 이폴더에 copy하고 보기도 편함)
컨테이너 기동 모습
=== 자 컨테이너의 터미널 접속을 하여 설치를 해볼까요 ===
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
이상 끝 ^^
도커는 이식성이 좋습니다. 저는 되도록 docker 안에 DB 및 Web도 같이 넣어서 통으로 이미지를 받아 다른 곳이 넣어서 사용하는 편입니다. db / web을 분리할 수 있지만 test 하면서 지우고 수정하는게 많아서 한번에 구성하는 편 입니다. 참조하세요
오호 이렇게 사용해도 괜찮군요!!
좋은정보감사합니다~
이 내용은 도커용 이라기 보다는..
그냥 리눅스에 설치 하기가 더 어울릴듯 합니다.
도커에 이미 Redmine 이미지가 있어 위와같은 설치 절차를 거치지 않고 바로 설치가 되는 것으로 알고 있거든요..
네 말씀주신 내용이 더 정확하네요. radmine 컨테이너 이미지를 적용하다보니 별도 mysql 연동을 하지않았고 + mysql 설치 + apache를 더하다 보니 ubuntu의 redmine 설치가 제목으로 더 맞겠네요 ^^
cmt alert