카테고리 글 보관함: 우분투 서버 14.04 LTS

우분투 14.04 LTS cron crontab 설정 및 로그파일 확인

DNSZi의 DNS 서버로 변경하고 서버의 IP를 DDNS로 자동 갱신하기 위해서 우분투에서 crontab 설정을 찾아봤더니 제대로 나온게 안보여서 포스팅해 본다.

현재 등록된 작업내용을 확인

새작업 추가하기

명령을 실행하면 사용할 에디터를 고르라고 나오던데 추천하는 nano를 선택.
등록할 작업을 파일에 써 넣고 저장하고 종료하면 된다.

‘sudo crontab -e’를 하면 root로써 작업을 등록할수도 있다. 하지만 DDNS 갱신명령 정도는 그렇게까지 할 필요가 없어서 그냥 유저 계정으로 등록했다.

등록한 작업이 실행되는지는 크론탭 로그 파일을 보면 되는데

이 명령으로 확인 가능하다. (tail을 파일 끝을 보는 명령 -F 옵션은 파일이 갱신되면 추가적으로 표시되는 옵션)

우분투 14.04에서 크론 로그는 /var/log/cron 찾아봐야 없으니 /var/log/syslog 안에서 찾자.

Could not reliably determine the server’s fully qualified domain name

우분투 서버 14.04 LTS 아파치 apache2 설치 후 기동시에 아래와 같은 에러 메시지가 출력될 때 해결 방법.

이 메시지는 아파치 기동시에 터미널이나 /var/log/apache2/error.log 파일로 출력이 되는데, 아파치 웹서버 운용에 지장이 있는 에러 메시지는 아니다. 그냥 둬도 문제가 없다.

하지만, 신경쓰이니 없애도록 하자.

ServerName 이 지정되어 있지 않아서 FQDN(Fully Qualified Domain Name) 을 결정하지 못한다니 ServerName 을 지정하도록하자. 버추얼 호스트 설정에서 ServerName 을 지정하고 있거나, 특별히 사용하고 있는 호스트명이 없다면 localhost 를 사용한다.

tee 명령은 화면 출력 내용을 파일과 화면 출력 양쪽으로 보내는 명령이다. 아래 명령으로 ServerName 을 정의를 servername.conf 파일에 쓰고, 아파치에 적용시키자.

conf 파일을 활성화

아파치 리로드

이제 /var/log/apache2/error.log 파일을 봐도 처음과 같은 에러는 출력되지 않을 것이다.

sudo 패스워드 입력 생략 시간 제한 늘리기

우분투 서버 14.04 LTS 에서 sudo 명령을 사용하면 패스워드 입력을 요구받는데, 기본값으로 15분간은 패스워드를 재입력할 필요가 없이 sudo 명령을 사용할 수 있다. 이 패스워드 재입력 시간 제한을 늘리는 방법을 설명한다.

아래 명령어로 편집할 sudoers 파일을 열 수 있다. 우분투에서는 나노 nano 텍스트 에디터로 열리게 된다.

sudoers 파일이 열리게 된다.
sudoers 파일이 열리게 된다.

이 라인을 아래와 같이 수정한다. 가장 뒤에 30은 30분을 뜻한다. 두시간동안 패스워드 입력을 생략시키려고 할 때는 120을 입력하면 된다. 0을 넣으면 항상 패스워드를 물어보게 된다.

나노 에디터에서는 키보드의 화살표로 커서를 이동시키고, 저장은 Ctrl+X 키를 누르고 Y 키를 입력하고 엔터를 치면 된다. 만약 수정이 잘못됐을 경우에는 친절하게 알려주니 E 키로 재편집을 하면 된다.

편집이 끝나고 저장을 하게 되면 바로 적용이 된다.

참조 – RootSudoTimeout

아파치 웹컨텐츠 압축 mod_deflate 설정과 mime type 알아보기

우분투 서버 14.04 LTS 에서 설치한 아파치 Apache/2.4.7 는 웹컨텐츠를 압축하기 위해서 mod_deflate 를 사용한다. 기본적으로 활성화 되어 있고, 웹에서 사용하는 일반적인 파일들은 미리 정의가 되어 있기 때문에 그냥 쓰는 일이 많지만, 웹컨텐츠 중에서 좀 특수한 파일이 있을 경우에는 압축이 되지 않는 경우가 있다.

나 같은 경우에는 워드프레스 젯팩을 설치했는데 그 안에 Genericons.svg 라는 파일이 압축이 되고 있지 않았다. 이 파일은 텍스트 파일로 78Kb 나 되는 사이즈를 가지고 있다.
이 사실은 구글의 PageSpeed Insights 에서 알게 되었다. 운영중인 사이트/블로그의 속도를 개선하기 위해서 쓰면 좋을듯하니 이용해보자.

Genericons.svg 파일이 압축되고 있지 않다.
Genericons.svg 파일이 압축되고 있지 않다.

각설하고, svg 라는 확장자를 가진 이 파일을 아파치에서 압축하는 방법을 알아보자.

deflate.conf 파일 수정

위에서 아파치에서 압축은 mod_deflate 을 사용한다고 했다. 이 모듈의 설정 파일은 deflate.conf 이고 이 파일은 /etc/apache2/mods-enabled 에 있다. 열어서 수정하도록 하자.

파일을 열어보면

이렇게 mime type 로 압축 송신할 파일들을 정의해 둔 것을 볼 수 있다.

svg 파일의 mime type 을 알아보기 위해서는 아래 파일을 참조하자.

vi 에서 / 키로 검색 모드로 들어가서 svg 를 입력하면 아래와 같이 mime type 이 image/svg+xml 이라는 것을 확인할 수 있다.

다시 deflate.conf 파일로 돌아가서 아래와 같이 압축할 파일의 정의를 추가한다.

설정을 적용시키기 위해서는 아파치 재기동이 필요하다.

PageSpeed Insights 에서 다시 확인한 결과 압축이 적용되어 압축 사용 항목이 통과 되어 있다.

압축 사용에 문제 없음!
압축 사용에 문제 없음!

우분투 서버 14.04 LTS 톰캣 웹서버 설치 후 war 파일 배치(디플로이) 방법

우분투 서버 14.04 LTS 에서 톰캣7 웹서버을 설치하고 war 파일로 된 웹어플리케이션을 배치(디플로이)해서 확인하기까지의 과정을 설명한다.

톰캣 설치

먼저 당연하게 톰캣을 설치해야 한다. 우분투 서버 14.04 LTS 에서 최신 버전인 7.0 버전을 설치한다.

설치를 하면 service tomcat7 으로 톰캣이 실행 된다.
브라우저에서 <톰캣을 설치한 서버의 IP 주소:8080> 로 접속해 본다.

톰캣7 설치 후 브라우저에서 접속한 화면
톰캣7 설치 후 브라우저에서 접속한 화면

apt-get 으로 톰캣을 설치하면 별 문제 없이 설치가 될 것이다.

war 파일=웹어플리케이션 배치(디플로이)

브라우저로 접속한 화면의 글을 잘 읽어 보면 CATALINA_HOME 은 /usr/share/tomcat7 이고, CATALINA_BASE 는 /var/lib/tomcat7 이라고 나와 있다.
이전 글 톰캣 CATALINA_HOME vs. CATALINA_BASE 에서도 이야기 했지만, 우분투 톰캣7에서는 기본적으로 웹어플리케이션 배치(디플로이)는 CATALINA_BASE 를 이용한다.

war 파일의 배치 장소는 CATALINA_BASE/webapps 이며, 경로로는 /var/lib/tomcat7/webapps 가 된다.
webapps 디렉토리는 tomcat7 유저 소유이므로 winSCP 등으로 war 파일을 업로드 할 때는 직접 webapps 디렉토리에 올릴 수가 없다. 먼저 현재 계정의 home 디렉토리에 war 파일을 업로드 하고 sudo 명령으로 webapps 디렉토리로 복사 하도록 하자.

구글에서 sample war 로 검색해서 나온 Calendar.war 파일을 배치 해 보았다.
파일을 복사 한 다음에 리스팅을 해 보면 이미 배치가 끝나서 Calendar 디렉토리로 전개 되어 있는 모습을 볼 수 있다.

아까 접속 했던 브라우저 주소 뒤에 전개 된 디렉토리 이름인 Calendar 를 아래와 같이 붙여서 브라우저로 접속해 본다.

배치 후 접속 화면
배치 후 접속 화면

별 내용이 없는 어플리케이션이라 화면이 횡하지만 어쨋든 잘 접속 된다.
디플로이는 이런 식으로 하면 된다.