지난 시간에 AWS를 간단하게 세팅하였다. 오늘은 AWS 인스턴스에 올린 Ubuntu Server를 이용하여 서버를 한번 세팅해보려고 한다.
순서를 간단하게 요약하자면
1. root 계정에 대한 비밀번호 설정
2. AWS 인스턴스에서 root 계정으로 원격 접속 가능하게끔 세팅
3. 필요한 프로그램 설치
3.1 JDK
3.2 WAS
3.3 MAVEN
3.4 MYSQL
4. 환경설정 파일 추가 및 수정(alias,configure,profile)
5. iptables
이와같은 과정을 거칠것이다.
sudo passwd root
이후 개발용 계정을 생성해준다.
sudo adduser rimbong
다음으로 개발자 계정이 루트권한 명령어들을 사용할 수 있게 만들어준다.
sudo visudo
파일을 열면 아래 그림과 같은 부분이 보인다 이곳에 자신의 개발자 아이디 권한을 부여해준다.
AWS에 서버를 세팅할 경우 초기 상태에서는 root계정으로 접근할 수가 없다. 따라서 이를 가능하게 만들어 주기위한 과정이다.
첫 번째
sudo vi /etc/ssh/sshd_config
이후
# PermitRootLogin no
PermitRootLogin yes
두 번째
su - root
cd ~/.ssh
mv authorized_keys authorized_keys_bak
cp /home/ubuntu/.ssh/authorized_keys .
service sshd restart
위 과정은 root의 ~/.ssh 디렉토리에 있는 authorized_keys를 authorized_keys_bak로 이름을 변경하고
aws에서 사용하는 ubuntu 계정의 authorized_keys를 root로 복사한 과정이다.
프로그램중 JDK WAS MAVEN은 명령어로 다운받지 않고 tar.gz파일을 ftp를 이용해서 우분투 서버로 옮긴후 서버에서 압축을 풀어 사용할 것이다. 명령어로 다운 받아도 좋지만 개인적으로 나는 이 방법을 선호 한다.
ftp는 파일질라도 좋고 머든 좋다. 나는 모바 엑스텀을 이용해서 하였다.
3.1 JDK 설치
먼저 os가 몇 비트인지 확인한다. 참고로 저는 64비트입니다.
uname -a
이후 오라클 사이트에서 해당 비트에 맞게 JDK를 다운받으면 된다. 그리고 ftp프로그램을 이용해서 /java에 해당 압축파일을 넣는다.
sudo mkdir /java
sudo chown -R rimbong:rimbong /java
다음에는 압축을 풀어주시면 됩니다.
tar -xvzf 압축파일명
이후 압축이 풀린 jdk디렉토리를 실제로 사용할 경로로 옮겨줘야 한다.
sudo mkdir -p /usr/lib/jvm
sudo cp -r ~/jdk디렉토리명/ /usr/lib/jvm
JDK를 설치 했으니 환경 변수를 잡아줘야 한다.
sudo vi /etc/environment
그리고 이 환경설정이 모든계정이 로그인 했을때 적용될 수 있도록 /etc/profile을 수정해야한다.
sudo vi /etc/profile
위 그림과 같이 설정하면 된다.
보통 환경변수만 잡으면 java가 실행될거라고 생각하지만 이상하게 리눅스는 그렇지 않다
심볼릭 링크까지 걸어줘야 한다.
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk디렉토리명/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk디렉토리명/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk디렉토리명/bin/javaws" 1
java -version
정상적으로 나온다면 완료됬다.
3.2 WAS 설치
tomcat 역시 tar.gz 파일을 다운받아 ftp로 옮겨서 압축을 풀어준다.
sudo mkdir /was
이후 /was로 압축파일을 옮긴 압축을 풀어준다.
3.3 MAVEN 설치
maven 설치 역시 톰캣과 같이 간단하다
sudo mkdir /maven
maven으로 옮긴후 압축을 풀면된다.
3.4 MYSQL 설치
sudo apt-get install mysql-server-5.7
이후 분홍 바탕의 설치 과정이 나온다 root계정의 비밀번호를 설정하는 과정, port 번호 설정 등 제외 하고는 크게 어렵지 않으므로 잘 읽고 설치하시면 됩니다.
설치가 끝나면 확인을 해봅시다.
sudo mysql --version
mysql -u root -p
password:
자 다음으로 환경설정 파일을 만들어주면 된다.
첫 번째 .aliases 파일
cd
vi .aliases
alias thome='cd /was/apache-tomcat-버전명'
alias tstart='/was/apache-tomcat-버전명/bin/startup.sh'
alias tstop='/was/apache-tomcat-버전명/bin/shutdown.sh'
alias tlog='tail -f /was/apache-tomcat-버전명/logs/catalina.out'
alias st='netstat -an | grep 8080'
alias hsh='cd /webSrc/HOMEPAGE/HOMEPAGE/shell'
alias jsh='cd /webSrc/프로젝트명/shell'
두 번째 .configure 파일
cd
vi .configure
# JAVA OPTIONS
#export _JAVA_OPTIONS='-Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m'
# CATALINA HOME
export set CATALINA_HOME='/was/apache-tomcat-9.0.17'
PATH=${PATH}:$CATALINA_HOME/bin
# MAVEN CONFIGURATION
export set M2_HOME='/maven/apache-maven-3.6.0'
export set M2=$M2_HOME/bin
export PATH=$PATH:$M2
그리고 이 두 파일은 관리자 계정이 로그인 될때만 적용 시킬것 이므로 ~/.profile 에 적용시키면된다
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.
# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin directories
PATH="$HOME/bin:$HOME/.local/bin:$PATH"
. .aliases
. .configure
자 이제 마지막으로 포트포워딩을 위한 iptables를 세팅 해주면 된다.
80번 포트로 인바운드된 포트를 내부 8080포트에 매핑 시켜주는 것이다.
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
sudo iptables -t nat -L
그리고 이를 영구 지속해주기 위해서
cd ~
mkdir firewall_rules_backup
cd firewall_rules_backup
iptables-save > 20190409.rules
sudo apt install iptables-persistent
iptables-save > /etc/iptables/rules.v4
sysctl -p
reboot
sudo iptables -t nat -L
AWS & Ubuntu Server Setting - 1 (0) | 2019.03.24 |
---|---|
이클립스 개발 환경 - 초기 설정 2 (0) | 2019.01.03 |
이클립스 개발 환경 - 초기 설정 (1) | 2018.12.19 |
DB - root 계정 비밀번호 분실... (0) | 2018.12.19 |
DB - mysqldump (0) | 2018.12.19 |