[Ubuntu Diary] Ubuntu에 Java6 & Tomcat7 설치하기

1. add-apt-repository를 사용하기 위한 패키지 설치

  root@sungsik81:/usr/lib# apt-get install python-software-properties


2. Oracle Java 설치를 위한 repository 추가

  root@sungsik81:/usr/lib# add-apt-repository ppa:webupd8team/java


3. 추가한 repository 적용

 root@sungsik81:/usr/lib# apt-get update


4. 원하는 버전의 자바 설치 - 6버전으로 설치

  root@sungsik81:/usr/lib# apt-get install oracle-java6-installer 


5. 설치된 자바 버전확인

  root@sungsik81:/usr/lib# java -version

  java version "1.6.0_43"
  Java(TM) SE Runtime Environment (build 1.6.0_43-b01)
  Java HotSpot(TM) 64-Bit Server VM (build 20.14-b01, mixed mode)


6. Tomcat 설치

  root@sungsik81:/usr/lib# apt-get install tomcat7 


7. 설치된 Tomcat 버전 확인

  root@sungsik81:/usr/share/tomcat7# pwd
  /usr/share/tomcat7

  root@sungsik81:/usr/share/tomcat7# cd bin
  root@sungsik81:/usr/share/tomcat7/bin# sh version.sh
  Using CATALINA_BASE:   /usr/share/tomcat7
  Using CATALINA_HOME:   /usr/share/tomcat7
  Using CATALINA_TMPDIR: /usr/share/tomcat7/temp
  Using JRE_HOME:        /usr
  Using CLASSPATH:       /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
  Server version: Apache Tomcat/7.0.26
  Server built:   Jul 19 2012 03:21:30
  Server number:  7.0.26.0
  OS Name:        Linux
  OS Version:     3.2.0-23-generic
  Architecture:   amd64
  JVM Version:    1.6.0_43-b01
  JVM Vendor:     Sun Microsystems Inc.


8. JAVA_HOME 설정
아래의 캡쳐된 이미지와 같이 JAVA_HOME 설정부의 주석을 해제하여, 경로를 설정함니다. 

  root@sungsik81:/usr/share/tomcat7/bin# vi /etc/default/tomcat7 


9. Tomcat 서비스 실행
아래의 캡쳐된 이미지와 같이 서버를 시작요청하여, 결과를 확인한다. 

  root@sungsik81:/usr/share/tomcat7/bin# service tomcat7 start 


10. 웹브라우저를 통한 서비스 동작확인


11. docs, example, admin 설치하기(내용추가 : 2013/03/29)
설치완료 후 http://도메인:8080 으로 각 링크 정상적인지 여부 확인

   root@sungsik81:/home/polaris# apt-get install tomcat7-admin tomcat7-examples tomcat7-docs


12. Manager WebApp 설정하기
아래 Tomcat 설정파일을 열어준뒤, 주석을 풀고 내용을 수정한다. 

   root@sungsik81:/var/lib/tomcat7/conf# vi tomcat-users.xml

  [기존설정내용]
  <tomcat-users>
  <!--
    <role rolename="tomcat"/>
    <role rolename="role1"/>
    <user username="tomcat" password="tomcat" roles="tomcat"/>
    <user username="both" password="tomcat" roles="tomcat,role1"/>
    <user username="role1" password="tomcat" roles="role1"/>
  -->
  </tomcat-users>

  [변경적용내용]
  <role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <role rolename="manager"/>
  <role rolename="admin-gui"/>
  <role rolename="admin-script"/>
  <role rolename="admin"/>
  <user username="사용할계정명" password="비밀번호" 
           roles="manager-gui,manager-script,manager,admin-gui,admin-script,admin"/>


13. Tomcat 재기동

   root@sungsik81:/var/lib/tomcat7/conf# service tomcat7 restart

   * Stopping Tomcat servlet engine tomcat7                                                         [ OK ]
   * Starting Tomcat servlet engine tomcat7                                                           [ OK ]



14. 웹브라우저에서 정상동작여부 확인


참고 : http://gentooboy.tistory.com/226
참고 : http://webnautes.tistory.com/entry/ubuntu-JSP-%EA%B0%9C%EB%B0%9C-%ED%99%98%EA%B2%BD-%EA%B5%AC%EC%B6%95
참고 : http://stackoverflow.com/questions/11219678/apache-tomcat-installation-directory-in-ubuntu-configure-tomcat-in-eclipse-u

[Ubuntu Diary] Apache ServerTokens 설정

서버에 아파치 웹서버를 설치했으니, 아래 명령으로 서버 정보를 확인해보겠습니다. 
curl 명령은 웹상의 서버에 http 메시지를 전송하여 응답결과를 쉘상에 출력해주는 명령입니다. 

curl --head http://xxx.abc.com


위 명령에 대한 결과입니다. 
내용을 일부 모자이크로 가리긴 했는데, 서버 URL과 아파치 버전정보와 OS명 출력부 입니다. 


ServerTokens란?

아파치의 설정파일인 httpd.conf 내의 ServerTokens의 역할은 클라이언트 웹브라우저에게 서버의 정보를 얼마나 알려주냐를 설정하는 것입니다. http.conf 파일을 수정하여 위 출력내용을 변경해 보겠습니다. 


ServerTokens의 설정값

 이름

 설명

 결과형식

 Prod

 웹서버의 이름만을 알려준다.  Apache
 Major  웹서버의 이름과 Major 버전번호만 알려준다.  Apache/2
 Minor  웹서버의 이름과 Minor 버전까지 알려준다.  Apache/2.2
 Min  웹서버의 이름과 Minimum 버전까지 알려준다.  Apache/2.2.3
 OS

 웹서버의 이름과 버전, OS까지 알려준다. (기본값)

 Apache/2.2.3 (CentOS) (기본값)

 Full

 최대한의 정보를 모두 알려준다.(웹서버, 운영체제, 등)  Apache/2.2.3 (CentOS) DAV/2 PHP/5.1.6


자. 이제 설정을 해봅시다. 
ServerTokens 설정을 위해 아래와 같이 파일을 열어줍니다. 


설정내용 중 아래와 같이 ServerTokens에 대한 설정부가 존재합니다. 
OS로 기본설정이 되어 있네요. 


OS부분 대신 Prod라는 설정값을 넣어줍니다. 


아파치 재시작하려고 하니, 에러가 발생합니다. 
검색을 통해 httpd.conf에 서버에 대한 설정값이 필요하다는 내용을 확인하고 아래의 파일을 열었습니다. 


파일내용을 보니, 아무런 설정값이 없는 상태였기에 아래와 같이 ServerName값을 설정해 주었습니다. 


그리고는 서버 재시작을 한 뒤, 다시 curl로 상태를 체크해 봅니다. 


이전과는 다르게 서버정보가 출력되는 것을 확인 할 수 있었습니다. 
끝.


참고 : http://blog.simplism.kr/?cat=291&paged=2

[Ubuntu Diary] 아파치 웹서버 설치

신규 서버에서는 SSH  / FTP 등의 서비스도 수행하지만, 사실 가장 중요한 것은 JAVA 웹서비스 입니다. 

아직 개발중에 있지만, 실제로 이것때문에 서버를 이용하게 된 것이니까요. 


오늘은 아파치 웹서버를 설치해 보았습니다. 

설치는 뭐 전에 포스팅에서도 기재했다시피 너무 간단합니다. 

apt-get install apache2


설치가 금방 끝나면, 실제로 잘 동작하고 있는지 확인해 봐야겠죠?


netstat -ntl


아래는 수행결과입니다. 

어제 설치했던 FTP 서버와 아파치 웹서버가 정상동작 하고 있는것을 확인할 수 있습니다. 


그런데 아직도 계정이 root 군요. 

사용자 계정을 생성해서 사용해야 겠네요. 


끝. 

[Ubuntu-Diary] 새로운 서버를 운영하게 되었습니다.

오랫만에 서버 운영일지를 기재해 봅니다. 

오늘부터 새로운 바티스트서버를 운영하게 되었습니다. 

방법을 고민하다가 결국 가상서버 호스팅을 선택하게 되었네요. 

예쩐에 기록했던 자료들을 참고해서 설정중에 있습니다. 


금일은 VSFTP 서버 및 글꼴을 설치했습니다. 

아래는 글꼴 다운로드 하는 과정에 대한 내용입니다. 

(출처 : http://ubuntu.or.kr/viewtopic.php?p=98122)

아래 명령으로 코분투 저장소 등록, 나눔, 나눔코딩체 설치 하신 후
일반 글꼴은 나눔, 고정폭은 나눔 코딩(웹브라우저도 동일하게 설정)으로 설정하신 후 사용해보시길...


제경우도 일반 복사 명령을 통해 /usr/share/font/truetype에 복사하고 fc-cache 명령을 주어 사용하니 인식을 못하더군요..

sudo add-apt-repository ppa:cobuntu
sudo apt-get update
sudo apt-get install ttf-nanum ttf-nanum-coding 

아니면, 우분투 10.04말고, 여기 자료실에 있는 코분투10.04 (우분투에 한글폰트 등을 추가로 작업한 것이니 우분투와 똑 같습니다) 를 설치하시는 것이 훨씬 깔끔한 한글 환경을 사용하실 수 있습니다.


putty 설정을 UTF-8로 하였는데도 한글문자가 ㅁㅁ로 나오는 문제가 있었는데, putty 설정이 아니라 putty 내의 폰트문제였습니다. 일반적으로 사용하는 굴림체로 선택하였더니 정상적으로 출력되는 것을 확인 할 수 있었습니다. 


그리고 설치된 VSFTP 서버가 정상적으로 동작하는지 여부는 물론 FileZilla를 통해 확인하였지만, 실제 명령을 통해 각 리스너들이 동작하는에 대해서 확인하였습니다. 

ssh 서버 동작확인

netstat -ntl


이상 끝.

[Linux] Busybox TFTP 사용법


Tftpd32-4.00-setup.exe

임베디드 리눅스 상에서 보안을 위해 Busybox라는 툴을 사용한다. 
이 툴에는 제한적인 명령어들이 존재하는데, 이 글에서는 TFTP의 사용법에 대해 기록한다. 
아래는 특정 디바이스에서의 Busybox 명령어들이다. 

위와 같은 명령셋이 존재하며, 이 중에서 TFTP를 사용할 것이다. 
서버는 윈도우 기준으로 아래의 경로를 통해 설치할 것이며, 홈디렉토리만 지정하면 쉽게 구동이 가능하다. 

   - TFTP 서버 다운로드 경로 : http://tftpd32.jounin.net/tftpd32_download.html

서버 설치 후, TFTP 명령을 보내보자. 
명령에 대한 옵션들은 아래와 같이 확인 가능하다. 

실제로 사용했던 예제 명령을 살펴보면 이해가 쉽다. 
아래는 서버에 존재하는 a.txt라는 파일을 단말 리눅스 상으로 복사해오는 명령이다. 

그리고 아래와같이 반대로 단말 리눅스에 존재하는 b.txt 파일을 서버경로로 복사 가능하다. 

서버 홈디렉토리와 로그등을 살펴보면 아래와 같이 확인가능하다. 

조금 더 열심히 공부하자.