Ubuntu 22.04 에서 Apache2 와 Tomcat9 연동하기

리눅스/APACHE|2024. 3. 29. 12:19
반응형

Ubuntu 22.04 에서 Apache2 와 Tomcat9 를 연동하는 방법입니다.

본 매뉴얼의 목적은 PHP 와 JSP 를 함께 사용하용하는데 있습니다.

설명은 최소화 하고 명령어 실행 절차만 기록하였습니다.

 

1. Apache 설치

# apt -y update

# apt -y install apache2

 

2. PHP 설치

# apt -y install php libapache2-mod-php php-mysqli

 

3. Tomcat 설치

# apt -y install default-jdk tomcat9 tomcat9-admin tomcat9-user

 

4. Mod JK 설치

Apache Tomcat 연결 모듈을 설치합니다.

# apt -y install libapache2-mod-jk

 

5. Apache 설정

아래 속성 파일을 생성합니다.

# vi /etc/apache2/workers.properties

workers.tomcat_home = /var/lib/tomcat9    # 톰캣 설치 경로
workers.java_home = /usr/lib/jvm/java-11-openjdk-amd64    # JDK 설치 경로
 
worker.list = tomcat1
 
worker.tomcat1.port = 8009
worker.tomcat1.host = localhost    # 톰캣이 다른 서버에 설치되어있으면 IP 입력
worker.tomcat1.type = ajp13
worker.tomcat1.lbfactor = 1

 

생성한 파일을 지정합니다.

# vi /etc/apache2/mods-available/jk.conf

...(생략)...

<IfModule jk_module>

    # We need a workers file exactly once
    # and in the global server
    JkWorkersFile /etc/apache2/workers.properties

...(생략)... 

 

VirtualHost 설정을 변경합니다.

(Tomcat 웹소스 디렉토리로 변경, Tomcat 처리할 확장자 추가)

# vi /etc/apache2/sites-available/000-default.conf

...(생략)...

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/lib/tomcat9/webapps/ROOT/

        JkMount /*.jsp tomcat1
        JkMount /*.json tomcat1
        JkMount /*.xml tomcat1
        JkMount /*.do tomcat1

...(생략)... 

 

Tomcat 웹소스 디렉토리에 접근할 수 있도록 디렉토리 옵션을 추가합니다.

# vi /etc/apache2/apache2.conf

...(생략)...

<Directory /var/lib/tomcat9/webapps/ROOT>
    Require all granted
</Directory>

 

6. Tomcat 설정

# vi /var/lib/tomcat9/conf/server.xml

...(생략)...

    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector protocol="AJP/1.3"
               address="0.0.0.0"
               port="8009"
               secretRequired="false"
               redirectPort="8443" />

...(생략)... 

 

Apache2 와 Tomcat9 를 재시작하여 설정을 적용합니다.

# systemctl restart apache2

# systemctl restart tomcat9

 

7. 테스트

테스트를 위해 PHP, JSP 샘플 파일을 생성하고 접속해 봅니다.

# cd /var/lib/tomcat9/webapps/ROOT/

# vi index.php

<?php
echo "Good Job, PHP !!";
?>

 

# vi index.jsp

Good Job, JSP !!<br>
The current time is: <%= new java.util.Date() %>

 

서버 도메인이나 IP 로 생성한 파일에 접근해 봅니다.

# curl http://sysdocu.kr/index.php

Good Job, PHP !!

 

# curl http://sysdocu.kr/index.jsp

Good Job, JSP !!<br>

The current time is: Fri Mar 29 14:05:22 KST 2024

 

반응형

댓글()

리눅스 한국 시간 동기화

리눅스/OS 일반|2024. 3. 29. 10:16
반응형

Rocky Linux 9 / Ubuntu 22.04

# timedatectl set-timezone Asia/Seoul

 

반응형

댓글()

Rocky Linux 9 에서 Docker 설치하기

반응형

Rocky Linux 9 에서 Docker 설치하는 방법을 기술하였습니다.

 

1. Docker 설치

# dns -y update

# dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

# dnf -y install docker-ce docker-ce-cli containerd.io

# systemctl enable --now docker

# docker --version

Docker version 26.0.0, build 2ae903e

 

2. Docker compose 설치

# curl -L "https://github.com/docker/compose/releases/download/v2.26.0/docker-compose-linux-x86_64" -o /usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose
# docker-compose --version
Docker Compose version v2.26.0

 

반응형

댓글()

Docker data root directory 변경하기

반응형

이미지 용량이 커서 별도의 디스크로 저장하고자 할 경우에 Docker 설정 파일에서 디렉토리를 변경해 주어야 합니다.

물론 같은 디렉토리로 마운트하여 사용이 가능하지만, 여기에서는 추가한 디스크의 마운트 디렉토리로 변경하는 방법을 안내합니다.

 

1. HDD 추가

SATA 4TB 디스크의 파티션 및 파일시스템을 생성하고 /data 디렉토리로 마운트 해 두었습니다. (방법 생략)

 

2. Docker 중지

Docker 가 실행중일 경우 중지합니다.

# systemctl stop docker

 

3. 기존 데이터 복사

신규 디렉토리의 퍼미션을 원래 디렉토리와 동일하게 합니다.

# chmod 710 /data

기존에 사용하던 docker 디렉토리를 신규 디렉토리 아래로 복사해 넣습니다.

# cp -arp /var/lib/docker /data/

 

4. Docker 설정 변경

Docker 설정 파일을 열고 Docker data root directory 를 변경합니다.

파일이 없는 경우 생성하면 됩니다.

# vi /etc/docker/daemon.json

{
        "data-root": "/data/docker/"
}

 

5. Docker 실행

변경된 디렉토리를 적용하기 위해 Docker 데몬을 가동합니다.

# systemctl start docker

 

전에 사용하던 이미지가 있었다면, 그대로 출력이 잘 되는지 확인합니다.

# docker images

 

반응형

댓글()

기본 쉘 변경하기 (리눅스 쉘에서 방향키, 탭이 잘 동작하지 않을때)

리눅스/OS 일반|2024. 3. 25. 14:18
반응형

[증상]

터미널을 열고 방향키를 움직이면 커서가 움직이거나 히스토리가 보이지 않고 ^]]A 등의 문자가 찍힙니다.

이는 sh 쉘의 특징입니다.

 

[해결]

대부분의 OS 는 bash 쉘을 가지고 있으므로 bash 쉘로 변경하면 해결 됩니다.

# bash

 

편리하게 사용하도록 추가 조치를 합니다.

서버 로그인할때 마다 자동으로 bash 쉘 환경으로 적용되도록 기본 쉘을 변경합니다.

# chsh -s /bin/bash

 

* 참고

사용 가능한 쉘 종류 확인 명령어 : cat /etc/shells

 

반응형

댓글()

IwinV LinuxMint 21.3 에 XRDP 구성하기

리눅스/OS 일반|2024. 3. 22. 09:54
반응형

< IwinV VDI 상품 전용 >

XRDP 를 구성해서 원격접속 가능하도록 하는 방법입니다.

 

# apt -y update

# apt -y install xrdp xorgxrdp
# useradd -m sysdocu -p $(openssl passwd 12345678)
# usermod -aG sudo sysdocu

# sed -i '11 a unset DBUS_SESSION_BUS_ADDRESS' /etc/xrdp/startwm.sh
# sed -i '12 a unset XDG_RUNTIME_DIR' /etc/xrdp/startwm.sh

# systemctl restart xrdp

 

이제 XRDP 포트 (3389) 를 이용해 원격 접근이 가능합니다.

반응형

댓글()

Openstack Magnum 환경의 Kubernetes Cluster 에 CF 에서 접근 가능한 Kubernetes API 계정 생성하기

리눅스/PaaS|2024. 3. 7. 08:52
보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.