겸손한 개발을 위한 자양분


문서 내용 :
a. MySQL 을 이용한 DB설정
b. Eventum 설치 및, DB 연동
c. 한글 사용을 위한 설정


기본 준비물 :

공식 홈페이지 : http://eventum.mysql.org/

Download Url : http://dev.mysql.com/downloads/other/eventum/


설치는 다음 파일을 기준으로 합니다
eventum-2.1.1.tar.tar


우선 이븐텀에서 사용할 DB를 설정합니다.
MySQL Admin을 띄우고, Catalogs에서 연결하고자 하는 DB를 확인합니다.
없는 경우에는, Schemata 아래의 창에서 마우스 오른쪽 버튼을 눌러 New Schema를 선택하면
새로운 DB를 생성할 수 있습니다.

아래의 그림에서는 _eventum_1 이 이븐텀에 사용할 DB입니다.


다음으로, MySQL Admin을 띄우고, User Administration 항목에서 이븐텀에서 사용될 User를 추가해줍니다.


유저 이름과, 패스워드 설정이 끝나면, Schema Privileges 탭으로 옮겨
Available Privileges에 있는 각 SQL 명령에 대한 권한들을 모두 Assign 해 줍니다.

이때 Schemata라고 되어있는 부분이 사용될 DB인데,
각 유저의 각 DB별로 권한이 따로 설정됩니다.
따라서, 권한 설정시 Schemata의 DB가 올바르게 선택되어있는지 확인하여야 합니다.


유MySQL 기본 설정은 한글 입력에 오류가 있을 수 있습니다.
따라서, 시작변수에서 STRICT_TRANS_TABLES 옵션을 삭제 해주셔야합니다.


이제, 다운로드 받은 이븐텀 압축파일을
웹 DOC 디렉토리에 올리고
Explorer에서 Setup경로를 실행해줍니다.

기본적인 정보들을 설정합니다.



설치 완료 후, 기본 계정으로 로그인합니다.
기본 계정은
ID : admin@example.com
PW : admin
입니다.


이제 설치는 완료되었습니다.
단, 한글 설정에 문제가 없게 하기위해 몇가지 추가 설정을 해줍니다.

Config 파일 수정부분

D:\_HostingData\htdocs\_General\eventum-2.1.1\config\config.php


한글입력을 설정하고, Admin Page에서 한글 이름을 입력한 화면입니다.


다음은 Eventum 실행시 첫 화면의 그래프에서 한글 나오게 하는방법입니다.

  1. Php setup에서 MultiBytes Extra 설치
  2. 아래 파일들 수정

D:\_HostingData\htdocs\_General\eventum-2.1.1\include\jpgraph\jpgraph.php


// TTF Font families
DEFINE("FF_COURIER",10);
DEFINE("FF_VERDANA",11);
DEFINE("FF_TIMES",12);
DEFINE("FF_HANDWRT",13);
DEFINE("FF_COMIC",14);
DEFINE("FF_ARIAL",15);
DEFINE("FF_BOOK",16);
DEFINE("FF_GULIM",17);

..

class TTF {
var $font_fam;
//---------------
// CONSTRUCTOR
function TTF() {
    // Base file names for available fonts
    $this->font_fam=array(
     FF_COURIER => TTF_DIR."courier",
     FF_VERDANA => TTF_DIR."verdana",
     FF_TIMES => TTF_DIR."times",
     FF_HANDWRT => TTF_DIR."handwriting",
     FF_COMIC => TTF_DIR."comic",
     FF_ARIAL => TTF_DIR."arial",
     FF_BOOK => TTF_DIR."bookant",
     FF_GULIM => TTF_DIR."gulim");
}

// Create the TTF file from the font specification
function File($fam,$style=FS_NORMAL) {
    $f=$this->font_fam[$fam];
    if( !$f ) JpGraphError::Raise("<b>JpGraph Error:</b> Unknown TTF font family.");
    switch( $style ) {
     case FS_NORMAL:
        break;
//     case FS_BOLD: $f .= "bd";
//        break;
//     case FS_ITALIC: $f .= "i";
//        break;
//     case FS_BOLDIT: $f .= "bi";
//        break;
//     default:
//        JpGraphError::Raise("<b>JpGraph Error:</b> Unknown TTF Style.");
    }

function StrokeText($x,$y,$txt,$dir=0,$paragraph_align) {

    $txt = mb_convert_encoding($txt, 'UTF-8', 'EUC-KR');

    // Do special language encoding
    if( LANGUAGE_CYRILLIC )
     $txt = LanguageConv::ToCyrillic($txt);

        }
     }
    }
    elseif($this->font_family >= FF_COURIER && $this->font_family <= FF_GULIM) { // TTF font
     $file = $this->ttf->File($this->font_family,$this->font_style);
     $angle=$dir;
     $bbox=ImageTTFBBox($this->font_size,$angle,$file,$txt);


D:\_HostingData\htdocs\_General\eventum-2.1.1\stats_chart.php


// check to see if the TTF file is available or not
//$ttf_font = TTF_DIR."verdana.ttf";
$ttf_font = TTF_DIR . "gulim.ttf";
if (!@file_exists($ttf_font)) {
$font = FF_FONT1;
} else {
//$font = FF_VERDANA;
$font = FF_GULIM;
}

// Legends
$p1->SetLegends($labels);
$graph->legend->SetFont($font, 0, 9);
$graph->legend->Pos(0.06,0.27);


파일을 수정이 끝나면, 아래의 폴더에 윈도우의 글꼴을 복사해줍니다.


끝.

Apache + Tomcat + Mysql + PHP + Eventum + Zeroboard + SVN + WebSVN
설치하기

< PHP 설치하기 >

문서 내용:
a. PHP 설치
b. 설치 확인 방법
c. ext 가감 방법


기본 준비물:

공식 홈페이지 : http://www.php.net/

Download Url : http://www.php.net/downloads.php


설치는 다음 파일을 기준으로 합니다
PHP 5.2.5 installer


파일을 다운로드 받아 실행합니다




아파치 버전에 맞는 PHP 공용라이브러리를 사용해야 하기 때문에
설치된 아파치 버전을 설정하는 화면입니다
앞에서 2.2 버전대를 설치 하였으므로 위와 같이 선택합니다


아파치가 설치된 디렉토리의 컨피그디렉토리를 찾아줍니다
앞서 말한바와 같이 공용라이브러를 사용하기 위한 설정을 자동으로 하기 위함입니다


extension에서 gd2, mysql선택, extras를 모두 선택해줍니다
주의하실점은 Extensions는 전체 설치하게 되면
동작이 제대로 되지 않을 수가 있으므로
그때그때 필요한 것만 설정해서 설치를 해줍니다





설치가 완료되면, PHP설치디렉토리에서 php5ts.dll 파일을 윈도우의 시스템폴더에 복사해줍니다.
이건 약간의 버그인 것 같은데요
모듈이 정상동작하지 않을 때가 있어서 수동으로 복사해주는거랍니다


<phpinfo.php>

<?php phpinfo(); ?>

Phpinfo.php 라는 파일을 메모장이나 기타 프로그램으로 만드시고
내용부분에 위의 박스 안의 구문을 작성해주세요
정상적으로 설치되었는지 확인하는 명령이라고 보시면 됩니다


이제 웹브라우저를 통해 방금 만드신 파일을 열었을 때
위와같이 PHP 설치 정보 화면이 뜨면 성공입니다.


<D:\_HostingApp\Apache2.2\conf\httpd.conf>

#

# DirectoryIndex: sets the file that Apache will serve if a directory

# is requested.

#

<IfModule dir_module>

DirectoryIndex index.html index.htm index.jsp index.php

</IfModule>

추가적으로, 아파치의 컨피그 파일에서 PHP 기본 파일을 인식시켜주기 위해
위의 붉은색 부분을 추가해줍니다


Ext 는 필요시 셋업에서 가감하여 사용하세요.
가감하실때에는 아래와 같이 "Change" 설정을 사용하시면 됩니다

NAME

signal - list of available signals

DESCRIPTION

Linux supports both POSIX reliable signals (hereinafter "standard signals") and POSIX real-time signals.

Standard Signals

Linux supports the standard signals listed below. Several signal numbers are architecture dependent, as indicated in the "Value" column. (Where three values are given, the first one is usually valid for alpha and sparc, the middle one for i386, ppc and sh, and the last one for mips. A - denotes that a signal is absent on the corresponding architecture.)

The entries in the "Action" column of the table specify the default action for the signal, as follows:

Term
Default action is to terminate the process.
Ign
Default action is to ignore the signal.
Core
Default action is to terminate the process and dump core.
Stop
Default action is to stop the process.

First the signals described in the original POSIX.1 standard.

Signal Value Action Comment







or death of controlling process
SIGINT 2 Term Interrupt from keyboard
SIGQUIT 3 Core Quit from keyboard
SIGILL 4 Core Illegal Instruction
SIGABRT 6 Core Abort signal from abort(3)
SIGFPE 8 Core Floating point exception
SIGKILL 9 Term Kill signal
SIGSEGV 11 Core Invalid memory reference
SIGPIPE 13 Term Broken pipe: write to pipe with no readers
SIGALRM 14 Term Timer signal from alarm(2)
SIGTERM 15 Term Termination signal
SIGUSR1 30,10,16 Term User-defined signal 1
SIGUSR2 31,12,17 Term User-defined signal 2
SIGCHLD 20,17,18 Ign Child stopped or terminated
SIGCONT 19,18,25
Continue if stopped
SIGSTOP 17,19,23 Stop Stop process
SIGTSTP 18,20,24 Stop Stop typed at tty
SIGTTIN 21,21,26 Stop tty input for background process
SIGTTOU 22,22,27 Stop tty output for background process

The signals SIGKILL and SIGSTOP cannot be caught, blocked, or ignored.

Next the signals not in the POSIX.1 standard but described in SUSv2 and SUSv3 / POSIX 1003.1-2001.

Signal Value Action Comment




SIGPOLL
Term Pollable event (Sys V). Synonym of SIGIO
SIGPROF 27,27,29 Term Profiling timer expired
SIGSYS 12,-,12 Core Bad argument to routine (SVID)
SIGTRAP 5 Core Trace/breakpoint trap
SIGURG 16,23,21 Ign Urgent condition on socket (4.2 BSD)
SIGVTALRM 26,26,28 Term Virtual alarm clock (4.2 BSD)
SIGXCPU 24,24,30 Core CPU time limit exceeded (4.2 BSD)
SIGXFSZ 25,25,31 Core File size limit exceeded (4.2 BSD)

Up to and including Linux 2.2, the default behaviour for SIGSYS, SIGXCPU, SIGXFSZ, and (on architectures other than SPARC and MIPS) SIGBUS was to terminate the process (without a core dump). (On some other Unices the default action for SIGXCPU and SIGXFSZ is to terminate the process without a core dump.) Linux 2.4 conforms to the POSIX 1003.1-2001 requirements for these signals, terminating the process with a core dump.

Next various other signals.

Signal Value Action Comment




SIGEMT 7,-,7 Term
SIGSTKFLT -,16,- Term Stack fault on coprocessor (unused)
SIGIO 23,29,22 Term I/O now possible (4.2 BSD)
SIGCLD -,-,18 Ign A synonym for SIGCHLD
SIGPWR 29,30,19 Term Power failure (System V)
SIGINFO 29,-,-
A synonym for SIGPWR
SIGLOST -,-,- Term File lock lost
SIGWINCH 28,28,20 Ign Window resize signal (4.3 BSD, Sun)
SIGUNUSED -,31,- Term Unused signal (will be SIGSYS)

(Signal 29 is SIGINFO / SIGPWR on an alpha but SIGLOST on a sparc.)

SIGEMT is not specified in POSIX 1003.1-2001, but neverthless appears on most other Unices, where its default action is typically to terminate the process with a core dump.

SIGPWR (which is not specified in POSIX 1003.1-2001) is typically ignored by default on those other Unices where it appears.

SIGIO (which is not specified in POSIX 1003.1-2001) is ignored by default on several other Unices.

Real-time Signals

Linux supports real-time signals as originally defined in the POSIX.4 real-time extensions (and now included in POSIX 1003.1-2001). Linux supports 32 real-time signals, numbered from 32 (SIGRTMIN) to 63 (SIGRTMAX). (Programs should always refer to real-time signals using notation SIGRTMIN+n, since the range of real-time signal numbers varies across Unices.)

Unlike standard signals, real-time signals have no predefined meanings: the entire set of real-time signals can be used for application-defined purposes. (Note, however, that the LinuxThreads implementation uses the first three real-time signals.)

The default action for an unhandled real-time signal is to terminate the receiving process.

Real-time signals are distinguished by the following:

1.
Multiple instances of real-time signals can be queued. By contrast, if multiple instances of a standard signal are delivered while that signal is currently blocked, then only one instance is queued.
2.
If the signal is sent using sigqueue(2), an accompanying value (either an integer or a pointer) can be sent with the signal. If the receiving process establishes a handler for this signal using the SA_SIGACTION flag to sigaction(2) then it can obtain this data via the si_value field of the siginfo_t structure passed as the second argument to the handler. Furthermore, the si_pid and si_uid fields of this structure can be used to obtain the PID and real user ID of the process sending the signal.
3.
Real-time signals are delivered in a guaranteed order. Multiple real-time signals of the same type are delivered in the order they were sent. If different real-time signals are sent to a process, they are delivered starting with the lowest-numbered signal. (I.e., low-numbered signals have highest priority.)

If both standard and real-time signals are pending for a process, POSIX leaves it unspecified which is delivered first. Linux, like many other implementations, gives priority to standard signals in this case.

According to POSIX, an implementation should permit at least _POSIX_SIGQUEUE_MAX (32) real-time signals to be queued to a process. However, rather than placing a per-process limit, Linux imposes a system-wide limit on the number of queued real-time signals for all processes. This limit can be viewed (and with privilege) changed via the /proc/sys/kernel/rtsig-max file. A related file, /proc/sys/kernel/rtsig-max, can be used to find out how many real-time signals are currently queued.

CONFORMING TO

POSIX.1

SEE ALSO

kill(1), kill(2), setitimer(2), sigaction(2), signal(2), sigprocmask(2), sigqueue(2)

> ldd 실행파일이름

lloyd@lloyd-desktop:~/MyProjects/MyFirstTest/bin/Release$ ldd /usr/lib/libstdc++.so.6
    linux-gate.so.1 =>  (0xb7f5a000)
    libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7e33000)
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7e28000)
    libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7cd8000)
    /lib/ld-linux.so.2 (0xb7f5b000)


de·pend·en·cy, -an·cyn. (pl. -cies)
1 의존 (상태)
2 종속;부속 건물, 별관
3 속국, 보호령
4 식솔
5 의존증, 중독()

디펜던시, 의존성