오라클 클라우드에 SW 설치 및 환경 세팅 - eunja511005/Tutorial GitHub Wiki
환경 변수 세팅
- ROOT 비밀번호 최초 설정하기 : sudo passwd root
sudo passwd opc
- ROOT 계정으로 변경 : su - root
- vi /etc/profile
- 파일 내용 변경
- 변경 내용 적용 : source /etc/profile
/etc/profile : 시스템 전역 쉘 변수(자바나 메이븐 등은 이걸로 세팅 필요)
~/.bash_profile : 유저 개인의 환경 설정
~/.bashrc : 유저 개인의 alias 및 변수 설정
/etc/bash.bashrc 파일을 열어서 맨 마지막 줄에 적용하고자 하는 환경 변수를 export 명령어로 설정한다.
=> 그런데 여기는 저장이 안됨 ㅜㅜ
만약 특정 유저에게만 환경 변수를 영구적으로 적용하고 싶은 경우에는 ~/.bashrc 파일을 같은 방법으로 수정
자바 설치 하기
1. 설치 파일 찾기
OpenJDK
2. 다운 받기
cd /home/opc/
mkdir download
chmod -R 777 download
cd download
wget https://github.com/AdoptOpenJDK/openjdk8-upstream-binaries/releases/download/jdk8u342-b07/OpenJDK8U-jdk_x64_linux_8u342b07.tar.gz
3. 압축 해제
cd /home/opc/
mkdir java
chmod -R 777 java
cd /home/opc/java
tar -zxvf /home/opc/download/OpenJDK8U-jdk_x64_linux_8u342b07.tar.gz
4. 환경변수 잡아주기
sudo passwd root
su - root
vi /etc/profile
Shift + g
i
export JAVA_HOME=/home/opc/java/openjdk-8u342-b07
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin
Esc
wq
source /etc/profile
5. 설치 확인
java -version
톰캣 설치 하기
1. 톰캣 설치 파일 찾기(주소 계속 바뀌므로 아래 싸이트 들어가서 복사 할것)
https://tomcat.apache.org/download-80.cgi
Core > tar.gz > 우클릭 > Copy Link Address
2. 다운로드
cd /home/opc/download
wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.87/bin/apache-tomcat-8.5.87.tar.gz
3. 압축 해제
cd /home/opc/
tar -zxvf /home/opc/download/apache-tomcat-8.5.88.tar.gz
mv /home/opc/apache-tomcat-8.5.88 /usr/local/lib
cd /usr/local/lib
mv /usr/local/lib/apache-tomcat-8.5.88 /usr/local/lib/tomcat
4. 환경변수 잡아주기
vi /etc/profile
Shift + g
i
JAVA_HOME=/home/opc/java/openjdk-8u342-b07
JRE_HOME=$JAVA_HOME/jre
CATALINA_HOME=/usr/local/lib/tomcat
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/lib/jsp-api.jar:$CATALINA_HOME/webapps/ROOT/WEB-INF/lib/servlet-api.jar:$CATALINA_HOME/webapps/ROOT/*
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$CATALINA_HOME/bin
export JAVA_HOME
export JRE_HOME
export CLASSPATH CATALINA_HOME
export LANG=ko_KR.UTF-8
Esc
wq
source /etc/profile
5. 오라클 클라우드 포트 열기(이거 안해주면 타임아웃 오류 남)
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload
6. 오라클 클라우드에서도 수신 규칙 추가
- 컴퓨트 > 인스턴스 > 서브넷 클릭 > 좌측 보안 목록 클릭
- 보안목록 세부정보 페이지로 이동
- 수신규칙 추가 :
1) 소스 CIDR부분에 0.0.0.0/0 추가
2) 대상포트 범위에 8080추가
3) 설명에 간단하게 무슨포트인지를 적어놓습니다.
※ 0.0.0.0/0 은 모든아이피의 접속을 허용하겠다는 뜻입니다.
sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT 1 -p tcp --dport 443 -j ACCEPT
sudo iptables --list
7. 톰캣 실행
/usr/local/lib/tomcat/bin/startup.sh
8. 자신의 ip 확인
ifconfig
9. 톰캣 접속 확인
http://193.123.233.105:8080/
curl -X GET http://localhost:8080
10. 톰캣 중지
/usr/local/lib/tomcat/bin/shutdown.sh
메이븐 설치 하기
cd /home/opc/download
wget https://dlcdn.apache.org/maven/maven-3/3.9.1/binaries/apache-maven-3.9.1-bin.tar.gz
tar -zxvf /home/opc/download/apache-maven-3.9.1-bin.tar.gz
mv /home/opc/download/apache-maven-3.9.1 /usr/local/lib
cd /usr/local/lib
mv /usr/local/lib/apache-maven-3.9.1 /usr/local/lib/maven
- 환경 변수
JAVA_HOME=/home/opc/java/openjdk-8u342-b07
JRE_HOME=$JAVA_HOME/jre
CATALINA_HOME=/usr/local/lib/tomcat
M2_HOME=/usr/local/lib/maven
MAVEN_HOME=/usr/local/lib/maven
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/lib/jsp-api.jar:$CATALINA_HOME/webapps/ROOT/WEB-INF/lib/servlet-api.jar:$CATALINA_HOME/webapps/ROOT/*
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$CATALINA_HOME/bin:${M2_HOME}/bin
export JAVA_HOME
export JRE_HOME
export M2_HOME
export MAVEN_HOME
export CLASSPATH CATALINA_HOME
export LANG=ko_KR.UTF-8
- 환경 변수 적용
source /etc/profile
- 확인
mvn -version
GitHub 설치 하기
sudo yum install git
git --version
cd /home/opc
mkdir git
chmod -R 777 git
cd git
git clone https://github.com/eunja511005/AutoCoding.git
cd AutoCoding
git status
오라클 접속 설정
- vi /home/opc/git/AutoCoding/src/main/resources/application.properties
- application.properties 파일에 설정된 /home/opc/download/Wallet 위치에 전자 지갑 업로드
- cd /home/opc/download
- mkdir Wallet
- chmod -R 777 Wallet
- upload from (D:/Users/#####/Downloads/Wallet_IFreedomDB20230331/*)
톰캣 WAR 배포 설정
vi /usr/local/lib/tomcat/conf/server.xml
Shigt g (제일 하단으로 이동)
<Host name="localhost" ~~~~ 아래에 아래 내용 입력(ROOT.war 파일로 배포 하므로 docBase는 안해도 됨)
<Context path="/" docBase="/usr/local/lib/tomcat/webapps/demo-0.0.1-SNAPSHOT" reloadable="true" />
[중요] 그래도 404 발생 : SpringBootServletInitializer를 메인 클래스에서 상속하도록 소스 변경 필요()
web.xml에 Spring 웹 애플리케이션 컨텍스트(WebApplicationContext) 구성 하는 작업을 했다. 그 중에 대표적인 것이 서블릿 애플리케이션 컨텍스트([DispatcherServlet](https://docs.spring.io/spring-framework/docs/3.0.0.RC1/reference/html/ch15s02.html))를 web.xml에 등록 하는것과 동일한 역할 함
pom.xml 파일 수정 및 war 파일 생성 및 배포
cd /home/opc/git/AutoCoding
git pull
mvn clean
mvn clean install
mvn package
/home/opc/git/Tutorial/target/demo-0.0.1-SNAPSHOT.war 파일 생성 되면 정상
mv /home/opc/git/Tutorial/target/demo-0.0.1-SNAPSHOT.war /usr/local/lib/tomcat/webapps
mv /home/opc/git/Tutorial/target/demo-0.0.1-SNAPSHOT.war /usr/local/lib/tomcat/webapps/ROOT.war
overwrite ? y
ps -ef | grep tomcat
cd /usr/local/lib/tomcat/webapps
chmod 777 demo-0.0.1-SNAPSHOT.war
/usr/local/lib/tomcat/bin/startup.sh ==> start
tail -f /usr/local/lib/tomcat/logs/catalina.out ==> waslog
/usr/local/lib/tomcat/bin/shutdown.sh ==> stop
ps -ef | grep tomcat
kill -9 74865
아래 주소로 접속
http://193.123.233.105:8080/demo-0.0.1-SNAPSHOT/signinInit
아래 주소로 접속 하려면(mv /home/opc/git/Tutorial/target/demo-0.0.1-SNAPSHOT.war /usr/local/lib/tomcat/webapps/ROOT.war)
http://193.123.233.105:8080/signinInit
단축키 세팅
vi ~/.bashrc
Shift g
alias start="/usr/local/lib/tomcat/bin/startup.sh"
alias stop="/usr/local/lib/tomcat/bin/shutdown.sh"
alias waslog="tail -f /usr/local/lib/tomcat/logs/catalina.out"
esc
:wq
source ~/.bashrc
톰캣 관리자 콘솔
- http://193.123.233.105:8080/manager/html
- 유저 생성
vi /usr/local/lib/tomcat/conf/tomcat-users.xml
제일 하단에 아래 내용 추가
<role rolename="manager-gui"/>
<user username="tomcat" password="############" roles="manager-gui"/>
- 관리자 화면 접속시 403 오류 발생시
- vi /usr/local/lib/tomcat/webapps/manager/META-INF/context.xml
- 아래 부분 주석 처리 필요
파일 업로드 디렉토리 생성
cd /home
mkdir user
cd user
mkdir static
cd ..
chmod -R 777 user
Crontab 설치 - CentOS
# cron 설치(첫번째 명령어에서 시간 한참 걸림)
sudo yum update -y
sudo yum install -y cronie
# cron 시작
sudo systemctl start crond
# cron systemctl 활성화
sudo systemctl enable crond
# cron systemctl 등록 확인
sudo systemctl list-unit-files | grep crond
sqlplus 설치
1. 서버 OS 커널 버젼 확인 :
uname -a
cat /etc/redhat-release
cat /etc/*release*
---

2. 다운 로드 파일 찾기 : https://www.oracle.com/kr/database/technologies/instant-client/downloads.html

---

---

---

---

---

---

---

3. 다운 받기
cd /home/opc/download
wget https://yum.oracle.com/repo/OracleLinux/OL8/oracle/instantclient21/x86_64/getPackage/oracle-instantclient-basic-21.1.0.0.0-1.x86_64.rpm
wget https://yum.oracle.com/repo/OracleLinux/OL8/oracle/instantclient21/x86_64/getPackage/oracle-instantclient-sqlplus-21.1.0.0.0-1.x86_64.rpm
wget https://download.oracle.com/otn_software/linux/instantclient/1919000/oracle-instantclient19.19-basic-19.19.0.0.0-1.x86_64.rpm
wget https://download.oracle.com/otn_software/linux/instantclient/1919000/oracle-instantclient19.19-sqlplus-19.19.0.0.0-1.x86_64.rpm
4. 설치
ll
yum install -y oracle-instantclient-basic-21.1.0.0.0-1.x86_64.rpm
yum install -y oracle-instantclient-sqlplus-21.1.0.0.0-1.x86_64.rpm
(기존 버젼 삭제)
rpm -e oracle-instantclient-sqlplus-21.1.0.0.0-1.x86_64
rpm -e oracle-instantclient-basic-21.1.0.0.0-1.x86_64
(기존 버젼 삭제)
rpm -e oracle-instantclient19.19-sqlplus-19.19.0.0.0-1.x86_64
rpm -e oracle-instantclient19.19-basic-19.19.0.0.0-1.x86_64
yum install -y oracle-instantclient19.19-basic-19.19.0.0.0-1.x86_64.rpm
yum install -y oracle-instantclient19.19-sqlplus-19.19.0.0.0-1.x86_64.rpm
---

---

5. 환경변수 잡아주기
su - root
vi /etc/profile
Shift + g
i
export ORACLE_BASE=/usr/lib/oracle/19.19/client64
export ORACLE_HOME=/usr/lib/oracle/19.19/client64
export TNS_ADMIN=/usr/lib/oracle/21/client64/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH
export NLS_LANG=KOREAN_KOREA.AL32UTF8
export ORACLE_BASE ORACLE_HOME PATH LD_LIBRARY_PATH JAVA_HOME
Esc
:wq
source /etc/profile
6. tnsnames.ora 파일 생성
아래 파일 내용 참고

mkdir network
cd network
mkdir admin
cd mentwork
vi tnsnames.ora
vi $ORACLE_HOME/network/admin/tnsnames.ora

7. 접속 확인
cd $ORACLE_HOME/network/admin
sqlplus username/password@IFreedomDB20230331_medium
yum list oracle-instantclient*
sudo dnf install oracle-instantclient-release-el8
sudo dnf install oracle-instantclient-basic
sudo dnf install oracle-instantclient-sqlplus
sudo dnf install oracle-instantclient-tools
sudo dnf install oracle-instantclient-devel
sudo dnf install oracle-instantclient-jdbc
sudo dnf install oracle-instantclient-odbc