우분투 18.04에 자바 개발 환경 만들기
우분투에 오라클 11g XE 설치
우분투(Ubuntu)는 오라클이 공식 지원하는 리눅스 배포판이 아니다.
몇 가지 조치를 하면 우분투에 오라클 11g XE를 설치할 수 있다.
원글: http://meandmyubuntulinux.blogspot.com/2012/05/installing-oracle-11g-r2-express.html
https://www.oracle.com/database/technologies/xe-prior-release-downloads.html으로 이동한다.
64-비트 시스템이면 Oracle Database 11gR2 Express Edition for Linux x64를 선택한다.
파일을 내려받기 위해선 로그인이 필요하다. --오라클 웹사이트의 회원이 아니면 회원 가입을 한다--
로그인하면 내려받기가 시작된다.
내려받기가 끝나면 파일이 있는 디렉터리로 이동해 다음 명령을 수행한다.
unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
sudo apt install alien unixodbc
sudo apt install libaio1
- 만일 sudo apt install libaio1 명령이 실패한다면
-
libaio-dev를 대신 설치한다.
--우분투 24.04는 libaio1를 지원하지 않는다--
sudo apt install libaio-dev
sudo ln -s /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/x86_64-linux-gnu/libaio.so.1
cd Disk1 sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm
/sbin/chkconfig 파일을 만든다.
sudo nano /sbin/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
파일을 저장하고 실행 권한을 부여한다.
sudo chmod 755 /sbin/chkconfig
커널 파라미터를 설정한다.
sudo nano /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
Swap이 4000 이상인지 확인한다.
free -m
total used free shared buffers cached Mem: 3942 3809 133 947 50 1571 -/+ buffers/cache: 2186 1756 Swap: 4083 378 3705
위와 달리, Swap이 4000을 넘지 않는다면 다음을 차례로 실행한다.
sudo ln -s /usr/bin/awk /bin/awk sudo mkdir /var/lock/subsys sudo touch /var/lock/subsys/listener
커널 파라미터를 검증한다.
sudo cat /etc/sysctl.d/60-oracle.conf
새로운 커널 파라미터를 올린다.
sudo service procps start
다음 명령으로 검증한다. --위에서 설정한 값과 다르게 나오더라도 설치를 완료할 수 있다--
sudo sysctl -q fs.file-max
오라클 설치 파일이 있는 Disk1 디렉터리에서 다음 명령으로 설치를 시작한다.
sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb sudo /etc/init.d/oracle-xe configure
Oracle Application Express의 디폴트 포트 번호인 8080을 바꾸어 주는 게 좋다. --아래는 9090로 설정했다--
리슨너 포트는 디폴트 값인 1521을 그대로 사용한다. --엔터 키만 치면 디폴트 값이 선택된다--
관리자 계정인 SYS와 SYSTEM의 비밀번호를 지정한다.
마지막으로 부팅 시 오라클이 자동으로 시작하도록 설정한다. (엔터)
Oracle Database 11g Express Edition Configuration ------------------------------------------------- This will configure on-boot properties of Oracle Database 11g Express Edition. The following questions will determine whether the database should be starting upon system boot, the ports it will use, and the passwords that will be used for database accounts. Press Enter to accept the defaults. Ctrl-C will abort. Specify the HTTP port that will be used for Oracle Application Express [8080]:9090 Specify a port that will be used for the database listener [1521]: Specify a password to be used for database accounts. Note that the same password will be used for SYS and SYSTEM. Oracle recommends the use of different passwords for each database account. This can be done after initial configuration: <관리자 비밀번호> Confirm the password: <관리자 비밀번호> Do you want Oracle Database 11g Express Edition to be started on boot (y/n) [y]: Starting Oracle Net Listener...Done Configuring database...Done Starting Oracle Database 11g Express Edition instance...Done Installation completed successfully.
환경변수를 추가한다.
nano ~/.bashrc
아래를 .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
다음 명령으로 환경 변수를 적용한다.
source ~/.bashrc
오라클을 시작한다.
sudo service oracle-xe start
부팅 시 오라클이 자동으로 시작하므로 재부팅 후 이 명령은 필요 없다.
SCOTT 계정 만들기
관리자 계정으로 SQL*PLUS에 접속한 후, SCOTT 계정 스키마 스크립트를 실행한다.
sqlplus sys as sysdba SQL*Plus: Release 11.2.0.2.0 Production on 월 6월 29 12:04:33 2015 Copyright (c) 1982, 2011, Oracle. All rights reserved. Enter password: ********** Connected to: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production SQL> @/u01/app/oracle/product/11.2.0/xe/rdbms/admin/utlsampl.sql
MariaDB 설치
sudo apt update sudo apt install mariadb-server
에러없이 설치가 완료되었다면, 다음 명령을 실행하여 root의 비밀번호를 설정한다. 현재 비밀번호에는 그냥 엔터키를 누른다.
sudo mysql_secure_installation
root 유저가 mysql_native_password 플러그인을 사용하도록 설정한다.
sudo mysql use mysql update user set plugin='mysql_native_password' where user='root'; flush privileges; exit
MariaDB를 다시 시작한다.
sudo service mariadb restart
자바 설치
sudo apt install default-jdk
메이븐 설치
sudo apt install maven
로컬 저장소에 오라클 JDBC 드라이버 설치
오라클 JDBC 드라이버는 메이븐 저장소에서 제공하지 않는다. ojdbc6.jar 파일이 있는 디렉토리로 이동한 후 다음 명령을 실행하여 ojdbc6.jar를 로컬 저장소에 저장한다.
cd /u01/app/oracle/product/11.2.0/xe/jdbc/lib mvn install:install-file \ -Dfile=ojdbc6.jar \ -DgroupId=com.oracle \ -DartifactId=ojdbc6 \ -Dversion=11.2.0.2.0 \ -Dpackaging=jar
다음은 로컬 저장소에 저장된 정보대로 오라클 JDBC 드라이버를 pom.xml에 추가하는 방법을 보여준다.
<dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version>11.2.0.2.0</version> </dependency>
Git 설치
sudo apt install git
git config --global user.name "Gildong Hong" git config --global user.email hong@gmail.org
git config --global --list
톰캣 설치
sudo apt install tomcat9
톰캣 재가동
sudo service tomcat9 restart
톰캣 루트 애플리케이션 변경
root 계정에 로그인해서 다음을 실행한다.
sudo nano /etc/tomcat9/Catalina/localhost/ROOT.xml
메이븐 프로젝트이고 /home/kim/javaschool가 루트 디렉터리라면 아래처럼 ROOT.xml를 작성한다.
<?xml version="1.0" encoding="UTF-8"?> <Context docBase="/home/kim/javaschool/src/main/webapp" reloadable="true"> </Context>
- root 계정에 로그인하려면
-
우분투를 설치한 후 다음 명령으로 root 계정 비밀번호를 지정한다.
sudo passwd
su를 실행하고 root 계정 비밀번호를 입력한다.su 암호:
톰캣 로그
su를 실행해 root 계정에 로그인한 후 다음 명령을 실행한다.
tail -f /var/lib/tomcat9/logs/localhost.2019-10-05.log
tail -f /var/lib/tomcat9/logs/catalina.2019-10-05.log
이클립스 설치
https://www.eclipse.org/downloads/ 에서 인스톨러를 내려받은 후 다음 명령을 차례로 실행한다.
cd 다운로드 tar -xvf eclipse-inst-linux64.tar.gz cd eclipse-installer/ ./eclipse-inst
설치 선택 화면에서 Eclipse IDE for Enterprise Java Developers를 선택한다.
eclipse.desktop 파일 생성
cd /usr/share/applications sudo nano eclipse.desktop
eclipse.desktop 파일을 아래처럼 작성한다. --Exec와 Icon의 경로는 자신에 맞게 수정한다--
[Desktop Entry] Name=Eclipse Type=Application Exec=/home/kim/eclipse/jee-2019-12/eclipse/eclipse Terminal=false Icon=/home/kim/eclipse/jee-2019-12/eclipse/icon.xpm Comment=Integrated Development Environment NoDisplay=false Categories=Development;IDE Name[en]=eclipse.desktop
eclipse를 검색하여 실행하고 런처에 고정시킨다.