Ubuntu 22.04.03에서 Redmine 5.0 구성하기 [ 1 ]
Redmine 구성 방법은 개인이 요구사항에 맞게 수정되었습니다.
sudo 활성화 된 계정으로 로그인 후 다음 명령을 실행하여 패키지를 설치합니다 :
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install ruby ruby-dev apache2 libapache2-mod-passenger certbot python3-certbot-apache build-essential mysql-server mysql-client libmysqlclient-dev git subversion
SSH를 통한 공개 키 인증으로 관리 계정을 구성합니다 :
$ sudo adduser admin
Adding user `admin’ …
Adding new group `admin’ (1001) …
Adding new user `admin’ (1000) with group `admin’ …
Creating home directory `/home/admin’ …
Copying files from `/etc/skel’ …
New password: '<Enter your admin account password here>'
Retype new password: '<Re-enter your admin account password here>'
passwd: password updated successfully
Changing the user information for admin
Enter the new value, or press ENTER for the default
Full Name []: 'Administrator'
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] 'Y'
그리고 sudo를 통해 계정에 루트 액세스 권한을 부여합니다:
$ sudo usermod -aG sudo admin
각 계정에 고유한 공개/개인 키 쌍을 설정하고 SSH가 공개 키 인증을 사용하도록 강제하는 것이 좋습니다. 또한 클라우드 제공업체의 기본 Ubuntu 설치에 로그인할 수 있는 루트 계정이 포함된 경우 SSH를 통한 루트 액세스를 비활성화해야 합니다.
$ sudo -u admin bash
$ cd
$ mkdir .ssh
$ chmod 700 .ssh
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/admin/.ssh/id_rsa): 'admin_keys'
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/admin/.ssh/id_rsa
Your public key has been saved in /home/admin/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:yCpiV8qk2JUbQn2dsPG+OaCULscmNZSB05+gDCoLQrA admin@localhost
The key’s randomart image is:
+—[RSA 3072]—-+
|o o. o |
|.oo.oo * . |
|Eo.o+oo.+ |
|=.o. =oo |
|+…O.+ S |
|o.+Bo* . o |
|oo=+O + |
|…* . |
| |
+—-[SHA256]—–+
$ mv admin_keys admin_keys.pem
$ tar -cvzf ~/admin_keys.tar.gz admin_keys.pem admin_keys.pub
$ mv admin_keys.pub .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys
$ rm admin_keys.pem
위의 명령어는 관리자 계정이 공개 키 인증을 사용하도록 구성합니다. 공개/개인 키 쌍은 관리자 계정 로그인 디렉토리에 있는 admin_keys.tar.gz 파일에 저장됩니다.
admin_keys.tar.gz 파일을 로컬 시스템에 복사하고 키쌍을 어딘가에 저장해야 합니다. 곧 서버에 로그인하려면 개인 키(.pem 파일)가 필요합니다.
클라우드 제공업체에 따라 공개 키 인증만 허용하도록 보안 셸을 구성해야 할 수도 있습니다. 다음 명령을 사용하여 /etc/ssd/sshd_config 파일을 검토합니다: 하지만 저는 SSH 설정에 대해 아무것도 하지 않았습니다. 아래 설정은 선택사항입니다.
----------------------------------------------------------------------------------------------
$ sudo vi /etc/ssh/sshd_config
다음 줄이 다음과 같이 설정되어 있는지 확인하고 필요한 경우 변경합니다:
PubkeyAuthentication yes
UsePAM no
PermitRootLogin no
PasswordAuthentication no
ChallengeResponseAuthentication no
----------------------------------------------------------------------------------------------
서버의 호스트 이름을 업데이트하고 서버를 재부팅하여 모든 업데이트와 다운로드된 업데이트를 적용합니다.
$ sudo hostnamectl hostname <server name>
# Hostname used is dobby-redmine.
$ sudo hostnamectl hostname dobby-redmine
$sudo reboot
서버가 재부팅되면 관리자 계정과 개인 키를 사용하여 서버에 다시 로그인합니다. Linux 및 MacOS에서는 다음 명령을 사용하여 이 작업을 수행합니다:
$ ssh -i admin_keys.pem admine@<My server>
The authenticity of host ‘redmine.mydomain.com (xxx.xxx.xxx.xxx)’ can’t be established.
ECDSA key fingerprint is SHA256:yCpiV8qk2JUbQn2dsPG+OaCULscmNZSB05+gDCoLQrA.
Are you sure you want to continue connecting (yes/no/[fingerprint])? 'yes'
Warning: Permanently added ‘<my server>’ (ECDSA) to the list of known hosts.
Enter passphrase for key ‘/home/me/admin_keys.pem’: '<enter your passphrase here>'
Last login: Fri Jul 22 17:37:08 2022 from yyy.yyy.yyy.yyy
$
호스팅 제공업체가 AWS와 같이 루트가 아닌 기본 계정을 생성하는 경우 지금 해당 계정을 삭제할 수 있습니다.
$ userdel '<username>'
다음 섹션에는 "Redmin을 위한 Apache 구성"에 대해서 작성하겠습니다.