[Ubuntu] 16. WEB(Apache) + WAS(Tomcat) + DB(MariaDB)

Date:     Updated:

카테고리:

태그:


01) WEB 구성요소


236680735-c341b29a-4fac-4a36-9c16-be8e08b58fd0

구성요소 설명
WEB 서버 정적인 컨텐츠(문자, 그림, 오디오, 비디오 등)를 처리하는 서버
WAS 서버 동적인 컨텐츠(사용자의 입력 값을 기반으로 프로그램의 동작이 달라 짐)를 처리하는 서버
DB 서버 데이터베이스를 생성, 관리, 사용, 제어하는 서버


02) 서버 정보


333223

3213


03) 서버 구성



a) WEB Server - Apache install and configuration

cat <<EOF >> /etc/hosts

192.168.219.100 web
192.168.219.111 was01
192.168.219.112 was02
192.168.219.200 db
EOF
apt -y install apache2 libapache2-mod-jk
vim /etc/libapache2-mod-jk/workers.properties

worker.list=tomcat1

worker.tomcat1.type=ajp13
worker.tomcat1.host=192.168.219.111
worker.tomcat1.port=8009
vim /etc/apache2/mods-available/httpd-jk.conf

<IfModule jk_module>

    JkWorkersFile /etc/libapache2-mod-jk/workers.properties

    JkLogFile /var/log/apache2/mod_jk.log

    JkLogLevel info

    JkShmFile /var/log/apache2/jk-runtime-status

</IfModule>
vim /etc/apache2/sites-available/000-default.conf

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html

        JkMount /*.jsp tomcat1

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
systemctl restart apache2


b) WAS Server - JAVA, Tomcat install

# /etc/hosts에 서버 IP 주소 정보 추가
cat <<EOF >> /etc/hosts

192.168.219.100 web
192.168.219.111 was01
192.168.219.200 db
EOF
# JAVA install - https://jdk.java.net/
apt -y install wget 

{ 
    wget https://download.java.net/openjdk/jdk8u41/ri/openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz
    tar xvzf openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz
    mkdir /usr/local/jvm
    mv java-se-8u41-ri /usr/local/jvm/
}


cat <<EOF >> /etc/profile

JAVA_HOME=/usr/local/jvm/java-se-8u41-ri/
export JAVA_HOME
PATH=\$PATH:\$JAVA_HOME/bin
export PATH
EOF


source /etc/profile


# 확인
$ java -version
# Tomcat install - https://tomcat.apache.org/
{
    wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.76/bin/apache-tomcat-9.0.76.tar.gz
    tar xvzf apache-tomcat-9.0.76.tar.gz
    mv apache-tomcat-9.0.76 /usr/local/tomcat9
}


cat <<EOF > /usr/lib/systemd/system/tomcat.service
[Unit]
Description=tomcat9
After=network.target syslog.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/local/jvm/java-se-8u41-ri/
User=root
Group=root

ExecStart=/usr/local/tomcat9/bin/startup.sh
ExecStop=/usr/local/tomcat9/bin/shutdown.sh

UMask=0007
RestartSec=10
Restart=always

SuccessExitStatus=143

[Install]
WantedBy=multi-user.target
EOF


systemctl enable tomcat; systemctl start tomcat


netstat -anlp | grep 8080


c) WAS Server - tomcat configure

vim /usr/local/tomcat9/conf/server.xml

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

# line 131 "jvmRoute=tomcat1" add
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">

# line 150 - tomcat home directory 
<Host name="localhost"  appBase="webapps"
    unpackWARs="true" autoDeploy="true">

    <Context path="" docBase="source" reloadable="true" />
{
    mkdir /usr/local/tomcat9/webapps/source
    cat << EOF > /usr/local/tomcat9/webapps/source/index.jsp
    Hello World
    EOF
}
systemctl stop tomcat

systemctl start tomcat

netstat -anlp | grep 8080

netstat -anlp | grep 8009


d) WEB Server - Service Check

{
    a2dismod jk
    mv /etc/apache2/mods-available/httpd-jk.conf /etc/apache2/mods-available/jk.conf
    cd /etc/libapache2-mod-jk/
    ln -f -s ../apache2/mods-available/jk.conf httpd-jk.conf
    a2enmod jk
    apache2ctl configtest
}
systemctl restart apache2


cat /var/log/apache2/mod_jk.log
[Wed Jun 21 15:15:41.580 2023] [2305:140478774474624] [info] init_jk::mod_jk.c (3591): mod_jk/1.2.48 initialized
[Wed Jun 21 15:15:41.587 2023] [2306:140478774474624] [info] init_jk::mod_jk.c (3591): mod_jk/1.2.48 initialized

48787


e) DB Server - MariaDB Install

cat <<EOF >> /etc/hosts

192.168.219.100 web
192.168.219.111 was01
192.168.219.112 was02
192.168.219.200 db
EOF
apt -y update

apt -y install mariadb-server
sed -i "s/bind-address            = 127.0.0.1/bind-address            = 0.0.0.0/g" /etc/mysql/mariadb.conf.d/50-server.cnf

systemctl restart mysql; systemctl enable mysql; systemctl status mysql
# DB 설정
mysql_secure_installation
mysql -u root -p

create database test;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'PASSWORD';

exit;


f) WAS Server - DB Connectation Check

# https://downloads.mysql.com/archives/c-j/
{ 
    wget https://downloads.mysql.com/archives/get/p/3/file/mysql-connector-java-8.0.26.tar.gz
    tar xvzf mysql-connector-java-8.0.26.tar.gz
    cd mysql-connector-java-8.0.26
    cp mysql-connector-java-8.0.26.jar /usr/local/tomcat9/lib/
}
{
    systemctl restart tomcat
    netstat -anlp | grep 8080; netstat -anlp | grep 8009
}
vim /usr/local/tomcat9/webapps/source/db.jsp

<%@page import="java.sql.*" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>DB Connection Test</title>
</head>
<body>
        <%
                String DB_URL = "jdbc:mysql://192.168.219.200:3306/test";
                String DB_USER = "root";
                String DB_PASSWORD= "1234";

                Connection conn;
                Statement stmt;

                try {
                        Class.forName("com.mysql.jdbc.Driver");
                        conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
                        stmt = conn.createStatement();
                        conn.close();
                        out.println("MySql jdbc test: connect ok!!");
                } catch(Exception e) {
                        out.println(e.getMessage());
                }
        %>
</body>
</html>

888888ewqeqw

UBUNTU 카테고리 내 다른 글 보러가기

댓글 남기기