Linux

Installation CentOS Server

Last edited 173 days ago by 김준성

I. 설치

1. Linux 설치

1.1 설치 전 준비사항

H/W
당사가 제공하는 제안서에 기재되어 있는 서버 최소 사양은 Xeon 1.9Ghz(6Core) 이상의 CPU와 RAM 32GB 이상, 4TB 이상의 하드 용량을 권장한다.
S/W
Safe.PrivacyKeeper server는 Redhat Linux계열, 윈도우 계역 서버에서 동작이 가능하며 기본적으로 FTP서버 및 GCC Library가 설치 되어 있어야 한다. 다만 컴파일 할 상황이 발생 되지 않는다면 GCC Library는 설치 하지 않아도 무방하다.
OS
2023년 10월 기준으로 당사가 서버에 설치하는 OS는 Rocky 8 버젼이 되었다. 세부 버젼에 대한 언급은 아직 확실하지는 않다. 하단의 링크에 접속하여 이미지를 다운.
이 글은 2023년 11월 기준으로 macOS기반에서 작성 되고 있다. 윈도우 기반의 설치 예정이라면 OS가 가지는 다른점을 충분히 숙지 하기를 바란다.

1.2 설치 절차

‘Install Rocky Linux x.x’ 를 선택
image.png
한국국적과 한국언어를 선택하고 ‘계속 진행'을 클릭
image.png
설치요약 /시스템/ 설치목적지를 선택합니다.
image.png
설치 목적지는 Local의 스토리지 이외에 다른 곳에 설치하는 것이 아니기 때문에 내부에 있는 Local스토리지에 타게팅이 되어 있는 것을 확인 하고 완료를 눌러 페이지를 나옵니다.
image.png
설치요약/ 사용자설정 / root비밀번호를 선택합니다.
image.png
Root 비밀번호에서 ‘qwe123!@#’설정한뒤 다시 ‘완료'버튼을 눌러 창을 빠져 나옵니다.
image.png
설치요약에서 소프트선택을 합니다.
image.png
기본환경에서 ‘서버'를 선택하고 우측 박스의 ‘선택 환경을 위한 추가 소프트웨어'에서 ‘GNOME’과 ‘개발용 툴'에서 왼쪽 체크박스를 선택하고 창 왼쪽 상단의 ‘완료'를 눌러 나옵니다.
image.png
설치요약에서 ‘네트워크와 호스트 이름'을 선택합니다.
image.png
‘네트워크 및 호스트 이름’ 창의 하단의 호스트 이름 입력란에 ‘spk’를 넣고 오른쪽 ‘적용'버튼을 누릅니다. 완료 후 상단 오른쪽 ‘이더넷(ens160)’ 우측의 ‘끔'버튼을 눌러 네트워크를 활성화 합니다.
image.png
‘연결 해제됨'에서 ‘연결됨'으로 바꾸고 버튼도 ‘끔'에서 ‘켬'으로 바뀐것을 확인합니다. 또한 우측 하단의 ‘현재 소스트 이름'이 spk로 바뀐것을 확인합니다. (이더넷의 상태는 물리적 연결상태과 기본 설정값에 의해서 ‘연결됨'으로 안될 수도 있습니다.) 이후 ‘설정' 버튼을 클릭합니다.
image.png
설정버튼이 실행면 인터넷 세부설정이 가능한 팝업창이 생깁니다. 탭을 ‘IPv4’선택합니다. ‘Method’는 ‘수동'으로 선택하면 창 오른쪽에 ‘Add’라는 버튼이 활성화 됩니다. ‘Add’  버튼을 클릭하면 주소 박스에 수동으로 직접 네트워크 주소를 입력할수 있습니다. 이 곳에는 고객사의 SPK Web Server IP주소정보 및 DNS서버를 입력하고 “저장’을 클릭하여 팝업창을 닫을 수 습니다.
image.png
네트워크 및 호스트 이름 참으로 돌아오면 완료를 눌러 나옵니다.
image.png
설치요약에서 ‘시간과 날짜’를 선택합니다.
image.png
시간 및 날짜에서 ‘지역'은 ‘아시아', ‘도시'는 ‘서울’로 선택하고 우측의 ‘네트워크 시간'의 버튼을 눌러 활성화 합니다. 설정을 마친 후 좌측 상단의 ‘완료'를 눌러 나옵니다.
image.png
모든 설정이 완료되면 우측 하단의 ‘설치 시작' 버튼을 클릭합니다.
image.png
모든 설치가 완료 될때 까지 기다립니다.
image.png
설치가 모두 완료되면 설치 DVD를 제거하고 ‘시스템제시작' 버튼을 클릭 합니다.
image.png

1.3 OS 설정

Sudo 권한 추가하기
sudo 명령어는 현재 계정에서 root 권한을 이용하여 명령어를 실행할 때 사용합니다. 사용자가 새로 생성될 때 기본적으로 sudo의 사용권한이 부여 되지 않습니다. 따라서 alpha에서 root로 전한환 뒤 권한을 부여할 수 이는 Sudoers 파일을 수정하여 임의의 계정에 sudo 사용권한을 부여합니다.
‘root’로 로그인
image.png
/etc/sudoers 파일 소유주에게 ‘w( write)’ 권한을 부여.
image.png
/etc/sudoers 파일을 열기
스크립트에서 ‘#Allow root to run any commands anywhere.’
image.png
‘ / ’를 누르고 찾을 검색어를 입력후 엔터를 처서 첫검색어가 있는 줄로 이동

‘ i ’를 눌러 입력모드로 전환한 뒤, ‘root ALL=(ALL) ALL’밑에 줄에 다음과 같이 입력한다
image.png
‘ :wq ’를 입력하고 ‘ vi ’ 모드에서 나온다. 잘 안될 경우 ‘ ! ‘를 붙여 입력한다.
sudo 권한으로만 가능한 명령어를 입력해 테스트 한다.
image.png
방화벽 설정
spk는 5432, postgre는 20000 port를 사용합니다. 방화벽에서 해당 포트 상태를 확인하고 닫혔을 경우에는 서버에서 사용이 가능 하도록 열어줍니다.
다음의 명령어 실행한 후 빈줄이 나온다면 아직 설정이된 포트가 없다는 뜻이다.
firewall의 port설정을 확인하고 나면, 상태에 따라 위에서 언급했던 5432, 20000 port를 열어줍니다.
구문해석
sudo: 명령어를 관리자 권한으로 실행하도록 하는 명령어입니다. 관리자 권한이 필요한 작업을 수행할 때 사용합니다.
firewall-cmd: firewalld라는 리눅스 방화벽 관리 도구의 명령어입니다. 이를 통해 방화벽 설정을 변경하고 관리할 수 있습니다.
--permanent: 영구적인 설정을 변경한다는 옵션입니다. 이 옵션을 사용하면 재부팅 후에도 설정이 유지됩니다.
--zone=public: 방화벽 규칙을 적용할 존(Zone)을 지정하는 옵션입니다. 이 경우, public 존에 규칙을 추가하고 있습니다. 존은 네트워크 인터페이스의 보안 수준을 나타냅니다.
--add-port={5432,20000}/tcp: 지정한 포트들(5432와 20000)을 TCP 프로토콜을 통해 허용하도록 하는 옵션입니다. 중괄호({}) 안에 쉼표로 구분된 포트들을 나열하여 한 번에 여러 포트를 추가할 수 있습니다.
완료 하면 ‘--reload’ 옵션을 사용해서 firewall을 재시작을 한다음 ‘--list-ports’로 서비스 되고 있는 포트를 확인합니다.
image.png

2. JDK 설치

2.1 설치 진행 및 확인사항

JDK(Java Development Kit)는 Java환경 기반으로 만들어진 Safe.PrivacyKeeper Web Server를 구동하는데 꼭 필요한 툴입니다. 반드시 설치 해야 합니다.
Root로 로그인이 성공하면 ‘javac -version’를 눌러 ‘JDK’ 의 설치 유무를 확인합니다.
image.png
이 메뉴얼에서는 JDK8.261버젼을 사용합니다. Local PC다 Sever과 같은 네트워크에 있거나, ssh통신이 가능한 상태라면 scp명령어를 사용해서 server의 alpha사용자폴더에 셋업파일을 보냅니다.
image.png
전송 완료후 Server에 Prompt에서 받은 파일을 검색
image.png
파일 확인 완료후 rpm명령어를 통해 실행
image.png

2.2 추가 설정

설치된 JDK 폴더 위치를 “/usr/java에서 “/usr/local/java”로 변경합니다.
Screenshot 2023-11-07 at 10.29.43.png
JDK 환경 변수 변경 리눅스 어플이케이션 환경 변수에 JDK환경 변수를 변경하기 위하여 “etc/profile”를 수정합니다. 시스템 시작 시 자동으로 JDK가 진행되도록 변경합니다.
etc/profile 접속
스크립트 맨 아래에 JDK의 환경변수를 입력하고 :wq 를 눌러서 빠져나옵니다.
image.png

변경한 값을 적용하기
버젼 확인

2.3 현장에서

실제 서버에 구축시 외부와 연동(타자 제품과 한서버 안에서 작동이 될때), 각가의 서비스 마다 개별적으로 사용하는  JAVA의 버젼 충동이 발생되는 것을 방지하기 위하여 /usr/local/java 폴더를 통째로 “[java version name].로 압축하여 ‘/home/alpha/’의 경로에 압축 해제를 합니다.
준비된 파일을 /home/alpha/에 복사하여 준비 합니다.
.tar나 .zip으로 압축되어 있는 파일을 Extract(압축해제)합니다.
image.png
JDK 환경변수 변경 위의 rpm기준으로 설치할 때 환경변수한 것과 같이 “/etc/profile”를 수정합니다. 수정하기전 jdk[version]이 있는 폴더의 경로를 먼저 파악한 후, profile의 JAVA 설정 위치 스크립트에 반영합니다.
image.png
image.png
입력을 마치면 ‘:wq’입력하고 밖으로 나옵니다.
변경된 profile 파일 값을 적용합니다.
image.png
자바 버젼을 확인 합니다.
image.png

3. PostgreSql 설치

3.1 설치

생각해보기
yum, dnf를 활용해서 하는 것은 서버가 퍼블릭 인터넷과 연결이 되어 있을 때만 가능하다. 하지만, 현장에서 서버를 구축할때는 외부 인터넷이 폐쇠된 서버에서 작업을 하는 경우가 많은데 이럴때, rpm파일(수동으로 설치 가능)로 설정해 줄수 했다. 서버 설치 하기 전에 프로그램의 버젼에 대해서 상세히 체크를 하고 알맞는 파일들이 준비가 되는지 확인하자.
설치 관련 링크
버젼과 설치하는 OS에 따른 절차를 확인할수 있다.
여기서는 다음과 같은 조건으로 설명한다.
Postgresql version : 15
Plaftfoem : Red Hat Enterprise, Rocky, or Oracle version 8
achitecture: x86_64
설치할 Postgresql의 rpm파일을 확보한다.
사내에서 파일 위치
\\192.168.0.42\alpha\0007. 김준성\교욱\RockyLinux_Server\tmp\spk_tmp\program\pgsql
image.png
확보한 파일을 현재 위치에서 프롬프트로 전환
4개의 설치 파일을 실행
postgresql15-libs-15.3-2PGDG.rhel8.x86_64.rpm:
역할: PostgreSQL 15 라이브러리 패키지
설명: PostgreSQL 라이브러리는 PostgreSQL 데이터베이스 서버 및 관련 애플리케이션에서 사용되는 핵심 라이브러리를 제공합니다. 이 패키지는 PostgreSQL 데이터베이스에 연결하고 데이터를 다루는 데 필요한 라이브러리 파일을 포함하며, PostgreSQL 클라이언트 및 응용 프로그램에서 이 라이브러리를 사용합니다.
postgresql15-15.3-2PGDG.rhel8.x86_64.rpm:
역할: PostgreSQL 15 서버 패키지
설명: 이 패키지는 PostgreSQL 15 데이터베이스 서버를 설치합니다. PostgreSQL 데이터베이스 서버는 데이터베이스 관리 및 쿼리 처리를 담당하며, 데이터의 저장 및 검색을 가능하게 합니다.
postgresql15-server-15.3-2PGDG.rhel8.x86_64.rpm:
역할: PostgreSQL 15 서버 구성 및 설정 파일 패키지
설명: 이 패키지는 PostgreSQL 데이터베이스 서버를 구성하고 설정하는 데 필요한 설정 파일 및 도구를 제공합니다. PostgreSQL 서버의 구성과 동작을 조정하고 데이터베이스를 백업하거나 복원하는 데 사용되는 도구가 여기에 포함됩니다.
postgresql15-contrib-15.3-2PGDG.rhel8.x86_64.rpm:
역할: PostgreSQL 15 추가 모듈 및 확장 패키지
설명: 이 패키지는 PostgreSQL 데이터베이스에 추가적인 기능과 확장을 제공하는 모듈과 패키지를 포함합니다. 예를 들어, 다양한 데이터 유형 및 함수, 외부 언어 지원, 그리고 고급 기능을 확장하는 모듈이 여기에 포함될 수 있습니다.
TrebleShooting
Screenshot 2023-11-07 at 17.56.01.png
위는 ‘postgresql15-15.3-2PGDG.rhel8.x86_64.rpm’ file이 lz4 프로그램에 종속되어 있다는 말이다. 에 접속하여 Rocky Linux8에 맞는
rpm으로 설치한 Postgres 확인
image.png
기본 Database 생성
image.png
현장의 서버에 이미 다른 서비스가 되고 있고 뒤이어 같은 물리적 리소스에 자사의 서비스를 올릴때 버젼 충돌이 생길수 있기 때문에 보통은 이미 설치와 설정이 끝난 상태에서 ‘/usr/local/java’에 있는 jdk폴더틑 통재로 ‘tar’로 압축하고 현장에서 특정 폴더에 Extrack 한다
image.png
image.png

3.2 설정

내부 네트워크 설정
root로 로그인
Postgresql.conf파일을 찾아 vi로 파일을 엽니다.
image.png
listen_addressed와 port를 다음과 같은 값으로 변경합니다.
listen_addresses = ‘*’
port = 5432

image.png
모든 값을 변경하고 확인 뒤 ESC를 눌럽 텍스트 편집모드를 나가고 이어 ‘:wq’를 입력하여 다시 prompt창으로 돌아간다.
외부 연결 네트워크 설정
PostgreSql를 외부에서 원격으로 접속 시 ‘pg_hba.con’를 수정하여 설정을 변경해야 합니다.( 기본적으로 모든 곳에서 접속이 가능하게 합니다)
image.png
image.png
Pg 폴더 생성
Postgresql에서 저장할 DB 폴더를 생성하는 방법입니다.
root로 계정을 전환합니다.
/var/lib/pgsql/15/data로 이동합니다.
‘/var/lib/pgsql/15/data’의 위치에서 하위에 alpha_smart_spk_tblspc/data 폴더를 생성합니다. 존재하지 않은 경로의 하위폴더를 만들어 줄때 사용하는 ‘-p’옵셥을 사용합니다.
image.png
생성된 경로와 하위 폴더의 권한을 ‘postgres’로 변경합니다. mkdir 에서 ‘-R’옵션을 사용하면 지정된 경로와 경로에 포함된 파일 및 폴더들도 지정된 사용자의 권한으로 변경됩니다.
image.png
완료 후 생성된 경로와 폴더의 권한이 제대로 지정되었는지 확인합니다. find의 명령어를 ‘-ls’명령어를 사용해 지정된 폴더의 하위 파일 및 폴더의 권한 확인 할 수 있게 합니다.
image.png

3.3 postgres 구동확인

postgres 서버의 상태를 확인 합니다.
image.png
Active: inactive(dead)는 작동하지 않는 상태 메세지인다.
서버 구동
image.png
active(running)은 제대로 작동중이라는 상태 메세지이다.
root권한으로 postgresql 로그인
image.png
‘role "root" does not exist root’는 ‘root’계정이 없다는 뜻이기도 하다. 하지만 ‘postgres’유저는 자동으로 생성되니 다시 시도
root계정 상태에서 postgres로 계정 이동
alpha상태에서는 비밀번호를 입력하라고 나온다 하지만 root계정 상태에서 입력하면 비밀번호 없이 진입이 가능하다.
리눅스가 ‘postgres’ 계정상태에서 username을 ‘postgres’입력하여 로 다시 postsql로 로그
image.png

3.4 PgAdmin연결을 위한 설정

PgAdmin에서 사용할 유저 ‘alphasecure’ 생성
CREATE ROLE alphasecure: alphasecure라는 이름의 새로운 역할을 생성합니다. 이 역할은 사용자 또는 역할을 나타냅니다.
LOGIN: 이 역할은 데이터베이스에 로그인할 수 있는 권한을 갖습니다.
SUPERUSER: 이 역할은 슈퍼 유저 권한을 가집니다. 슈퍼 유저는 시스템 전체에서 모든 데이터베이스 및 역할에 대한 권한을 갖습니다.
INHERIT: 이 역할이 다른 역할로부터 권한을 상속할 수 있도록 설정합니다.
CREATEDB: 이 역할은 새로운 데이터베이스를 생성할 수 있는 권한을 갖습니다.
CREATEROLE: 이 역할은 다른 역할을 생성할 수 있는 권한을 갖습니다.
NOREPLICATION: 이 역할은 스트리밍 복제를 위한 권한을 갖지 않습니다. 데이터베이스 복제와 관련된 권한을 제한합니다.
‘alphasecure’의 계정 비밀번호 초기화
ALTER USER alphasecure: alphasecure라는 이름의 기존 사용자 역할을 변경하는 명령을 시작합니다. ALTER USER는 사용자 역할의 속성을 수정하는 데 사용됩니다.
WITH PASSWORD 'qwe123!@#': 이 부분은 alphasecure 사용자 역할의 비밀번호를 변경하는 부분입니다. tpdlvm은 새로운 비밀번호를 나타냅니다. 사용자의 비밀번호를 변경하면 이후에는 해당 비밀번호로 로그인해야 합니다.
db생성을 위한 tbspc(table space) 생성
image.png
CREATE TABLESPACE alpha_smart_spk_tblspc: alpha_smart_spk_tblspc라는 이름의 새로운 테이블 스페이스를 생성합니다.
OWNER alphasecure: 새로운 테이블 스페이스의 소유자를 alphasecure 사용자로 지정합니다.
LOCATION '/var/lib/pgsql/15/data/alpha_smart_spk_tblspc/data/': 테이블 스페이스의 데이터 디렉터리를 지정합니다. 여기서는 /var/lib/pgsql/15/data/alpha_smart_spk_tblspc/data/로 설정되어 있습니다. 이 디렉터리는 새로운 테이블 스페이스에서 생성된 데이터베이스 객체가 저장될 실제 디렉터리입니다.
‘alphasecure’계정으로 db생성
image.png
CREATE DATABASE alpha_smart_spk: alpha_smart_spk라는 이름의 새로운 데이터베이스를 생성합니다.
WITH OWNER = alphasecure: 생성된 데이터베이스의 소유자를 alphasecure 사용자로 지정합니다.
ENCODING = 'UTF8': 데이터베이스의 문자 인코딩을 UTF-8로 설정합니다. UTF-8은 다국어 문자를 지원하는 인코딩 방식입니다.
TEMPLATE = Template0: 새로운 데이터베이스를 생성할 때 기본 템플릿으로 Template0을 사용합니다. Template0은 빈 데이터베이스 템플릿으로, 초기 설정이나 특정 구조를 가지지 않습니다.
TABLESPACE = alpha_smart_spk_tblspc: 데이터베이스 객체가 저장될 테이블 스페이스를 지정합니다. 여기서는 alpha_smart_spk_tblspc라는 이름의 테이블 스페이스를 사용합니다.
LC_COLLATE = 'C': 데이터베이스의 정렬 순서를 'C'로 설정합니다. 'C'는 바이트 순서로 정렬하는 방식입니다.
LC_CTYPE = 'ko_KR.UTF-8': 데이터베이스의 문자 분류를 'ko_KR.UTF-8'로 설정합니다. 이는 한국어의 UTF-8 인코딩을 사용함을 나타냅니다.
CONNECTION LIMIT = -1: 데이터베이스에 동시 연결의 제한을 없앱니다.
생성한 db ‘alpha_smart_spk”에 접속
image.png
pgcrypto모듈 생성
DB 생성 시 PostgreSQL에서 암호관련 함수를 사용하기 위해 pgcrypto모듈이 필요합니다.
현제 설치된 Extention 목록 확인
image.png
현제 설치된 postgresql에 맞는 pgcrypto 버젼 확인을 합니다.
image.png
검색된 버젼에 맞게 확장팩 설치
image.png
설치된 확장 모듈을 확인
image.png

4. MariaDB 설치

다음은 MariaDB 10.6.3을 기준으로 설명됩니다.
image.png

4.1. 설치 준비

파일리스트
Name
1
boost-program-options-1.53.0-28.el7.x86_64.rpm
2
galera-4.26.4.8-1.el7.centos.x86_64.rpm
3
libpmem-1.5.1-2.1.el7.x86_64.rpm
4
libxslt-1.1.28-6.el7.x86_64.rpm
5
MariaDB-client-10.6.3-1.el7.centos.x86_64.rpm
6
MariaDB-common-10.6.4-1.el7.centos.x86_64.rpm
7
MariaDB-compat-10.6.5-1.el7.centos.x86_64.rpm
8
MariaDB-server-10.6.3-1.el7.centos.x86_64.rpm
9
perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64.rpm
10
perl-Compress-Raw-Zlib-2.061-4.el7.x86_64.rpm
11
perl-Data-Dumper-2.145-3.el7.x86_64.rpm
12
perl-DBI-1.627-4.el7.x86_64.rpm
13
perl-IO-Compress-2.061-2.el7.noarch.rpm
14
perl-Net-Daemon-0.48-5.el7.noarch.rpm
15
perl-PlRPC-0.2020-14.el7.noarch.rpm
16
socat-1.7.3.2-2.el7.x86_64.rpm
There are no rows in this table
파일 이동
파일을 이동하기 전에 필요한 파일들을 폴더로 묶고 .tar로 압축하는 것을 권장합니다.
image.png
FTP TOOL를 이용해서 파일을 서버로 옮깁니다. 사진은 Filezilla사용의 예
image.png
Host: sftp://[IP address]로 입력
Username: 연결할 서버또는 VM에 생성된 Username 입력
Password: 앞서 입력한 Username의 Password를 입력
Port: Default(기본) 값은 22(TCP)이며, 다른 포트로 접속할때는 임의의 값을 임력
Remote site: 연결된 서버 또는 VM의 Folder Tree
Local site: Host OS의 Local Folder Tree
image.png
Remote Site:에서 파일을 이동할 곳의 Path 지정
Local site 에서 복사할 파일의 위치를 찾고 Filename에서 복사할 파일에서 우클릭 후 ‘Upload’클릭
하단의 Log에서 ‘Queued’에서 전송 상태 확인
Remote site 하단의 Filename에서 전송된 파일 확인

4.2. 설치

복사된 파일 확인
image.png
Tar명령어를 통해 압축 해제
옵션 설명
-x[extract]: 압축된 파일을 해제 합니다.
-f[file]: 파일을 지정할 수 있습니다.
image.png
압축을 해제 하면 ‘ll’ 명령어를 통해 압축해제가 잘 되었는지 확인.
압축 해제후 생성된 폴더에 cd 명령어를 통해 이동한 뒤 다음의 명령어를 차례대로 입력합니다.
image.png
사진에는 galera-4.26.4.8-1.el7.centos.x86_64.rpm이 빠져 있다.
image.png
image.png
image.png
설치 프로세스 메세지 후 mariadb 사용 안내문구 까지 확인
설치 후 mariadb의 버젼 확인
image.png
maridb 구동
mariadb 구동 상태 확인
image.png
Acticve에서 상태가 ‘active’인 것을 반드시 확인.
서버 시작시 mariadb 자동 실행 등록
image.png

4.3. DB 생성

mariadb 로그인
image.png
현재 생성된 DB목록 확인
image.png
목록의 ‘mysql’을 use 쿼리를 사용해 진입
image.png
CREATE USER로 ‘ alphasecure’ 유저를 ‘localhost’에서 생성하고 비밀번호를 ‘tpdlvm’로 지정합니다.
image.png
모든 호스트에서 접속할 수 있는 ‘alphasecure’유저를 생성하고 비밀번호도 위와같이 ‘tpdlvm’로 지정합니다.
image.png
alphasecure가 localhost에서 모든 데이터베이스들과 모든 테이블들에 대한 모든 권한을 부여합니다.
image.png
alphasecure가 모든 호스트에서 모든 데이터베이스와 모든 테이블들에 대한 모든 권한을 부여합니다.
image.png
위의 설정한 변경 사항을 즉시 적용합니다.
image.png
‘smart_spk’라는 이름의 DATABASE를 생성합니다.
smart_spk: 는 웹에서 서비스 되는 상품에 따라 이름이 변경 될 수 있습니다. 생성하기 전에 설정 파일들 간에 약속된 이름을 다시 한번 확인.
image.png

5. Tomcat 설치 및 설정

5.1 Tomacat 설치

Apache Tomcat은 spk가 웹으로 서비스 할때 기반이 되는 프로그램입니다. 여기에서는 웹으로 부터 설치를 하는 것이 아니라 지정된 경로에 미리 준비된 ‘apache-tomcat-[version]’를 옮긴 후 설정을 합니다.
첫번째로 /home/alpha/web/smart_spk/의 경로와 경로를 구성하는 폴더들이 있는지 확인합니다.
image.png
/home/alpha/다음에 /web/이 보이지 않습니다.
/web/smart_spk/ 까지의 폴더를 만들고 생성한 경로와 파일을 확인합니다.
image.png
image.png
복사를 할 폴더 위치에서 터미널을 열고 scp를 활용해서 파일을 전송합니다. -r 옵션을 사용하면 폴더와 하위에 있는 모든 파일과 폴더들을 /home/alpha/web/smart_spk/로 이동시킵니다.
image.png
zip파일을 리눅스로 이동시키고 압축 해제 할때

5.2 Tomacat 설정

파일이 정상적으로 이동했는지 확인을 위해 폴더와 하위 파일들을 검색합니다.
image.png
image.png
실행 파일 권한 변경
권한을 변경할 파일들의 권한을 열람합니다.
image.png
검색된 *.sh 파일들을 755로 권한을 변경합니다.
755: 모두가 읽을 수 있지만 소유자만 쓸 수 있다.
Tomcat에 정의된 자바 폴더 위치 수정
현재 설치된 자바의 경로 및 버젼 확인
image.png
JAVA_HOME를 수정하기 위해 bin/catalina.sh파일을 vi로 엽니다.
image.png
127번줄 쯤에 ‘JAVA_HOME’을 찾아서 JAVA폴더의 경로를 수정합니다.
PATH: [Tomcat Path]/bin/catalina.sh (127line)
image.png
서비스 이름 변경
Apache Tomcat의 server.xml에서 spk서버에 대한 정보를 입력합니다.
Server.xml의 추가 설명
수정을 위해 [tomcat path]/conf/server.xml을 엽니다.
image.png
55line 쯤에서 ‘service name’의 변수를 찾아 ‘SmartOffice__SafePrivacyKeeper’를 값으로 입력합니다.
image.png
입력을 마치면 “:wq”를 입력하고 프롬프트로 돌아옵니다.
Keystore변경
SSL 접속 하기 위한 Private Key를 비밀번호로 암호화한 텍스트/파일입니다. 서비스에서 사용할 포트와 Keystorefile 위치/비밀번호를 올바르게 설정합니다.
우선 tomcat apache 폴더에서 tomcat.keystore의 위치를 파악합니다. ‘find’명령어를 통해 특정이름을 가진 파일의 경로를 찾을수 있습니다.
image.png
출력된 경로를 복사하고 다시 tomcat에 있는/conf/server.xml 를 vi 을 통해 엽니다.
image.png

119줄 쯤에 변수 ‘keystoreFile’를 찾아 위에서 복사한 ‘tomcat.keystore’ Path를 새로운 값으로 입력합니다.
image.png
변수 keystorePass의 값은 “tpdlvm”가끔 다른 소스를 가져올 경우 값이 변경될 수도 있으니 잘 체크 할것.
image.png
입력을 마치면 ‘:wq’입력하여 저장 후 프롬프트로 돌아옵니다.
DB경로를 변경
관리자 페이지가 사용할 소스 결오 및 데이터 베이스 설정을 지정합니다.
docBase: 관리자 페이지 소스 코드
url: DataBase 서버 주소 및 사용할 DataBase 명. 단, 생성한 DB명과 동일 해야함.
username/passed: DB설정 할 때, 만들었던 계정 정보 입력
find 명령어 를 이용해 ‘ROOT’ 폴더의 경로를 출력합니다.

생성한 DB명 확인합니다. ‘postgres’유저로 postgresql로 진입하는 방법은 3.3을 통해 다시 확인합니다. postgresql로 진입하면 /list 명령어를 통해 현재 생성된 데이터의 이름을 확인합니다.

Root.xml파일을 열어 해당되는 변수를 찾아 새로운 값으로 입력합니다.
image.png
모든 값의 입력을 마친 후 ‘:wq’를 눌러 프롬프트로 나옵니다
Tomcat을 실행합니다.
image.png
tomcat이 제대로 작동하는지 확인합니다.

6. Setup 페이지 설정

5.1 DB 선택

기본적으로 postgresDB을 이용하지만, 외부연동과 같은 특수한 경우에는 MariaDB등과 같은 데이터베이스를 이용하여 상황에 맞게 초기화를 진행해야 합니다. DB 설정방법은 다음과 같습니다.
webapps/ROOT안에 있는 WEB-INF/web.xml를 엽니다.
94 줄에서 다음 부분을 찾을 수 있습니다.
image.png

5.2 DB초기화

SPK
Setup 페이지 접속하기 관리자 페이지를 구동하기 위한 서버 셋팅이 완료되었다면 관리자 페이지로 진입합니다. 기본적인 관리자 페이지 접속 주소 형식은 다음과 같습니다.
image.png
창 하단의 ‘DB 초기화’ 버튼을 클릭하여 초기화를 진행합니다. 만일, ‘서버 작업중 오류가 발생했습니다.”라는 메시지가 발생 시에, ‘5.1 DB설정하기’ 메뉴를 참고 합니다.
image.png
image.png
image.png
image.png
RK
서버접속
image.png
창 하단의 ‘DB 초기화’ 버튼을 클릭하여 초기화를 진행합니다. 만일, ‘서버 작업중 오류가 발생했습니다.”라는 메시지가 발생 시에, ‘5.1 DB설정하기’ 메뉴를 참고 합니다.
image.png
초기화 설정을 기다립니다.
image.png

5.3 Web 서버 설정

SPK
왼쪽 사이드 바에서 설정목록 > 서버설정으로 들어갑니다. 이곳에서 서버의 유형(ASP/ ENTERPRISE)을 선택 셋팅 할 수 있습니다. 단, ENTERPRISE 서버를 셋팅 할 경우 미리 제공된 인증서 명칭과 동일한 사업장 명을 인증 설정 항목에 기재해야 합니다. 이번 메뉴얼에서는 우선 ‘ASP’로 선택합니다.
image.png
RK
왼쪽 사이드 바에서 설정목록 > 서버설정으로 들어갑니다. ‘비전’ 탭에서 서버의 유형(ASP/ ENTERPRISE)을 선택 셋팅 할 수 있습니다. 단, ENTERPRISE 서버를 셋팅 할 경우 미리 제공된 인증서 명칭과 동일한 사업장 명을 인증 설정 항목에 기재해야 합니다. 이번 메뉴얼에서는 우선 ‘ASP’로 선택합니다.
image.png
설정을 마치면 하단의 ‘설정 저장’을 클릭하고 이어서 새로운 팝업창에서 ‘확인’을 클릭합니다.
image.png
-
image.png
이미 한것 같은 느낌이지만 전환된 팝업창에서 ‘확인’을 한번더 클릭합니다.
image.png
RK
완료가 되면 주소창에 다음과 같이 입력하여 RK메인 화면으로 접속합니다.
image.png

7. 기타 설정

6.1 postgresDB 백업 및 복구 방법(CLI)

사용중인 데이터 이름 확인 다음과 같은 명령어로 사용중인 데이터 베이스 명을 확인합니다.
백업 root를 거처 postgres로 유저를 전환하고 다음과 같이 명령을 합니다. 백업파일 생성후에는 ‘ll’ 명령어를 사용하고 생성된 백업파일을 확인합니다.
image.png
복구하기
복원할 서버에 PG 설치 후 백업한 DB의 로그인 , 테이블스페이스, DB명과 같은 기본 설정을 완료합니다. 이후 백업 파일을 postgres 계정이 접근 할 수 있는 위치로 이동한 다음 다음과 같은 명령어를 입력하여 설정을 완료합니다.
image.png
백업의 작동 방식은 백업된 정보로 새로 정보를 올리는 것이 아닌, 기존의 정보 위에 얹는다는 개념이여서 초기화 되지 않은 파일 위에 복원을 할경우 다음과 같이 무수한 ‘already exists’ 메세지를 확인할 수 있다.
image.png
무엇가 잘못된것은 아니니 신경쓰지 않아도 됩니다.

6.2 Shell script사용하여 설치

지금까지의 설치 과정을 자동화하기 위해 sh 스크립트를 제공합니다.
먼저 자동화를 위한 폴더 source, program 와 파일 파일을 서버에 업로드 합니다.
image.png


pgAdmin은 물리적으로 떨어진 Local를 Server에 접속할 때 사용된다.
Remote가 Windows일때
GUI
먼저 windowns에서 사용할 pgadmin의 버젼을 정하고 설치 합니다.
e.g. 여기서는 pgadmin4의 v7.8 for Windows
pgAdmin 다운로드
서버추가
대쉬보드에서 왼쪽 사이드바에서 ‘Servers’ 영역에서 마우스 오른쪽키를 클릭하고 ‘Register > Server...’ 를 클릭한다.
image.png
Server Group을 기본 그룹인 ‘Servers’가 아닌 다른 그룹으로 하고 싶다면 상단의 메뉴바에서 ‘Object > Create > Server Group를 클릭하여 새로운 서버그룹을 추가합니다.
image.png
image.png
‘Register - Server’창의 General 탭에서 Name 블록에 이름을 지정합니다. e.g. SPK Rocky Server;
image.png
‘Connection’ 탭에서는 다음과 같은 예로 정보를 입력합니다.
Host name/address: 192.168.0.2329(JDK가 설치된 서버의 Private IP주소)
Port: 5432 (PgAdmin과 Postgresql에서 데이터를 주고 받을 때 사용하는 포트, 5432가 일반적이다)
Username: alphasecure (Postgresql로 접속할 때 사용하는 username을 입력, 회사의 내규나 고객의 요청에 따를 것)
Password: qwe123!@# (Postgresql로 접속할 때 사용하는 password을 입력, 회사의 내규나 고객의 요청에 따를 것)
image.png
정보 입력을 모두 마치면 팝업창 밑에 ‘Save’눌러 메인창으로 돌아간다.
CLI
cmd창을 열고 psql설치 여부와 버젼을 확인합니다.
image.png

Remote가 Linux일때
pgAdmin 을 설치 하지 전에 Download 위해 repogitory를 설정 합니다.
image.png
rpm 명령어를 사용해 pgAdmin를 설치 합니다.
image.png
Remote가 Mac일때
pgadmin site에서 Macos용 Install file을 다운로드 한다.
image.png
(optional) 프로그램을 실행한 뒤에 Server Group을 설정하기 위해 Object > Create > Servergroup 을 선택합니다.
image.png
(Optional) Name에서 Group의 이름을 정하고 ‘Save’를 클릭합니다.
image.png
서버 등록을 위해 Object > Register > Server 를 클릭합니다. ​
image.png
General에서 Name의 이름과 서버가 속할 ‘Server Group’을 지정합니다. ​
image.png
e.g. Name → SPK, Server group → SecureLink
Connection 탭에서는 연결에 필요한 정보들을 입력합니다. ​
image.png
여기서는 - Host name/address → 192.168.103.100 - Port → 5432 (Postgre에서 사용하는 Default port) - Username → alphasecure (DB 접속시에 사용되는 ‘Username’) - Password → qwe123!@#(일단, 이 안내서에는 패드워드를 동일하게 사용하지만 이는 전체적인 현장 상황에 맞게 변경할것)



Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.