🌿MobaXterm
MobaXterm을 이용하여 AWS Ubuntu에서 스프링과 엘라스틱서치 환경을 구축해 보도록 하자.
🌿기본 설정
1. 패키지 업데이트
$ sudo apt-get update
뭔가 하기 전에는 반드시 패키지 업데이트를 진행해 주도록 한다.
2. JRE 설치
$ java --version
$ sudo apt-get install default-jre
3. JDK 설치
$ javac --version
$ sudo apt-get install default-jdk
JRE와 JDK 설치를 완료하였다.
4. Tomcat 설치
$ cd ~
$ wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.83/bin/apache-tomcat-9.0.83.tar.gz
$ tar -xvf apache-tomcat-9.0.83.tar.gz
$ sudo mkdir -p /opt/tomcat
$ sudo mv apache-tomcat-9.0.83 /opt/tomcat
첫 번째 코드로 Tomcat 압축파일을 받고 ls로 파일을 잘 받았는지 확인하고, 두 번째 코드로 압축을 해제한다.
그리고 세 번째 코드로 폴더를 생성한 뒤에 네 번째 코드로 Tomcat 파일을 생성한 폴더로 이동한다.
톰캣 service 설정
$ sudo vim /etc/systemd/system/tomcat.service
[Unit]
Description=Tomcat 9.0.83 servlet container
After=network.target
[Service]
Type=forking
User=root
Group=root
Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"
Environment="CATALINA_BASE=/opt/tomcat/apache-tomcat-9.0.83"
Environment="CATALINA_HOME=/opt/tomcat/apache-tomcat-9.0.83"
Environment="CATALINA_PID=/opt/tomcat/apache-tomcat-9.0.83/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/apache-tomcat-9.0.83/bin/startup.sh
ExecStop=/opt/tomcat/apache-tomcat-9.0.83/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
톰캣을 실행하기 위해 설정을 하도록 하자. 코드를 복사하고 Shift + Insert로 파일을 넣는다.
톰캣 실행 및 포트 연결
$ sudo systemctl daemon-reload
$ sudo systemctl start tomcat
$ sudo systemctl enable tomcat
$ sudo ufw allow 8080/tcp
톰캣을 enable로 자동 실행되도록 설정해주고, 방화벽 포트를 열어주는 코드를 입력한다.
기본적으로 Tomcat의 포트번호가 8080으로 설정되어 있기 때문에 8080으로 포트를 열어달라는 의미이다.
인바운드 규칙 편집
AWS 인스턴스의 보안 탭에서 tomcat, oracle, elasticsearch, kibana를 추가해 주었다.
AWS (SFTP)
SFTP에서 본인 IP와 Username을 적고, User private key를 클릭하여 ubuntu를 설치할 때 받았던 인증키를 불러온다.
그리고 Bookmark로 AWS (SFTP)라고 해 주었다.
tomcat에 test.html 붙여 넣기
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- test.html -->
<h1>Test</h1>
<p>안녕하세요. Isaac입니다.</p>
</body>
</html>
이제 AWS (SFTP)에서 최상위 부모 폴더에 들어가 opt 폴더에 들어가면 tomcat이 있는 것을 확인할 수 있다.
- /opt/tomcat/apache-tomcat-9.0.83/webapps/ROOT/
이 폴더에 test.html을 찾아서 드래그 앤 드롭으로 넣도록 한다.
이제 원격에 있는 AWS에 업로드되었다.
주소창에 본인 IP/test.html을 입력하면 test.html 내용이 출력된다.
5. Swap 설정
swap 메모리는 하드디스크의 일부를 메모리처럼 사용하게 해주는 기술이다.
AWS에서 설정한 하드디스크 30GB 중 일부를 메모리로 사용할 예정이다.
$ cd /
$ sudo mkdir /swap
$ sudo dd if=/dev/zero of=/swap/swapfile bs=1024 count=2097152
$ cd /swap
$ sudo mkswap swapfile
$ sudo swapon swapfile
$ swapon -s, free
$ sudo vi /etc/fstab
맨 아래에 /swap/swapfile swap swap defaults 0 0을 추가한다.
free -m을 입력했을 때 Swap 항목이 나온다면 Swap 설정이 완료된 것이다.
6. Oracle 설치
https://www.oracle.com/database/technologies/xe-prior-release-downloads.html
Oracle Database 11gR2 Express Edition for Linux x64을 다운로드한다.
다운로드한 파일을 Ubuntu에서 설치할 수 있는 파일로 바꿔주어야 한다.
alien 설치
$ cd ~
$ sudo apt-get install alien
Ubuntu에서 설치할 수 있도록 파일 형식을 바꿔주는 alien을 다운로드한다.
오라클 설치 파일(deb)을 홈 디렉터리에 복사
/home/ubuntu/ 경로에 oracle-xe-11.2.0-1.0.x86_64.rpm 파일을 넣는다.
변환된 oracle 설치
$ sudo alien --scripts -d oracle*
$ sudo dpkg -i oracle-xe_11.2.0-2_amd64.deb
$ sudo /etc/init.d/oracle-xe configure
- HTTP Port: 8000
- 1521: 엔터
- 암호: java1234
- 자동실행: y
첫 번째 코드를 입력하면 시간이 꽤 걸리기 때문에 기다리도록 한다.
그 이후에 포트번호 8000, (enter), java1234, java1234, y를 차례로 입력한다.
$ sudo systemctl status oracle-xe
$ /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh
$ sudo vi ~/.bashrc
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export ORACLE_SID=XE
export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
export ORACLE_BASE=/u01/app/oracle
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH
Oracle 접속 및 계정 생성
$ source ~/.bashrc
$ sudo systemctl start oracle-xe
$ sudo systemctl status oracle-xe
$ lsnrctl status # 리스너 상태 확인
$ sqlplus
sqlplus는 Oracle에 접속하는 명령어이다.
현재 계정이 없기 때문에 Enter user name에서 system을 입력하여 sql 입력 상태로 넘어가서 계정을 만드는 명령어를 입력하도록 한다.
alter user hr identified by java1234 account unlock;
계정을 생성한 뒤, hr 계정으로 로그인한다.
DBeaver에서 계정 접속
이제 DBeaver 또는 SQL Developer에서 AWS 퍼블릭 IP를 Host 주소로 하여 방금 만든 계정으로 접속해 주면 된다.