반응형
//압축하기
tar -cvzf [생성파일이름] [압출폴더이름]

//압축해제
tar -zxvf [압출파일이름]
반응형

'Linux > 명령어' 카테고리의 다른 글

Linux : User관리, 권한 명령어 정리  (0) 2022.04.09
리눅스 기본 명령어 정리  (0) 2022.04.05
반응형

작성자의 개인 Study 후  오류 없는 셋팅을 위해  정리 용도로 작성됨을 안내드립니다. 

이번 Step에서는 ssl 적용하는 하는 방법을 작성하겠습니다.

 

 

환경
Naver Cloud Platform centos-7.8-64
OpenJDK 1.8
Apache 2.4.6
Tomcat 8.5.78

 

 

인증서 설치 전 확인사항

인증서 설치 시 SSL관련 설정은 기존 apache 1.x에서는 httpd.conf에서 해주었으나,

Apache 2.x 에서는 ssl.conf, apache 2.2x에서는 httpd-ssl.conf 파일에서 설정해주시면 됩니다.

 

참고1. Apache의 경우 기본적으로 mod_ssl 모듈이 설치되어 있어야 합니다.

 

저는 Apache 2.x기준으로 작성하도록 하겠습니다.

 

mod_ssl 설치
yum -y install mod_ssl

 

mod_ssl 설치 후 443포트와 https서비스를 오픈합니다.

firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --permanent --add-service=https

 

 

certbot 설치
yum install epel-release //저장소 활성화

yum install certbot python2-certbot-apache //인증서설치

 

 

ssl 인증서 발급

인증서 발급을 위해서는 httpd서비스를 정지 후 진행해야 한다.

systemctl stop httpd
certbot certonly --standalone -d sample.bigdragon.com //도메인 샘플

인증서 발급 시 이메일 입력, yes를 입력하고 하면 입력해주면 된다.

 

 

인증서 적용

인증서 발급이 완료되면 /etc/letsencrypt/live/도메인/ 으로 이동하면 인증서가 생성되어 있다. 이 인증서를

 

/etc/httpd/conf.d/ssl.conf에  각각의 pem에 맞춰 입력해주면 된다.

 

또한 톰캣을 이용한다면 server.xml에도 필수로 입력해줘야한다

 

ssl.conf

ssl.conf

 

1. 이전 스탭에서는 mod_jk.conf로 JKmount를 해줬다면, ssl.conf에 설정을 해주거나 Include해주면 된다.

 

 

ssl.conf

2.생성된 인증서를 ssl.conf에 각각에 맞에 입력해준다.

 

server.xml

server.xml

 

톰캣의 server.xml 부분에도 인증서 경로에 맞게 작성을 해주면 된다.

 

 

이러면 https로 정상적으로 접근 되실 거에요 ㅎㅎ

 

안되시는부분 댓글로 남겨주시면 확인 해드리겠습니다

 

감사합니다.

 

 

※개인 참고용  사용코드

yum update ==> 하고 버전업되서 에러 날 수 있음
yum clean all
yum -y install mod_ssl
yum install epel-release
firewall-cmd --permanent --zone=public --add-port=443/tcp
certbot certonly --standalone -d data.bigdragon.shop
vi /etc/httpd/conf.d/ssl.conf
vi /usr/local/instance/apache3/conf/server.xml
반응형
반응형

작성자의 개인 Study 후  오류 없는 셋팅을 위해  정리 용도로 작성됨을 안내드립니다. 

이번 Step에서는 아파치와 톰캣을 연동하는 방법을 작성하겠습니다.

 

 

 

Apache

정적인 데이터를 처리하는 웹서버로 흔히 클라이언트가 HTML, JPG, Resource 파일 같은 변하지 않는 파일을 요청하면 Apache는 해당 파일을 클라이언트에게 응답을 하는 소프트웨어.

 

Tomcat

Tomcat은 WAS(Web Application Server)로 불리며 동적인 데이터 즉 어떠한 요청에 따른 DB를 조회하고 계산하여 제공하는 등 다양한 역할을 수행하는 소프트웨어.

 

흔히 웹을 구성할 때 Apache + Tomcat을 결합하여 사용합니다. 그 이유는 Tomcat은 주로 동적인 데이터를 처리 하기 때문에 많은 리소스를 필요로 하여 많은 요청이 들어오면 부하가 걸릴 수 있는 반면 Apache는 정적인 데이터를 전달함으로써, 상대적으로 적은 리소스를 잡아 먹기 때문입니다. 이둘을 연동함으로써 정적인데이터를 요청했을 경우 Apache가 처리한 후 클라이언트에게 전달하고, 동적인 데이터를 요구하는 경우에는 Apache가 Tomcat에게 클라이언트의 요청을 전달하고 Tomcat이 요청에 따른 동적인 데이터를 만든 후 그것을 Apache에게 전달 Apache는다시 클라이언트에게 전달함으로써 좀 더 효율적으로 서버를 운영할 수 있습니다.

 

 

Apache, Tomcat설치는 이전 Step에서 다뤘으므로 생략 하도록 하겠습니다.

 

1. mod_jk 설치

먼저, mod_jk를 설치하기 전에 gcc, gcc-c++, httpd-devel 3가지의 패키지를 설치해야 합니다.

yum -y install gcc gcc-c++ httpd-devel

 

이제 톰캣 사이트에 들어가서 tomcat connector를 다운받아 줍니다

Download -> Tomcat Connecotrs -> JK ~~~~~~.tar.gz 우클릭 -> 링크 주소복사

 

 

다운받을 디렉토리 위치로 이동 후 파일을 아래 명령어로 다운로드 합니다

wget -c [복사한 링크주소]

 

다운로드 받은 파일을 압축해제 합니다

tar -zxvf [다운받은파일명]

 

해당 파일을 관리하기 편한곳으로 이동

cd [파일명] /usr/local/lib

 

native 경로로 이동

cd /usr/local/lib/[Connector디렉토리]/native

 

apxs 경로 찾기

apxs : Apache 확장기능 설치를 도와주는 유틸리티의 경로

find / -name apxs

 

make파일 생성

# native 경로에서 해야함
./configure --with-apxs=[apxs경로]

 

make 명령어로 컴파일 완료 후 make install을 실행

make && make install

 

mod_jk 설치확인

ll /etc/httpd/modules/ | grep mod_jk

 

selinux 보안관련 설정 

chcon -u system_u -r object_r httpd_modules_t /etc/httpd/modules/mod_jk.so

 

2. Apache 설정

 

2-1 httpd.conf 설정 변경

 

# vi /etc/httpd/conf/httpd.conf
# 맨 아래 추가

LoadModule jk_module modules/mod_jk.so
<VirtualHost *:80>
	ServerName localhost
    JkMount /* tomcat
</VirtualHost>

VirtualHost *:80, ServerName 두 가지 정보를 통해 들어온 요청을 어떤 톰캣에서 처리할지 결정합니다.. 지금 설정은 80 포트로 들어오는 모든 요청을 tomcat으로 보내고 있습니다.

 

 

 

 

#EX) 아래 설명을 위한 코드 입니다.
LoadModule jk_module modules/mod_jk.so
<VirtualHost *:80>
	ServerName example.com
  	JkMount /*.do tomcat2
</VirtualHost>

 

만약 위와 같이 설정하게 되면 80포트로 들어오면서 요청 URL이 example.com이고, .do로 끝나는 것들만 tomcat2에서 처리하게 됩니다. (이건 안 하셔도 됩니다. 설명을 위한 예제입니다.)

 

 

 

 

그 다음 worker를 관리하는 worker.properties의 위치와 로그파일 및 level을 관리하는 코드를 맨아래에 또 추가합니다.

해당 코드를 mod_jk.conf 파일로 따로 설정하는 방법도 있지만 간혹 연동이 안되는 경우가 있어 httpd.conf 파일에 같이 넣는 편입니다.

<IfModule mod_jk.c>
	JkWorkersFile conf/workers.properties 
 	JkShmFile run/mod_jk.shm     
 	JkLogFile logs/mod_jk.log     
 	JkLogLevel info     
 	JkLogStampFormat "[%y %m %d %H:%M:%S] " 
</IfModule>

이제 httpd.conf에서 할 작업은 끝났습니다. :wq로 나가주시면 됩니다.

 

 

2-2 workers.properties 설정

 

# vi /etc/httpd/conf/workers.properties


worker.list=tomcat
worker.tomcat.port=8009 
worker.tomcat.host=localhost 
worker.tomcat.type=ajp13 
worker.tomcat.lbfactor=1
  • worker.list: 사용할 톰캣 이름 목록
  • worker.톰캣이름.port: 톰캣의 ajp 포트 번호(기본 값은 8009)
  • worker.톰캣이름.host: 톰캣이 위치하고 있는 IP 주소(아파치와 톰캣이 한 서버에 있다면 localhost)
  • worker.톰캣이름.type: 톰캣과 연결할 때 사용할 타입
  • worker.톰캣이름.lbfactor: 로드밸런싱할 때 사용함

2-3 Tomcat 설정

# vi /usr/local/apache-tomcat-8.5.69/conf/server.xml

 <Connector protocol="AJP/1.3"
	address="0.0.0.0"
        secretRequired="false"
        port="8009"
        redirectPort="8443" />

AJP Connector 관련부분 주석을 해제하고 위와 같이 코드를 변경합니다.

 

 

3. 연동확인

위와 같이 포트를 입력하지 않아도 호출이 되면 정상적으로 셋팅 된 것 입니다.

 

막히는 부분은 댓글로 문의주시면 답변 드리겠습니다.

 

감사합니다.

 

 

출처

https://it-serial.tistory.com/72

 

[Linux] Apache와 Tomcat 연동

Apache 웹 서버 설치 & Tomcat 설치를 사전에 하셔야합니다. 링크를 참조하시면 됩니다. Tomcat은 단독으로 서비스를 할 수 있습니다. 그러나 Apache와 연동하여 사용하는 경우가 많습니다. 그 이유는 아

it-serial.tistory.com

 

https://velog.io/@park0219/Cent-OS-7-%EC%84%9C%EB%B2%84-%EC%84%B8%ED%8C%85-5%ED%8E%B8-%EC%95%84%ED%8C%8C%EC%B9%98-%ED%86%B0%EC%BA%A3-%EC%97%B0%EB%8F%99modjk

 

Cent OS 7 서버 세팅 5편 - 아파치 톰캣 연동(mod_jk)

Cent OS 7 서버 세팅 5편 - 아파치 톰캣 연동하기

velog.io

 

반응형
반응형

작성자의 개인 Study 후  오류 없는 셋팅을 위해  정리 용도로 작성됨을 안내드립니다. 

Step1은 간단한 작업이라 Shell 위주의 코드만 작성합니다.

 

 

환경
Naver Cloud Platform centos-7.8-64
OpenJDK 1.8
Apache 2.4.6

 

1. 파일 다운로드

Tomcat을 설치하기 위해서는 톰캣 사이트에 들어가 직접 다운로드받고 FTP로 올려도 되지만

터미널에서 다운 받을 수 있습니다. 해당 이미지처럼 톰캣홈페이지에서 다운받을 버전의 tar.gz마우스 오른쪽 클릭 후 링크를 복사한 후 터미널에 해당 명령어를 입력합니다.

 

 

 

1.1 터미널 다운로드 명령어

wget [복사한링크]

 

2.설치

설치 작업은 다운받은 파일을 tar 명령을 이용하여 다운로드 받은 파일의 압축을 풀어줍니다.

tar -zxvf [파일명]

 

2.1 경로 이동

본인이 관리할 디렉토리로 이동해줍니다. 압축 푼 파일의 이름을 편하게 수정하셔도 됩니다.

mv [압출파일명] /usr/local/apache # /usr/local 경로에 apache로 파일명 변경

chown -R root:admGroup /usr/local/apache # 소유자, 그룹 변경

 

3. 환경 설정

## 환경변수 파일 수정
##vi /etc/profile
##수정 후 source /etc/profile로 반영

CATALINA_HOME=/usr/local/apache
CLASSPATH=$CATALINA_HOME/lib/jsp-api.jar:$CATALINA_HOME/lib/servlet-api.jar
PATH=$CATALINE_HOME/bin
export CATALINA_HOME 추가

 

 

4. 방화벽 추가

firewall-cmd --zone=public --permanent --add-port=8080/tcp

firewall-cmd --reload

 

 

5.톰캣 명령어

/usr/local/apache/bin/startup.sh ##톰캣 실행

/usr/local/apache/bin/shutdown.sh ## 톰캣 중지

 

 

감사합니다.

반응형
반응형

안녕하세요. 해당 카테고리 글은,

작성자의 개인 Study 후  오류 없는 셋팅을 위해  정리 용도로 작성됨을 안내드립니다. 

Step1은 간단한 작업이라 Shell 위주의 코드만 작성합니다.

 

 

환경
Naver Cloud Platform centos-7.8-64
OpenJDK 1.8

 

Apache 설치

-yum을 이용하거나 또는 원하는 특정 버전이 있을 경우 rpm 파일을 이용해 다운로드 합니다.

 

 

 

 

1. yum을 이용한 설치

-yum을 이용할 경우 종속 패키지가 자동으로 설치됩니다.

 

yum install httpd

 

2.rpm을 이용한 설치

-특정 버전이 필요한 경우 원하는 해당 버전의 rpm 파일을 다운로드해서 설치할 수 있습니다. ( 마찬가지로 종속패키지 자동으로 설치됩니다.)

 

yum localinstall httpd-2.4.6-95.el7.centos.x86_64.rpm ##rpm파일 인스톨

 

 

Apache 버전확인

httpd -v

 

Apache 명령어

systemctl start httpd  ## 아파치 실행

systemctl stop httpd ## 아파치 중지

systemctl status httpd ##아파치 상태확인

systemctl enable httpd ## 아차피 부팅 시 자동실행 등록

systemctl disable httpd ## 아파치 부팅 시 자동실행 해제

 

방화벽 등록

systemctl start firewalld ## 방화벽 시작

firewall-cmd --zone=public --permanent --add-port=80/tcp  ##80포트 오픈

firewall-cmd --reload ##방화벽 재적용

firewall-cmd --zone=public --list-all ##적용된 방화벽 확인

 

주소창에 http://IP:80 포트로 접근되는지 확인하면 됩니다.

 

일반계정 권한 설정

저는 Step1에서 adm 계정 생성을하고, admGroup 그룹을 만들었습니다.

 

adm계정으로 httpd 관리를 위해 sudo 권한을 주도록 하겠습니다.

vi /etc/sudoers

##souers파일에 해당 부분 입력

$admGroup ALL=NOPASSWD : /usr/bin/systemctl start httpd, /usr/bin/systemctl stop httpd
$admGroup ALL=NOPASSWD : /usr/bin/systemctl status httpd

 

해당 계정으로 암호 없이 httpd가 실행되는지 확인합니다.

 

 

 

질문은 댓글로 남겨주세요 감사합니다.

 

반응형
반응형

안녕하세요. 해당 카테고리 글은,

작성자의 개인 Study 후  오류 없는 셋팅을 위해  정리 용도로 작성됨을 안내드립니다. 

Step1은 간단한 작업이라 Shell 위주의 코드만 작성합니다.

 

환경
Naver Cloud Platform centos-7.8-64

 

 

Open JDK1.8 설치

yum install java-1.8.0-openjdk
yum install java-1.8.0-openjdk-devel

설치가 완료되면 /usr/bin/경로에 java가 생성됩니다.

 

환경변수 등록

1. /usr/bin/java 경로에 심볼릭링크가 걸려있기 때문에, 실제 경로를 찾아서 환경변수에 등록해줍니다.

readlink -f /usr/bin/java
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el7.7.x86_64/jre/bin/java

실제 경로를 찾았으면 /etc/profile을 vi로 열어줍니다 그리고 JAVA_HOME, PATH, CLASSPATH를 등록합니다.

# 맨아랫줄
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64/jre/bin/java
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=$JAVA_HOME/jre_lib:$JAVA_HOME/lib/tools.jar

export JAVA_HOME PATH CLASSPATH

profile 수정 후 아래 쉘을 실행해줍니다.

source /etc/profile

 

 

설치가 잘되었는지 확인하기위해 테스트 자바코드를 생성 후 실행합니다.

vi HelloWorld.java


#Source 
#public class HelloWorld{
#	public static void main(String[] args){
#    	System.out.println("Hello World!!");
#    }
#}

#소스코드 작성 후 아래 쉘 실행
javac HelloWorld.java
java -cp . HelloWorld

감사합니다.

 

출처

https://bamdule.tistory.com/57

 

[Linux] CentOS 7에 OpenJDK 1.8 설치

1. open-jdk 1.8 설치 # yum install java-1.8.0-openjdk # yum install java-1.8.0-openjdk-devel 설치가 완료되면 /usr/bin/경로에 java가 생성됩니다. 2. 환경변수 등록 /usr/bin/java 경로에 심볼릭링크가 걸..

bamdule.tistory.com

 

반응형

+ Recent posts