Whiteship's Note


서버 시간과 자바 시간 맞추기

Linux : 2010.08.04 11:36


현재 톰캣 위에 돌리고 있는 애플리케이션에서 보여주는 시간이 이상해서 
1. 서버에 들어가서 date를 쳐봤다. 그랬더니 현재 시간이 아니었다. 
2. 그래서 서버의 시간을 맞추고..
3. 다시 톰캣을 돌렸다.

그러나... 시간은 맞지 않았다. 어디가 잘못된 것일까? 톰캣 시간과 서버 시간은 애초에 별개였던 것이다. @_@;; 서버 시간 맞춘다고 자바 시간까지 서버 시간 따라서 맞춰지는게 아니엇다.

1. 서버 시간대 맞추기

export env TZ=KST-09:00:00 
rdate -s time.bora.net 
hwclock --systohc
date
hwclock --show

어디선가 보고 배껴만든 스크립트인데;; 잘 동작한다.

ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
rdate -s time.bora.net

저걸 만들고 보니 이미 예전에 이렇게 만들어둔 스크립트도 있었다. 하지만 잘 되는지 어떤지는 모르겠다. 이미 서버 시간은 맞은 상태였으니까;

2. 자바 시간대 확인하기

public class DateConfirm {

    public static void main(String[] args) {
        System.out.println(new Date().toGMTString());
        System.out.println(new Date().getTimezoneOffset());

        java.util.TimeZone tz = java.util.TimeZone.getDefault();
        System.out.println("Timezone offset from UTC reported as " +
                (tz.getRawOffset() / 1000 / 60) + " minutes");
        if (tz.getRawOffset() % (15 * 60 * 1000) != 0) {
            System.out.println("Warning: not a multiple of quarter-hours");
        }
        System.out.println(new java.util.Date());
        System.out.println(tz);

        TimeZone tz2;
        Date date = new Date();
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss (z Z)");

        tz2 = TimeZone.getTimeZone("Asia/Seoul");
        df.setTimeZone(tz2);
        System.out.format("%s%n%s%n%n", tz2.getDisplayName(), df.format(date));
    }

}

이것도 어디선가 보고 배껴 만든 코드인데 이걸로 기본 TimeZone을 확인한뒤, TimeZone을 서울로 설정한 다음에 다시 날짜/시간을 찍어본다.

4 Aug 2010 02:13:46 GMT
300
Timezone offset from UTC reported as -360 minutes
Tue Aug 03 21:13:46 CDT 2010
sun.util.calendar.ZoneInfo[id="America/Chicago",offset=-21600000,dstSavings=3600000,useDaylight=true,transitions=235,lastRule=java.util.SimpleTimeZone[id=America/Chicago,offset=-21600000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=3,startMonth=2,startDay=8,startDayOfWeek=1,startTime=7200000,startTimeMode=0,endMode=3,endMonth=10,endDay=1,endDayOfWeek=1,endTime=7200000,endTimeMode=0]]
한국 표준시
2010-08-04 11:13:46 (KST +0900)

조금전(8월 4일 오전 11시경..)에 확인한 결과였는데.. 이렇게 결과가 엉망이다. 대신 마지막 값이 제대로 나왔다면 희망이 있다. 즉 TImeZone만 제대로 설정해주면 되는거니깐...

3. 자바 시간 설정하기

톰캣/bin 폴더에 환경 설정용 파일은 setenv.sh가 있으면 그걸 편집하고 없으면 그 안에 자바 옵션을 설정해준다.

export JAVA_OPTS="-server -XX:+UseParallelGC -Xmx768m -XX:MaxPermSize=160m -Djava.awt.headless=true -Dfile.encoding=utf-8 -Duser.timezone=GMT+09:00"

export CATALINA_OPTS="$CATALINA_OPTS -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true"

다른 설정은 뭐 때문에 추가했는지 모르겠고. 아마도 아틀라샨 지라를 설치하면서 해놨을 법한데.. 기억나진 않는다;

저렇게 해두면 톰캣/bin의 startup.sh 파일을 실행할때 저 환경변수가 적용되고 저 톰캣에서 돌고 있는 애플리케이션의 날짜가 제대로 먹히게 된다.

top


리눅스 시간 맞추기

Linux : 2010.07.23 16:40


맥이나 윈도우는 얼마나 편해 ㅠ.ㅠ 
시간 한번 맞추기가 이렇게 힘들어서야 원...


커맨드만 복사해 놔야지.. 링크가 고장날지도 모르니...

    [root@Zeus ~]# date 
    Fri Aug  3 08:05:03 UTC 2007 
    [root@Zeus ~]# hwclock --show 
    Fri 03 Aug 2007 05:39:07 PM UTC  -0.870183 seconds 
    [root@Zeus ~]# echo $TZ 

    [root@Zeus ~]# export env TZ=KST-09:00:00 
    [root@Zeus ~]# date 
    Fri Aug  3 17:05:45 KST 2007 

    [root@Zeus ~]# date 
    Fri Aug  3 18:05:21 KST 2007 
    [root@Zeus ~]# hwclock --show 
    Fri 03 Aug 2007 06:39:45 PM KST  -0.540050 seconds 
    [root@Zeus ~]# rdate -s time.bora.net 
    [root@Zeus ~]# hwclock --systohc 
    [root@Zeus ~]# date 
    Fri Aug  3 18:06:56 KST 2007 
    [root@Zeus ~]# hwclock --show 
    Fri 03 Aug 2007 06:07:01 PM KST  -0.211481 seconds 

    export env TZ=KST-09:00:00 
    rdate -s time.bora.net 
    hwclock --systohc 


top

TAG 리눅스

[MySQL] mysqldump 백업 복구

Linux : 2010.02.24 14:20


참조: http://osguru.tistory.com/entry/MySQL-DB-%EB%B0%B1%EC%97%85-%EB%B0%8F-%EB%B3%B5%EA%B5%AC-mysqldump

백업

mysqldump -u 계정 -p 비번 DB > 백업파일

복구

mysql -u 계정 -p 비번   DB < 백업파일

흠.. 잘하면 외울 수도 있겠구나;;
top


[리눅스] 용량 보기 관련 명령어

Linux : 2009.11.01 09:04


df -h

파티션 별로 용량을 적절한 단위(-h)로 보여준다.

du | sort -n

해당 위치 이하의 모든 폴더 별 용량을 사이즈로 정렬해서(sort -s) 보여준다.

이 두 개를 이용해서 용량을 많이 차지하는 것 중에 필요없는 것들을 지워주는게 좋겠습니다. 안 그러면 눈 깜짝할 사이에 DB가 들어있는 파티션이 찬다던가. VCS가 들어있는 파티션이 꽉 차버릴지도...
top


심볼릭 링크 활용하기

Linux : 2009.05.07 17:39


홈 디렉토리의 bash_profile 이나 /etc/profile에서 path 설정을 할 때 심볼릭 링크를 걸어둔 폴더로 path 설정을 하고, 해당 폴더가 참조하는 폴더를 변경하는 것으로 버전업을 하는 방법이 아주 유용하더군요.


Ant, Maven, Java 버전업을 하라는 지시를 받고 역시 작업에 착수했습니다. 사부님이 폴더 정리를 잘 해두셔서 어떻게 링크가 걸려있고 Path가 어디에 걸려있는지 한 눈에 들어왔습니다. 물론 명시적으로 확인하려면 ls -al로 보면 되죠.

ln -s 링크대상 링크이름

이런식으로 심볼릭 링크를 만들면 되더군요. 편했습니다. 단, Maven은 심볼릭 링크로 관리하고 있지 않아서 maven 심볼릭 링크를 만들고 해당 심볼링 링크를 path에 등록해 주었습니다. 다음에 버전업을 할 때는 이 심볼릭 링크만 수정해 주면 됩니다. 캬~~ 귿!!!


top


리눅스에 tomcat, confluence, jira, bamboo 설치, apache 연동

Linux : 2009.05.07 10:31


오늘은 드뎌 프로젝트 시작이라 서버 세팅을 시작했습니다. 제가 공부를 안하면 재미있는 건 사부님이 다 하고 재미없는 거랑 노가다만 시키신다고 하셨기 때문에, 빨리하고 공부를 하고 싶었는데 너무 오래 걸렸습니다. 그나마도 예전에 정리해 놓은 블로그 글들 때문에 오늘 안에 무사히 마칠 수 있었던 것 같습니다.

전달 받은 사항은 이렇습니다. 현재 confluence, jira, bamboo를 백업하고, 새 버전으로 설치하는데 URL을 wiki.whiteship.me, jira.whiteship.me 형태가 아니라. www.whiteship.me/wiki, www.whiteship.me/jira 형태로 하고, WAR 배포를 하라는 것이었습니다.

백업부터 시작했습니다. 위 제품들은 백업 기능을 제공하기 때문에 수월했습니다. DB와 DB의 인코딩도 확인했습니다. 해보고 나서 안 사실이지만, 이 제품들은 DB는 달라도 괜찮은데 인코딩이 다르면 좀 골치아픈 것 같습니다.

다음 제품 설치를 시작했습니다. 먼저 톰캣부터 새로 설치했습니다.

톰캣 설치

http://tomcat.apache.org/download-60.cgi

wget 사용해서 다운로드.

tar xvzf 사용해서 압축 풀기.

rm -rf 사용해서 다운 받은 파일 삭제.

vi 사용해서 conf/server.xml에서 포트 수정.

vi 사용해서 bin/run.sh 파일 작성.

export CATALINA_HOME=/app/webapp/slt/server/apache-tomcat-6.0.18
./startup.sh


간단했습니다. 그냥 다운받아서 압축 풀고, 다른 것과 겹치지 않게 포트를 변경해주고, 간단한 실행 스크립트 하나를 작성했습니다.

다음은 컨플루언스를 설치했습니다.

컨플루언스 설치

wget 사용해서 atlassian에서 다운로드.

tar xvzf 사용해서 압축 풀기.

mysql DB 만들기.

mysql -u root -p
create database db이름 DEFAULT CHARACTER SET utf8 collate utf8_general_ci
show databases;

/confluence/WEB-INF/classes로 이동하기.

vi confluence~ 하여 data 폴더 설정하기

/app/webapp/slt/index/confulence로 설정하였음.

build.sh 사용하여 confuluence war 파일 빌드하기.

dist 폴더에 생성된 war 파일명을 confluence.war로 변경한 다음 톰캣 webapp 폴더에 배포하기.

http://~~/confluence 로 접속하여 컨플루언스 설정하기.

컨플루언스는 조금 복잡한데요, 전체적으로 봤을 때는 빌드 해서 WAR 파일을 만든 다음에 톰캣에 배포하는 겁니다. 다만, WAR 파일을 만들기 전에 DB를 만든다던가, 빌드에 필요한 환경 설정을 하는 부분이 추가되어 있습니다.

다음은 설치가 상당히 까다로운 Jira 설치입니다. 이번에도 어김없이 세번 실수를 하고 네번째에서야 제대로 설치했습니다.

Jira 설치

이전에 작성한 글 참조
톰캣에 Jira ear/war 버전 설치하기

설치 뒤에 반드시 할 일: 톰캣 메모리 늘려주기

톰캣/bin 폴더에 setenv.sh 파일을 만들고 다음과 같이 작성합니다.

export JAVA_OPTS="-server -XX:+UseParallelGC -Xmx768m -XX:MaxPermSize=160m -Djava.awt.headless=true"

export CATALINA_OPTS="$CATALINA_OPTS -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true"

지라는 컨플루언스와 설치 방법이 약간 다릅니다. WAR 빌드에 필요한 정보들을 설정하고 WAR 빌드를 하는 것 까지는 동일합니다. 하지만, 그 뒤부터는 좀 다릅니다. 컨텍스트 정보를 담고 있는 jira.xml 파일을 서버의 /conf/Catalina/localhost에 복사하고, 해당 파일을 편집하여 데이터소스 정보를 환경에 맞게 수정해 줘야 합니다. 이부분에서 DB에 따라 설정이 제각각이기 때문에 실수가 빈번하게 발생합니다. 그리고 톰캣/lib 폴더에도 지라에 필요한 라이브러리를 추가해줘야 하죠. 여간 깐깐한 녀석이 아닙니다.

이제 마지막 제품 밤부가 남았습니다.

Bamboo 설치

단순 WAR 파일 배포.

설정 파일 변경.

이 녀석은 아예 WAR 파일로 다운로드를 제공합니다. 따라서 해당 WAR 파일을 톰캣/webapp에 넣은 다음 실행하면, 어떤 설정 파일을 수정해서 밤부 홈을 설정하라는 에러 메시지를 보여주는데 그렇게 시키는대로 하고 서버를 재기동하면 잘 동작합니다. 위에 것들에 비하면 상당히 편리한 설치입니다.

제품 설치는 끝났고 이제 아파치/톰캣 연동이 남았습니다.

아파치/톰캣 연동하기

이전 글 참조
아파치 톰캣 연동

이 중에서도 VirtualHost 설정에서 가장 중요한 부분은 JkMount 입니다.



top


리눅스 명령어 백스라운드로 실행하기

Linux : 2008.11.10 22:35


참조: http://blog.keduall.co.kr/lsb76/69

nohup 명령어 &

창을 꺼도 계속 돌아가도록 nohup 추가.
백그라운드로 실행여 콘솔창 볼 수 있게 & 추가.

자세한 건 몰라요.


top


아파치 톰캣 연동

Linux : 2008.09.02 11:59


URL을 어떻게 사용할꺼냐에 따라 설정하는 방법이 다를 수 있는데, 저는 whiteship.me/wiki whiteship.me/jira 이런식으로 구성하기로 했습니다. wiki.whiteship.me와 jira.whiteship.me 이런식으로 하는 것 보다 URL이 조금 길다는 단점이 있지만, 도메인 네임서버 호스팅 설정을 많이 하지 않아도 되고,(도메인 서비스 업체에서 와일드카드를 제공하면 몰겠지만, 제가 사용하는 곳은 안 그런거 같더라구요.) 아파치에서 버츄얼 호스트 설정 역시 많이 하지 않아도 되기 때문에 이 방법을 선택했습니다.

1. 아파치/conf/workers.properties

work.list 에 워커 추가.

work.list = whiteship

워서 설정

worker.whiteship.type = ajp13
worker.whiteship.port = 연동할 톰캣 포트

2. 아파치/conf/extra/httpd-vhosts.conf

버츄얼 호스트 등록하기

<VirtualHost *:80>
    ServerAdmin 메일계정(ex. whiteship@whiteship.me)
    DocumentRoot /usr/local/apache2/htdocs
    ServerName 도메인주소(ex. www.whiteship.me)
    ErrorLog 로그파일 위치(ex. logs/www.whiteship.me-errorLog)
    CustomLog 로그파일 위치
                                          
    JkMount /* 워커이름(위에서 whiteship이라는 워커를 등록했으니. whiteship으로..) 
    JkMount / 워커이름
</VirtualHost>

3. 톰캣/conf/server.xml

맨 아래 쪽에 name="localhost"로 설정되어 있는 부분을 2번에서 설정한 도메인 주소로 변경..

   <Host name="도메인주소"  appBase="webapps"                          
            unpackWARs="true" autoDeploy="true"                                   
            xmlValidation="false" xmlNamespaceAware="false">   

끝... 나머지는 톰캣에서 새로운 App 설정할 때 마다 /wiki /jira 이런식으로만 주면, 버츄얼 호스팅 설정도 안건드려도 되고, 도메인 네임서버 호스팅 설정도 안 해도 됩니다. 적용되는데 시간도 좀 걸리고 번거로운대다가.. 네임서버 호스팅 갯수도 보통 4~5개 로 제한적이더군요.. *.whiteship.me를 쓸 수 있게 해주던지;; 왜 다섯개밖에 못 쓰남;;
top


SVN 저장소 설정하기

Linux : 2008.09.01 10:02


1. SVN 저장소 만들기

svnadmin create 저장소이름

그럼 svn루트/repos/저장소이름 으로 폴더 생김.

2. SVN 저장소 설정

htpasswd -m svn-auth-file 아이디
이렇게 사용자 추가

vi /etc/svn-authoz-file
들어가서, 권한 설정.

[저장소이름:/]
whiteship = wr
* = r

이런식..

3. SVN 클라이언트에서 저장소에 접근하기.

사용자 삽입 이미지

끝~
top

TAG svn

home 용량이 꽉 찼다

Linux : 2008.06.26 17:58


파일질라로 파일 업로드를 하는데 다음과 같은 에러가 났다.

451 Failure writing to local file.

뭐지.. 쓰기 권한이 없는건가.. 그럼 내가 이전엔 어떻게 업로드를 했던거지.. 뭘까 뭘까.. 이번에도 고민하다가 사부에게 문의했더니 df -h 로 디스크 용량을 확인해보라는 답변. 이쯤되면 거의 걸어다니는 구글이라고 할 수 있겠다.

확인해보니, /home 파티션이 꽉찼다. 조그만 파일 몇 개 올릴 만한 공간도 없다. 누가 많이 쓴건지 이 폴더 저 폴더 뒤지다가 영화 파일이 올라와있는 폴더를 발견. 영화를 다운 받진 않았다. 이미 본거라서..ㅋ 어쨋든 이걸 어쪈댜. 지워버리면 FTP 사용자가 황당해 할 거 같고, 그렇다고 가만히 두면 또 꽉 차서 이런 일이 벌어질꺼고..

그래서 결정. home 디렉터리 바꾸기.

/app 밑은 15G나 되는 상대적으로 많은 공간이 있길래 /etc/passwd 파일을 열어서 해당 사용자의 홈디렉터리를 /app/사용자명 으로 변경.

권한도 변경해줘야겠지?

chown -R 사용자명 /app/사용자명

그룹도 바꿔줄까..

chgrp -R 사용자명 /app/사용자명

제대로 됐는진 몰겠다. 그 사용자의 비번을 모르니..ㅋㅋ 몰라~
top

TAG ftp

MySQL 설치 후 처음으로 로긴하기

Linux : 2008.02.29 00:04


참조 : http://itn.pe.kr/ttools/1

MySQL을 yum 설치하고나서 접속을 시도합니다.

mysql -u root -p

기본으로 root의 암호는 공백이니까 그냥 엔터를 칩니다. 그런데.. 들어가지지는 않고 에러가 나옵니다.

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

아.. 이 끔찍한 에러. 이전에도 몇 번 만난적이 있는데, 그 때 잘 정리해 두지 않고 어찌저찌해서 접속 한 다음에 그냥 사용하고 있다가 다시 오랜만에 서버에 깔다가 만나니.. 참으로 난감한 에러입니다.

1. 프로세스가 돌고 있지 않아서 에러가 납니다. 그럼 프로세스를 돌려줍니다.  mysqld (MySQL 데몬)을 실행하면 되는데, 이 파일이 여러군대에 있더군요. 그중에서 저는

/usr/local/mysql/bin/mysqld_safe --user=mysql&

이렇게 하니까 동작 됐습니다.
Starting mysqld daemon with databases from /usr/local/mysql/var 이런 메시지가 출력됩니다.

2. 그 다음 다시 로그인을 시도하면 또 똑같은 에러가 나타납니다. 이번에는 링크를 만들어 줍니다.
temp 폴더에 생성되는 sock 파일을 mysql이 원츄하고 있는 이름으로 심볼릭 링크를 만들어 줍니다.

ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

3. 이제 끝. 이제는 로그인이 됩니다.

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 5.0.26

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>


top


리눅스 방화벽 포트 열고 닫기

Linux : 2007.12.27 17:59


방화벽 스크립트 사용하기.

/etc/rc.d/rc.firewall 이 파일의 존재 자체를 모르고 있다가 방금 알게 됐습니다. 왜 호스팅 업체에서 제공해주는 방화벽 메뉴에서는 해당 포트를 열었는데 해당 포트로 접근을 하면 접근이 안되는지 궁금했는데;; 서버의 포트를 열어주지 않아서 그렇다는군요.

그렇다면 방화벽이 2중이라는... 호스팅 업체가 제공해주는 방화벽은 서버를 감싸고 있는 또 다른 방화벽이었던 것입니다. 전 서버의 방화벽을 열어주는 메뉴인줄 알았는데..ㅋㅋ


top


mod_jk로 아파치 톰캣 연동하기

Linux : 2007.10.16 10:49


1. 아파치 설치
2. 톰캣 설치
3. mod_jk 설치
4. JSP 애플리케이션 배포 테스트

http://kldp.org/node/71058
http://kwon37xi.egloos.com/1761178

위 두개의 링크를 혼용하여 연동을 완료했습니다. 그러나.. 문제는 Tomcat Manager에 접속이 안 되네요.
무조건 webapps\폴더명\WEB-INF 를 가진 "폴더명"으로 접속해야 하나봅니다.

manager라는 폴더가 없기 때문에 URL/manager로 접속을 못 하는 것 같습니다.
Tomcat Manager로 접속하지 못하면 배포 자동화 할 때 Tomcat Manager를 못 쓴다는 얘긴데;; 그러면 ANT에서 FTP랑, SSH 태스크를 사용하는 방법을 공부해봐야겠습니다.

산 너머 산이로구나...
top


Fedora Core 6에 자바 6.0, Apache 2.2, Tomcat 5.5 설치 및 연동

Linux : 2007.09.24 22:51


자바 설치
Fedora Core 6에 자바 최신 버전 설치

아파치 설치, 톰캣 설치, 연동
참조 : fedora core 5.0에서 Apache2와 Tomcat5 연동하기

설치 된 폴더
자바 /opt/jdk1.6.0_02
톰캣 /usr/share/tomcat5
아파치 /etc/httpd
웹 기본 폴더 /var/www

문제
서버를 재부팅 할 때 마다
service httpd restart
service tomcat5 start

이렇게 두 줄을 쳐줘야 제대로 동작합니다.
자동화 할 수 있는 법을 찾아봐야겠습니다.
top


하위 폴더까지 복사, 권한 변경

Linux : 2007.07.02 12:33


하위 폴더 까지 복사
cp -r 대상 목적지
예) cp -r ./.subversion ../whiteship/

하위 폴더 까지 권한 변경
chown -R user:group 대상
예) chown -R whiteship:whiteship ../whiteship/.subversion



top


Fedora Core 6에 PostgreSQL 설치&설정

Linux : 2007.06.27 14:03


참조 :
http://www.opennms.org/index.php/Fedora_Core_6_tomcat5.5_jdk1.5_OpenNMS-SVN_install_log#Install_PostgreSQL_8.1
http://www.flmnh.ufl.edu/linux/install_postgresql.htm

1. yum을 사용하여 간단하게 설치할 수 있습니다.
yum install postgresql postgresql-server postgresql-devel
사용자 삽입 이미지

2. 부팅할 때 자동 실행하도록 등록
/sbin/chkconfig postgresql on

3. postgres 가동
/sbin/service postgresql start
사용자 삽입 이미지

4. 설정 파일 변경(localhost의 접근은 믿도록..)
vi /var/lib/pgsql/data/pg_hba.conf
맨 아래에 local 설정(과 127.0.0.1도)의 method를 trust 로 변경
사용자 삽입 이미지

5. postgresql 접속하기
su - postgres
psql template1

6. 계정 생성, DB 생성
psql#  create user web_user;
psql#  create database web_database owner web_user;
psql#  \q
사용자 삽입 이미지

7. PostgreSQL 재가동, 접속 테스트
/sbin/service postgresql restart
psql -U jedi seminar
사용자 삽입 이미지

top


Fedora Core 6에 톰캣 최신 버전 설치하기

Linux : 2007.06.25 21:35


참조 :
http://blog.jidolstar.com/70
http://bbuggung.com/tag/%EB%A6%AC%EB%88%85%EC%8A%A4?page=2

설치는 첫 번째 참조 링크 대로만 따라 하시면 됩니다.

설치가 끝난 뒤 할 일은 서버를 부팅할 때 tomcat을 자동으로 시작하도록 설정하는 것입니다.
부팅시 자동으로 실행하기 위해 스크립트를 직접 작성해야 합니다.
웹 서핑 결과 다음의 것이 가장 흔했습니다.

다음 스크립트를 /etc/rc.d/init.d/ 폴더에 tomcat이라는 이름으로 작성했습니다.

#!/bin/sh
#
#Startup script for Tomcat, the Apache Servlet Engine
#
# chkconfig: - 85 15
# description: Start Tomcat
#
# processname: tomcat
#
# Source function library.
. /etc/rc.d/init.d/functions
export JAVA_HOME=/usr/local/java
export CATALINA_HOME=/usr/local/tomcat
export PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
# See how we were called.
case "$1" in
  start)
  echo -n "Starting tomcat: "
  daemon $CATALINA_HOME/bin/catalina.sh start
  touch /var/lock/subsys/tomcat
  echo
  ;;
  stop)
  echo -n "Shutting down tomcat: "
  daemon $CATALINA_HOME/bin/catalina.sh stop
  rm -f /var/lock/subsys/tomcat
  echo
  ;;
  restart)
  $0 stop
  sleep 2
  $0 start
  ;;
  *)
  echo "Usage: $0 {start|stop|restart}"
  exit 1
esac
exit 0

위에서 굵은 줄 두 부분만 이전에 설치한 java와 tomcat 홈 디렉토리로 변경해주면 됩니다.

스크립트를 작성한 다음에 service에 등록합니다.
cd /etc/rc.d/init.d/
chmod 755 tomcat
chkconfig --add tomcat
chkconfig --level 3 tomcat on
chkconfig --level 4 tomcat on
chkconfig --level 5 tomcat on

부팅 레빌 3, 4, 5번 일 때 가동 되도록 설정했습니다.
top


yum repository 변경

Linux : 2007.06.25 20:36


참조 : http://kkanari.egloos.com/2228245

yum으로 패키지를 업데이트 할 때 사용하는 기본 repository가 너무 느립니다.
검색해보니 역시나 많은 정보들이 눈에 들어옵니다.

yum 패키지 저장소에 관한 설정 파일은
/etc/yum.repos.d
여기에 들어있습니다.

이 곳에서 두 개의 파일을 수정해 줍니다.
사용자 삽입 이미지
Core 파일에는
mirrorlist 을 주석처리 아래에 baseurl 추가하고 아래와같이 입력
baseurl=http://ftp.kaist.ac.kr/pub/fedora/linux/core/$releasever/$basearch/os/

Update 파일에는
mirrorlist 을 주석처리 아래에 baseurl 추가하고 아래와같이 입력
baseurl=http://ftp.kaist.ac.kr/pub/fedora/linux/core/updates/$releasever/$basearch

yum 사용이 한결 빨라집니다.

top


Fedora Core 6에 xampp 설치하기

Linux : 2007.06.25 17:03


Apache 2.2.4, MySQL 5.0.41, PHP 5.2.2 & 4.4.7 & PEAR + SQLite 2.8.17/3.3.17 + multibyte (mbstring) support, Perl 5.8.7, ProFTPD 1.3.0a, phpMyAdmin 2.10.1, OpenSSL 0.9.8e, GD 2.0.1, Freetype2 2.1.7, libjpeg 6b, libpng 1.2.12, gdbm 1.8.0, zlib 1.2.3, expat 1.2, Sablotron 1.0, libxml 2.4.26, Ming 0.3, Webalizer 2.01, pdf class 009e, ncurses 5.8, mod_perl 2.0.2, FreeTDS 0.63, gettext 0.11.5, IMAP C-Client 2004e, OpenLDAP (client) 2.3.11, mcrypt 2.5.7, mhash 0.8.18, eAccelerator 0.9.5.1, cURL 7.13.1, libxslt 1.1.8, phpSQLiteAdmin 0.2, libapreq 2.07, FPDF 1.53, XAMPP Control Panel 0.6

위의 모든 프로그램을 한방에..APM은 연동까지 해서.. 설치해 줍니다. 수많은 APM 관련 포스트나 카페 글들을 보면 대략 A4 한페이지 분량의 명령어와 설정들을 통해 설치할 것을 단 한 줄로 처리할 수 있는 매우 좋은 프로그램입니다.

한가지 단점은 오로지 /opt 에 설치해야 한다는 거죠.
또하나.. 엄청나게 쌓여가는 로깅 파일을 언젠가는 삭제 해주시는 것이 좋을 것 같습니다.(용량이 충분하다면 그럴필요도 없겠죠.)

다운로드 및 매뉴얼 : http://www.apachefriends.org/en/xampp-linux.html
설치 : tar xvfz xampp-linux-1.5.5a.tar.gz -C /opt
가동 : /opt/lampp/lampp start (Apache, php, mysql, proftp가 구동됩니다.)

[root@localhost src]# /opt/lampp/lampp start
XAMPP: SELinux is activated. Making XAMPP fit SELinux...
Starting XAMPP for Linux 1.6.2...
XAMPP: Starting Apache with SSL (and PHP5)...
XAMPP: Starting MySQL...
XAMPP: Another FTP daemon is already running.
XAMPP for Linux started.

앞에서 vsftpd로 FTP를 구동하고 있기 때문에 proftp는 구동하지 않습니다.

ps : Windows, Mac OS X, Solalis 용도 있습니다.

설치 뒤에 할 일(Path 설정, 시작시 자동 실행)
wget http://superb.dl.sourceforge.net/sourceforge/xampp/xampp-linux-1.5.1.tar.gz
tar xvfz xampp-linux-1.5.1.tar.gz -C /opt
cd /etc/rc.d/init.d/
ln -s /opt/lampp/lampp
chkconfig --add lampp
/etc/rc.d/init.d/lampp start
/opt/lampp/lampp security
echo "export PATH=\"/opt/lampp/:/opt/lampp/bin:\$PATH\"" >> ~/.bashrc

top


Fedora Core 6에 vsftpd 설치&설정

Linux : 2007.06.25 16:04


참조 :
http://blog.daum.net/nibal/9380431
http://blog.naver.com/bluefortune?Redirect=Log&logNo=110018382353

설치는 매우 간단합니다.
yum -y install vsftpd

가동 시키기
/etc/rc.d/init.d/vsftpd start

부팅할 때 자동 실행
/sbin/chkconfig vsftpd on

설정 파일
/etc/vsftpd/vsftpd.conf

설정 내용(해당 하는 내용의 주석을 풀어 줍니다.)
1. 익명 사용자 접근 금지
anonymous_enable=NO
2. 접속 메시지
ftpd_banner=Welcome to JEDI FTP service.
3. 상위 폴더로 이동 금지
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
4. 상위 폴더로 이동 금지 시킬 사용자 목록 작성
vi ./etc/vsftpd/chroot_list
파일을 안만들어 주면 접속이 안됩니다.
파일을 만들어 주고 계정명을 적어 줍니다.

설치할 때 SELinux 설정을 디폴트(강제)로 설치하셨다면 이렇게 해도 결국은 접속이 되지 않을 것입니다.

500 oops: cannot change directory
이런 메시지가 보입니다.
/usr/sbin/setsebool -P ftp_home_dir=1
이런 명령을 사용해주면 됩니다.

top


Fedora Core 6에 자바 최신 버전 설치

Linux : 2007.06.25 14:00


좋은 링크를 발견해서 그대로 따라 했더니 잘 됐습니다.
http://news.softpedia.com/news/How-to-Install-Java-in-Fedora-Core-6-39724.shtml
학교 인터넷이 느린건지 접속이 상당히 느리네요.

1. 설치할 jdk(or jre) 다운로드
rpm 버전이 아니라 그냥 self-extracting 파일입니다.
사용자 삽입 이미지

2. 설치할 폴더로 파일 이동
mv jdk-6u1-linux-i586.bin /opt

3. 설치할 폴더로 이동하여 권한 설정을 변경합니다.
cd /opt
chmod +x jdk-6u1-linux-i586.bin

4. 설치합니다.
./jdk jdk-6u1-linux-i586.bin

5. 다운 받은 파일 제거 합니다.
rm -rf jdk-6u1-linux-i586.bin

6. 파이어폭스의 플러그인에서 사용하는 java의 링크를 변경합니다.
ln -s /opt/jdk1.6.0_01/jre/plugin/i386/ns7/libjavaplugin_oji.so /usr/local/firefox/plugins/libjavaplugin_oji.so
자세한 경로는 저와 다를 수 있습니다. 각각 자바 설치 폴더와 파이어폭스 설치 폴더로 변경해 주시면 됩니다.

7. 패스 설정
vi /etc/profile.d/java.sh
편집기 열고 다음과 같이 패스를 넣어 줍니다.
export J2RE_HOME=/opt/jdk1.6.0_01/jre
export PATH=$J2RE_HOME/bin:$PATH

8. 위에서 만든 파일을 사용하도록 합니다.
source /etc/profile.d/java.sh

9. 패스 설정 확인
which java
명령으로 방금 설치한 java 디렉토리가 나오는지 확인합니다.

10. 시스템에서 사용할 java 변경
/usr/sbin/alternatives --install /usr/bin/java java /opt/jdk1.6.0_01/jre/bin/java 2
/usr/sbin/alternatives --config java
마지막 줄에서 선택 가능한 java가 두 개 나올 것 입니다. 이 때 2 를 입력합니다.

11. 변경 됐는지 확인
/usr/sbin/alternatives --display java

12. 마지막으로 자바 버전 확인
java -version[각주:1]


  1. 6.0 이전에는 --version 이였는데 6.0부터는 짝대기 하나가 빠졌습니다. [본문으로]
top


Fedora Core 6에 파이어폭스 최신 버전 설치

Linux : 2007.06.25 12:42


페도라 리눅스에 yum이 알아서 최신 버전으로 업데이트 해줄 줄 알았습니다.
아니면 파이어폭스 브라우저 자체 업데이트로 알아서 버전업을 해줄 줄 알았습니다.

둘 다 아니였습니다;;

http://www.mozilla.or.kr/products/firefox/

위 링크에 들어가시면 국제화도 지원하고 OS까지 알아 맞추는 대단한 사이트기 때문에... 다운 받아야 할 파일이 첫 화면에 바로 뜹니다. 리눅스의 경우 tar.gz 파일이 잡혔습니다.

다운을 받고 압축을 풉니다. 저는 /usr/local 에 tar.gz 파일을 갖다 놓고
tar zxvf f탭[각주:1]

ls -al 로 /usr/local에 있는 파일과 디렉토리를 확인합니다.
그러면 압축이 풀리고 /usr/local/firefox 디렉토리가 생기고 그 안에 파일들이 생겼습니다.

rm -rf f탭
으로 tar.gz파일을 지우거나 다른 곳으로 옮겨둡니다.

cd ./f탭
으로 /usr/local/firefox 폴더로 이동합니다.

./firefox
파이어 폭스를 실행하면... 실행이 되지 않고 에러 메시지가 나옵니다.

~~~~ libstdc++.so.5 가 어쩌구 저쩌구..
아마도 저게 없다고 뭐라고 하는 것 같습니다.
yum install libstdc++.so.5
으로 설치해줍니다.

그런 다음 다시 ./firefox로 파폭을 실행시킬 수 있습니다.

파이어폭스를 설치한 다음 제일 먼저 할 일은 플러그인 설치하는 일.. All-in-one 제스처가 1순위 그 다음은 마음대로죠.
http://update.mozilla.or.kr/
  1. 탭을 사용하면 자동완성 기능을 사용할 수 있습니다. [본문으로]
top


XAMPP 용량 먹는 로그 파일 삭제하기

Linux : 2007.06.25 01:02


로그 파일이 엄청나게 큽니다. 아마도 xampp를 설치 했을 때 부터 계속 쌓여온것 같습니다.
사용자 삽입 이미지
엄청난 크기의 로그 파일이 보이시나요.

대체 어디서 파티션을 다 잡아 먹었나 했더니 바로 이 녀석이였습니다. ㅠ.ㅠ 내가 이 녀석 때문에 고생한 것 만 생각하면~ ㅠ.ㅠ

사용자 삽입 이미지
이제 더 이상 루트 파티션이 공간 부족으로 해맬일은 없겠군요. 휴~ (df -h 를 사용하면 파일/폴더 크기가 보기 좋게 나옵니다.)

xampp에 한 가지 바라는 것이 있다면 제발 설치할 수 있는 폴더를 자유롭게 선택할 수 있게 해주세열...왜 /opt에만 깔아야 하는거에효...
top


Fedora Core 6 설치

Linux : 2007.06.22 21:37


제목은 설치인데 요즘 리눅스는 거의 Window 처럼 쉽게 설치할 수 있어서 별로 적을 것이 없습니다.
http://mirrors.fedoraproject.org/publiclist

위에 링크된 페이지에서 속도가 좋은 FTP를 골라서 iso 이미지를 다운 받은 뒤에 설치했습니다.

설치를 끝내고 가장 먼저 실행한 명령어는 java --versoin
Fedora Core5도 그렇고 Fedora Core 6도 마찬가지로 JDK 1.4.2가 기본으로 깔려있는데 버젼이 마음에 안듭니다.
그냥 rpm 다운 받아서 설치해도 되겠지만 그래도 기본 JDK 버전으로 다른 것들이 물려 있을텐데 그런것 까지 어떻게 알아서 yum이 해줄 수 있으려나 하는 생각에 검색을 했습니다.

http://www.fedorafaq.org/#java

이 링크를 따라하려고 하는데 Fedora Core 6가 부팅 되자마자 yum을 가동 시켜서 소프트웨어 업데이트 할 것을 찾는데 처음 부팅한 거라 그런지 256개나 설치해야 한다는군요. 이거 오늘 안에 java 6.0 이나 5.0을 사용할 수 있을지 걱정이 됩니다.


top


ssh 포트 변경하기

Linux : 2007.01.09 00:09


참고 : 네이버 지식인

학교에서 ssh 사용하는 곳에 접속이 되지 않아서 포트 번호를 바꾼다음에 접속을 시도해보려고 합니다.

ssh에 대한 설정 파일은

/etc/ssh/sshd_config
여기에 있습니다. 열어 보면 딱 포트 번호가 적혀있는 문장이 주석처리 되어 있는 것이 보이는데 주석을 풀고 원하는 포트를 적어주면 됩니다.

아무것도 안적으면 기본으로 22번 포트를 사용한 것 같네요.

설정을 바꾼 뒤 저장을 하고 재가동을 해야합니다.

/etc/init.d/sshd restart
top