-
CentOS 7.9 의 톰캣 8.5에 사설 SSL 인증서 설치하기개발 2020. 12. 21. 13:27
보통 톰캣에 SSL 인증서를 설치한다고 하면 앞 단에 apache를 두고 apache에 SSL 인증서를 설치했는데, 이번에는 톰캣에 직접 SSL 인증서를 붙여보기로 했다. 테스트용이기 때문에 인증서는 공인 인증서가 아닌 사설 인증서를 만들어 사용했다. 인증서 파일은 tomcat 안의 conf/ 안에 ssl 디렉토리를 만들어 이 곳에 둘 것이다. 아래 작업은 ssl/ 디렉토리 안에서 이루어진다. 1. 개인키 생성 인증서를 얻기 위해서는 인증요청서(Certificate Signing Request)를 만들어야 하는데, 만들기 전에 그 키 값을 생성한다. # openssl genrsa -des3 -out private.pem 2048 비밀번호를 물어본다. 비밀번호를 등록한다. 2. 인증요청서(CSR) 파일을 ..
-
ssh 접속시 로그인 느림 현상개발 2020. 12. 17. 15:43
vmware 가상 환경으로 CentOS 7.9를 잘 사용하고 있었는데, 인터넷이 끊어졌다가 다시 연결이 되면 CentOS의 아이피가 자꾸만 변경되어서 고정아이피로 바꾸어 버렸다. (기존에는 dhcp였다) 그런데 그 이후 로그인할 때마다 너무 느려졌다. 평균 2분 이상 걸린 것 같다. 처음에는 그냥 몇 번 참고 그냥 썼는데 이제는 못 참겠어서 구글을 찾았다. 원인은 DNS를 통해 호스트를 확인하는 절차를 진행하다보니 발생되는 것이었다. 수동으로 아이피를 설정할 때 dns 설정도 같이 진행했는데, 이것이 문제였나 보다. ssh의 dns 설정을 '사용안함'으로 변경하니 속도가 개선되었다. # vi /etc/ssh/sshd_config UseDNS yes => UseDNS no로 변경 후 # service ss..
-
CentOS 7.9에 MariaDB 설치하기개발 2020. 11. 26. 19:41
CentOS 7.x 부터는 MySQL을 기본 설정으로 지원하지 않고 MariaDB를 지원한다고 한다. 그래서 MariaDB보다 MySQL을 설치하려면 조금 더 복잡해졌다. 이제 MariaDB를 설치 해 보자. 설치 # yum install -y mariadb-server 설치확인 # rpm -qa maria* 부팅 시 자동으로 mariaDB가 동작하게 함 # systemctl enable mariadb 시작 및 종료 # systemctl start mariadb # systemctl stop mariadb 상태 확인 # systemctl status mariadb root 비밀번호 설정 # mysqladmin password '비밀번호' 접속하기 # mysql -uroot -p 불필요한 계정 삭제하기(비..
-
CentOS 7.9에서 방화벽 설정하기개발 2020. 11. 26. 18:06
CentOS 6.x 버전에는 방화벽 설정을 위해 lokkit을 제공했다. 7.x에서는 firewalld를 사용한다. 방화벽 상태를 확인한다. # firewall-cmd --state 만약 firewalld가 설치되어 있지 않다면 yum으로 설치한다. # yum install firewalld 부팅시 자동으로 방화벽이 설정되게 한다면 다음 명령어를 이용한다. # systemctl enable firewalld 방화벽 시작 및 종료하기 # systemctl start firewalld # systemctl stop firewalld 방화벽 목록 확인하기 # firewall-cmd --list-all 특정포트 방화벽에 추가(허용) 및 삭제(불허)하기 # firewall-cmd --permanent --add-..
-
CentOS 7.9에 jar 설치하기개발 2020. 11. 26. 17:49
OS를 설치하면 요즘은 기본적으로 OpenJDK8이 설치되어 있다. 이것으로 컴파일 및 실행이 가능하기는 한데, jar는 설치되어 있지 않는 경우가 많다. jar는 war처럼 압축하거나 해제하는 유틸이다. jar를 사용하기 위해서는 OpenJDK를 다시 설치한다. 예전에는 오라클의 자바를 많이 이용했지만, 라이센스 문제로 인해 요즘은 OpenJDK를 설치한다. 우선 설치가능한 JDK목록을 확인한다. # yum list java*jdk-devel 나는 이미 설치했기 때문에 목록에 보이지 않지만, yum으로 다시 설치한다. # yum install java-1.8.0-openjdk-devel.x86_64 참고로 java-버전-openjdk는 jre에 해당되고 java-버전-openjdk-devel은 jdk에..
-
CentOS 7.9에서 ifconfig 이용하기개발 2020. 11. 26. 17:35
CentOS 7.x에서 부터는 ifconfig, netstat와 같은 네트워크 기본 프로그램을 지원하지 않는다고 한다. 이를 대체하는 프로그램이 있지만, 기존처럼 사용해보자. 이를 사용하기 위해서는 net-tools를 설치한다. # yum install net-tools netstat에는 다음과 같은 옵션이 있다. -l (listen) : 연결 가능한 상태 -n (number port) : 포트 번호 -t (tcp) : tcp -u (udp) : udp -p : 프로그램 이름 / PID 좀 더 많은 옵션들이 있지만 보통 이렇게 사용한다. 내가 자주 사용하는 옵션은 # netstat -anpt
-
개발자의 글쓰기 - 김철수책 2020. 9. 24. 10:11
어떤 계기로 이 책을 사게 되었는데, 구매한 지 너무 오래돼서 그 이유가 생각나지 않는다. 그만큼 읽는데 시간이 오래 걸렸다. 내용이 어려운 것은 아니었는데, 잘 읽혀지지가 않았다. 아무래도 그동안 해오던 것들이 있어서 책의 내용과는 잘 맞지 않는 생각되는 부분과 이미 알고 있는 부분들이지만, 그래도 끝까지 읽어보려고 했던 노력 때문에 조금은 거부감이 없지 않았나 생각이 든다. 책의 내용은 다음과 같다. 1장 개발자가 알아야할 글쓰기 기본 2장 개발 시간을 줄여주는 이름 짓기와 주석 쓰기 3장 사용자와 소통하는 에러 메시지 쓰기 4장 독자 관점에서 릴리스 문서와 장애 보고서 쓰기 5장 설명, 묘사, 논증, 서사로 개발 가이드 쓰기 6장 수주를 돕는 SI 제안서 쓰기 7장 기술 블로그 쉽게 쓰고 운영하기 ..
-
톰캣 세션 클러스터링개발자 이야기 2020. 6. 15. 13:43
아파치 1개와 두 개의 톰캣으로 로드 밸런싱을 구성하였다. 브라우저에서 새로고침을 할 때마다 각각의 WAS에서 로그가 올라오는 것을 보니 정상적으로 동작하는 것 같다. 문제는 로그인을 하자마자 바로 나타났다. 로그인 후에는 로그인 성공 페이지로 리다이렉트를 시키는데, 다른 WAS로 리다이렉트가 되니 오류가 발생했다. 두 개의 톰캣이 로그인 세션을 서로 공유하지 않아 생기는 오류였다. 그래서 두 개의 톰캣이 하나의 세션을 공유할 수 있도록 세션 클러스터링이 필요하다. 세션 클러스터링 구성 방법은 구글을 찾아 보니 많이 나오기도 했고 쉬웠다. web.xml에 아래를 추가하고, server.xml에 아래를 추가한 후 약간의 설정만 해주면 된다. 그런데 오류가 발생했다. java.lang.ClassNotFoun..