Ubuntu에 Java, Oracle, Tomcat 구축하기

심야·2023년 7월 14일
0

웹 개발

목록 보기
34/46
post-thumbnail

Java 설치

Java 11을 설치할 것이므로 jdk 11을 설치해야 한다. 따라서 아래 명령어를 입력해 설치를 진행한다.

sudo apt-get install openjdk-11-jdk

설치가 완료되면 아래 명령어를 사용해 잘 설치되었는지 확인한다.

java -version

Tomcat 설치하기

tomcat은 9 버전을 설치할 것이므로 아래 명령어를 사용해 설치를 진행한다.

sudo apt-get install tomcat9

설치가 완료되면 아래 명령어를 사용해 잘 설치되었는지 확인한다.

service tomcat9 status

Oracle DB 설치하기

Oracle은 무료 버전인 xe를 사용할 것이며 11 버전을 사용한다. 우선 OracleXE는 오픈소스가 아니기 때문에 오픈소스 패키지를 관리하는 저장소에서 패키지 관리툴(apt)로 설치할 수 없다. Oracle XE는 Oracle 공식 사이트에 RPM 파일 형태로 배포된다. 아래 링크에 접속해 Linux용 64비트를 우분투에 다운로드 받는다.

XE Prior Release Archive

Oracle XE 설치에 필요한 패키지

Ubuntu에서는 .rpm 파일을 사용해서 패키지를 설치할 수 없어 PRM 파일을 Debian 계열 패키지
설치를 위한 .deb 파일로 변경하여 패키지를 설치해야한다. Ubuntu에 Oracle XE를 설치하기 위해서 필요한 패키지들은 아래와 같다.

아래 명령어를 사용해 설치를 진행한다.

sudo apt-get install -y alien libaio1 unixodbc

RPM 파일을 DEB 파일로 변환

다운로드 한 .rpm 파일을 Ubuntu에 설치하기 위해 alien 을 사용하여 .deb 파일로 변경한다.

sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm

/sbin/chkconfig

Rethat 패키지는 설치할 때 /sbin/chkconfg를 사용하지만 Ubuntu는 그렇지 않다.
따라서 이와 동일한 환경을 만들어주기 위해서 /bin/chkconfig 파일을 생성한다.
파일을 생성 후 아래 내용을 입력한다.

#!/bin/bash
# Oracle 11gR2 XE installer chkconfig hack for Ubuntu
file=/etc/init.d/oracle-xe
if [[ ! `tail -n1 $file | grep INIT` ]]; then
echo >> $file
echo '### BEGIN INIT INFO' >> $file
echo '# Provides: OracleXE' >> $file
echo '# Required-Start: $remote_fs $syslog' >> $file
echo '# Required-Stop: $remote_fs $syslog' >> $file
echo '# Default-Start: 2 3 4 5' >> $file
echo '# Default-Stop: 0 1 6' >> $file
echo '# Short-Description: Oracle 11g Express Edition' >> $file
echo '### END INIT INFO' >> $file
fi
update-rc.d oracle-xe defaults 80 01
#EOF

생성이 완료되면 파일을 실행할 수 있도록 파일 권한을 755 변경한다.

sudo chmod 755 /sbin/chkconfig

Kernel 파라미터 설정

Oracle은 서버를 운영함에 있어 리눅스 커널파라미터를 사용한다. 따라서 시스템 컨트롤 데몬에

시스템 파라미터 설정을 저장하여 등록한다.

  • fs.file-max : 오픈하는 파일의 수를 지정하는 커널 파리미터
    (각 오라클 인스턴스는 512*PROCESSES만큼 file descriptior를 가진다.)
  • net.ipv4.iplocalport_range : 이 값은 TCP와 UDP 트래픽 범위를 설정하는 커널 파라미터
  • kernel.sem : 세마포를 지정하는 커널 파라미터
  • kernel.shmmax : 공유 메모리 페이지를 지정하는 커널 파라미터
sudo vi /etc/sysctl.d/60-oracle.conf
# Oracle 11g XE kernel parameters
fs.file-max=6815744
net.ipv4.ip_local_port_range=9000 65000
kernel.sem=250 32000 100 128
kernel.shmmax=536870912

시스템컨트롤러 데몬에 커널파라미터를 설정하였으면 커널 파라미터를 로드한다.

sudo service procps start

Oracle XE가 사용할 파일 추가

Oracle XE는 /bin/awk를 사용하게 되는데 Ubuntu에는 /usr/bin/awk에 설치되어 있기 때문에 다음과 같이 심볼릭링크를 만들어준다. 만약 /usr/bin/awk 에 심볼릭 링크가 이미 걸려있다면 무시하고 진행해도 된다.

sudo ln -s /usr/bin/awk /bin/awk

Oracle XE는 리스너가 사용할 lock 파일을 만들어준다.

sudo mkdir /var/lock/subsys
sudo touch /var/lock/subsys/listener

Oracle XE 패키지 설치

Oracle XE를 설치하기 위한 Ubuntu 환경 구축은 끝났다.

Oracle XE를 설치하기 위해 .rpm을 .deb 파일로 변환한 패키지를 설치한다.

sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb

정상적으로 설치가 되면 아래와 같이 Oracle XE가 설치되고 자동으로 데몬을 등록한다.

Selecting previously unselected package oracle-xe.
(Reading database ... 72392 files and directories currently installed.)
Preparing to unpack ./oracle-xe_11.2.0-2_amd64.deb ...
Unpacking oracle-xe (11.2.0-2) ...
Setting up oracle-xe (11.2.0-2) ...
Executing post-install steps...

 Adding system startup for /etc/init.d/oracle-xe ...
   /etc/rc0.d/K01oracle-xe -> ../init.d/oracle-xe
   /etc/rc1.d/K01oracle-xe -> ../init.d/oracle-xe
   /etc/rc6.d/K01oracle-xe -> ../init.d/oracle-xe
   /etc/rc2.d/S80oracle-xe -> ../init.d/oracle-xe
   /etc/rc3.d/S80oracle-xe -> ../init.d/oracle-xe
   /etc/rc4.d/S80oracle-xe -> ../init.d/oracle-xe
   /etc/rc5.d/S80oracle-xe -> ../init.d/oracle-xe

You must run '/etc/init.d/oracle-xe configure' as the root user to configure the database.

Processing triggers for ureadahead (0.100.0-16) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu1) ...
Processing triggers for mime-support (3.54ubuntu1.1) ...
Processing triggers for libc-bin (2.19-0ubuntu6.6) ...

설치가 완료되면 OracleXE 최초 설정을 /etc/init.d/oracle-xe configure로 설정한다.

sudo /etc/init.d/oracle-xe configure

최초 설정 내용은 아래와 같이 포트설정과 패스워드 설정이다.

  • Specify the HTTP port that will be used for Oracle Application Express [8080]:
  • Specify a port that will be used for the database listener [1521]:
  • Specify a password to be used for database accounts.

환경변수 설정

Oracle XE 설치가 모두 끝나면 ~/.bashrc 경로에 Oracle 관련된 환경 변수를 추가한다.

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

등록 후 영구 저장을 위해 아래 명령어를 사용한다.

source ~/.bashrc

Ubuntu 서버 전체에 사용하고 싶다면 /etc/environment 파일에 위 내용을 추가한다.

상태 확인

설치가 모두 끝나면 정상적으로 작동하는지 확인하기 위해 아래 명령어를 사용한다.

1. lsnrctl status
2. sudo service oracle-xe status

참고

Installing Oracle 11g R2 Express Edition on Ubuntu 12.04 64-bit

(펌) Ubuntu에 Oracle XE 설치하기

profile
하루하루 성실하게, 인생 전체는 되는대로.

0개의 댓글