반응형

 

Atlassian의 Crowd는 사용자 아이덴티티 관리(IAM) 툴입니다. 이 솔루션은 기업이나 조직에서 다양한 애플리케이션 및
서비스에 대한 사용자 계정 및 액세스 권한을 중앙에서 관리할 수 있도록 도와줍니다. Crowd의 주요 기능과 장점은 다음과 같습니다.

 

  • 단일 로그인(Single Sign-On, SSO)
    • Crowd는 사용자가 여러 Atlassian 제품(Jira, Confluence, Bitbucket 등) 및 기타 서드파티 애플리케이션에 대해
      하나의 아이덴티티로 로그인할 수 있게 해줍니다.
  • 중앙 집중식 사용자 관리
    • 모든 사용자 계정과 그룹을 한 곳에서 관리할 수 있습니다. 이를 통해 IT 관리자는 사용자 권한을 효율적으로 관리할 수 있습니다.
  • 통합된 권한 및 액세스 제어
    • 다양한 애플리케이션과 서비스에 대한 액세스 권한을 중앙에서 관리함으로써 보안을 강화할 수 있습니다.
  • 디렉터리 통합
    • LDAP, Active Directory와 같은 외부 디렉터리 서비스와 통합하여 사용자 정보를 동기화할 수 있습니다.
  • API 지원
    • 사용자 관리, 애플리케이션 인증 등을 위한 RESTful API를 제공합니다.

 

Crowd는 특히 Atlassian 제품을 사용하는 조직에서 유용하며, 사용자 계정 관리 및 인증 프로세스를 간소화하여 IT 관리의
효율성을 높이고 보안을 강화하는 데 도움을 줍니다.

 

오늘날 기업들은 사용자 관리 및 애플리케이션 인증을 위한 효율적인 솔루션을 찾고 있습니다. Atlassian의 Crowd는
이러한 요구를 충족시켜주는 강력한 도구입니다.
이 글에서는 Atlassian Crowd의 설치 과정을 단계별로 쉽게 설명하겠습니다.


0. 설치 환경

OS: Ubuntu 20.04.6 LTS
JDK: openJDK 11
Crowd: 5.2.3
Database: PostgreSQL 14

 

1. 필요한 시스템 요구사항 확인

Crowd 설치 전에, 시스템이 다음 요구사항을 충족하는지 확인하세요.

운영 체제: Windows 또는 Linux
메모리: 최소 2GB
디스크 공간: 최소 1GB

 

2. PostgreSQL Install

1) 공식 PostgreSQL 저장소 추가

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

먼저, PostgreSQL의 공식 저장소를 시스템에 추가합니다. 이를 위해 터미널을 열고 다음 명령어를 실행합니다.

 

2) 저장소 키 추가

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

저장소의 공개 키를 추가하여 패키지의 무결성을 검증합니다. 다음 명령어를 사용하여 키를 추가하세요.

 

3) 패키지 목록 업데이트

sudo apt-get update

새로운 저장소를 추가한 후, 패키지 목록을 업데이트 합니다. 이를 위해 다음 명령어를 실행합니다.

 

4) PostgreSQL 14 설치

sudo apt-get install postgresql-14 -y

이제 PostgreSQL 14를 설치할 수 있습니다. 다음 명령어로 설치를 진행하세요.

 

이 단계들을 수행하면 Ubuntu 20.04 시스템에서 PostgreSQL 14를 성공적으로 설치할 수 있습니다.

설치 후에는 PostgreSQL 서비스를 시작하고, 필요한 설정을 진행하면 됩니다.

 

5) PostgreSQL 외부 접속 허용 설정

vim /etc/postgresql/14/main/postgresql.conf
---
# - Connection Settings -

listen_addresses = '*'			# 60 lines 'localhost -> *'
---

Listen_addresses을 주석 해제 후 localhost에서 * 으로 변경합니다.

 

6) Crowd 인스턴스에서 접근 허용할 정보 입력

vim /etc/postgresql/14/main/pg_hba.conf
---
# Database administrative login by Unix domain socket
#local   all             postgres                                peer
local   all             postgres                                scram-sha-256		# 추가

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
#local   all             all                                     peer
local   all             all                                     scram-sha-256		# 추가
# IPv4 local connections:
host    all             all             127.0.0.1/32            scram-sha-256
# IPv6 local connections:
host    all             all             ::1/128                 scram-sha-256
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     all                                     peer
local   replication     all                                     scram-sha-256		# 추가
host    replication     all             127.0.0.1/32            scram-sha-256
host    replication     all             ::1/128                 scram-sha-256

# 추가
# Allow Instance
# Crow Server
host    crowddb         crowddbadmin    10.0.0.21/24            scram-sha-256
---

 

7) PostgreSQL DB 구성

sudo -u postgres psql		# psql 접속

CREATE USER crowddbadmin PASSWORD 'crowdadmin';

CREATE DATABASE crowddb WITH OWNER crowddbadmin ENCODING 'UTF-8';

GRANT ALL PRIVILEGES ON DATABASE crowddb TO crowddbadmin;

\q		# 종료 Exit

 

3. Crowd 설치

1) OpenJDK 11 설치

apt install openjdk-11-jdk -y

2) JAVA_HOME 환경 변수 설정

OpenJDK 설치 위치를 확인합니다. (기본적으로 /usr/lib/jvm에 존재합니다.)

dpkg -L openjdk-11-jdk
---
/.
/usr
/usr/lib
/usr/lib/jvm
/usr/lib/jvm/java-11-openjdk-amd64
/usr/lib/jvm/java-11-openjdk-amd64/bin
/usr/lib/jvm/java-11-openjdk-amd64/bin/jconsole
/usr/lib/jvm/java-11-openjdk-amd64/include
/usr/lib/jvm/java-11-openjdk-amd64/include/jawt.h
/usr/lib/jvm/java-11-openjdk-amd64/include/linux
/usr/lib/jvm/java-11-openjdk-amd64/include/linux/jawt_md.h
/usr/lib/jvm/java-11-openjdk-amd64/man
/usr/lib/jvm/java-11-openjdk-amd64/man/ja_JP.UTF-8
/usr/lib/jvm/java-11-openjdk-amd64/man/ja_JP.UTF-8/man1
/usr/lib/jvm/java-11-openjdk-amd64/man/ja_JP.UTF-8/man1/jconsole.1.gz
/usr/lib/jvm/java-11-openjdk-amd64/man/man1
/usr/lib/jvm/java-11-openjdk-amd64/man/man1/jconsole.1.gz
/usr/lib/jvm/openjdk-11
/usr/share
/usr/share/doc
/usr/share/doc/openjdk-11-jre-headless
/usr/share/doc/openjdk-11-jre-headless/test-amd64
/usr/share/doc/openjdk-11-jre-headless/test-amd64/check-hotspot-hotspot.log.gz
/usr/share/doc/openjdk-11-jre-headless/test-amd64/check-jaxp-hotspot.log.gz
/usr/share/doc/openjdk-11-jre-headless/test-amd64/check-jdk-hotspot.log.gz
/usr/share/doc/openjdk-11-jre-headless/test-amd64/check-langtools-hotspot.log.gz
/usr/share/doc/openjdk-11-jre-headless/test-amd64/failed_tests-hotspot.tar.gz
/usr/share/doc/openjdk-11-jre-headless/test-amd64/jtreg-summary-hotspot.log
/usr/share/doc/openjdk-11-jre-headless/test-amd64/jtreg_output-hotspot.log.gz
/usr/share/doc/openjdk-11-jre-headless/test-amd64/jtreport-hotspot.tar.gz
/usr/lib/jvm/openjdk-11/src.zip
/usr/share/doc/openjdk-11-jdk
---
echo "export JAVA_HOME='/usr/lib/jvm/java-11-openjdk-amd64'" >> ~/.bashrc

source ~/.bashrc

 

3) Crowd 5.2.3 설치 파일 Download

https://www.atlassian.com/software/crowd/download-archive

 

4) Crowd 설치

Crowd 디렉터리에 다운받은 설치 파일 압축 해제

cd /root/crowd/

tar -xvf tar -xvf atlassian-crowd-5.2.3.tar.gz

 

설치 전 crowd-init.properties 수정

vim /root/crowd/atlassian-crowd-5.2.3/crowd-webapp/WEB-INF/classes/crowd-init.properties
---
crowd.home=/root/crowd		# 주석 해제 후 crowd dir 설정
---

 

(선택) Server Port 및 Connector Port 변경

vim /root/crowd/atlassian-crowd-5.2.3/apache-tomcat/conf/server.xml

 

5) 설치

스크립트 실행

sh /root/crowd/atlassian-crowd-5.2.3/start_crowd.sh
---
To run Crowd in the foreground, start the server with ./start_crowd.sh -fg
Using CATALINA_BASE:   /root/crowd/atlassian-crowd-5.2.3/apache-tomcat
Using CATALINA_HOME:   /root/crowd/atlassian-crowd-5.2.3/apache-tomcat
Using CATALINA_TMPDIR: /root/crowd/atlassian-crowd-5.2.3/apache-tomcat/temp
Using JRE_HOME:        /usr/lib/jvm/java-11-openjdk-amd64
Using CLASSPATH:       /root/crowd/atlassian-crowd-5.2.3/apache-tomcat/bin/bootstrap.jar:/root/crowd/atlassian-crowd-5.2.3/apache-tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Using CATALINA_PID:    /root/crowd/atlassian-crowd-5.2.3/apache-tomcat/work/catalina.pid
Tomcat started.
---
bash /root/crowd/atlassian-crowd-5.2.3/start_crowd.sh
---
To run Crowd in the foreground, start the server with start_crowd.sh -fg
Using CATALINA_BASE:   /root/crowd/atlassian-crowd-5.2.3/apache-tomcat
Using CATALINA_HOME:   /root/crowd/atlassian-crowd-5.2.3/apache-tomcat
Using CATALINA_TMPDIR: /root/crowd/atlassian-crowd-5.2.3/apache-tomcat/temp
Using JRE_HOME:        /usr/lib/jvm/java-11-openjdk-amd64
Using CLASSPATH:       /root/crowd/atlassian-crowd-5.2.3/apache-tomcat/bin/bootstrap.jar:/root/crowd/atlassian-crowd-5.2.3/apache-tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Using CATALINA_PID:    /root/crowd/atlassian-crowd-5.2.3/apache-tomcat/work/catalina.pid
Existing PID file found during start.
Tomcat appears to still be running with PID 90852. Start aborted.
If the following process is not a Tomcat process, remove the PID file and try again:
UID          PID    PPID  C STIME TTY          TIME CMD
root       90852       1 99 06:25 pts/1    00:00:34 /usr/lib/jvm/java-11-openjdk-amd64/bin/java -Djava.util.logging.config.file=/root/crowd/atlassian-crowd-5.2.3/apache-tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoader
---

 

 

6) Crowd 접속

http://<Server IP>:8095
Tomcat이 시작되었다는 메시지가 표시되었음에도 불구하고 해당 URL에 접근할 수 없는 상황이 발생했을 경우,
문제의 원인을 진단하기 위해 Tomcat의 로그 파일을 검토하는 것이 중요합니다.
로그 파일은 다음 경로에 위치해 있습니다. `/Atlassian/atlassian-crowd-5.1.1/apache-tomcat/logs/`.
해당 디렉토리 내의 로그 파일들은 Tomcat 서버의 작동 상태와 발생한 문제에 대한 상세한 정보를 제공합니다.
로그 파일을 통해 시스템 관리자는 서버 구성, 네트워크 설정, 보안 정책 등과 관련된 문제를 식별하고 해결할 수
있습니다.

 

Crowd 접속 후 Set up Crowd 클릭

 

License key 입력 후 Continue

 

New installation 선택 후 Continue

 

Database configuration은 JDBC connection 선택 후 기존 정보 기입 후 Continue

  • 1: PostgreSQL Server IP
  • 2: Database Name
  • 3: Database user
  • 4: Database Password

 

(선택) Options을 설정합니다.

 - 이 가이드에서는 Deployment title만 변경

 

(선택) Internal directory를 설정합니다.

 - 이 가이드에서는 기본값으로 진행

 

Default administrator 설정 후 Continue

 

Intergrated applications 설정 후 Continue

Crowd OpenID 서버를 활용하면 OpenID를 지원하는 웹사이트에서 표준 Crowd 로그인 메커니즘을 이용하여
사용자 인증을 진행할 수 있습니다. 이는 단일 로그인(Single-Sign-On, SSO) 서비스의 일환으로,
사용자들이 Confluence, Jira, Bitbucket 등과 같은 다양한 Atlassian 제품에 대하여 Crowd를 통해 통합된
인증 절차를 거칠 수 있게 해줍니다. 이러한 접근 방식은 사용자 경험을 향상시키고, 보안을 강화하며,
인증 관리의 효율성을 높이는데 기여합니다. Crowd의 OpenID 서버 기능은 조직 내에서 다양한 애플리케이션의
인증 프로세스를 단순화하고 중앙화하는 데 중요한 역할을 합니다.

 

설치완료

 

 

4. 마무리

Atlassian Crowd의 설치 과정은 간단하며, 본 가이드에 따라 진행하면 설치 과정을 원활하게 완료할 수 있습니다.
Crowd를 활용하면 조직의 사용자 관리 및 애플리케이션 인증 절차를 더욱 효과적으로 수행할 수 있습니다.
이는 IT 인프라의 통합 관리 및 보안 강화에 크게 기여하며, 관리자 및 최종 사용자 모두에게 편리함을 제공합니다.
Atlassian Crowd의 도입을 통해 조직의 인증 관리 프로세스를 최적화하고,
보안 및 효율성을 강화하는 데 중요한 발판을 마련하시기 바랍니다.

반응형