본문 바로가기
[OS]/우분투

서버 세팅하기

by control+c 2015. 6. 1.
반응형

(1) JAVA 설치

1. JAVA 설치(오라클 자바7)


echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" | tee -a /etc/apt/sources.list

echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" | tee -a /etc/apt/sources.list

apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886

apt-get update

apt-get install oracle-java7-installer





2. FTP  설치


우분투 ftp 설치


 $ sudo install apt-get vsftpd 

 $ sudo vim /etc/vsftpd.conf 파일 수정


아래와 같이 찾아서 변경


# Allow anonymous FTP? (Disabled by default).

anonymous_enable=NO

#

# Uncomment this to allow local users to log in.

local_enable=YES

#

# Uncomment this to enable any form of FTP write command.

write_enable=YES


3. adduser

$mkdir /home/project

$useradd -d /home/project -s /bin/bash project -p password

#mkdir /home/project/stalk


4. sudo명령어로 root권한 가져오기

$visudo -f /etc/sudoers

root ALL=(ALL:ALL) ALL  아래에

project ALL=(ALL:ALL) ALL  

추가


http://blog.outsider.ne.kr/505 참고


5. vim /etc/ftpusers

:root 삭제, project 추가 


6.

$service vsftpd start 혹은 restart 


6. 폴더 권한 변경 

chown project /home/project/프로젝트


(2) 아파치 설치

1.

$sudo apt-get install apache2

- 아파치 홈 디렉토리 : /var/www/html

-아파치 설치 디렉토리: /etc/apache2


cd

$cd /usr/local/apache

$wget http://mirror.apache-kr.org/httpd/httpd-2.4.12.tar.gz

$gzip -d httpd-2.4.12.tar.gz

$tar -xvf httpd-2.4.12.tar 


2.우분투 한국미러(kr.archive.ubuntu.com) 변경하기.

요즘 우분투 한국미러인 카이스트 ftp가 너무 느리다. 100kb/s이하이며 대충 30~50kb/s...


다음 FTP로 바꾸는 방법


sudo vi /etc/apt/sources.list


:g/kr.archive.ubuntu.com/s//ftp.daum.net/g

:wq


sudo apt-get update





(3) 톰캣 설치 


1. tomcat7 tar.gz 압축 풀기

cd /usr/local/


$wget http://mirror.apache-kr.org/tomcat/tomcat-7/v7.0.61/bin/apache-tomcat-7.0.61.tar.gz

$gzip -d apache-tomcat-7.0.61.tar.gz

$tar -xvf apache-tomcat-7.0.61.tar 

$mv apache-tomcat-7.0.61 ./tomcat7

$chown -R -c project tomcat7/


2. cd /usr/local/tomcat7

3. 환경설정을 해야겠죠?

vi /etc/profile

맨 아랫부분에

 

JAVA_HOME=/usr/lib/jvm/java-7-oracle

export JAVA_HOME

PATH=$PATH:$JAVA_HOME/bin

CATALINA_HOME=/usr/local/tomcat7

PATH=$PATH:$CATALINA_HOME/bin

export CATALINA_HOME

export PATH

 

 

4. 로그 로테이션 변경

vim /usr/local/tomcat7/bin/catalina.sh

---------------------------------------------------

.

.

.

#  touch "$CATALINA_OUT"

.

.

.


  org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \

  | /usr/bin/rotatelogs /usr/local/tomcat7/logs/%m%d/waslog-%Y-%m-%d_%H.out 7200 540 &

# | /usr/bin/rotatelogs "$CATALINA_OUT".%Y-%m-%d 86400 540 &

.

.

.


------------------------------------------------------


5. java heap size 증가

$ vim /usr/local/tomcat7/bin/catalina.sh

아래 구문 상단에 추가

JAVA_OPTS="-Djava.awt.headless=true -server -Xms2048m -Xmx3072m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+DisableExplicitGC"



6. mysql 연동

/usr/local/tomcat7/lib에 mysql-connector-java-5.1.34-bin.jar 넣기 


6. tomcat 서비스 등록

vi /etc/init.d/tomcat7

아래 스크립트 작성 


#!/bin/bash

# description: Apache Tomcat 7 Service

# processname: tomcat7

# chkconfig: - 80 20


CATALINA_HOME=/usr/local/tomcat7

CATALINA_USER=project


tomcat_pid() {

  echo `ps aux | grep org.apache.catalina.startup.Bootstrap | grep -v grep | awk '{ print $2 }'`

}


start() {

  pid=$(tomcat_pid)

  if [ -n "$pid" ]

  then

    echo "Tomcat is already running (pid: $pid)"

  else

    echo "Starting tomcat"

    ulimit -n 100000

    umask 007

    /bin/su -p -s /bin/sh $CATALINA_USER $CATALINA_HOME/bin/startup.sh

fi

  return 0

}


stop() {

  pid=$(tomcat_pid)

  if [ -n "$pid" ]

  then

    echo "Stoping Tomcat"

    /bin/su -p -s /bin/sh $CATALINA_USER $CATALINA_HOME/bin/shutdown.sh

    let kwait=20

    count=0;

    until [ `ps -p $pid | grep -c $pid` = '0' ] || [ $count -gt $kwait ]

    do

      echo -n -e "\nwaiting for processes to exit";

      sleep 1

      let count=$count+1;

    done

    if [ $count -gt $kwait ]; then

      echo -n -e "\nkilling processes which didn't stop after 20 seconds"

      kill -9 $pid

    fi

  else

    echo "Tomcat is not running"

  fi

  return 0

}



case $1 in

start)

  start

;;

stop)

  stop

;;

restart)

  stop

  start

;;

status)

  pid=$(tomcat_pid)

  if [ -n "$pid" ]

  then

    echo "Tomcat is running with pid: $pid"

  else

    echo "Tomcat is not running"

  fi

;;

esac

exit 0


6. get url utf-8 수신 설정

[root@localhost]# vim /usr/local/tomcat7/conf/server.xml

...생략

    <Connector port="8080" protocol="HTTP/1.1"

               connectionTimeout="20000"  URIEncoding="UTF-8"

               redirectPort="8443" />

...생략


7.서비스 스크립트 등록

[root@localhost]# cd /etc/init.d/

[root@localhost init.d]# chmod 775 tomcat7

[root@localhost init.d]$chown project tomcat7

 

8 tomcat 유저 등록

$ vim /usr/local/tomcat7/conf/tomcat-users.xml

아래 구문 추가 

 <role rolename="manager" />

 <role rolename="standard" />

 <role rolename="manager-gui" />

 <user username="project" password="password" roles="manager,standard,manager-g

ui" />



9.도메인 연결

 - 가비아 클라우드 - 네임서버 설정

   : 프로젝트 .com  에 대한 IP 설정  프로젝트 아이피

 - /usr/local/conf/server.xml에

   <Host name="localhost"  appBase="webapps"

            unpackWARs="true" autoDeploy="true">

  ------------------------------------------------------------------          

        <Context path="" docBase="m프로젝트" reloadable="true"/>

  --------------------------------------------------------------

  

  추가         

  

10. 아파치 설치 후

   $sudo apt-get install apache2

   $service apache2 restart

   참고: serviccould not reliably determine the server's fully qualified domain name  나올 경우 아래 실행 

   

   $vi /etc/apache2/apache2.conf 

   에서 

   ------------------------------------------------------------------       

  ServerName 프로젝트 .com

   ------------------------------------------------------------------    

 문구 추가, 아래처럼 변경 

    ------------------------------------------------------------------    

 

<Directory />

#        Options FollowSymLinks

        Options Indexes FollowSymLinks Includes ExecCGI

        AllowOverride None

#       Require all denied

        Order deny,allow

        Allow from all

</Directory>



   ------------------------------------------------------------------    

 

    $/etc/apache2/sites-available/000-default.conf

    에서 아래 처럼 변경 

    ------------------------------------------------------------------    

    ServerAdmin project@project.com

    DocumentRoot  /usr/local/tomcat7/webapps/m프로젝트



   ------------------------------------------------------------------    





  

  

  10. 8080 -> 80 포트 사용 

  

< 우분투 Tomcat에서 80포트 사용하기 >

 

우분투에서 Tomcat을 80포트로 사용하려고 server.xml를 수정하면 Tomcat이 제대로 동작되지 않는 문제가 발생한다.

 

이것은 Tomcat이 root권한으로 실행되지 않았기 때문인데 1000번 포트 이하는 root 권한이 있어야 사용 할 수 있다고 한다.

 

이 문제를 해결 하는 방법은 두가지가 있다.

 

1. Tomcat을 강제로 root권한으로 기동하여 해결한다.

2. iptables을 이용하여 80포트를 8080으로 포워딩한다.

 

이 포스트에서는 iptables로 포트포워딩하는 방법을 다루고자한다.

 

 

1. iptables 명령어 입력

 

방법은 간단하게도 다음과 같은 명령어들을 우분투 터미널에 입력하면 포트포워딩은 끝난다.

 

sudo iptables -t nat -A OUTPUT -d localhost -p tcp --dport 80 -j REDIRECT --to-ports 8080

sudo iptables -t nat -A OUTPUT -d "본인 서버 IP" -p tcp --dport 80 -j REDIRECT --to-ports 8080

sudo iptables -t nat -A PREROUTING -d "본인 서버 IP" -p tcp --dport 80 -j REDIRECT --to-ports 8080



2. iptables 설정 정보 저장하기


포트포워딩 설정은 간단하면서도 매우 잘 동작하지만 아쉽게도 우분투가 재부팅 되면 설정정보가 모두 사라진다.

?이 문제를 해결하기 위해서는 iptables 설정정보를 어딘가에 저장해놓아야 할 필요가 있다.


sudo sh -c "iptables-save > /etc/iptables.rules"

 

위 명령어를 실행하면 iptables 설정정보가 /etc/iptables.rules에 저장되게 된다.



3. 부팅할때마다 iptables 설정정보 불러오기


/etc/network/interface는 우분투에서 네트워크 정보를 설정할때에 사용되는 파일인데 네트워크 인터페이스가 시작될때 특정 쉘 명령을 실행하게 해주는 기능을 가지고 있다.

 

1. sudo vi /etc/network/interface

2. 설정파일 하단에 pre-up iptables-restore < /etc/iptables.rules 를 추가한다.

3. 저장하고 빠져나온다.


위 처럼 해주면 부팅될 때 네트워크 인터페이스가 시작되면서 pre-up iptables-restore < /etc/iptables.rules 명령이 실행된다.

/etc/iptables.rules는 2번 항목에서 저장해 놓았던 iptables 설정정보 파일이다.

  

  

참고: http://blog.naver.com/dlwlalsggg/220099384010

















아파치 톰캣 연동 



1. 연동을 위해 libapache2-mod-jk설치


sudo apt-get install libapache2-mod-jk


2. ajp 통신하는 부분 주석 제거를 위해 server.xml설정 편집


<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />



3. 워커 속성 만들기

sudo vi /etc/apache2/workers.properties


worker.list=worker1

worker.worker1.type=ajp13

worker.worker1.host=localhost

worker.worker1.port=8009

worker.worker1.lbfactor=1


입력하여 작성


3. jk.conf 설정

$sudo vi /etc/apache2/mods-available/jk.conf

 JkWorkersFile /etc/apache2/workers.properties


 .

 .

 .

 

workers.tomcat_home=/usr/local/tomcat7


#

# workers.java_home should point to your Java installation. Normally

# you should have a bin and lib directories beneath it.

#

workers.java_home=/usr/lib/jvm/java-7-oracle


 로 변경 



4. 아파치 설정 변경

sudo vi /etc/apache2/sites-enabled/000-default.conf

DocumentRoot 밑에 JkMount 설정 넣기

JkMount /*.jsp worker1


5. 재시작

sudo /etc/init.d/apache2 restart

sudo /etc/init.d/tomcat7 restart


or 


sudo service apache2 restart

sudo service tomcat7 restart



6. 연동 확인


참고: http://powernext.tistory.com/archive/201111

반응형

댓글