레드마인 설치 방법


레드마인 설치 방법
우분투 환경에서 레드마인(Redmine) 설치 방법에 대해서 설명드립니다. 우분투 16.04 또는 우분투 18.04 등 우분투 서버 환경에서 docker 이미지로 간단하게 설치해 보도록 하겠습니다. 그리고 아파치(Apache) 서버의 VirtualHost 기능을 이용하여 도메인 연결방법까지 함께 설명드리도록 하겠습니다.

이번글은 docker 이미지로 레드마인 설치 방법을 설명드리기 때문에 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>

( 본문 인용시 출처를 밝혀 주시면 감사하겠습니다.)