레드마인 설치 방법
우분투 환경에서 레드마인(Redmine) 설치 방법에 대해서 설명드립니다. 우분투 16.04 또는 우분투 18.04 등 우분투 서버 환경에서 docker 이미지로 간단하게 설치해 보도록 하겠습니다. 그리고 아파치(Apache) 서버의 VirtualHost 기능을 이용하여 도메인 연결방법까지 함께 설명드리도록 하겠습니다.
이번글은 docker 이미지로 레드마인 설치 방법을 설명드리기 때문에 docker 가 설치되지 않았을 경우 아래의 글을 참고하셔서, 먼저 설치해 주시기 바랍니다.
레드마인 이미지 다운로드
아래의 명령어를 이용하여 최신 버전의 PostgreSQL 데이터베이스 이미지와 Redmine 이미지를 함께 다운 받습니다.
$ docker pull postgres
$ docker pull redmine
PostgreSQL 컨테이너 실행
docker 컨터이너로 PostgreSQL 데몬을 실행시킬 예정이므로, 호스트에 이미 데이터베이스가 실행중이더라도 영향을 받지 않습니다. 아래의 명령어를 이용하여 데몬을 실행합니다.
$ docker run -d --name postgres -e POSTGRES_PASSWORD=secret -e POSTGRES_USER=redmine postgres
f542f4ce5378bee3002b933168d1c192a9b66d165be0befff74edc188b372873
위의 명령어를 실행하면 컨터이너 내부에서 데몬 형태로 실행됩니다. 위의 컨테이너 아이디를 이용하여 다음 명령어를 실행하여 실행 로그를 확인합니다.
$ docker logs f542f4ce5378bee3002b933168d1c192a9b66d165be0befff74edc188b372873
PostgreSQL init process complete; ready for start up.
2018-05-25 13:00:59.768 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432
2018-05-25 13:00:59.768 UTC [1] LOG: listening on IPv6 address "::", port 5432
2018-05-25 13:00:59.772 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2018-05-25 13:00:59.787 UTC [64] LOG: database system was shut down at 2018-05-25 13:00:59 UTC
2018-05-25 13:00:59.792 UTC [1] LOG: database system is ready to accept connections
로그 하단에 위와 비슷한 내용의 내용이 나타날 경우, 성공적으로 데이터베이스가 실행된 것입니다.
레드마인 데몬 실행
소스코드 등 호스트 환경의 파일들을 공유 할 수 있도록 아래의 명령어를 이용하여 디렉토리를 생성합니다.
$ sudo mkdir -p /data/
그리고 다음 명령어를 이용하여 레드마인 데몬을 실행합니다.
레드마인은 기본적으로 3000번 포트를 사용하는데, 호스트의 3000번 포트를 레드마인의 컨테이너 3000번 포트로 연결하여 외부에서 접속 할 수 있도록 합니다. 그리고 호스트의 /data 디렉토리를 컨테이너 내부에서 함께 사용할 수 있도록 마운트 하면서 redmine을 데몬 형태로 실행하는 것입니다.
만약 VirtualHost으로 설정하여 도메인으로 바로 접속하기 위해서는 포트를 생략하여 실행 한 다음 아파치 웹서버를 설정해 주시면 됩니다.
$ # 직접 외부에서 접속을 허용할 경우 아래와 같이 포트를 지정하여 실행해 주시기 바랍니다.
$ docker run -d --name redmine --link postgres:postgres --volume /data:/data --publish 3000:3000 redmine
356c060b193bc6e7f11c6fed7f8bc8a160e6ff9f75e42a9156b98383db9d5759
$ # VirtualHost의 Proxy 모듈을 사용할 경우 아래의 명령어를 실행해 주시기 바랍니다.
$ docker run -d --name redmine --link postgres:postgres --volume /data:/data redmine
그리고 다음 명령어를 실행하여 레드마인 초기화가 완료 되었는지 확인합니다.
$ docker logs 356c060b193bc6e7f11c6fed7f8bc8a160e6ff9f75e42a9156b98383db9d5759
[2018-05-25 13:03:44] INFO WEBrick 1.3.1
[2018-05-25 13:03:44] INFO ruby 2.4.4 (2018-03-28) [x86_64-linux]
[2018-05-25 13:03:44] INFO WEBrick::HTTPServer#start: pid=1 port=3000
위와 비슷한 내용이 나타날 경우, 데몬이 성공적으로 초기화가 된 것입니다. 포트 번호를 지정하여 레드마인 데몬을 실행하였을 경우, 아래의 주소로 접근 가능합니다.
http://서버주소:3000
http://서버도메인:3000
레드마인의 초기 계정명은 admin 이고, 비밀번호 또한 동일하게 admin 입니다.
첫 로그인 후 비밀번호는 변경하여 사용하시면 됩니다.
레드마인 VirtualHost 설정
호스트 환경에서 여러 웹서비스들이 운영되고, 레드마인을 docker 환경 내에서 추가적으로 운영하기 위해서 설정 하는 방법을 설명드립니다. 현재 실행중인 레드마인 컨테이너 정보를 확인 합니다.
$ docker inspect redmine
[
{
"NetworkSettings": {
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"NetworkID": "d38c8dd5bbd52f12904fe058506dfa48c97e81ed1a323d61d2dc133f38a43b87",
"EndpointID": "5bd73abc10e8b7e0f9d06708014ea62a58ce2f1568acb5708237f03a4db61bea",
"Gateway": "172.17.0.1",
"IPAddress": "172.17.0.3",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:11:00:03",
"DriverOpts": null
}
}
}
}
]
컨테이너 정보 중에서 아이피 주소를 확인합니다. 아래의 내용은 레드마인 컨테이너 아이피 주소가 172.17.0.3 으로 설정하는 내용입니다. 아래의 명령어를 실행하여 아파치 모듈을 활성화 하고 아파치 데몬을 재실행 합니다.
$ sudo a2enmod proxy
$ sudo a2enmod proxy_http
$ sudo a2enmod proxy_ajp
$ sudo a2enmod rewrite
$ sudo a2enmod deflate
$ sudo a2enmod headers
$ sudo a2enmod proxy_balancer
$ sudo a2enmod proxy_connect
$ sudo a2enmod proxy_html
$ sudo systemctl restart apache2
그리고 아파치 설정 파일을 다음과 같이 설정합니다. ServerName 및 컨테이너 아이피 등을 직접 설정 하신 다음 아파치 데몬을 재 실행 하면 됩니다.
<VirtualHost *:80>
ServerName redmine.hiseon.me
ProxyPreserveHost On
ProxyRequests Off
ProxyPass / http://172.17.0.3:3000/
ProxyPassReverse / http://172.17.0.3:3000/
<Directory />
AllowOverride All
Options All
Require all granted
</Directory>
</VirtualHost>
( 본문 인용시 출처를 밝혀 주시면 감사하겠습니다.)