Cloud환경이 아닌 Self-managed로 Jira를 설치하는 방법에 대해 알아봅니다. 이 글에선 Ubuntu server 20.04 버전에 Jiral를 설치해 보도록 하겠습니다.

 

 

 

0. 사전 준비.

 

Ubuntu server 20.04 환경을 미리 준비합니다.

 

 

 

1. Jira Software 다운로드.

 

여기에서 Jira Software를 다운로드합니다. 서비스될 운영체제에 맞게 다운로드해주시면 되며 이 글에선 Ubuntu server에 설치할 것이므로 Linux 64 bit를 선택해 다운로드해 줍니다.

 

 

다운로드가 끝나면 파일을 서버로 옮겨주세요.

 

 

 

2. Jira 설치.

 

서버로 접속 해 설치 파일을 복사한 경로로 이동합니다.

 

 

다음 명령어로 복사한 설치 파일에 권한을 부여합니다.

 

$ sudo chmod a+x atlassian-jira-software-8.10.0-x64.bin

 

실행 권한이 부여되면 다음 명령어로 설치 파일을 실행시켜줍니다.

 

$ sudo ./atlassian-jira-software-8.10.0-x64.bin

 

 

Jira는 OpenJDK를 필요로 합니다. Y를 입력해 Jira를 설치하면서 OpenJDK가 같이 설치되도록 합니다.

 

 

설치 준비 과정을 잠시 기다린 후 위와 같은 메시지가 나오면 엔터를 눌러줍니다.

 

 

설치 옵션을 골라줍니다. 첫 설치 환경이고  잘 모르겠으면 기본 설정을 사용해 줍시다. 1을 입력하세요.

 

 

앞서 선택한 옵션에 따라 Jira가 설치될 때 참고할 설정입니다. 확인 후 엔터를 눌러주세요.

 

 

설치가 끝나면 Jira를 바로 실행할 건지 묻습니다. 엔터를 눌러 바로 실행시키도록 합니다.

 

 

설치가 완료되었습니다. 이제 나머지 구성을 진행해 봅시다.

 

 

 

3. MySQL 설치.

 

제가 가장 삽질한 부분입니다. 2020.06.25 현재 Ubuntu Server 20.04로 mysql-server를 설치하면 8.0.20 버전이 설치됩니다. 별도 커넥터도 설치하고 구성 파일도 변경해봤으나 이 버전은 Jira에서 자꾸 에러 메시지를 던집니다.

 

공식적인 답변을 확인한 결과 MySQL8의 지원은 Jira 이슈에 공식적으로 등록된 상태이며 6일 전인 2020.06.19에 개발이 시작되었다고 댓글이 달렸습니다.

 

https://jira.atlassian.com/browse/JRASERVER-67359

 

[JRASERVER-67359] Add support for Jira to use MySQL 8 - Create and track feature requests for Atlassian products.

Problem Definition Current versions of Jira support several database types/versions, however Jira does not currently support MySQL 8.0 per the Supported platforms - Atlassian Documentation. For MySQL, only 5.5 -> 5.7 versions are currently supported. It wo

jira.atlassian.com

 

결론적으로 이 글이 작성되는 시점에선 MySQL 8 버전은 지원하고 있지 않으며 적절한 드라이버를 사용해도 Jira는 오류를 반환합니다. 따라서 우리는 5.7 버전의 MySQL을 설치해 보도록 하겠습니다.

 

먼저 현재 리포지토리에 MySQL 5.7 버전이 있나 확인해 봅시다.

 

$ sudo apt-cache mysql-server

 

 

슬프게도 등록되어 있지 않습니다. 그 말은 우리가 별도로 다운로드 해와야 한다는 뜻이죠. 다음 작업을 차근차근 따라 해 봅시다. 먼저 deb 파일을 받습니다.

 

$ sudo wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb 

 

 

받은 deb 파일을 확인하고 실행시킵니다.

 

$ sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb

 

 

위의 명령어를 실행하면 MySQL에 대한 apt 설정을 할 수 있는 화면이 보입니다.

 

 

Ubuntu bionic을 선택합니다.

 

 

MySQL Server & Cluster를 선택합니다.

 

 

MySQL 5.7을 선택합니다.

 

 

구성이 MySQL 5.7로 바뀐 것을 확인한 뒤 OK를 선택합니다. 이후 업데이트 후 다시 MySQL을 검색해 봅니다.

 

$ sudo apt-get update

$ sudo apt-cache policy mysql-server

 

 

이제 5.7 버전이 보입니다. 이 버전을 설치합시다. mysql-client를 설치하지 않고 mysql-community-server를 설치하면 client를 먼저 설치하라는 메시지와 함께 server 설치가 실패합니다. client를 먼저 설치해줍시다.

 

$ sudo apt install -f mysql-client=5.7.30-1ubuntu18.04

$ sudo apt install -f mysql-community-server=5.7.30-1ubuntu18.04

 

server 설치를 수행하게 되면 다음과 같은 화면에 보입니다.

 

 

루트 유저의 비밀 번호를 입력합니다. 설치가 완료되면 다음 명령어로 제대로 5.7 버전이 설치되었는지 확인합니다.

 

$ sudo mysql --version

 

 

 

 

3. MySQL DB 생성.

 

이제 MySQL에 Jira가 사용할 DB와 유저를 생성해 봅시다.

 

다음 명령어로 MySQL에 접속합니다.

 

$ sudo mysql -u root -p

 

 

먼저 Jira를 위한 DB를 생성합니다. 다음 쿼리를 실행시켜 주세요.

 

> CREATE DATABASE jira CHARACTER SET utf8mb4;

 

 

이제 이 DB에 유저를 생성한 뒤 권한을 부여해 줍니다.

 

> CREATE USER 'jira'@'localhost' IDENTIFIED BY 'P@SSWORD';

> GRANT ALL PRIVILEGES ON jira.* TO 'jira'@'localhost';

> FLUSH PRIVILEGES;

 

 

이제 새로 생성한 유저로 다시 mysql에 접속해 확인해 보도록 합니다.

 

$ sudo mysql -u jira -p

> show databases;

 

 

로그인도 정상적으로 되고 DB도 생성된 것을 확인하였습니다.

 

 

 

4. JDBC 설치 및 MySQL 설정 변경.

 

다음으로 Jira가 MySQL에 붙을 수 있도록  MySQL JDBC 드라이버를 설치해야 합니다. 우리는 5.7.30 버전의 MySQL을 설치했으므로 이 버전에 맞는 커넥터를 다운로드하여야 합니다. 여기에서 커넥터를 다운로드하도록 합니다. 이 글을 따라 하셨다면 다음과 같이 설정 후 다운로드하시면 됩니다.

 

 

어떤 걸 다운해도 상관없습니다. 어차피 압축을 풀고 그 내부의 파일을 사용해야 합니다. 다운로드한 파일을 압축 해제 한 뒤 폴더 내에 있는 "mysql-connector-java-5.1.49-bin.jar" 파일만 서버로 옮겨줍니다.

 

이제 이 jar 파일을 jira 설치 경로 내의 lib 폴더로 이동시켜 줍니다.

 

$ ls

$ sudo cp mysql-connector-java-5.1.49-bin.jar /opt/atlassian/jira/lib/

$ ls /opt/atlassian/jira/lib

 

 

그 후 해당 파일에 읽기 권한을 부여합니다.

 

$ sudo chmod 755 /opt/atlassian/jira/lib/mysql-connector-java-5.1.49-bin.jar

 

추가한 커넥터를 사용할 수 있도록 jira를 재시작합니다. jira start/stop 명령어는 jira를 설치한 방식에 따라 달라질 수 있습니다. 아래의 명령어는 linux installer를 통해 설치했을 때 사용할 수 있는 명령어임을 참고해 주세요.

 

$ sudo /etc/init.d/jira stop

$ sudo /etc/init.d/jira start

 

다음은 MySQL의 설정 파일을 변경해 줄 차례입니다. MySQL의 기본 설정값을 사용하게 되면 Jira가 신나게 경고 메시지를 띄워대니 그냥 Jira 설정에 맞춰서 변경합니다.

 

MySQL의 설정 파일은 /etc/mysq/my.cnf입니다. 우선 이 설정 파일의 백업본을 생성해 줍니다.

 

$ cd /etc/mysql

$ sudo cp my.cnf my.cnf.bak

 

 

그 후 my.cnf에 다음 설정을 추가합니다.

 

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_bin
default-storage-engine=INNODB
max_allowed_packet=256M
innodb_log_file_size=2GB
transaction-isolation=READ-COMMITTED
binlog_format=row

 

$ sudo vi my.cnf

 

 

** 만약 my.cnf에 "sql_mode = NO_AUTO_VALUE_ON_ZERO"가 있다면 이 옵션은 삭제해 주세요.

 

설정 파일을 변경하였으면 MySQL을 재시작합니다.

 

$ sudo service mysql restart

 

 

 

5. Jira 초기 설정 및 라이선스 활성화.

 

Jira가 설치된 서버에 8080 포트로 접근하면 다음과 같은 Jira 초기 설정 화면을 확인할 수 있습니다.

 

 

** 우측 상단의 "언어"를 클릭하면 한국어 옵션을 사용할 수 있습니다.

 

"사용자를 위해 설정하십시오."옵션은 별다른 추가 설정 없이 Trial 라이선스로 사용해 볼 수 있도록 해주는 옵션입니다. 이 옵션은 별도의 DB를 사용하지 않고 내장 DB를 사용하며 Atlassian의 계정과 연동해 알아서 설정을 구성해주고 Trial 라이선스를 발급받을 수 있는 화면으로 이동해 바로 라이선스 발급 절차를 진행할 수 있도록 해줍니다.

 

사전 준비사항에 언급한 대로 이 글에선 MySQL을 사용해 구성해 보도록 하겠습니다. "직접 설정하겠습니다"를 선택해주세요.

 

아래와 같이 설정한 DB 및 계정 정보를 입력한 후 테스트 연결 버튼을 클릭해 봅시다.

 

 

 

버튼을 클릭했을 때 아래와 같은 메시지가 보이면 연결에 성공한 것입니다.

 

 

** 만약 드라이버를 못 찾는다면 커넥터를 다시 한번 확인해 주시고 권한을 수정했는지 확인해 주시기 바랍니다.

** 만약 MySQL 5.7+ 설정에 관한 오류가 생기면 my.cnf 파일을 다시 확인해 주시기 바랍니다.

** 위의 두 과정 모두 jira 및 mysql의 재시작이 필요합니다.

 

이제 Jira가 구성될 때까지 느긋하게 기다려주세요.

 

 

왜 다시 영어로 돌아간 건지는 모르겠지만 구성이 완료되면 위와 같은 화면이 보입니다.

 

Application Title은 말 그대로 Jira의 타이틀입니다. 원하는 값으로 설정해 주세요.

Mode는 유저 생성에 관련된 설정값입니다. Private로 선택하면 회원가입이 막히고 Admin이 직접 추가한 유저만 사용할 수 있습니다.

BaseURL은 jira가 서비스될 URL을 입력해 줍니다.

 

 

이제 라이선스 키를 입력해 줄 차례입니다. 여기로 이동해 jira를 구입한 계정으로 로그인 한 뒤 라이선스 정보를 확인합니다.

 

라이선스를 클릭하면 오른쪽에 "License Key View License"와 같은 항목이 있습니다. "View License"를 선택해주세요.

 

 

위에 적혀있는 서버 ID를 입력한 후 Save를 클릭합니다. 그러면 "View License"에 생성된 라이선스 코드가 보이게 됩니다. 이 값을 jira의 "Your License Key"에 붙여 넣어 주고 Next 버튼을 클릭합니다.

 

 

이제 관리자 계정을 생성해 줄 차례입니다. 원하는 대로 생성해 주세요.

 

 

다음은 이메일 알림 관련 설정입니다. 이 내용은 추후 별도의 포스팅으로 다루겠습니다. Later를 선택한 후 Finish 버튼을 클릭합니다.

 

잠시 기다리면 구성이 끝나고 Jira가 시작됩니다. 사용할 언어를 다시 한국어로 변경합니다. 마지막으로 아바타 설정을 마치면 이제 Jira를 사용할 수 있습니다!

 

 

이제 "샘플 프로젝트 생성"을 선택해서 미리 잘 짜여 있는 예시를 볼 수도 있고 "새 프로젝트 만들기"를 선택해서 바로 자신만의 프로젝트를 구성할 수도 있습니다.

 

 

 

 

 

 

 

이번에 JIRA 사용을 테스트해 볼 일이 생겨 MySQL을 설치할 일이 생겼습니다. 이 글에서 Ubuntu Server 20.04에 MySQL을 설치하는 방법에 대해 알아봅니다.

 

 

 

0. 사전 준비

 

미리 Ubuntu Server 20.04 환경을 준비해 둡니다.

 

 

 

1. MySQL 설치.

 

다음 명령어로 서버에 MySQL을 설치합니다.

 

$ sudp apt-get update

$ sudo apt-get install mysql-server

 

 

 

2. MySQL Secure Installation 실행.

 

MariaDB와 다르게 MySQL은 apt-get 설치후에 추가 설치 과정이 필요합니다. 다음 명령어로 Secure intallation을 진행합니다.

 

$ sudo mysql_secure_installation

 

 

암호 검증에 관한 물음입니다. Y를 입력해 줍시다.

 

 

암호 복잡도에 관한 정책입니다. 2를 입력해 줍니다.

 

 

루트 계정의 암호를 입력해줍니다. 입력한 암호의 보안 강도가 측정되며 이 값을 사용할 것인지 묻습니다. Y를 입력합니다.

 

 

MySQL은 기본으로 익명의 유저를 갖으며 배포 환경에선 이 유저를 지워야 합니다. 아예 설정에서부터 지우도록 합니다. Y를 입력합니다.

 

 

일반적으로 root유저는 localhost에서만 접속이 가능합니다. 이 부분은 사용 환경에 맞춰서 진행해 주세요. 전 JIRA에서만 사용할 용도로 설치하기 때문에 Y를 입력해 원격지에서 접속을 막도록 하겠습니다.

 

 

MySQL은 기본적으로 누구나 접근 가능한 "test" DB를 생성합니다. 이 DB 역시 배포 환경에선 지워져야 할 대상이므로 설정에서부터 지우도록 합니다. Y를  입력합니다.

 

 

테이블 권한을 다시 불러와 줍니다. Y를 입력합니다.

 

이제 모든 설정이 끝났습니다. 다음 명령어로 직접 MySQL에 접속해 봅니다.

 

$ sudo mysql -u root -p

 

 

정상적으로 DB에 접속되는것을 확인할 수 있습니다.

 

 

 

 

 

 

Ubuntu server 20.04에 Redmine을 설치하는 법에 대해 알아봅니다.

 

 

 

0. 사전 준비.

 

우분투 서버를 미리 설치해 둡니다. 우분투 서버에 접속 해 apt-get update를 진행해 주세요.

 

 

 

1. MariaDB 설치 및 Database 구성.

 

Redmine은 MariaDB를 사용합니다. Redmine 설치에 앞서 MariaDB를 설치해 줍시다.

 

$ sudo apt-get install mariadb-server

 

MariaDB가 설치되면 이제 Database를 생성해줍시다.

 

$ sudo mysql -u root -p

> CREATE DATABASE redmine CHARACTER SET utf8mb4;

 

 

DB 생성 후 redmine DB에 유저를 생성한 뒤 권한을 부여해 줍니다.

 

> GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'P@SSWORD';

> FLUSH PRIVILEGES;

 

 

생성한 유저로 로그인해서 DB가 제대로 생성되었는지 확인합니다.

 

$ mysql -u redmine -p

> SHOW DATABASES;

 

 

 

 

2, Apache 설치.

 

Redmine을 서비스하기 위해 필요한 제품을 설치합니다.

 

$ sudo apt-get install apache2 libapache2-mod-passenger

 

 

 

3. Redmine 설치.

 

이제 Redmine을 설치합니다.

 

$ sudo apt-get install redmine redmine-mysql

 

설치를 진행하다 보면 "Configuring redmine" 화면이 나타납니다. 설정을 진행해 줍시다.

 

OK를 선택합니다.

 

Yes를 선택합니다.

 

 

관리자 암호를 입력해줍니다.

 

 

다시 한번 입력하도록 합니다. 이후 설치가 완료되면 다음 명령어를 통해 bundler를 설치합니다.

 

$ sudo gem update

$ sudo gem install bundler

 

 

설치 완료 후 Apache passenger 모듈의 설정 파일을 다음과 같이 수정합니다.

 

$ sudo 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>

 

 

이제 www에 Redmine의 심볼릭 링크를 생성해 줍니다.

 

$ sudo ln -s /usr/share/redmine/public /var/www/html/redmine

 

 

 

4. Apache2에 Redmine 구성파일 생성.

 

/etc/apache2/sites-available 폴더에 Redmine.conf 파일을 생성 한 뒤 다음과 같이 작성합니다.

 

$ sudo vi /etc/apache2/sites-available/redmine.conf

<VirtualHost *:80>
  ServerAdmin admin@example.com
  DocumentRoot /var/www/html/redmine
  ServerName projects.example.com
  ServerAlias www.projects.example.com
  <Directory /var/www/html/redmine>
    RailsBaseURI /redmine
    PassengerResolveSymlinksInDocumentRoot on
  </Directory>

  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

 

 

만약 도메인 이름을 아직 정하지 못했거나 없다면 위의 방식 대신 아래의 방식을 사용해 IP주소를 통해 Redmine에 액세스 할 수 있습니다.

 

위와는 다른 000-default.conf 파일을 수정합니다.

 

$ sudo vi /etc/apache2/sites-available/000-default.conf

 

<VirtualHost *:80>
  ServerAdmin webmaster@localhost
  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>

 

 

이제 Apache의 www-data 사용자가 액세스 할 수 있도록 Gemfile.lock을 생성하고 권한을 부여해 줍니다.

 

$ sudo touch /usr/share/redmine/Gemfile.lock

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

 

구성 파일대로 Redmine을 활성화합니다.

 

$ sudo service apache2 restart

 

이제 호스트나 IP주소를 입력해 웹사이트로 이동해 봅시다.

 

 

정상적으로 Redmine이 활성화된 것을 확인할 수 있습니다. 이제 Redmine에서 프로젝트에 대한 설정을 한 뒤 사용하시면 됩니다.

 

기본 Admin계정 및 암호는 admin/admin입니다.

 

 

 

 

 

 

우분투 서버에서 ssh의 기본 포트인 22번 대신 다른 포트를 사용하는 방법에 대해 알아봅니다.

 

 

 

0. 사전 준비.

 

이 글은 우분투 서버 20.04를 기준으로 작성되었습니다. 당연히 해당 서버에 미리 ssh가 설치되어 있다는 전제로 작업이 진행됩니다.

 

 

 

1. ssh 포트 변경.

 

ssh에 접속할 때 사용하는 포트는 설정 파일에 기재되어 있습니다. 다음 명령어를 통해 설정 파일을 수정합니다.

 

$ sudo vi /etc/ssh/sshd_config

 

설정파일을 열면 바로 포트 정보를 확인할 수 있습니다.

 

 

우리는 여기에 기본값인 22 대신 원하는 값을 넣어 준 뒤 저장하도록 합니다.

 

 

 

 

2. ssh 재시작

 

변경된 설정파일을 적용하기 위해 ssh를 재시작해 줍니다.

 

$ sudo service sshd restart

 

 

 

3. 접속 확인.

 

terminal이나 putty와 같은 프로그램을 이용해 접속을 시도해 봅니다.

 

 

기본 포트로 접속시 위와 같은 메시지를 확인할 수 있습니다.

 

 

변경된 포트로 접속시 정상적으로 접속되는 것을 확인할 수 있습니다.

 

 

 

 

 

 

Ubuntu OS에 Postgresql을 설치하는 방법에 대해서 알아봅니다.

 

 

 

1. Ubuntu OS 준비.

 

Ubuntu OS를 미리 준비합니다. 이 글에서는 ubuntu server 18.04.3 버전을 사용합니다. 

Postgresql 공식 홈페이지의 설명에 따르면 Postgresql은 Ubuntu 16.04, 18.04 이상의 버전을 요구합니다.

우분투 설치 방법에 대해서는 별도로 다루지 않습니다.

 

 

 

2. Postgresql 설치 버전 확인.

 

우선 다음 명령어를 통해 현재 사용 가능한 postgresql 버전을 확인합니다.

 

$ apt show postgresql

 

 

버전 정보가 보이시나요? 현재 posrgresql로 설치하면 postgresql 10 버전이 설치됩니다.

만약 별다른 추가 작업 없이 그냥 pgsql10 버전을 설치하고 싶다면 다음 명령어로 바로 설치할 수 있습니다.

 

$ sudo apt install postgresql postgresql-contrib

 

하지만 아래의 Postgresql 공식 홈패이지 우분투 배포 정보 페이지를 보면 글 작성 시점에 10 버전보다 최신 버전이 이미 배포되어 있습니다.

 

 

이제 postgresql-11의 apt정보를 봐 볼까요?

 

$ sudo apt show postgresql-11

 

 

안타깝게도 postgresql 10 이후의 버전은 별도의 리포지토리 등록 작업이 필요합니다.

 

 

 

3. Postgresql 설치를 위한 리포지토리 등록.

 

우선 pgdg.list 파일을 만든 후 다음 내용을 추가해 줍니다.

 

deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main

 

 

 

그런 후 다음 명령어를 통해 GPG키를 추가합니다.

 

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

 

마지막으로 업테이트를 수행해 줍니다.

 

$ sudo apt-get update

 

 

이제 진짜 postgresql의 최신 버전을 사용할 수 있는지 확인해 봅시다.

 

$ sudo apt show postgresql

 

 

 

4. Postgresql 설치.

 

이제 현재 사용할 수 있는 최신버전의 postgresql-12를 설치해 보도록 합니다.

 

다음 명령어를 통해 postgresql을 설치합시다.

 

$ sudo apt-get install postgresql postgresql-contrib

 

 

** postgresql-contrib이란?

postgresql-contrib 또는 contrib 패키지는 핵심 PostgreSQL 패키지의 일부가 아닌 일부 추가 유틸리티와 기능으로 구성됩니다. 대부분의 경우 PostgreSQL 코어와 함께 contrib 패키지를 설치하는 것이 좋습니다.

 

이제 다음 명령어로 postgresql이 정상적으로 설치, 동작하는 것을 확인할 수 있습니다.

 

$ service postgresql status

 

 

 

 

 

 

 

우분투 서버 18.04.3에 OpenLDAP를 설치해 봅니다.

 

 

 

1. OpenLDAP 설치.

 

다음 명령어를 통해 OpenLDAP를 설치합니다.

 

$sudo apt-get update

$sudo apt-get install slapd ldap-utils

 

 

설치를 하다 보면 다음과 같이 관리자 패스워드를 입력하라는 창이 나옵니다.

 

 

놀라지 말고 관리자 암호를 입력해주면 됩니다. 이 암호는 추후에 변경할 수 있습니다.

 

 

 

2. 설정 재구성

 

설치하면서 설정할 수 있는 값은 관리자 암호밖에 없습니다. 따라서 패키지를 설치한 후 재설정 과정을 진행합니다.

 

다음 명령어를 통해 설정을 재구성 합니다.

 

$sudo dpkg-reconfigure slapd

 

 

"No"를 선택합니다.

 

 

LDAP 디렉터리의 base DN 값을 설정하기 위한 DNS 이름을 넣습니다.

 

 

조직 이름을 입력합니다.

 

 

관리자 암호를 입력합니다.

 

 

사용할 DB 유형을 고릅니다. MDB를 권고하고 있습니다. 

 

 

slapd를 제거했을 때 DB 정보를 지울 것인지 정합니다. "No"를 선택합니다.

 

 

해당 경로에 이미 DB가 존재할 때 기존 DB를 이동시킬지 여부입니다. "Yes"를 선택합니다.

 

 

다음 명령어를 통해 설정한 대로 반영되었는지 확인해봅시다.

 

$sudo slapcat

 

정상적으로 재설정이 끝났습니다.

 

 

 

3. 관리용 GUI툴 사용: LDAPAdmin

 

LDAP의 모든 작업은 CLI로 가능합니다만 윈도 환경에 익숙한 우리에게 GUI를 지원해주는 툴이 있는데 안쓰는건 바보같은 짓입니다.

 

윈도우 환경에서 사용할 수 있는 LDAPAdmin을 사용해 봅시다.

 

여기에서 LDAPAdmin을 다운로드합니다.

 

압축을 풀고 LDapAdmin.exe를 관리자 권한으로 실행합니다.

 

** 우클릭 후 속성 > 호환성 > 관리자 권한으로 이 프로그램 실행 체크박스를 체크해 둡시다.

 

 

Start > Connect > New connection을 선택합니다.

 

호스트 정보와 포트 정보를 입력하고 Fetch DNs버튼을 누르면 자동으로 BaseDN을 불러옵니다.

 

 

계정 정보에 "cn=admin"을 적고 BaseDN을 뒤에 적어줍니다. 초기 설정에 입력한 패스워드를 입력한 후 TestConnection 버튼을 눌러봅시다.

 

 

위와 같은 화면이 보이면 정상적으로 접속이 된 것입니다.

 

* Referenced: OpenLDAP을 활용한 기반 시스템 중앙 인증관리

 

 

 

 

 

CI/CD를 위해 Ububtu server 18.04.3에 Jenkins를 설치해 봅시다.

 

 

 

1. 저장소 등록

 

Jenkins를 Debian 계열의 리눅스에 설치하기 위해선 시스템에 키를 먼저 추가해야 합니다.

 

다음 명령어를 통해 Jenkins 패키지 저장소 키를 추가합니다.

 

$wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -

 

 

OK를 확인한 후 명령어를 통해 /etc/apt/sources.list에 다음 항목을 추가해야 합니다.

 

deb https://pkg.jenkins.io/debian-stable binary/  

 

다음 명령어를 통해 작업을 진행합시다.

 

우선 혹시 모를 상황을 대비해서 백업 파일을 만들어둡시다.

 

$sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

 

 

이제 다음 명령어를 통해 deb를 추가해 줍니다.

 

$echo "deb https://pkg.jenkins.io/debian-stable binary/" | sudo tee -a /etc/apt/sources.list 

 

 

잘 추가되었나 파일을 확인해 봅시다.

 

$vi /etc/apt/soucres.list

 

 

맨 아래 추가된것을 확인했다면 업데이트를 진행해 줍니다.

 

$sudo apt-get update

 

 

우리가 추가한 jenins.io에 대한 내용이 보이면 제대로 완료된 겁니다.

 

 

 

2. 자바 설치

 

슬프게도 Jenkins는 모든 Java 버전을 지원하지 않습니다. 따라서 명시적으로 Java를 설치해야 하는 과정이 필요합니다. 귀찮기는 하지만 시스템이 올바르게 구성되도록 하는 가장 안전한 방법이라고 합니다. 

 

대표적인 자바 요구사항은 다음과 같습니다.

  • 2.164 (2019-02) and newer: Java 8 or Java 11
  • 2.54 (2017-04) and newer: Java 8
  • 1.612 (2015-05) and newer: Java 7

 

현 포스팅 시점을 기준으로 2.204.1 버전의 Jenkins가 최신이므로 JAVA 11을 설치합니다. 더 자세한 내용은 여기서 확인해 주시기 바랍니다.

 

다음 명령어를 통해 JAVA11을 설치합니다.

 

$sudo apt install openjdk-11-jdk 

 

 

완료 후 자바 버전을 확인해 봅시다.

 

$java -version

 

 

이제 자바도 정상적으로 설치하였으니 Jenkins를 설치해 봅시다.

 

 

 

3. Jenkins 설치.

 

다음 명령어를 통해 Jenkins를 설치합니다.

 

$sudo apt-get install jenkins

 

 

설치가 완료되면 http://server-host:8000/으로 접속해 봅시다.

 

다음과 같은 화면이 보인다면 정상적으로 설치된겁니다.

 

 

 

 

4. Jenkins 활성화

 

이제 웹 UI의 절차를 따라 Jenkins를 활성화하면 됩니다.

 

다음 명령어로 관리자 암호를 확인한 후 UI에 적어줍시다.

 

$sudo cat /var/lib/jenkins/secrets/initialAdminPassword

 

이다음엔 Jenkins를 커스텀할 수 있는 화면이 나옵니다.

 

 

미리 구상해둔 설정이 있는 게 아니므로 우선 추천 플러그인을 설치하도록 하겠습니다.

 

설치가 완료되면 관리자 계정을 만들어 줍시다.

 

 

다음은 URL을 설정하는 화면입니다.

 

 

전 기본값으로 설정한 채 넘어갔으며 만약 당장 설정하고 싶지 않다면 우측 아래의 Not now를 눌러주시면 됩니다.

 

 

드디어 Jenkins를 사용할 준비가 되었습니다.

 

 

 

 

 

 

 

우분투 서버 18.04.3에 Rabbit MQ를 설치해 봅니다.

 

 

 

1. Rabbit MQ 설치.

 

다음 명령어를 통해 Rabbit MQ 서버를 설치합니다.

 

$ sudo apt-get install rabbitmq-server

 

 

별문제 없이 설치가 진행됩니다.

 

 

 

2. Management Plugin 활성화

 

RabbitMQ에서는 여러 가지 기능을 플러그인의 형태로 제공합니다. 

 

Management Plugin은 관리 UI와 외부 모니터링 시스템을 제공해 주는 플러그인으로 사실 RabbitMQ를 설치하면 기본으로 같이 설치됩니다. 다만 기본값은 disabled상태이므로 명시적으로 enable 시켜야 합니다.

 

다음 명령어를 통해 Management Plugin을 활성화시킵니다.

 

$ sudo rabbitmq-plugins enable rabbitmq_management

 

 

정상적으로 활성화되었나 확인하기 위해 웹 UI로 들어가 봅시다.

 

http://server-host:15672/ 로 한번 접속해 보시기 바랍니다.

 

 

위와 같은 웹페이지가 보인다면 정상적으로 플러그인이 활성화된 겁니다.

 

Management Plugin에 대해 더 많은 정보는 여기서 확인해 보시기 바랍니다.

 

 

 

3. 접속

 

Rabbit MQ는 기본적으로 guest 계정을 준비해 줍니다. 한번 웹 UI를 통해 로그인을 시도해 봅시다. 

 

기본 계정 정보는 guest/guest입니다.

 

 

어떤 분은 로그인이 되었을것이고 어떤분은 위와 같이 Login failed 메시지와 함께 로그인에 실패했을 겁니다.

 

기본적으로 guest 계정은 localhost에서만 로그인이 가능합니다. 따라서 외부에서 접속을 하기 위해서는 별도의 관리자 계정을 새로 생성해주어야 합니다.

 

 

 

4. 계정 생성

 

다음 명령어를 통해 새로운 관리자 계정을 생성해 봅시다.

 

$sudo rabbitmqctl add_user admin 12345

 

 

그 후 다음 명령어를 통해 생성된 유저를 관리자로 위임해줍니다.

 

$sudo rabbitmqctl set_uset_tags admin administrator

 

 

만약 유저를 잘못 생성했다면 다음 명령어로 지우시면 됩니다.

 

$sudo rabbitmqctl delete_user admin

 

 

 

 

5. 접속

 

이제 위에서 생성한 계정으로 접속해 봅시다.

 

 

큰 노력 없이도 훌륭한 관리자 페이지를 확인할 수 있습니다.

 

 

 

 

 

 

  1. 인포렉스 2020.07.01 20:33

    좋은 글 감사합니다.

    계정생성에서 권한 넣는 부분에 오타가 있어요.

    set_uset_tags -> set_user_tags

 

우분투 서버 18-04.3 버전에 docker-compose를 설치해 봅니다.

 

 

 

1. docker-compose 설치하기

 

GitHub의 Compose 저장소 릴리스 페이지에서 Docker Compose 바이너리를 다운로드할 수 있습니다.

터미널에서 curl 다음 명령을 실행하여 바이너리를 다운로드해봅시다.

 

$sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

 

 

** 만약 다른 버전을 사용하고 싶으시다면 "1.26.0"을 원하는 버전으로 변경해서 다운 받으시면 됩니다.

** 만약 알파인(alpine) 버전을 다운 받았다면 py-pip, python-dev, libffi-dev, openssl-dev, gcc, libc-dev, make의 추가 패키지가 필요할 수 있습니다.

 

 

20.02.14 추가 내용

 

정확한 원인은 알 수 없으나 1.25.0 버전을 위와같이 설치하면 계속 CURL 에러가 발생합니다. 만약 반드시 1.25.0 버전이 필요한 경우가 아니라면 다음 명령어를 통해 설치하는것을 추천드립니다.

 

$sudo curl -L https://github.com/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose 

 

 

 

2. 권한 부여

 

정상적으로 다운받았다면 다음 명령을 실행 해 바이너리에 권한을 부여합니다.

 

$sudo chmod +x /usr/local/bin/docker-compose

 

 

** 만약 명령이 실패한다면 docker-compose의 경로를 확인해 주세요.

 

 

 

3. 설치 확인

 

정상적으로 설치되었는지 다음 명령어로 확인해 봅니다.

 

$docker-compose --version

 

 

 

 

** 수정. 

2020.06.28 docker compose 버전을 1.2.5에서 1.2.6으로 변경.

 

 

우분투에서 도커 설치하기

 

우분투에서 도커CE버전을 설치해 봅니다.

우분투는 Ubuntu-server-18.04.2 버전을 사용했습니다.

 

 

 

쉘 스크립트를 이용한 도커 설치

 

2020.04.14. 추가.

 

마침 도커를 다시 설치할 일이 생겼습니다. 기존에 포스트를 보니 여러 복잡한 과정을 거쳐서 설치를 하도록 안내되어 있어 간단한 설치방법을 알려드립니다.

 

아래의 명령어를 실행시키면 바로 도커가 설치됩니다.

 

curl -fsSL https://get.docker.com/ | sudo sh

 

우분투 버전은 본 글 그대로인 18.04.2버전을 사용하였습니다.

 

 

 

도커 저장소 사용을 위한 패키지 설치

 

도커CE를 설치하기 전에 도커 저장소를 설정해야 합니다. 저장소 설정전에 필요한 패키지들을 설치합니다.

$sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

위의 명령어를 통해 필요한 패키지들을 설치합니다.

 

 

도커 저장소 설정

 

도커의 공식 GPG키를 추가합니다.

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

 

정상적으로 처리되었는지 핑거프린트를 확인해 봅니다.

전체 핑거프린트는 다음과 같습니다: 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88

여기서 마지막 8자리를 이용해 핑거프린트를 확인합니다.

$sudo apt-key fingerprint 0EBFCD88

 

핑거프린트를 확인 후 도커 저장소를 설정합니다

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

 

 

저장소 설정 후 apt-get update를 잊지 마세요.

 

도커 CE 설치

 

$ sudo apt-get install docker-ce docker-ce-cli containerd.io

위의 명령어를 통해 도커 CE를 설치합니다.

 

설치 완료후 버전을 확인해 봅니다.

$ docker --version

 

+ Recent posts