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
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;
-- 테이블이 만들어졌는지 확인