728x90
300x250

[GNU - 리눅스(Linux)] 우분투 20.04(18.04), 아파치 톰캣 9, OpenJDK 15, 16, OpenSSL 사설 자가서명

 

이번에 다뤄볼 주제는 우분투 20.04(18.04), 아파치 톰캣 9, OpenJDK 15, 16, OpenSSL 사설 자가서명까지 다뤄보고자 한다.


1. 설명서

요약 형태로 "설명서"를 작성하였다.

/*
파일명: 210610_ubuntu_20_04_self_signed_tomcat_9_ssl.txt
생성일자: 2021-06-10 목요일
작성자: 도도(Dodo), Apache License v2.0
비고: 
1. Ubuntu 18.04, Ubuntu 20.04
2. OpenJDK 15, OpenJDK 16
3. Tomcat9, Tomcat 10 서비스 생성까지
4. OpenSSL 사설 인증서 생성부터 자가 인증까지

*/
1. OpenJDK 15, 16

// 1.1. JRE, JDK 설치하기
# sudo apt-get install openjdk-16-jre
# sudo apt-get install openjdk-16-jdk

// 1.2. 자바 설치 경로 찾기
# /usr/lib/jvm/
# ls -al
java-16-openjdk-amd64

.........(중략)

// 1.3. profile 수정하기
# sudo vim /etc/profile

(중략)

  unset i
fi

# OpenJDK 16
JAVA_HOME=/usr/lib/jvm/java-16-openjdk-amd64
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export PATH

:wq

// 1.4. profile 반영하기
# source /etc/profile

// 1.5 자바 버전 확인하기
# java -version
2. 아파치 톰캣 9 설치하기
// 2.1. 내려받기
https://tomcat.apache.org/download-90.cgi

# /opt/
# wget https://mirror.navercorp.com/apache/tomcat/tomcat-9/v9.0.46/bin/apache-tomcat-9.0.46.tar.gz
# tar xvfz apache-tomcat-9.0.46.tar.gz
# mv apache-tomcat* tomcat9

// 2.2. 톰캣 권한 획득
# sudo chown -R tomcat: /opt/tomcat9

// 2.3. 쉘 소유권 획득
# sudo sh -c 'chmod +x /opt/tomcat9/bin/*.sh'

// 2.4. 서비스 생성하기
# sudo /etc/systemd/system/tomcat9.service

[Unit]
Description=Tomcat 9 servlet container
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/java-16-openjdk-amd64"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headl>

Environment="CATALINA_BASE=/opt/tomcat9"
Environment="CATALINA_HOME=/opt/tomcat9"
Environment="CATALINA_PID=/opt/tomcat9/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

ExecStart=/opt/tomcat9/bin/startup.sh
ExecStop=/opt/tomcat9/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

// 2.5. 시스템 데몬 서비스 재시작
# sudo systemctl daemon-reload

// 2.6. 시스템 서비스 등록
# sudo systemctl enable --now tomcat9

// 2.7. 시스템 서비스 상태
# sudo systemctl status tomcat9

// 2.8. 시스템 서비스 3가지 기능
# sudo systemctl start tomcat9
# sudo systemctl stop tomcat9
# sudo systemctl restart tomcat9

// 2.9. 방화벽 허용
# sudo ufw allow 8080
// 3. 수정 위치 (tar.gz 설치로 진행할 것)
   이유: apt-get install tomcat9은 servlet이 잘 동작하지 않음.

# vim /opt/tomcat9/conf/server.xml 

// 3.1. 개인키 생성
# openssl genrsa -des3 -out keyname.key.origin 2048

// 3.2. 인증 요청서 (CSR) 생성
# openssl req -new -key keyname.key.origin -out csrname.csr

[비고]
callenge password, optional company name은 optional하므로 생략

// 3.3. 개인키 비밀번호 제거
# openssl rsa -in keyname.key.origin -out keyname.key

// 3.4. 인증서 생성(CRT)
# openssl x509 -req -days 3650 -in csrname.csr -signkey keyname.key -out crtname.crt

// 3.5. 톰캣에서 사용할 수 있는 키스토어 파일 생성
# openssl pkcs12 -export -in crtname.crt -inkey keyname.key -out keyname.p12 -name tomcat

[비고]
지원형식: jks, pkcs12 등 지원함.

// 3.6. 톰캣 설정 변경
<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
port="8443" SSLEnabled="true" maxThreads="200"
scheme="https" secure="true"
keystoreFile="p12 파일이 위치한 경로"
keystorePass="키스토어 생성시 입력한 패스워드"
keystoreType="pkcs12"
clientAuth="false"
sslProtocol="TLS" />

예:) p12 파일이 위치한 경로
/ca/localhost/localhost.p12

톰캣 디렉터리 내 conf/server.xml 파일을 수정한다.

// 3.7. 인증서 디렉터리, 파일 소유권 권한
# cd /ca/localhost
# chown -R tomcat:tomcat *

// 3.8. 서비스 재시작
# sudo systemctl restart tomcat9
# sudo service tomcat9 restart (같은 표현)
/*
Copyright 2021. 도도(Dodo), 우분투 20.04, 자가서명, 톰캣 9, SSL, OpenJDK 15, OpenJDK 16 인증서
                        (Ubuntu 20.04, self-signed, Tomcat 9, SSL, OpenJDK 15, OpenJDK 16 certificates)

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

*/

2. 첨부(Attachments)

210610_ubuntu_20_04_self_signed_tomcat_9_ssl_openjdk_15_16.zip
0.01MB

[Apache License v2.0을 적용받는다.]


3. 맺음글(Conclusion)

우분투 20.04(18.04)에서 아파치 톰캣 9, OpenJDK 15, 16, OpenSSL 사설 인증서 생성까지 다뤄보았다.


4. 참고자료(References)

1. 

반응형
728x90
300x250

[Python 활용] 파이썬 3.85, pip, matplotlib 우분투 20.04에서 사용하기

이번에 소개할 주제로는 우분투 20.04에서 파이썬 3.85, pip, matplotlib를 사용하는 방법에 대해서 소개하고자 한다.

간단한 프로그래밍 입문을 주제로 몇 가지 문법 사용하는 방법으로 실질적으로 구현할 수 있도록 하였다.


1. 표지

아래처럼 표지를 작성하였다.

 


2. 목차

목차에 관한 사항이다. 잘 읽어보기 바란다.

 


3. 환경 - 자연환경 보호

자연환경 보호에 관한 사항이다. 잘 읽어보기 바란다.

 

 


4. 건강 - 흡연 / 주류

건강에 관한 사항이다. 잘 읽어보기 바란다.

 


5. 본문

잘 읽어보기 바란다.

 

 


6. 첨부(Attachment)

210604_ubuntu_20_04_python3_basic.zip
9.00MB

(Apache License v2.0을 적용받는다.)

 


7. 맺음글(Conclusion)

우분투 20.04에서 Python 3.85와 간단한 프로그래밍 언어 작성 방법 그리고 matplot, pip에 대해서 알기 쉽게 살펴보았다.

 


8. 참고자료(References)

1.

 

반응형
728x90
300x250

[GNU - 리눅스(Linux)] 우분투 20.04 - IPv4 인터넷 공유 방법

 

이번에 다뤄볼 주제로는 우분투 20.04에서 IPv4를 공유하는 방법에 대해서 소개하고자 한다.

다만, IPv4 고갈 문제와 더불어 IPv6로의 전환이라는 주제에 대해서도 언급해보았다.


1. 목차

글의 순서는 다음과 같다.

 

 


2. 환경 - 자연환경에 관한 사항

꼭 읽어보기 바란다.

 

 

 

 


3. 본문

아래처럼 작업을 진행하였다.

 

 


4. 첨부(Attachments)

210530_우분투_20_04_CentOS_Stream_ip_masquerade_dhcp_v4_guide.zip
6.48MB

(Apache License v2.0를 적용받는다.)


5. 맺음글(Conclusion)

리눅스 배포판 "우분투 20.04"에서 ISC-DHCP-Server를 활용하여 iptables 방화벽을 통한 ip 매스퀘이드를 활용한 인터넷 공유를 하는 방법에 대해서 살펴보았다.

 


6. 참고자료(References)

1. 

반응형
728x90
300x250

[GNU - 리눅스(Linux)] 우분투 20.04, CentOS stream / nomodeset 부팅 조치방법

 

이번에 다뤄볼 주제로는 우분투 20.04, CentOS Stream(이하 "센토스 스트림")에서 부팅이 멈추거나 했을 때 조치하는 방법에 대해서 소개하고자 한다.

 

해당 문제가 발생할 수 있는 문제로는 최신 "그래픽카드"를 새로 설치한다던지, 최신 기종의 CPU와 메인보드를 접했을 때 생길 수 있는 것 중 하나이다.


1. 목차

목차 순서는 아래처럼 작성하였다.


2. 환경 - 자연환경에 관한 사항

읽어보기 바란다.

 

 


3. 해결 방법

 

부팅을 시도했는데, 멈춤 현상을 해결하는 방법에 대해서 소개하였다.

 


4. 첨부(Attachment)

 

210529_ubuntu_20_04_centos_stream_nomodeset_boot_error_repair_guide.zip
1.50MB

(Apache License v2.0을 적용받는다.)

 

 


5. 맺음글(Conclusion)

 

우분투 20.04, CentOS stream에서 부팅 시 화면이 멈췄을 때 조치하는 방법에 대해서 살펴보았다.

리눅스는 처음 셋팅을 조금 잘 해두면, 안정적으로 사용할 수 있다.


6. 참고자료(References)

 

1. 

반응형
728x90
300x250

[GNU - C, C++] 리눅스(Linux) - 사진 압축 자동화 도구(g++, 쉘(Shell)) (1/2)

 

이번에 소개할 내용은 리눅스에서 g++ 프로그래밍으로 ImageMagicK을 활용하여 사진 압축 자동화 도구에 대해서 소개하고자 한다.

오전에 잠깐 오픈소스 번역 프로젝트(LxQt -> FeatherNotes)에 잠시 참여하였다.

관심을 가져도 될만하다.

This time, I will introduce a photo compression automation tool using ImageMagicK with g++ programming on Linux.

In the morning, I briefly participated in the open source translation project. 
It deserves attention.In the morning, 
I briefly participated in the open source translation project (LxQt -> FeatherNotes).

It deserves attention.

ibeon-e sogaehal naeyong-eun linugseueseo g++ peulogeulaeming-eulo ImageMagicKeul hwal-yonghayeo sajin abchug jadonghwa dogue daehaeseo sogaehagoja handa.

ojeon-e jamkkan opeunsoseu beon-yeog peulojegteu(LxQt -> FeatherNotes)e jamsi cham-yeohayeossda. gwansim-eul gajyeodo doelmanhada.

 

 


1. 안내사항

지구가 현재 많이 아프다고 한다. 꼭 읽어봤으면 한다.
It is said that the earth is very sick now. I hope you read it.

 


2. 소개

아래처럼 작업하였다.

 

 


3. 2부에서 만나요.

[GNU - C, C++] 리눅스(Linux) - 사진 압축 자동화 도구(g++, 쉘(Shell)) (2/2), 2021-04-11 21:43
https://yyman.tistory.com/1537
반응형
728x90
300x250

[GNU - 리눅스(Linux)] 우분투 20.04, Apache 2.4, PHP 8, OpenSSL, 가비지컬렉션, IPv6 (3/3)

 

2부에 이어서 3부에서 소개하고자 한다.

[GNU - 리눅스(Linux)] 우분투 20.04, Apache 2.4, PHP 8, OpenSSL, 가비지컬렉션, IPv6 (2/3)
https://yyman.tistory.com/1531

 


6. 소개

아래의 방법으로 작업을 진행할 수 있다.

 


7. [첨부(Attachment)]

 

210406_Ubuntu_20_04_apache_2_4_php_8_ipv6_ssl_guide.z01
10.00MB
210406_Ubuntu_20_04_apache_2_4_php_8_ipv6_ssl_guide.z02
10.00MB
210406_Ubuntu_20_04_apache_2_4_php_8_ipv6_ssl_guide.zip
3.18MB

[Apache License v2.0을 적용받는다.]


* 맺음글(Conclusion)

우분투 20.04에서 Apache 2.4, PHP 8.0, PHP 8.0 확장도구, OpenSSL 사설 인증서 생성, OpenSSL 자가서명 인증서 생성, IPv6 웹브라우저 접속, IPv6 FTP클라이언트(Filezilla) 접속, PHP 8.0의 세션-쿠키 가비지컬렉션에 대해서 살펴보았다.


* 참고자료(Reference)

1. Lanuchpad, http://launchpad.net , Accessed by 2021-04-06, Last Modified 2021-04-06.

2. Enterprise Open Source and Linux | Ubuntu, https://ubuntu.com, Accessed by 2021-04-06, Last Modified 2021-04-06.

3. OpenSSL Foundation, http://www.openssl.org, Accessed by 2021-04-06, Last Modified 2021-04-06.

4. Welcome! - The Apache HTTPServer Project (Apache Foundation), https://httpd.apache.org, Accessed by 2021-04-06, Last Modified 2021-04-06. 

5. PHP: Hypertext Preprocessor, https://www.php.net, Accessed by 2021-04-06, Last Modified 2021-04-06.

6. RFC 2460 - Internet Protocol, Version 6 (IPv6) Specification(IETF), https://tools.ietf.org/html/rfc2460, Accessed by 2021-04-06, Last Modified 2021-04-06. 

-> IETF에서 결정한 IPv6는 최초 공개된 것은 1998년 12월 이다.

7. draft-ieft-ipngwg-bsd-api-IETF(1998), http://tools.ietf.org/html/draft-ietf-ipngwg-bsd-api-new-05 , Accessed by 2021-04-06, Last Modified 2021-04-06.

 

-> 리눅스에서의 적용

    The first IPv6 related network code was added to the Linux kernel 2.1.8 in November 1996 by P******.

    (1996년 12월, 리눅스 커널 2.1.8에 처음 IPv6 관련된 네트워크 코드가 추가되었다.

    It was based on the BSD API.

    (BSD API를 기반으로 했었다.)

 

-> IPv6는 매우 오래 전에 준비를 했었다.

반응형
728x90
300x250

[GNU - 리눅스(Linux)] 우분투 20.04, Apache 2.4, PHP 8, OpenSSL, 가비지컬렉션, IPv6 (2/3)

 

1부에 이어서 소개하겠다.

[GNU - 리눅스(Linux)] 우분투 20.04, Apache 2.4, PHP 8, OpenSSL, 가비지컬렉션, IPv6 (1/3), 2021-04-06 18:39
https://yyman.tistory.com/1530

4. 소개

아래처럼 작업하는 방법에 대해서 소개하였다.

 


5. 3부에서 만나요.

[GNU - 리눅스(Linux)] 우분투 20.04, Apache 2.4, PHP 8, OpenSSL, 가비지컬렉션, IPv6 (3/3), 2021. 4. 6. 18:55
http://yyman.tistory.com/1532 

 

반응형
728x90
300x250

[GNU - 리눅스(Linux)] 우분투 20.04, Apache 2.4, PHP 8, OpenSSL, 가비지컬렉션, IPv6 (1/3)

 

이번에 소개할 내용은 우분투 20.04에서 Apache 2.4, PHP 8, OpenSSL, 가비지컬렉션, IPv6에서의 적용 방법에 대해서 소개하고자 한다.

FTP 클라이언트: IPv6 접속 방법
웹 브라우저: IPv6 접속 방법

 

오픈소스 / 운영체제
https://ubuntu.com

https://centos.org

https://www.debian.org

https://launchpad.net

 


1. 안내사항 (날씨)

안내사항을 꼭 참고하기 바란다.

 


2. 소개

작업 소개이다.

 


3. 2부에서 만나요.

[GNU - 리눅스(Linux)] 우분투 20.04, Apache 2.4, PHP 8, OpenSSL, 가비지컬렉션, IPv6 (2/3), 2021-04-06 18:42
https://yyman.tistory.com/1531

 

반응형

+ Recent posts