<![CDATA[ LIFE BALANCE ]]> http://story.dnip.net ko Copyright (c) Chanseok, Jeon All rights reserved <![CDATA[ SAP 용어집 ]]> SAP R/3 Glossary

 

1장. SD(영업 및 배송관리)
2장. MM(자재관리)
3장. PP(생산관리)
4장. FI(재무회계관리)
5장. CO(원가회계관리)
6장. QM(품질관리)
7장. PM(설비보전관리)
8장. AA(고정자산관리)
9장. IM(투자진척관리)
10장. 기타
INDEX

 

출처 : Google에서 건짐. 출처분실.

]]>
목, 28 8월 2008 00:26:40 GMT SAP용어
<![CDATA[ SAP 테이블 관계 ]]>  

 

각 모듈별 테이블의 관계를 정리한 도움말파일과 PDF파일입니다.

각각 컴퓨터용과 인쇄용으로 쓰시면 되겠네요.

 

출처 : http://www.sap-img.com

]]>
목, 28 8월 2008 00:20:17 GMT ABAP FI HR INFOTYPE MM PM PP PS SAP SD TABLE
<![CDATA[ 니콘 D90 동영상이 나를 사로잡네 ]]>  

 

이거이거...이제 일반인도 이런 영상을 찍어낼 수 있는거야? 나만 몰랐나? 후덜덜...

 

Samples : http://chsvimg.nikon.com/products/imaging/lineup/d90/en/d-movie/

]]>
수, 27 8월 2008 23:55:17 GMT d-movie D90 니콘
<![CDATA[ 영흥도 투어 ]]>

 

오이도

 

 

 

영흥도 장경리 해수욕장

 

 

 

영흥도

]]>
월, 25 8월 2008 09:26:16 GMT 바닷가 영흥도 오이도 장경리해수욕장
<![CDATA[ WONDER ]]>

 

태국에 놀러갔던 친구가 돌아오면서 사온, 태국에서 제일 잘나가는 담배란다.

전에도 이런거 본적이 있지만 정말 기분 드럽다.

얼렁 던힐 다 피우고 던힐 곽에 옮겨 담아야겠다...

]]>
토, 23 8월 2008 00:12:35 GMT WONDER 담배
<![CDATA[ Ubuntu 8.04, Tomcat 5.5, MySQL 5.0 환경에서 Jennifer 3.2 설치 ]]>

 

JENNIFER INSTALLATION

 

라이프발란스의 서버 성능이 좋지 않자 제일 먼저 떠오른것은 단연 제니퍼였습니다. 프로젝트때 몇번 접해본 경험때문이겠지요. 장애진단화면에서 성능이 않좋은 쿼리까지 뿌려줬을때의 그 감동이란. 암튼, 이놈을 한번 설치해봐야겠다는 생각이 들어서 트라이얼 라이센스로 설치해 보았습니다. 설치시 약간의 삽질이 있었지만 예상보다는 쉽게 설치 할 수 있었습니다.

 

1. 라이센스 키 신청, 프로그램 다운로드

다운로드링크 : http://www.jennifersoft.com/docs/8.html

웹상에서 바로 다운로드 할 수는 없고요, 일단 라이센스 키를 신청해야합니다. 라이센스 키는 관심있는 사람 모두에게 제공되고 있는것 같습니다. 양식을 꼼꼼히 작성해서 입력하시면 늦어도 다음날 안에는 메일이 도착하게 됩니다. 제 경우에는 신청 다음날 도착했는데, 라이센스 키 신청시 아이피를 잘못적어서 다시 신청을 했더니 1시간정도 뒤에 바로 도착하더군요. 라이센스 키 신청시 제니퍼가 설치될 서버의 아이피를 적게되는데 저처럼 잘못 적는 누를 범하지 않으시기 바랍니다.

 

2. 설치준비

설치가이드 : http://www.jennifersoft.com/docs/68.html

설치는 사이트에 WAS별로 설치가이드가 꼼꼼히 잘 작성되어져 있어서 그 곳을 참조해 따라하시면 됩니다. 여기서는 중간중간 제가 겪었던 피곤함을 이야기해보겠습니다.

 

3. 서버환경

OS : 우분투 8.04
WAS : Tomcat 5.5
DB : MySQL 5.0

제 서버의 환경은 위과 같습니다. 따라서 설치 가이드는 Tomcat가이드를 보시고 그 안에서도 UNIX쪽을 보시면 되겠네요. 

제니퍼 Tomcat용 설치가이드 : http://www.jennifersoft.com:8080/man/viewer/DocumentViewer.jsp?id=2df4d391-b808-45fc-94c9-2d8499a57c9b

 

4. 설치시작

메뉴위치 : 제니퍼 서버 설치 및 구성 - ①번

/home/jennifer위치에 프로그램을 넣으라고 하는데요, 다음 명령으로 계정을 생성하여 디렉토리를 만듭니다.

$ sudo adduser jennifer

 

메뉴위치 : 제니퍼 에이전트 설치 및 구성 - jennifer.jar의 설정

저의 경우 이부분이 잘 안되더군요. 시키는대로 해도 계속 javax.servlet.http.HttpServlet을 타서 결국 servlet-api.jar에 jennifer.jar를 밀어넣어버렸습니다. 저의 경우 servlet-api.jar파일은 /usr/share/java에 위치해 있었습니다.

chanseok@cerver:/usr/share/java$ sudo cp servlet-api.jar servlet.jar.org (백업해 두기)
chanseok@cerver:/usr/share/java$ sudo mkdir temp
chanseok@cerver:/usr/share/java$ cd temp
chanseok@cerver:/usr/share/java$ sudo jar -xvf /home/jennifer/agent/jennifer.jar javax com org (풀기)
chanseok@cerver:/usr/share/java$ sudo jar -uvf ../servlet-api.jar javax com org (밀어넣기) 
chanseok@cerver:/usr/share/java$ cd..
chanseok@cerver:/usr/share/java$ sudo rm -rf temp


메뉴위치 : 제니퍼 에이전트 설치 및 구성 - 제니퍼에이전트구성파일, jennifersys.jar, lwst30.jar설정(Tomcat4x,5x,6x공통사항)

저는 메뉴얼에 나와있는 catalina.sh를 수정하지않고, /etc/init.d/tomcat.sh 파일을 수정하였습니다.

$ sudo vi /etc/init.d/tomcat5.5

파일의 윗부분에 다음과같이 추가하였습니다.

JAVA_OPTS="-Xrunjennifer20 -Djennifer.config=/home/jennifer/agent/w11.conf -Xbootclasspath/p:/home/jennifer/agent/jennifersys.jar:/home/jennifer/agent/lwst30.sun.jar"

'-Xrunjennifer20' 옵션은 가이드에 나와있지 않더군요. 제니퍼소프트Q/A게시판을 보니 OS가 Linux일 경우 넣어주라고 나와 있었습니다. 이걸 넣지 않으면 다음에 수행될 부분인 '제니퍼 네이티브 라이브러리 테스트'에서 ./test.sh 스크립트 수행시 다음의 노란부분과 같은 기분나쁜 메시지가 나타나게 됩니다.

chanseok@cerver:/home/jennifer/agent/jni/linux$ sudo ./test.sh
get_nprocs_conf=1, get_nprocs(ncpu)=1, ncpu=1, _SC_CLK_TCK=100
Jennifer20 loaded successfully.You did not set "-Xrunjennifer20 " to get cpu utilization per thread

Jennifer TimeZoneOffset:32400000
Jennifer3.2.1.4(2008-07-11) libjennifer20.so(sl) shared library loaded successfully.
...

메뉴얼에도 설명을 넣어줬으면 좋겠다는 메일을 보내야겠네요.

 

여기까지 하시면 화면에 차트가 지이잉~하면서 그려질것입니다. 다음으로 라이센스 키등록이 있네요. 발급받은 라이센스 키를 에이전트에 등록해주어야 비활성된 기능들을 모두 보실 수 있습니다. 라이센스 키등록은 가이드에 좀 짧게 설명되어있어 한참 헤멘 부분입니다. 일단 제일 중요한 것은 키 발급시 입력했던 서버의 아이피 입니다. 먼저 다음 명령을 수행하여 어떤 아이피가 나타나는지 확인해봅시다.

$ sudo /home/jennifer/agent/ipcheck.sh

여기서 결과값이 127.0.0.1이 떨어지면 hosts파일을 수정해 주어야 합니다. 

$ sudo vi /etc/hosts
<키발급받은아이피>   localhost
<키발급받은아이피>   cerver
#127.0.0.1      localhost
#127.0.1.1      cerver

위와같이 기존에 있던 localhost와 서버명의 아이피를 주석처리하시고 라이센스 키를 발급받을때 적었던 아이피로 대체하시기 바랍니다. 또한 라이센스 키 등록시 라이센스 파일을 찾을 수 없다는 메시지가 나타나는데요, 이건 참 이상한 부분입니다. 발급받은 라이센스 파일이 없거든요. 정식버전은 라이센스를 파일과 키로 관리하는지 모르겠지만 가이드에는 이와 관련된 내용이 없습니다. 그냥 무작정 licese.txt파일을 만들어 라이센스키를 넣었습니다. 라이센스 파일은 에이전트 설정파일인 w11.conf파일에 경로를 기술하는부분이 있습니다. 생성한 license.txt파일의 절대경로를 입력해 줍시다.

chanseok@cerver:/home/jennifer$ sudo vi license.txt

파일에 발급받은 키를 입력한 후 저장합니다.

chanseok@cerver:/home/jennifer$ sudo vi /home/jennifer/agent/w11.conf 

w11.conf파일을 열어 다음과같이 license.txt파일의 경로를 지정합니다.(vi에서 /(슬래쉬)입력후 license_filename으로 검색)

license_filename = /home/jennifer/license.txt

이제 웹상의 구성관리-라이센스키관리 화면에서 라이센스를 입력하시면 됩니다. 제가 경험해보지 못해 라이센스 파일은 쓸데없는 짓일지도 모르겠네요. 라이센스 파일부분은 제일 마지막에 수행해 보시면 되겠네요. 이와 관련된 가이드 설명이 없어서 조금 아쉽네요.

 

자 이제 화면이 대부분 잘 나타날 것입니다. 저의경우엔 JDBC SQL 추적기능이 중요해서(다들 중요하시겠죠?) 추가적으로 넣은 부분이 있습니다. w11.conf파일에 DB Connection유형별로 설정하는 부분이 있는데요, 이부분을 설정하시면 커넥션이 닫히지 않았다던지, 쿼리수행시간이 너무 길다던지등의 고품질의 데이터를 얻으실 수 있습니다.(같은 디렉토리의 w11.conf.ko파일을 참고하시면 주석이 한글로 되어있어 쉽게 설정 하실 수 있을것입니다.) 제 경우엔 JDBC Connection Pool을 자체적으로 관리하고있어 [유형3]에 해당하더군요. 다음과같이 설정하였습니다. 아주 자~알 되더군요.

jdbc_connection_get   = com.jwdf.databasePool.DBPoolImpl.getConnection()
jdbc_connection_close = com.jwdf.databasePool.DBPoolImpl.releaseConnection(Connection);com.jwdf.databasePool.DBPoolImpl.releaseConnection(Connection, PreparedStatement, ResultSet);com.jwdf.databasePool.DBPoolImpl.releaseConnection(Connection, CallableStatement, ResultSet);com.jwdf.databasePool.DBPoolImpl.releaseConnection(Connection, Statement, ResultSet);com.jwdf.databasePool.DBPoolImpl.releaseConnection(Connection, PreparedStatement);com.jwdf.databasePool.DBPoolImpl.releaseConnection(PreparedStatement, ResultSet)

 

5. 인증샷

그래프가 1초정도 간격으로 왼쪽으로 움직입니다. 보고있으면 서버가 얼마나 열심히 운동을 하고있는지 바로 알 수 있습니다. 위 그림에는 보이지는 않지만 제 경우엔 DB로 인해 순간적으로 CPU부하가 심하게 나타나더군요. 이 놈을 어떻게 때려잡느냐가 관건인데...

 

장애진단화면입니다. 개발자로서 제일 감동받았던 부분이죠. 로그인 처리 할 때 ResultSet을 Close하지 않은 메쏘드가 하나 있어 잽싸게 수정해 줬습니다. 땡큐~

 

6. 마무리

참으로 신통하고 방통한 툴입니다. 자바개발자로서, 또 사용자로서 화면 하나하나에 얼마나 많은 노력과 고민이 있었을지 짐작이 갑니다. 지난달 신제품 발표회때 살짝 접해본 제니퍼 4.0도 빨리 설치해보고 싶군요. 제니퍼로 벌써 라이프발란스의 몇가지 알지못했던 버그들을 수정했는데요, 앞으로 남은 트라이얼기간동안 열심히 이놈을 쳐다봐야 할 것같네요. 똥~똥~똥~ 실시간 경고음 너무 무서워요. T.T

]]>
금, 22 8월 2008 14:29:57 GMT APM javaservice jennifer MySQL Tomcat Ubuntu 모니터링툴 자바서비스넷 제니퍼 제니퍼소프트
<![CDATA[ 라이프발란스 성능 튜닝중 ]]>

 

사이트 속도가 주인장인 저 자신도 들어오기 꺼려질만큼 안나오네요.

특단의 조치로 제니퍼라는 서버 모니터링툴을 설치해 어제부터 튜닝을 시작했습니다.

이것저것 테스트하고 수정하느라 가끔 접속이 안될 수도 있습니다.

쾌적한 집을 만들기위함이니 앞으로도 계속 잊지말고 찾아주시기 바랍니다.

감사합니다.

 

- 주인백

]]>
목, 21 8월 2008 20:01:17 GMT 튜닝
<![CDATA[ CO WRTTP 필드 값 유형 ]]> COSP Table(CO 오브젝트: 외부전기 원가총계)에 있는 WRTTP필드 값 유형별 설명

Type

Description

01

Plan

02

Planned values split by activity type

03

Actual values split by activity type

04

Actual

05

Debits

06

Target (WIP)

07

Target: Splitting to activity types

08

Plan: Correction for internal bus.vol between costcenters

09

Actual: Correction for internal bus.vol. between costcenters

10

Statistical plan

11

Statistical actual

12

Down payment as operating expense

19

Order receipt/orders on hand

21

Purchase requisitions commitment (requisitions)

22

Purchase order commitment

23

Reservation commitment

24

Manual commitment

25

Remainder from apportioned orders/networks (ordercommitmts)

26

Commitments from fixed price agreements

28

Value from customer quotation

29

Value from sales order

30

Scrap

31

Variances

32

Results analysis and WIP calculation

33

Results analysis: credit side/debit side

34

Results analysis: Cost of sales from resource-rel.billing

41

Budget

42

Assigned budget

43

Cash budget

44

Cash commitment

45

Released budget

46

Funds release

47

Capital investment budget

48

Capital investment plan

50

Payment obligation from purchase requisition

51

Payment obligation from purchase order

53

User-defined payment commitment (financial transaction50)

54

Payment obligation from billing

55

Payment obligation from bank transfer

56

User-defined payment obligation (Financial transaction70)

57

Payments

58

Down payment requests

59

Down payments for bank transfer

60

Parked document

61

Down payments

62

Financial budget

63

Down payment clearings

64

Payment transfers

65

Funds commitment

66

Profit transfers

67

Other statistical documents

68

Other non-statistical document

69

Commitment budget

70

Cash budget - Payments

71

Funds release - Payments

72

Funds assignments - Payments

73

Purchase order: cycle counting blocking amount

74

Funds reservation: cycle counting blocking amount

75

Commitment budget: funds reservation cycle cntg blckngamt

76

Commitment budget: materials mangement cycle cntg blckngamt

77

Commitment budget: materials management

80

Funds lock

81

Funds reservation

82

Preliminary funds commitment

83

Revenue commitment

84

Payment reservation

85

Cash budget reserved

86

Cash budget earmarked

87

Cash release reserved

88

Cash release earmarked

89

Commitment cash budget reserved

90

Commitment cash budget earmarked

91

Commitment cash release reserved

92

Commitment cash budget earmarked

]]>
목, 21 8월 2008 13:36:47 GMT CO WRTTP
<![CDATA[ 고통스러울 것 같은데이 ]]>

 

 

양쪽 다 죽는건 마찬가지 아닌가?

 

 

]]>
화, 19 8월 2008 00:36:52 GMT 몸개그
<![CDATA[ 인생이 아득하게 느껴지는 날 ]]>

 

세상 사는게 어디 말처럼 그리 쉽던가...

 

남은 내 인생이 오늘따라 왜이리 아득하게만 느껴질까...

 

]]>
화, 19 8월 2008 09:54:19 GMT 인생
<![CDATA[ Without 카메라 ]]> 광복절 황금연휴에 나는 벌초에 징집되어 식구들과 강원도로 떠났다. 친구가 태국인가 필리핀인가를 간다기에 선뜻 카메라를 빌려줬었는데, 빌려주고보니 내 손이 허전하더라. 왜그랬을까...

 

아버지차로 꼭두새벽에 출발해서 아침이 밝아올 무렵 뒷자리에서 눈을 부비며 잠에서 일어났더니 보이는 장면장면이 하나같이 예술이다. 그림같은 운해가 지나가는가하면, 이른 아침부터 밭에서 뭔가를 캐고 있는 아낙네들, 굽이굽이 몰아치는 강물. 또다시 아무생각없이 빌려줘버린 카메라 생각에 가슴 한쪽이 아려온다.

 

어쩌면 카메라가 없어서 눈앞에 장면장면이 더 아름다워보이는 게 아닐까?하는 생각이 들었다. 순간을 있는 그대로 받아들이기도 전에 메모리에 한장이라도 더 담기에만 급급한. 카메라는 어쩌면 독이었는지도 모른다. 아무리 멋진 사진인들 눈앞에 광경에 비할수 있을까.

 

휴가때 집에서만 죽때린 내 자신이 원망스러웠다. 아버지차가 아닌 내 손으로 차를 몰아 서고싶은 곳에 서서 한동안 넋을 잃고 감상하고싶다. 구름이 어디로 가는지. 강물이 어디로 가는지. 바람이 어디로 가는지. 자연의 소리 하나하나에 가슴이 차오를 무렵 카메라에 사진을 한장 담고싶다. 그런게 바로 진짜 사진이 아니었을까.

]]>
월, 18 8월 2008 11:31:33 GMT 벌초 사진 여행 자연 카메라
<![CDATA[ 2008.08.14 ChangeLog ]]>

 

 

2008.8.14 ChangeLog

 

홈페이지 왼쪽 상단에 좋은 문구 디스플레이어가 생겼습니다.

왼쪽에 Refresh버튼을 누르면 Ajax로 랜덤하게 새 문구를 보여줍니다.

(하지만 2008.8.14 오전 10시반 현재엔 넣어둔게 하나뿐이라 눌러도 안바뀌지요~^^)

 

나오는 문구들은 순전히 쥔장 맘. ^^

 

]]>
목, 14 8월 2008 10:41:48 GMT 명언
<![CDATA[ 코스트센터 텍스트 읽어오기 ]]> 코스트센터(Cost center) 텍스트를 읽어오는 펑션.

 

CALL FUNCTION 'READ_COSTCENTER_TEXT' 
  EXPORTING 
    datum                = sy-datum 
    kokrs                = l_kokrs 
    kostl                = g_zfi0001t-kostl 
    sprache              = sy-langu 
 IMPORTING 
    text                 = cskt-ktext 
*    TEXT_WA              = 
*  EXCEPTIONS 
*    TEXT_NOT_FOUND       = 1 
*    OTHERS               = 2
]]>
수, 13 8월 2008 20:33:49 GMT abap CO Cost center READ_COSTCENTER_TEXT sap
<![CDATA[ User-exits 찾아주는 프로그램 ]]> Finding the user-exits of a SAP transaction code

 

Transaction code를 입력하면 use-exits를 찾아주는 똑똑한 프로그램.

 

*
* Finding the user-exits of a SAP transaction code
*
* Enter the transaction code in which you are looking for the user-exit
* and it will list you the list of user-exits in the transaction code.
* Also a drill down is possible which will help you to branch to SMOD.
*
* Written by : SAP Basis, ABAP Programming and Other IMG Stuff
*              http://www.sap-img.com
*

report zuserexit no standard page heading.
tables : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir.
         tables : tstct.
data : jtab like tadir occurs 0 with header line.
data : field1(30).
data : v_devclass like tadir-devclass.
parameters : p_tcode like tstc-tcode obligatory.

select single * from tstc where tcode eq p_tcode.
if sy-subrc eq 0.
   select single * from tadir where pgmid = 'R3TR'
                    and object = 'PROG'
                    and obj_name = tstc-pgmna.
   move : tadir-devclass to v_devclass.
      if sy-subrc ne 0.
         select single * from trdir where name = tstc-pgmna.
         if trdir-subc eq 'F'.
            select single * from tfdir where pname = tstc-pgmna.
            select single * from enlfdir where funcname =
            tfdir-funcname.
            select single * from tadir where pgmid = 'R3TR'
                               and object = 'FUGR'
                               and obj_name eq enlfdir-area.

            move : tadir-devclass to v_devclass.
          endif.
       endif.
       select * from tadir into table jtab
                     where pgmid = 'R3TR'
                       and object = 'SMOD'
                       and devclass = v_devclass.
        select single * from tstct where sprsl eq sy-langu and
                                         tcode eq p_tcode.
        format color col_positive intensified off.
        write:/(19) 'Transaction Code - ',
             20(20) p_tcode,
             45(50) tstct-ttext.
                    skip.
        if not jtab[] is initial.
           write:/(95) sy-uline.
           format color col_heading intensified on.
           write:/1 sy-vline,
                  2 'Exit Name',
                 21 sy-vline ,
                 22 'Description',
                 95 sy-vline.
           write:/(95) sy-uline.
           loop at jtab.
              select single * from modsapt
                     where sprsl = sy-langu and
                            name = jtab-obj_name.
                   format color col_normal intensified off.
                   write:/1 sy-vline,
                          2 jtab-obj_name hotspot on,
                         21 sy-vline ,
                         22 modsapt-modtext,
                         95 sy-vline.
           endloop.
           write:/(95) sy-uline.
           describe table jtab.
           skip.
           format color col_total intensified on.
           write:/ 'No of Exits:' , sy-tfill.
        else.
           format color col_negative intensified on.
           write:/(95) 'No User Exit exists'.
        endif.
      else.
          format color col_negative intensified on.
          write:/(95) 'Transaction Code Does Not Exist'.
      endif.

at line-selection.
   get cursor field field1.
   check field1(4) eq 'JTAB'.
   set parameter id 'MON' field sy-lisel+1(10).
   call transaction 'SMOD' and skip first   screen.

*---End of Program

 

출처 : http://sap-img.com/ab038.htm

]]>
수, 13 8월 2008 20:29:38 GMT abap sap user-exit
<![CDATA[ 사원번호로 사원명 알아내기 ]]> 사원번호로 사원명을 알아내기.

CALL FUNCTION 'RP_CHECK_PERNR'
  EXPORTING
    BEG    = I_LDATE         " 오늘날짜
    PNR    = I_PERNR         " 사원번호
  IMPORT!ING
    NAME   = L_NAME          " 사원명
  EXCEPTIONS
    OTHERS = 1.
]]>
수, 13 8월 2008 18:25:43 GMT abap RP_CHECK_PERNR sap
<![CDATA[ Ubuntu 서버에 Webalizer설치하기 ]]>

 

WEBALIZER?

웹발리저? 웹발라이저? 암튼 알만한 사람들은 다 아는 너무나도 유명한 프로그램이죠. 아파치의 텍스트로된 로그데이터를 웹상에서 보기좋게 만들어주는 프로그램입니다. 예전 Windows2000서버에서 날군이야기를 돌리던 시절에 썼었는데 다시금 생각나 설치해 보았습니다. 윈도우즈서버환경에서는 좀 어려웠던것같은데 리눅스환경에서는 무지하게 쉽군요. (우분투라서 쉬운건가?)

 

1. Webalizer 설치

$sudo apt-get install webalizer

저같은경우 대기시간 초과로 바로 설치가 안되었었는데요, 혹시나 'apt-get update'를 오랫동안 수행하지 않으신 분은 'apt-get update'를 먼저 실행하시고 다시 실행해보시면 간단하게 끝나실겁니다.

 

2. 아파치 로그 디렉토리와 Webalizer결과물 디렉토리 생성

기존에 설정되어있는 아파치 로그 경로를 쓰셔도 되지만 관리상 다음(혹은 입맛에 따라)과 같이 로그 디렉토리를 생성해 둡시다. 

mkdir /home/weberholic/www/logs

다음으로 Webalizer결과물이 쌓일 디렉토리를 생성해 둡시다. 

mkdir /home/weberholic/www/weblog

 

3. 아파치 환경설정

사이트 환경설정파일인 다음 파일을 열어봅시다.(각자 환경에 따라 파일명이 다를 수 있겠네요)

$sudo vi /etc/apache2/sites-available/default

다음을 보시고 없는 부분은 추가하고, 있는부분은 수정해 줍니다.

ServerName      story.dnip.net
DocumentRoot   /home/weberholic/www/ 
ErrorLog          /home/weberholic/www/logs/error_log
CustomLog       /home/weberholic/www/logs/access_log combined

위 CustomLog의 combined옵션에는 combined, common, referer, agent의 네가지가 올 수 있으며 combined는 모든 로그를 찍겠다는 의미이므로 위의 설정을 주시면 Webalizer에서 referer, agent정보를 포함해 모든 로그를 보실 수 있습니다.

 

4. Webalizer 환경설정 

$cd /etc/webalizer

위의 디렉토리로 가보시면, webalizer.conf, webalizer.conf.sample두개의 파일이 있습니다. *.sampler파일은 참고만하시고, webalizer.conf파일을 열어봅시다. 

$sudo vi webalizer.conf

다음 다섯부분을 수정해 줍니다. 참고로 vi에서 찾기 명령은 명령어모드에서 '/'(슬래쉬)치시고 찾고자하는 문자를 입력하고 엔터를 입력하시면 됩니다.

LogFile             /home/weberholic/www/logs/access_log    (위에서 설정한 아파치 로그 경로)
OutputDir           /home/weberholic/www/weblog                (위에서 설정한 결과물 파일 저장 경로)
HistoryName       story.dnip.net                                         (가상호스트의 사이트주소)
Incremental        yes                                                      (이전 분석이후의 로그만 분석 하도록 설정)
IncrementalName webalizer.curren                                     (위 설정을 해두었을때 활성화 시킴)
ReportTItle         story.dnip.net                                         (분석결과페이지의 제목)
HostName          story.dnip.net                                         (사이트 전체 주소)

앞에 주석(#)이 있다면 제거하시는것을 잊지 말아주시기 바랍니다.

 

5. Webalizer 실행 스크립트 생성 

#sudo vi /etc/webalizer/webalizer.sh

먼저 위명령을 수행하여 Webalizer를 수행할 스크립트파일을 만들고, 다음 내용을 입력합니다.

#!/bin/bash   
/usr/bin/webalizer -c /etc/webalizer/webalizer.conf > /home/weberholic/www/weblog/story.dnip.net

위 명령이 바로 Webalizer로 결과물을 생성하는 명령입니다. 실행스크립트이므로 다음과같이 실행가능파일로 만들어 줍니다.

$sudo chmod 755 webalizer.sh

 

6. 아파치 재시작 & 테스트

$sudo /etc/init.d/apache2 restart

먼저 아파치를 재시작하고, 위에서 만든 스크립트를 수행해 봅시다.

$sudo /etc/webalizer/webalizer.sh

위에서 생성한 결과물 폴더(/home/weberholic/www/weblog)에 파일들이 생성되었는지, 혹은 http://사이트명/weblog로 접속해 화면이 잘 나오는지 확인합니다. 아마도 한글이 깨져나올것입니다. 이 문제는 다음 사이트를 참고하셔서 파일을 덮어씌우시면 잘 해결됩니다.

데비안 webalizer 한글 깨짐 해결 : http://web.suapapa.net:8080/wordpress/?p=33  

 

7. Cron등록

매번 일일이 webalizer.sh를 실행시켜줄수는 없겠죠? Cron에 등록하여 지정된 시간에 자동으로 업데이트가 되도록합시다.

$sudo vi /etc/crontab

위와같이 크론 설정파일을 열어 다음 설정을 추가해 줍니다.

0 */1 * * *  root    /etc/webalizer/webalizer.sh

위와같이 하시면 매시각 정시에 Webalizer.sh 스크립트를 수행하게됩니다. Cron설정법은 웹상이 많이 나와있으므로 참고하셔서 원하시는 시간에 수행되도록 하시면 됩니다. 또는 webalizer.sh파일을 /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly, /etc/cron.monthly 중 원하는 디렉토리에 복사해서 넣으셔도 되겠네요.

 

7. END

라이프발란스 Webalizer 샘플 : http://story.dnip.net/weblog

출처 : 가상호스트 환경에서 Webalizer로 웹 로그 분석하기  http://4ipperz.tistory.com/86

 

 

]]>
화, 12 8월 2008 16:04:07 GMT 8.04 ubuntu webalizer 로그 설치 아파치 통계
<![CDATA[ 잠원동 한강 야외수영장 ]]>

 

물(?)좋고 햇살 좋던 지난 일요일 잠원동 한강 야외수영장.

그늘막 텐트도 동나고 태양을 피할데가 없어 2도화상으로 아직까지 고생중...T.T

 

]]>
화, 12 8월 2008 14:38:21 GMT 물좋은곳 수영장 야외수영장 잠원 한강수영장
<![CDATA[ 찜빌방 406호 ]]>

 

방안에 온도계가 고장났나?

낮이고 밤이고 34도에서 멈춰있는듯... T.T

 

]]>
화, 12 8월 2008 14:30:47 GMT 여름 열대야 지구온난화 찜빌방
<![CDATA[ 식객 찬빠표 닭도리탕 ]]> 배는 고프고 뭔가 매콤한게 먹고싶어서 만들어본 닭도리탕.

 

 

닭은 물에 살짝쿵 한번 끓여 찬물로 씻어내 핏물과 기름기를 제거한다.

닭에 고추장, 간장, 고추가루, 다진마늘, 설탕으로 양념을 해 재워둔다.

감자와 양파는 큼지막하게 썰고, 고추도 잘게 썰어둔다.

 

 

물을 약간 넣고 푹~ 끓이기만 하면 땡~

 

 

냠냠~ 훈륭한 닭도리탕이 되었다.

 

닭도리탕을 가게에서 사먹으려면 적어도 이만원 이상인데, 이거 만들고보니 생각보다 만들기도 쉽고 닭한마리 5천원에 양념값 조금 보태면 맛도 모자를게 없고, 양도 모자를게 없고 아주 딱이다. 닭도리탕 좋아라하는데 식당에서 너무 비싸게들 파는게 아닌가 싶다. 이참에 다 때려치우고 식당이나 열까? ('' )>

 

]]>
화, 12 8월 2008 10:04:05 GMT 닭도리탕 식당 요리
<![CDATA[ 감자전 ]]>

 

강판에 감자를 잘 갈아 고기랑 고추를 잘게 썰어넣고 부친 감자전~

(비록 고기가 없어 떡갈비를 잘게썰어부치긴 했지만~^^)

더운 밤 감자전에 막걸리 한사발이면 그냥 골아떨어지지...

 

]]>
화, 12 8월 2008 09:40:18 GMT 감자전 막걸리