ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 리눅스 환경 기반 JSP 웹서버 구축
    공부/리눅스 2024. 6. 12. 19:58

    구축 환경

    • ubuntu version 22.04.3

    C.zip
    1.45MB


    1. 아파치 설치

    • 리눅스 운영체제에서는 패키지와 패키지 매니저를 지원합니다.
    • 리눅스 패키지 : 여러 파일을 모아 하나의 파일로 저장하고 있는 압축 파일입니다.
    sudo su
    apt update
    -- 패키지 업데이트 : 패키지를 다운로드 할 수 있는 저장소의 최신 정보를 업데이트 
    apt install -y apache2
    -- 아파치 설치
    ufw allow http
    -- http 방화벽을 해제
    ufw allow https
    -- https 방화벽을 해제

    2. 자기 IP로 웹에서 접근해보기

    성공적으로 접속이 가능한 모습


    3. 자바 설치

    apt-get install -y openjdk-11-jdk
    -- jdk11을 설치하는 명령어입니다.
    -- apt-get : 패키지를 설치, 업그레이드, 제거 및 관리하기 위한 명령어
    -- install : apt-get의 하위 명령어로 지정된 패키지를 설치
    -- y : 설치 중 발생하는 모든 명령어를 yes로 응답
    -- openjdk-11-jdk는 jdk(11)을 의미하며 자바 애플리케이션을 개발하고 실행하는데 필요한 도구와 라이브러리
    
    javac -version
    -- 설치된 버전을 확인합니다.


    4. 톰캣 설치

    apt-get install -y tomcat9
    -- 톰캣 설치

    5. 톰캣 설치 확인

    자신의 주소와 톰캣의 포트번호(8080)을 입력하여 확인합니다.


    6. 아파치와 톰캣 연동

    apt-get install –y libapache2-mod-jk
    -- 아파치 http 서버와 tomcat 애플리케이션 서버 간의 통합을 위한 모듈 mod_jk를 설치하기 위함
    vi /etc/libapache2-mod-jk/workers.properties
    -- mod_jk 모듈의 설정을 변경
    workers.tomcat_home=/usr/share/tomcat9
    -- tomcat 서버의 홈 디렉토리를 지정하는 설정
    -- user/share/tomcat9 : tomcat 서버가 설치된 디렉토리 경로
    workers.java_home=/usr/lib/jvm/openjdk-11
    -- java 홈 디렉토리를 지정하는 설정 항목
    -- /usr/lib/jvm/openjdk-11 : openjdk 11이 설치된 디렉토리 경로


    7. 아파치 HTTP 서버의 기본 가상 호스트 설정 파일 설정

    vi /etc/apache2/sites-available/000-default.conf
    -- 아파치 HTTP 서버의 기본 가상 호스트 설정 파일
    -- *가상 호스트 : 하나의 아파치 HTTP 서버 인스턴스에서 여러 웹사이트를 호스팅할 수 있도록 해주는 기술
    DocIumentRoot /var/lib/tomcat9/webapps/ROOT
    -- 아파치 HTTP 서버가 기본적으로 제공할 웹사이트의 루트 디렉토리를 지정
    JkMount /* ajp13_worker
    -- JkMount는 URL 패턴을 톰캣 서버로 전달하도록 설정
    -- /* : 이 패턴은 모든 요청을 의미. 즉, 루트 경로부터 시작하는 모든 URL에 대한 요청을 포함
    -- ajp13_worker : HTTP 서버가 AJP를 사용하여 Tomcat 서버와 통신할 수 있도록 설정된 커넥터

    8. Tomcat과 AJP 커넥터 연결

    • AJP 커넥터 : 웹 서버와 애플리케이션 서버 간에 요청을 전달하는 역할을 하는 커넥터
    vi /etc/tomcat9/server.xml
    <Connector 	protocol=“AJP/1.3”
    			address=“::1”
    			port=“8009”
    			redirectport=“8443” />
    -- 이 부분에 주석을 수정해줍니다.
    <Connector 	protocol=“AJP/1.3”
    			address=“0.0.0.0”
                -- 모든 네트워크 인터페이스 의미
    			port=“8009”
    			redirectport=“8443” 
    			secretRequired=“false”
                -- AJP 커넥터가 요청을 수락할 때 비밀키를 요구하지 않게 설정
                -- 내부 네트워크에서 빠르게 설정하고 동작을 확인하기 위해 비밀 키 설정을 생략
                />

    9. 설정 적용을 위해 아파치와 톰캣 재시작

    service apache2 restart
    service tomcat9 restart

    자기 자신의 ip만 입력해도 바로 톰캣서버로 이동됩니다.


    10. MySQL 설치

    apt install –y mysql-server
    -- MySQL를 설치
    ufw allow mysql
    -- 방화벽 해제
    mysql -u root
    -- mysql 접속
    create database micom;
    -- micom db를 생성
    create user ‘minuk’@’%’ identified by ‘minuk’;
    -- user 생성
    grant all privileges on *.* to 'minuk'@'%' with grant option;
    -- 접속 권한 주기
    flush privileges;
    -- 변경 내용 적용
    exit
    -- mysql 접속 종료
    vi /etc/mysql/mysql.conf.d/mysqld.cnf
    -- mysql 서버의 주요 설정 파일 중 하나
    bind-address = 0.0.0.0
    -- 모든 ip 주소에서 접근 허용
    systemctl restart mysql
    -- mysql 재실행

    bind-address를 저렇게 변경해주시면 됩니다.


    11. PC 파일을 우분투로 옮기기

    scp C.zip ubuntu@192.168.178.133:/home/ubuntu
    -- ubuntu@192.168.178.133 : 원격 서버의 사용자 이름과 ip 주소
    -- /home/ubuntu : 원격 서버의 경로
    -- 필요한 파일을 압축하여 우분투 서버에 옮겨줍시다.
    
    apt install unzip
    -- zip 파일 압축해제를 위해 다운
    
    unzip C.zip
    -- unzip [파일명.zip]
    
    cd [옮길 파일 경로]

    이 파일들을 옮겨보겟습니다.

    cd /home/ubuntu/linuxsource 
    -- 옮길 파일이 있는 디렉토리 경로로 접속
    mv mysql-connector-java-5.1.47.jar /var/lib/tomcat9/lib
    mv cos.jar /var/lib/tomcat9/lib
    mv jstl.jar /var/lib/tomcat9/lib
    mv standard.jar /var/lib/tomcat9/lib

    그 다음 소스 구축 자료 파일과 MEFTA-IFN 파일들을 톰캣 ROOT에 옮겨보겠습다.

    mv css /var/lib/tomcat9/webapps/ROOT
    mv kboard /var/lib/tomcat9/webapps/ROOT
    mv kmember /var/lib/tomcat9/webapps/ROOT
    mv META-INF /var/lib/tomcat9/webapps/ROOT
    mv nboard /var/lib/tomcat9/webapps/ROOT
    mv script /var/lib/tomcat9/webapps/ROOT
    mv WEB-INF /var/lib/tomcat9/webapps/ROOT

    12. MySQL context.xml 파일 수정

    vi /var/lib/tomcat9/webapps/ROOT/META-INF/context.xml
    username = minuk
    -- 본인이 설정한 것으로 수정
    password = minuk
    -- 본인이 설정한 것으로 수정

    13. MySQL에서 DB 생성

    mysql -u root
    use micom;
    source /home/ubuntu/sql/kboard.sql;
    source /home/ubuntu/sql/kmember.sql;
    source /home/ubuntu/sql/member.sql;
    source /home/ubuntu/sql/nboard.sql;
    -- sql문이 있는 경로에 있는 sql문을 source로 적용시켜줍니다.
    show tables;
    -- 테이블이 만들어졌는지 확인

    14. http://우분투서버 ip/login.do로 접속하여 확인

    회원가입 및 테스트 해보기

    use micom;
    mysql -u root
    select * from kmember;


Designed by Tistory.