제목: 레드햇 9.0에서 Apache2, MySQL4, PHP4, Tomcat5 연동하기[2]
글쓴이: 예크디엠
글쓴날: 2004년 01월 07일 오후 05:46
URL : http://kltp.kldp.org/?story=04/01/07/5190190



--------------------------------------------------------------------------------
2. Apache 설치

기존에 존재하는 RPM 패키지를 찾아서 삭제합니다.
shell> rpm -qa | grep httpd
shell> rpm -e [httpd RPM name]

현재 Apache 웹데몬이 실행되고 있다면 실행을 중지시킵니다.

shell> /etc/init.d/httpd stop

http://httpd.apache.org/download.cgi 에서 Apache 2.0.48을 다운로드 받습니다. 리눅스에서 설치할 Apache의 배포본은 모두 소스 형식으로 제공됩니다.

배포파일 httpd-2.0.48.tar.gz

적당한 위치에서 다운로드 받은 배포파일의 압축을 풉니다.

shell> mv httpd-2.0.48.tar.gz /usr/local/src
shell> tar xvfz httpd-2.0.48.tar.gz

생성된 디렉토리 httpd-2.0.48로 이동합니다.

shell> cd httpd-2.0.48

다음과 같은 옵션을 사용하여 configure를 진행합니다.
옵션, 모듈 및 DSO에 대한 자세한 사항은 이후 추가적으로 설명할 것입니다.

shell> ./configure --enable-layout=RedHat --enable-rule=SHARED_CORE --enable-modules=so --enable-so

이어서 컴파일과 인스톨을 실행합니다.

shell> make
shell> make install

위의 과정으로 설치를 진행하면 Apache의 root 디렉토리는 /usr이 되고, 웹서비스는 /var/www 디렉토리 밑에서 이루어지며, 설정파일들은 /etc/httpd 디렉토리에, 실행파일들은 /usr/sbin 디렉토리에 설치됩니다. 레드햇 기반의 리눅스는 기본적으로 웹서버로 Apache를 사용하기 때문에 리눅스 설치 후 추가적인 업그레이드 없이 Apache로 웹서버를 운영했을 경우 기존의 디렉토리 구조를 그대로 유지하게 됩니다. 이것은 configure 진행시 --enable-layout=RedHat이라는 옵션을 사용했기 때문입니다. 디렉토리에 대한 정보는 /usr/local/src/httpd-2.0.48/config.layout을 통해 확인하기 바랍니다. 더 자세한 사항은 설치 과정 설명을 마치고 보충하겠습니다.
다음으로 /etc/httpd/conf 디렉토리의 설정파일을 변경합니다.
설치 전에 웹서버를 운영하면서 사용된 설정파일들은 설치하면서 변경되지 않습니다. 설치시 생성된 파일들은 highperformance-std.conf, httpd-std.conf, ssl-std.conf 입니다. 이 세 파일들을 각각 highperformance.conf, httpd.conf, ssl.conf 로 이름을 변경하여 기존의 파일에 덮어씌웁니다.

/usr/sbin/apachectl 실행파일을 이용하여 웹데몬을 실행시켜봅니다.
Apache 설치 전 웹데몬을 중지시켰다면 다음과 같이 실행이 될 것입니다.

shell> /usr/sbin/apachectl start
httpd: Could not determine the server\'s fully qualified domain name, using 127.0
.0.1 for ServerName

이 메시지는 /etc/httpd/conf/httpd.conf 설정파일을 수정하지 않았기 때문에 표시되는 것입니다. 그러나 웹데몬은 잘 동작하고 인터넷을 통해 접속이 가능합니다. 만일 설치 전 웹데몬을 중지시키지 않았다면 위의 명령은 실행되지 않고 오류메세지를 나타냅니다. 이때에는 일일이 kill [PID] 명령으로 웹데몬 프로세스들을 중지시키고 실행시켜야 합니다. start 명령외에 stop과 restart 명령을 사용하여 웹데몬 가동을 중지시키거나 재시작할 수 있습니다.

shell> /usr/sbin/apachectl restart
shell> /usr/sbin/apachectl stop

부팅시 자동으로 httpd 데몬이 실행되도록 합니다.
/usr/sbin/apachectl 파일을 /etc/init.d 디렉토리에 httpd로 이름을 변경하여 복사합니다. 기존에 httpd 파일이 존재할 경우 덮어씌웁니다. 그리고 /etc/rc.d/rc0.d, /etc/rc.d/rc3.d, /etc/rc.d/rc5.d 디렉토리에 /etc/rc.d/init.d/httpd의 symbolic link 파일이 있는지 확인하고 없으면 link 파일을 생성합니다.

shell> ln -s /etc/rc.d/init.d/httpd /etc/rc.d/rc0.d/K90httpd
shell> ln -s /etc/rc.d/init.d/httpd /etc/rc.d/rc3.d/S89httpd
shell> ln -s /etc/rc.d/init.d/httpd /etc/rc.d/rc5.d/S89httpd

마지막으로 /etc/httpd/conf/httpd.conf 파일의 설정을 변경합니다.
기본적으로 변경해야할 부분은

#servername www.example.com:80

으로 #을 제거하고 www.example.com을 웹서버의 domain name으로 수정해 주거나 localhost로 적어줍니다.

servername yekdm.com:80
또는
servername localhost:80

뒤의 80이라는 숫자는 웹서버가 이용할 port 번호를 가리킵니다. 웹서버는 기본적으로 80번 port를 사용하며 특별한 경우가 아니라면 변경하지 않기를 바랍니다.

한글을 지원하기 위해서 AddDefaultCharset ISO-8859-1 부분을 찾아서 AddDefaultCharset utf8 또는 AddDefaultCharset euc_kr 로 변경합니다.

httpd.conf 설정파일은 Apache 웹서버를 시스템에 맞게 구동시키는데 매우 중요한 정보들을 담고 있습니다. Apache HTTP Server Version 2.0 문서 http://httpd.apache.org/docs-2.0/ 를 참고하시기 바랍니다.

위의 과정으로 Apache 웹서버의 설치가 끝났습니다. 그러나 아파치 웹서버는 관리자가 모듈들을 선택하여 서버에 포함할 기능을 결정할 수 있는 모듈화된 프로그램으로 모듈의 개념 및 사용법, 동적공유객체(DSO) 등을 이해하여야 아파치의 확장된 기능을 사용할 수 있습니다. 즉, PHP와 같은 프로그래밍 언어를 사용하고자 할 경우 또는 자바의 Servlet Container인 Tomcat과 Apache 웹서버와의 연동은 모듈을 통하여 이루어집니다.
전반적인 내용은 Apache HTTP Server Version 2.0 문서 http://httpd.apache.org/docs-2.0/ 에 있습니다. 여기서는 기본적으로 필요한 사항에 대해서만 설명하겠습니다.

* configure 옵션 (autoconf 출력옵션)

--help
모든 옵션과 사용법을 화면에 출력해줍니다. 실제로 configure가 이루어지지 않습니다.

--prefix=/usr/local/share/apache
Apache 웹서버가 설치될 디렉토리를 설정합니다. 이 문서에서는 RedHat에 포함된 Apache의 기본 디렉토리 구조를 따라가고자 이 옵션을 사용하지 않고 --enable-layout=RedHat이라는 옵션을 사용했습니다.

--enable-layout=RedHat
이 옵션을 통해 여러가지 플랫폼에 해당하는 적절한 디렉토리 구조를 따라 Apache를 설치할 수 있습니다. 각 플랫폼의 path layout은 config.layout 파일에 기록되어 있습니다.

--enable-rule=SHARED_CORE
Apache 컴파일시 rule을 지정합니다. SHARED_CORE는 DSO(Dynamic Shared Objects, 동적공유객체)를 사용할 수 있는 형태로 Apache를 컴파일하도록 하는 일종의 규칙입니다. 이 옵션을 지정해주면 DSO로 컴파일된 아파치에서 제공하지 않는 외부 모듈들을 선택적으로 사용할 수 있게 됩니다.
기본형은 --enable-rule=[RULE-NAME]으로 [RULE-NAME]에 해당하는 컴파일 규칙을 enable시킵니다. --help 옵션으로 나타나는 도움말에서는 이 옵션을 표시하고 있지 않습니다.

--enable-modules=so
mod_so(so_module)를 Apache에 컴파일하여 포함시킵니다.(모듈의 정적 컴파일)
기본형은 --enable-modules=[MODULE-LIST]로 공백으로 구분한 [MODULE-LIST]에 나와있는 모듈들을 컴파일하여 포함합니다.

--enable-so
Apache가 실행시 특별한 옵션없이 자동으로 동적공유객체(DSO-Dynamic Shared Objects)를 읽어들일 수 있도록 하기 위한 설정옵션입니다.

이외에 여러가지 옵션들이 제공됩니다. 추가적인 사항은 Apache HTTP Server Version 2.0 문서 http://httpd.apache.org/docs-2.0/ 을 찾아보거나 --help 옵션으로 확인하기 바랍니다.

* 모듈

Apache는 모듈화된 설계로 이루어진 프로그램입니다. 모듈은 특별한 기능을 수행하기 위한 작은 프로그램으로 이해할 수 있습니다. 즉, 모듈마다 각각의 역할이 다르기 때문에 핵심 구현부 또는 실행부에 추가적으로 포함시켜 원하는 기능을 선택적으로 사용할 수 있습니다. Apache의 핵심 기능을 구현하는 모듈은 core이고 core를 기반으로 모듈을 추가하여 확장된 기능을 사용할 수 있습니다. 모듈은 Apache 컴파일시 정적으로 포함시킬 수 있고, 또는 DSO mechanism에 의해 Apache 컴파일 이후 추가적으로 포함하여 사용할 수 있습니다. DSO(Dynamic Shared Objects)를 지원하기 위해서는 컴파일시 configure 옵션으로 --enable-rule=SHARED_CORE를 추가하여 DSO 지원 형식으로 Apache를 컴파일하여야 하며, mod_so 모듈을 컴파일시 포함시켜야 합니다. mod_so 모듈은 core를 제외하고 DSO가 될 수 없는 유일한 모듈로서 Apache 핵심에 정적으로 컴파일해야 하며, DSO로 컴파일된 모듈을 Apache에서 읽어들이기 위한 기능을 제공합니다. 따라서 configure 진행시 일반적으로 mod_so를 포함하도록 합니다. 나머지 모듈에 관하여는 Apache Document를 참고하기 바랍니다.

* 동적공유객체(DSO-Dynamic Shared Objects)

Apache가 동적으로 load할 수 있는 객체입니다. core와 mod_so를 제외한 다른 모든 아파치 모듈 소스를 DSO 형식의 모듈로 컴파일하여 Apache에서 load하여 사용할 수 있습니다. DSO로 사용할 아파치 모듈을 쉽게 만들기 위해서 apxs(Apache Extension Tool)라는 지원프로그램이 있습니다. 이 프로그램으로 아파치 배포본 소스 트리 없이, DSO 지원을 위한 플랫폼 특유의 컴파일러 옵션과 링커 옵션을 고려하지 않고 모듈 소스를 DSO 모듈로 쉽게 컴파일할 수 있습니다. PHP와 Tomcat 등 외부 프로그램에서 제공하는 DSO 모듈은 프로그램 configure시 apxs를 사용한 옵션을 통해 프로그램과 함께 컴파일되어 생성됩니다. 자세한 사항은 Apache Document 내의 동적공유객체(DSO) http://httpd.apache.org/docs-2.0/dso.html 문서를 참고하기 바랍니다.

참고사항

- 다음은 Apache HTTP Server Project 사이트에서 제공하는 문서입니다. 이 문서를 통해 Apache에 대해 더 유익한 정보들을 얻을 수 있습니다.
Apache HTTP Server Version 2.0 문서 http://httpd.apache.org/docs-2.0/
--------------------------------------------------------------------------------
답장(2)

KLTP - Korean Linux Tips Project
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/09/21 09:04 2004/09/21 09:04
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/288

제목: 레드햇 9.0에서 Apache2, MySQL4, PHP4, Tomcat5 연동하기[1]
글쓴이: 예크디엠
글쓴날: 2004년 01월 07일 오후 05:45
URL : http://kltp.kldp.org/?story=04/01/07/5113171



--------------------------------------------------------------------------------
리눅스(레드햇 9.0)에서 Apache, MySQL, PHP, Tomcat 연동하기

Copyright©2003 yekdm
이문서는 자유롭게 수정 및 배포가 가능합니다. 단 상업적 용도로 사용할 수 없습니다.
수정 및 배포 시 작성자의 이름 및 출처를 꼭 명시하기 바랍니다.
작성자 : 예크디엠(yekdm)
작성일 : 2003년 12월 22일 월요일
이메일 : yekdm@hotmail.com

들어가기에 앞서
이 문서에 작성된 글이 제 좁은 이해력을 바탕으로 한 것이기에 잘못된 부분을 많이 포함하고 있으리라 생각합니다. 부족하지만 공부하는데 도움이 되길 바랍니다.

설치환경
레드햇 9.0 (Kernel 2.4.20-8)

시스템 구성
Apache 2.0.48
MySQL 4.0.17
PHP 4.3.4
Zend Optimizer 2.1.0b
J2SDK 1.4.2
Tomcat 5.0.16
JK2 Connector 2.0.2

1. Mysql 설치

http://www.mysql.com/downloads/index.html 을 방문해서 Mysql database server & standard clients 부분의 Mysql 4.0으로 이동합니다. 문서에 적혀있는데로 Mysql 4.0이 현재 배포되고 있는 공식버전입니다.
http://www.mysql.com/downloads/mysql-4.0.html 로 이동하면 배포본이 바이너리 형식, RPM 형식, 소스 형식의 세가지로 이루어져있음을 알 수 있습니다.

0. 기존의 RPM 패키지 제거

레드햇 리눅스 기반의 시스템에서는 Mysql의 RPM 패키지가 설치되어있는지 먼저 확인합니다.

shell> rpm –qa | grep mysql
또는
shell> rpm –qa | grep MySQL

최근에 배포되고 있는 레드햇 9.0에서는 기본적으로 Mysql이 아닌 PostgreSQL을 기본 데이터베이스로 채택하고 있습니다. 따라서 레드햇 9.0 설치 후 Mysql 을 바로 설치할 경우에는 RPM 패키지를 제거할 필요가 없습니다.
레드햇 기반의 리눅스 배포본에서 Mysql 패키지를 포함하는 경우 Mysql RPM 패키지를 변경 적용함으로 Mysql 공식 사이트에서 제공하는 RPM 패키지와 이름 및 내용이 다를 수 있습니다.
RPM 패키지의 경우 업그레이드가 가능하나 Mysql 3.23 에서 Mysql 4.0 으로의 RPM 업그레이드는 이루어지지 않습니다.

기존에 설치되어있는 Mysql RPM 패키지를 제거합니다.

shell> rpm -e --nodeps [mysql 패키지명]

‘--nodeps’ 옵션은 RPM 삭제시 의존성 여부를 무시하기 위해 사용됩니다.

설치에 앞서 기존에 Mysql을 설치하여 운영했었다면 사용했던 데이터베이스를 백업 받아 놓습니다.

0. Mysql binary 설치

배포파일 mysql-standard-4.0.17-pc-linux-i686.tar.gz

받은 파일을 적당한 위치 (예: /usr/local/src) 로 이동시켜서 압축을 풀어줍니다.

shell> mv ./mysql-standard-4.0.17-pc-linux-i686.tar.gz /usr/local/src
shell> tar xvfz mysql-standard-4.0.17-pc-linux-i686.tar.gz

위의 명령을 실행시키면 현재 위치에 mysql-standard-4.0.17-pc-linux-i686 디렉토리가 생성되면서 압축이 풀립니다. 생성된 디렉토리를 /usr/local/share로 디렉토리명을 mysql로 변경하여 이동시킵니다.

shell> mv ./mysql-standard-4.0.17-pc-linux-i686 /usr/local/share/mysql
또는
shell> cp -r ./mysql-standard-4.0.17-pc-linux-i686 /usr/local/share/mysql

해당 디렉토리로 이동합니다.

shell> cd /usr/local/share/mysql

Mysql을 처음으로 설치하는 경우 아래의 명령을 실행합니다. 이것은 mysql의 grant table을 만들어줍니다.

shell> scripts/mysql_install_db

디렉토리 권한을 설정합니다.
shell> chown -R mysql .
shell> chgrp -R mysql .

Mysql 계정을 등록하지 않았을 경우 Mysql의 사용자 및 그룹 계정을 추가한다.

shell> /usr/sbin/groupadd mysql
shell> /usr/sbin/useradd -g mysql mysql

/etc/passwd 파일과 /etc/group 파일을 에디터로 열어서 mysql 계정이 등록된 것을 확인하고 변경할 사항이 있으면 변경합니다.

Mysql을 실행시킵니다.

shell> bin/mysqld_safe --user=mysql &

시스템 부팅시 자동적으로 Mysql을 실행하고자 할 경우에는 support-files/mysql.server 파일을 /etc/rc.d/init.d 디렉토리로 copy 합니다.
그리고 /etc/rc.d/rc0.d에는 K01mysql이라는 이름으로 /etc/rc.d/rc3.d에는 S90mysql이라는 이름으로 symbolic link를 만들어줍니다. 심볼릭 링크 파일명에서 앞의 S는 부팅시 서비스가 이루어지는 즉 실행되는 파일을 의미하고 K는 서비스가 이루어지지 않는 데몬임을 의미합니다. 그 뒤의 숫자는 임의로 변경가능합니다. 자세한 사항은 리눅스 부팅시 시스템의 초기화 과정을 공부함으로 알 수 있습니다.
기본적으로 mysql install directory는 /usr/local/mysql로 되어있습니다. 그러나 이 문서에서 처럼 /usr/local/share/mysql의 위치에 설치할 경우 즉, /usr/local/mysql이 아닌 다른 위치에 Mysql을 설치할 경우에는 다음의 내용이 기록된 my.cnf를 작성하여 /etc 디렉토리에 저장합니다.

[mysqld]
basedir=/usr/local/share/mysql
datadir=/usr/local/share/mysql/data

기존에 Mysql을 운영한 경우에는 저장된 데이터베이스가 있는 디렉토리를 datadir에 적어주면 사용했던 데이터베이스를 그대로 사용할 수 있습니다. RPM으로 설치되어 운영했을 때의 datadir은 /var/lib/mysql 이므로 datadir=/var/lib/mysql 로 설정해줍니다. 그러면 기존의 데이터를 그대로 사용할 수 있습니다.
이 외의 방법이 몇 가지 더 존재합니다. 추가적인 사항은 mysql.server 파일을 참고하기 바랍니다.

참고사항
- 설치에 필요한 도움말은 binary package에 포함되어 있는 INSTALL-BINARY 파일에 들어있습니다.
- binary package 형태로 설치할 경우 mysql의 실행파일들이 들어있는 bin 디렉토리(/usr/local/share/mysql/bin)를 PATH 설정해서 임의의 위치에서도 사용할 수 있도록 해야 합니다. 이 과정이 mysql.server 파일에서 이루어지는 것 같은데 Redhat 9.0에서는 이 실행파일로는 PATH가 설정되지 않았습니다. 만일 mysql.server만으로 PATH가 설정되지 않으면 /etc/profile 파일에서 PATH를 설정하도록 합니다.
- Mysql 3.23에서 데이터베이스를 운영하다가 4.X로 업그레이드 할 경우 데이터베이스 type이 다르므로 기존의 데이터베이스를 그대로 사용하기 위해서는 특별한 과정을 거쳐야 합니다. Mysql 3.23에서는 디폴트 데이터베이스 type이 ISAM이나 4.X에서는 MyISAM이므로 type을 변경하는 과정이 필요합니다. 자세한 사항은
http://www.mysql.com/documentation/mysql/bychapter/manual_Installing.html#Upgrading-from-3.23 문서를 참고하기 바랍니다.

0. Mysql RPM 설치 (적극 권장)

Mysql 사이트에서 배포되는 Mysql RPM package는 다음과 같습니다.

MySQL-server-4.0.17-0.i386.rpm
MySQL-Max-4.0.17-0.i386.rpm
MySQL-bench-4.0.17-0.i386.rpm
MySQL-client-4.0.17-0.i386.rpm
MySQL-devel-4.0.17-0.i386.rpm
MySQL-shared-4.0.17-0.i386.rpm
MySQL-embedded-4.0.17-0.i386.rpm
MySQL-shared-compat-4.0.17-0.i386.rpm

각각의 패키지에 대해 간단하게 설명하겠습니다.

MySQL-server-4.0.17-0.i386.rpm : Mysql Server,
MySQL-Max-4.0.17-0.i386.rpm : Mysql Max Server, MySQL-server RPM에서 제공하지 않는 추가적으로 확장된 기능을 제공하는 패키지, MySQL-server RPM을 먼저 설치해야 한다.
MySQL-bench-4.0.17-0.i386.rpm : Test와 Benchmark 프로그램, 펄과 DBD::mysql 모듈을 필요로 한다.
MySQL-client-4.0.17-0.i386.rpm : The standard MySQL client programs, Mysql을 이용하는 여러가지 프로그램 제공
MySQL-devel-4.0.17-0.i386.rpm : 펄 모듈과 같은 다른 Mysql client 프로그램들을 컴파일하기 위해서 필요한 library와 include 파일들을 제공
MySQL-shared-4.0.17-0.i386.rpm : 프로그래밍 언어 및 애플리케이션에서 Mysql을 load하고 사용하는데 필요한 공유 라이브러리 제공 (libmysqlclient.so*)
MySQL-embedded-4.0.17-0.i386.rpm : The embedded MySQL server library (from Mysql 4.0)
MySQL-shared-compat-4.0.17-0.i386.rpm : MySQL 3.23과 4.0 두 버전의 공유 라이브러리를 포함한다. MySQL 3.23 환경에서 애플리케이션을 사용하다가 MySQL을 4.0으로 라이브러리 의존성 문제없이 업그레이드를 하고자 할 때 MySQL-shared RPM 대신 설치한다. 이 패키지는 MySQL 4.0.13 부터 이용할 수 있다.

기본적으로 설치할 RPM은 MySQL-server와 MySQL-client 패키지입니다.
이 두 패키지를 Mysql 사이트에서 다운로드 받아 적당한 장소에 옮겨 놓습니다.
(나머지 RPM은 필요에 따라 추가적으로 설치합니다.)

shell> mv ./MySQL-server-4.0.17-0.i386.rpm /usr/local/src
shell> mv ./MySQL-client-4.0.17-0.i386.rpm /usr/local/src

RPM을 설치합니다.

shell> rpm -ivh MySQL-server-4.0.17-0.i386.rpm
shell> rpm -ivh MySQL-client-4.0.17-0.i386.rpm

Mysql 계정이 등록되어있지 않으면 다음과 같이 Mysql 계정을 등록합니다.

shell> /usr/sbin/groupadd mysql
shell> /usr/sbin/useradd -g mysql mysql

/etc/passwd 파일과 /etc/group 파일을 에디터로 열어서 mysql 계정이 등록된 것을 확인하고 변경할 사항이 있으면 변경합니다.

/etc/passwd
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash

/etc/group
mysql:x:27:

RPM으로 설치한 경우에는 시스템 부팅시 Mysql을 자동으로 실행하기 위한 추가적인 작업이 필요없습니다. RPM으로 설치를 할 경우 RPM 설치 만으로 필요한 과정들이 대부분 이루어지기 때문에 매우 편하게 Mysql을 Install하여 사용할 수 있습니다.

다음의 명령을 실행하여 데이터베이스에 접속합니다.

shell> mysql mysql
또는
shell> mysql -u root -p mysql

참고사항
- http://www.mysql.com/documentation/mysql/bychapter/manual_Installing.html#Linux-RPM에 리눅스 RPM 설치가 설명되어있습니다. 참고하시기 바랍니다.
- RPM으로 설치했을 경우 실행파일들은 /usr/bin에 설치되고, 데이터베이스가 만들어지는 datadir는 /var/lib/mysql 입니다.

0. Mysql source 설치
(이 부분은 직접 실험해보지 않고, Mysql Document를 번역하여 옮겨놓았습니다.)

Mysql source install을 위해 다음과 같은 툴들이 필요하다.

* 압축을 풀기 위한 GNU gunzip, GNU tar. GNU tar 외에 다른 tar를 사용할 수 있으나 그 중 몇 가지는 긴 파일 이름으로 인한 문제를 일으킬 수 있다. e.g.) Sun tar
* ANSI C++ compiler. (gcc 2.95.2 및 이후버전, egcs 1.0.2 및 이후버전 또는 egcs 2.91.66, SGI C++, SunPro C++) gcc를 사용할 경우 libg++이 필요없다. gcc 2.7.X는 sql/sql_base.cc와 같이 완벽하게 작성된 C++파일을 컴파일하지 못하는 버그를 가지고 있다. 이 때에는 Mysql을 컴파일 할 수 있는 gcc로 업그레이드 해야한다. gcc 2.8.1은 몇몇 플랫폼에서 문제를 가지고 있다고 알려져 있다. 따라서 플랫폼에 다른 컴파일러가 있다면 gcc 2.8.1의 사용을 피해야 한다. Mysql version 3.23.X를 컴파일 할 때 gcc 2.95.2 및 이후버전을 권장한다.
* make 프로그램. GNU make 가 권장된다. make시 문제가 발생할 경우 GNU make 3.75 또는 이후버전으로 업그레이드하여 사용한다.

만일 gcc의 최신버전을 사용하고 있고 -fno-exceptions 옵션을 충분히 이해하고 있다면 이 옵션을 사용하는 것이 매우 중요하다. 그렇지않으면 불규칙적으로 충돌하는 바이너리 파일들을 컴파일 할 수도 있다. 따라서 -fno-exceptions를 따라 -felide-constructors와 -fno-rtti 를 사용하길 권장한다. 다음과 같이 명령어를 작성한다.

CFLAGS=”-03” CXX=gcc CXXFLAGS=”-03 -felide-constructors -fno-exceptions \\
-fno-rtti” ./configure --prefix=/usr/local/mysql --enable-assembler \\
--with-mysqld-ldflags=-all-static

위의 옵션들 중 --prefix 는 컴파일된 파일들이 위치하는 디렉토리 즉 설치 디렉토리를 설정해주는 옵션입니다. 만일 /usr/local/share/mysql의 위치에 Mysql을 설치하고자 할 경우 이 부분에 설치 디렉토리의 위치를 기록합니다.

위의 옵션으로 컴파일 할 경우 대부분의 시스템에서 빠르고 안정적인 바이너리를 제공할 것이다.

Mysql source 배포본은 2가지로 나뉩니다. 하나는 tarball형식으로 압축한 source이고 다른하나는 source RPM 패키지 입니다.

o. tarball(tar.gz) 형식

배포파일 mysql-4.0.17.tar.gz

Mysql 계정이 없을 경우 사용자 및 그룹 계정을 추가합니다.

shell> groupadd mysql
shell> useradd -g mysql mysql

적당한 위치에서 압축을 풉니다.

shell> mv ./mysql-4.0.17.tar.gz /usr/local/src
shell> cd /usr/local/src
shell> tar xvfz mysql-4.0.17.tar.gz

해당 디렉토리로 이동합니다.

shell> cd mysql-4.0.17

Mysql이 설치될 디렉토리를 지정하고 디폴트 Character Set을 한글로 설정합니다.
configure option에 대해 좀더 자세한 사항을 알고자 할 경우 이곳을 방문하시기 바랍니다.
http://www.mysql.com/documentation/mysql/bychapter/manual_Installing.html#configure_options

shell> ./configure --prefix=/usr/local/share/mysql --with-charset=euc_kr

컴파일과 인스톨을 진행합니다.

shell> make
shell> make install

Mysql이 설치된 디렉토리로 이동합니다.

shell> cd /usr/local/share/mysql

기존에 Mysql을 설치하지 않았을 경우 grant table을 만들어줍니다. 처음 설치시 꼭 필요한 과정입니다.

shell> scripts/mysql_install_db

Mysql 디렉토리의 권한을 설정합니다.

shell> chown -R root /usr/local/share/mysql
shell> chown -R mysql /usr/local/share/mysql/var
shell> chgrp -R mysql /usr/local/share/mysql

설정파일 support-files/my-medium.cnf 를 my.cnf라는 이름으로 /etc 디렉토리에 복사합니다.

shell> cp support-files/my-medium.cnf /etc/my.cnf

/etc/my.cnf 파일을 에디터로 열어 basedir과 datadir의 경로가 올바른지 확인합니다.

Mysql을 실행합니다.

shell> bin/mysqld_safe --user=mysql &

만일, 실행 후 프로세스가 계속 사라질 경우 mysql 디렉토리의 user 퍼미션을 모두 mysql로 변경합니다.

시스템 부팅시 자동적으로 Mysql을 실행하고자 할 경우에는 support-files/mysql.server 파일을 /etc/rc.d/init.d 디렉토리로 copy 합니다.
그리고 /etc/rc.d/rc0.d에는 K01mysql이라는 이름으로 /etc/rc.d/rc3.d에는 S90mysql이라는 이름으로 symbolic link를 만들어줍니다.

참고사항

- 좀더 자세한 사항들을 알고 싶을 경우
http://www.mysql.com/documentation/mysql/bychapter/manual_Installing.html#Installing_source 를 방문하기 바랍니다.
- 소스 패키지의 패치는 이 문서에서 다루지 않았습니다. 패치의 적용에 대해 알고싶으신 분은 http://www.mysql.com/documentation/mysql/bychapter/manual_Installing.html#Applying_patches 를 방문하여 참고하시기 바랍니다.

o. Source RPM 형식

배포파일 MySQL-4.0.17.src.rpm

다음의 명령으로 인스톨할 수 있는 binary RPM을 생성합니다.

shell> rpm --rebuild --clean MySQL-4.0.17.src.rpm

이 후 생성된 binary RPM으로 Mysql을 설치한다. 이 과정은 위에서 설명한 Mysql RPM 설치와 동일합니다.
--------------------------------------------------------------------------------
답장(2)

KLTP - Korean Linux Tips Project
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/09/21 09:03 2004/09/21 09:03
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/287

Apache 2.0.48 + tomcat4.1.29 + PHP

제목: Apache 2.0.48 + tomcat4.1.29 + PHP 5.0.0 + SSL + PERL (for linux)
글쓴이: 김일규
글쓴날: 2004년 01월 07일 오전 11:57
URL : http://kltp.kldp.org/?story=04/01/07/4266265



--------------------------------------------------------------------------------
Apache 2.0.48 Tomcat 4.1.29 mod_perl2 PHP 5.0.0 Beta2 For Redhat Linux9.0
이 자료는 KLTP에 신현진님이 올린 Solaris 설정자료를 Linux에서 설정할 때 톰캣 버전을 바꾸어 리눅스환경에 맞게 조금 업데이트한 문서입니다.

설치전 준비물
J2SE
Apache
Tomcat
Tomcat-Connector(mod_jk2)
mod_perl
openssl
PHP
zlib
ibxml

이외에도 GNUtar, libtool, autoconf, automake 등이 없다면 다운로드 받으시기 바랍니다.

설치에 필요한 파일 다운로드 사이트

J2SE
1.4.2-b28 j2sdk-1_4_2-nb-3_5_1-bin-linux.bin http://java.sun.com/j2se/
apache
2.0.48 httpd-2.0.48.tar.gz http://httpd.apache.org/
tomcat
4.1.29 jakarta-tomcat-4.1.29.tar.gz http://jakarta.apache.org/site/binindex.cgi
tomcat-connectors
jk-1.2 jakarta-tomcat-connectors-jk-1.2-src-current.tar.gz http://jakarta.apache.org/builds/
mod_perl
1.99_12 mod_perl-2.0-current.tar.gz http://perl.apache.org/
openssl
0.9.7c openssl-0.9.7c.tar.gz http://www.openssl.org/
PHP
5.0.0. Beta3 php-5.0.0b3.tar.gz http://www.php.net/
zlib
1.2.1 zlib-1.2.1.tar.gz http://www.gzip.org/zlib/
ibxml
2.6.4 libxml2-2.6.4.tar.gz http://xmlsoft.org/

위 사이트의 주소가 틀릴수도 있습니다. 대부분은 http://sunfreeware.com/ 에 가시면 다운로드 받을 수 있습니다. 참고하세요.
설치 중 에러가 나는 경우는 필요한 프로그램이 없는 경우 또는 버전이 맞지 않아서 일수도 있으며, 환경변수가 잡혀 있지 않거나, 퍼미션 설정이 잘 못 되었거나, 오타일 가능성을 살펴 봅니다. 에러 메시지를 잘 보시고 대처하시기 바랍니다.

J2SE Install
telnet console에서 인스톨하고자 하시는 분은 -console 혹은 -silent 옵션을 이용하세요.

# chmod 755 j2sdk-1_4_2-nb-3_5_1-bin-sol-sparc.bin
# ./j2sdk-1_4_2-nb-3_5_1-bin-sol-sparc.bin


저는 인스톨을 /usr/local/java 디렉토리에 하고, 패스를 잡아주었습니다.
설치후 버전을 확인하세요.

# cd /usr/local/java/bin
#./java -version





openssl 설치
# cd /tmp
# tar zxvf openssl-0.9.7c.tar.gz
# cd openssl-0.9.7c/
# ./config --prefix=/www/openssl
# make
# make install





zlib 설치
# cd /tmp/
# tar zxvf zlib-1.1.4.tar.gz
# cd zlib-1.1.4/
# ./configure --prefix=/www/zlib
# make
# mkdir -p \"/www/zlib/include\" \"/www/zlib/lib\"
# make install





apache 설치
# cd /tmp # tar zxvf httpd-2.0.48.tar.gz
# cd httpd-2.0.48/
# ./configure --prefix=/www/httpd --with-mpm=prefork --enable-ssl --with-ssl=/www/openssl --with-z=/www/zlib --enable-dav --enable-dav-fs --enable-auth-digest --enable-info --enable-rewrite --enable-vhost-alias --enable-expires --enable-mime-magic
# make
# make install


아파치의 conf/httpd.conf 파일 수정

# cd /www/httpd/conf
# vi ./httpd.confe Servername localhost:80 (여기 localhost는 자신의 도메인에 맞게 수정)
User nobody 라인 밑에 한줄 추가
-> Group nobody
# Group #-1
AddDefaultCharSet EUC-KR 로 수정

아파치가 제대로 작동하는지 확인합니다.
# cd /www/httpd/bin
# ./apachectl start
#
# telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.
Escape character is \'^]\'.
HEAD / HTTP/1.0

HTTP/1.1 200 OK
Date: Wed, 07 Jan 2004 01:41:21 GMT
Server: Apache/2.0.48 (Unix) mod_ssl/2.0.48 OpenSSL/0.9.7c DAV/2
Content-Location: index.html.en
Vary: negotiate,accept-language,accept-charset
TCN: choice
Last-Modified: Fri, 04 May 2001 00:01:18 GMT
ETag: \"2801e-5b0-40446f80;28034-961-8562af00\"
Accept-Ranges: bytes
Content-Length: 1456
Connection: close
Content-Type: text/html; charset=EUC-KR
Content-Language: en
Expires: Wed, 07 Jan 2004 01:41:21 GMT

Connection closed by foreign host.
#
설정내용이 적용이안될수 있으므로 리부팅후 다시 로그인하는 것이 가장 확실하다.


ibxml 설치
# cd /tmp/
# tar zxvf libxml2-2.6.1.tar.gz
# cd libxml2-2.6.1/
# ./configure --prefix=/www/libxml
# make
# make install





PHP 설치
# cd /tmp/
# tar zxvf php-5.0.0b2.tar.gz
# cd php-5.0.0b2/

주의) --without-gd : gd 라이브러리를 사용하지 않도록 하는 옵션.
Solaris의 경우 gd 라이브러리가 설치되어 있지 않거나 설치되어 있다고 해도 자꾸 에러가 나서 저 옵션을 사용했습니다.
LINUX에서는 사용하지 않아도 에러 없이 컴파일 할 수 있습니다
# ./configure --prefix=/www/httpd/php --with-mysql=/usr/local/mysql \\
--with-apxs2=/www/httpd/bin/apxs --with-exec-dir=/www/httpd/php/bin \\
--enable-track-vars --with-config-file-path=/www/httpd/conf \\
--with-libxml-dir=/www/libxml --with-mod-charset --with-language=korean \\
--with-charset=euc_kr --enable-versioning

# make
# make install
# cp php.ini-dist /www/httpd/php/lib/php.ini



/www/httpd/conf/httpd.conf 를 vi로 열어 아래 부분을 추가합니다.

LoadModule php5_module modules/libphp5.so

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps


아파치를 실행시켜 PHP와 연동이 되었는지 확인합니다

# cd /www/httpd/bin
# ./apachectl start
#
# telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.
Escape character is \'^]\'.
HEAD / HTTP/1.0

HTTP/1.1 200 OK
Date: Wed, 07 Jan 2004 01:41:21 GMT
Server: Apache/2.0.48 (Unix) mod_ssl/2.0.48 OpenSSL/0.9.7c DAV/2 PHP/5.0.0b3
Content-Location: index.html.en
Vary: negotiate,accept-language,accept-charset
TCN: choice
Last-Modified: Fri, 04 May 2001 00:01:18 GMT
ETag: \"2801e-5b0-40446f80;28034-961-8562af00\"
Accept-Ranges: bytes
Content-Length: 1456
Connection: close
Content-Type: text/html; charset=EUC-KR
Content-Language: en
Expires: Wed, 07 Jan 2004 01:41:21 GMT

Connection closed by foreign host.
#





mod_jk 연동( mod_jk.so 생성 )




# cd /tmp
# tar xzvf jakarta-tomcat-connectors-jk-1.2-src-current.tar.gz
# cd /tmp/jakarta-tomcat-connectors-jk-1.2-src/jk/native
# ./buildconf.sh
# ./configure --with-apxs=/www/httpd/bin/apxs
..... ....
# make
# make install
# ll /usr/local/apache/modules

mod_jk.so 이 있으면 성공!

이 부분에서 저는 소스를 컴파일 했습니다. 현재(2004/01/07)까지 linux용으로 만들어진
파일이 sun사이트에 없습니다. (Solaris용은 있음 )









Tomcat 설치

#cd /www
# tar xvfz jakarta-tomcat-4.1.29.tar.gz
# mv jakarta-tomcat-4.1.29 tomcat
# cd /www/tomcat/bin
# ./startup.sh
Using CATALINA_BASE: /usr/local/tomcat4
Using CATALINA_HOME: /usr/local/tomcat4
Using CATALINA_TMPDIR: /usr/local/tomcat4/temp
Using JAVA_HOME: usr/local/java
이렇게 나온후 웹브라우저에서 \"http://localhost:8080\" 입력후 화면에 고양이가 보이면 성공

server.xml 파일 수정

# cd /www/tomcat/conf
# vi server.xml
아래 내용을 찾아서..

밑줄에 다음을 입력한다.


아래 내용을 찾아서..

밑줄에 다음을 입력한다.


# cd /www/tomcat/bin
# ./shutdown.sh
# ./startup.sh
(/www/tomcat/conf 디렉토리 밑에 auto와 jk디렉토리가 생기면 성공)





workers.properties 파일 작성

# cd /www/tomcat/conf/jk
# vi workers.properties
밑의 내용을 전부 입력후 저장...
# Start setup file
#
workers.tomcat_home=/wwwl/tomcat
workers.java_home=/usr/local/java
ps=/
worker.list=ajp12, ajp13
# Definition for Ajp13 worker
#
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
#
# End setup file


httpd.conf 수정

# cd /www/httpd/conf
# vi httpd.conf
제일 마지막 부분에 밑의 내용을 전부 입력후 저장...
LoadModule jk_module libexec/mod_jk.so

JkWorkersFile \"/usr/local/tomcat4/conf/jk/workers.properties\"
JkLogFile \"/usr/local/tomcat4/logs/mod_jk.log\"
JkLogLevel emerg

JkMount /*.jsp ajp13
JkMount /servlet/* ajp13

Include /usr/local/tomcat4/conf/auto/mod_jk.conf


실행 및 최종 확인

Apache 종료
# cd /www/httpd/bin
# ./apachectl stop


Tomcat 종료후 시작
# cd /www/tomcat/bin
# ./shutdown.sh
# ./startup.sh


Apache 시작
# cd /www/httpd/bin
# ./apachectl start


처음 시작시에는 tomcat 실행, Apache 실행


Tomcat 작동확인
http://localhost:8080
http://localhost:8080/examples


Apache + Tomcat 연동 작동확인
http://localhost
http://localhost/examples


tomcat 과 아파치를 실행해서 연동이 되었는지 다른 방법 확인

# telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.
Escape character is \'^]\'.
HEAD / HTTP/1.0

HTTP/1.1 200 OK
Date: Wed, 07 Jan 2004 01:41:21 GMT
Server: Apache/2.0.48 (Unix) mod_ssl/2.0.48 OpenSSL/0.9.7c DAV/2 PHP/5.0.0b3
mod_jk/1.2.5
Content-Location: index.html.en
Vary: negotiate,accept-language,accept-charset
TCN: choice
Last-Modified: Fri, 04 May 2001 00:01:18 GMT
ETag: \"2801e-5b0-40446f80;28034-961-8562af00\"
Accept-Ranges: bytes
Content-Length: 1456
Connection: close
Content-Type: text/html; charset=EUC-KR
Content-Language: en
Expires: Wed, 07 Jan 2004 01:41:21 GMT

Connection closed by foreign host.
#

적절히 연동이 되었는지 아래 주소로 확인해 봅니다
doc :
http://localhost/tomcat-docs/


JSP :
http://localhost/examples/jsp/


Servlet :
http://localhost/examples/servlets/

서비스를 멈춥니다

# cd /www/httpd/bin
# ./apachectl stop
#
# cd /www/tomcat/bin
# ./catalina.sh stop





mod_perl 설치

#cd /www/httpd
#mkdir libexec
#cp modules/mod_jk.so libexec

이렇게하는 것은 설치시 mod_jk.so파일을 /www/httpd/libexec에서 찾기 때문이다.
/www/httpd/modules 여기서 찾으면 좋을텐데 말이다. ^^;;

# cd /tmp/
# tar zxvf mod_perl-2.0-current.tar.gz
# cd mod_perl-1.99_12/
# perl Makefile.PL MP_AP_PREFIX=/www/httpd MP_INST_APACHE2=1
# make
# make install


conf/httpd.conf 를 수정하여 아파치 시작시 모듈이 올라오도록 수정합니다

LoadModule perl_module modules/mod_perl.so

아파치를 실행시켜 mod_perl 과 Perl 버전이 뜨는지 확인합니다

# cd /www/httpd/bin
# ./apachectl restart
#
# telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.
Escape character is \'^]\'.
HEAD / HTTP/1.0

HTTP/1.1 200 OK
Date: Wed, 07 Jan 2004 01:41:21 GMT
Server: Apache/2.0.48 (Unix) mod_perl/1.99_12 Perl/v5.8.0 mod_ssl/2.0.48
OpenSSL/0.9.7c DAV/2 PHP/5.0.0b3 mod_jk/1.2.5
Content-Location: index.html.en
Vary: negotiate,accept-language,accept-charset
TCN: choice
Last-Modified: Fri, 04 May 2001 00:01:18 GMT
ETag: \"2801e-5b0-40446f80;28034-961-8562af00\"
Accept-Ranges: bytes
Content-Length: 1456
Connection: close
Content-Type: text/html; charset=EUC-KR
Content-Language: en
Expires: Wed, 07 Jan 2004 01:41:21 GMT

Connection closed by foreign host.
#



SSL 설치 및 가동

# cd /www/openssl/bin
Random State생성
# openssl sha1 * > rand.dat or
cat file1 file2 file3 > rand.dat or
생성하지 않아도 됨



개인키 생성.

# openssl genrsa -rand rand.dat -des 1024 > key.pem
키를 생성하기위해서 rand.dat를 난수생성을 위해 로드하고, DES로 암호화하여 1024bit 의 RSA 알고리즘을 사용하여 생성된 결과값을 파일 key.pem에 출력합니다.
# openssl genrsa -rand rand.dat -des3 1024 > key.pem
( triple DES로 개인키를 암호화하길 원할 경우)
주의:passphase를 기억해야 합니다.Apache-SSL서버 시작시 passphase가 반드시 필요하기 때문입니다.



CSR 생성

#>openssl req -new -key key.pem -out csr.pem
인증서버에 보낼 파일을 생성했다.
위에서 생성한 전자서명키와 다음에 입력할 DN(distinguish name) 정보를 가지고 인증요청정보(CSR.PEM)을 생성합니다
1. C (country : 국가) 에 해당하는 값을 입력합니다.
(예) KR : Korea (mandatory)
2. ST (state : 지방) 에 해당하는 값을 입력합니다
(예) New South Wales = NSW
3. L (locality : ) 에 해당하는 값 (city, town 등) 을 입력합니다.
4. DN 에 해당하는 O(organization) 의 이름을 기입합니다. 이 NAME은 도메인 NAME의 일부로 사용하게 됩니다..
예) KICA : Korea Information Certificate Authority (mandatory)
5. DN에 해당하는 회사이름 OU(organization unit)을 입력합니다.
(예) KR, Dacom 등
6. Web Server의 FULL 도메인 name 또는 IP를 입력합니다.. 이것은 당신이 차후 사용하게 될 web site 의 https URL로 사용할 수 있도록 합니다.
(예) www. Bookstore.com or 128.134.254.166
7.남은 attribute 부분은 생략해도 됩니다.
8.위 과정을 거치면 다음과 같은 csr.pem 형식의 web server 인증요청 정보가 나오게 됩니다.




CSR 보기

# cat csr.pem
-----BEGIN CERTIFICATE REQUEST-----
MIIB3zCCAUgCAQAwgZ4xCzAJBgNVBAYTAktSMQ4wDAYDVQQIEwVTZW91bDEfMB0G
A1UEBxMWam9vbmdyaW0tZG9uZyxjaHVuZy1ndTENMAsGA1UEChMES0lDQTEUMBIG
A1UECxMLbGljZW5zZWRXZWIxFzAVBgNVBAMTDnd3dy5zaWducmEuY29tMSAwHgYJ
KoZIhvcNAQkBFhFraWNhQHNpZ25nYXRlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOB
jQAwgYkCgYEAwV7RJqGC9M0OGEiCRsszrXNa2uu1tJ+oqtIbmG5lzyLcpYPV0JOb
o6vQq27RP2EbEHoUNLL92oWNlKwo/kkUoR9r3TvjhZ221uFoGjBt/LSwn9ui3nY+
Ntef90l24ltNpc7eHPNnvTdWLWWmkO9EImJ90soc0VTqwSORfxGd4KVqzH17U5yQ
/m3W
-----END CERTIFICATE REQUEST-----


이 pem 형식의 인증요청정보(CSR)를 복사하여 웹서버 인증 발급요청에서 인증서 요청 정보란에cut & paste후 나머지 정보를 입력한 뒤 인증서 발급 요청을 하면 됩니다.
http://www.crosscert.com 에서 테스트 인증서를 받을 수 있습니다




인증서 설치

1. SSL 인증서 설정( SSLCertificateFile )
공인인증기관으로부터 cut&paste한 PEM 형식의 인증서를 웹서버에 파일로 저장한다. (인증서를 /www/httpd/conf 에 파일로 저장한 경우)

#vi httpd.conf
#Point SSLCertificateFile at a PEM encoded certificate.
# If the certificate is encrypted, then you will be prompted for a pass phrase.
# Note that a kill -1 will prompt again.
# A test certificate can be generated with \"make certificate\".
SSLCertificateFile /www/httpd/conf/cert.pem


2. SSL 전자서명 생성키 설정( SSLCertificateKeyFile )
# 개인키 생성시 생성했던 전저서명생성키를 설정하는 것으로 절대패스를 지정해주어야 하고 만약 암호화되어 있다면 웹서버 기동시 암호를 입력을 요구한다.


#vi httpd.conf
# If the key is not combined with the certificate, use this directive to
# point at the key file. If this starts with a \'/\' it specifies an absolute
# path, otherwise it is relative to the default certificate area. That is, it
# means \"/private/\".
SSLCertificateKeyFile /www/httpd/conf/key.pem





SSL 설치 완료 & 웹서버 시작

# cd /www/httpd/bin
# ./apachectl start ssl
Apache/2.0.48 mod_ssl/2.0.48 (Pass Phrase Dialog)
Some of your private key files are encrypted for security reasons.
In order to read them you have to provide us with the pass phrases.

Server localhost:443 (RSA)
Enter pass phrase: (password 입력)

Ok: Pass Phrase Dialog successful.




이 문서에 대한 저작권은 없습니다. 마음껏 활용하셔도 됩니다.
하지만, 이 문서에 대한 책임은 지지 않습니다. 문의나 메일은 사양합니다.
혹시 Ledhat 9.0환경에서 apache2.* + Tomcat 5.* 설치해보신분들은 kltp에 문서 자료 업로드 부탁드립니다. 저는 아파치2.* + 톰캣 5.* 연동 부분에서 실패를 봐서 4.*로 바꾸었습니다. 좋은 자료 부탁드립니다.
참고로 이 자료는 http://www.parupunte.com/minaken/apache2/httpdtomcat507modjk2.html 사이트의 자료를 토대로 작성 했습니다.


--------------------------------------------------------------------

문서 작성일 : 2004년 01월 07일
--------------------------------------------------------------------------------

KLTP - Korean Linux Tips Project
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/09/21 09:03 2004/09/21 09:03
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/286

핵심인재 퇴사비용

발굴된 핵심인재가 회사에 기여하기 시작하는데
6.2개월이 소요된다.
이중 40%는 조직 적응 실패로 18개월 내에 퇴사한다.
채용과 교육비용, 급여와 퇴직금,
신규채용과 기회비용을 감안하면
핵심인재 퇴사시 기업의 비용은
관리직 평균 월급여의 24배 정도에 달한다.
- 삼성경제연구소


채용을 통해 핵심인재를 확보할 수 있는 확률은 극히 낮습니다.
어렵사리 확보된 극소수의 핵심인재 중 40%가
18개월 내에 퇴사한다는 것은 핵심인재 관리의
어려움을 극명하게 나타낸다 하겠습니다.
그런 점에서 혼자서 10만 명을 먹여 살릴 수 있는 핵심인재,
전체 구성원의 20% 이내에 해당하는 핵심인재를
보통의 인력과 똑같은 수준에서 관리하는 것은
분명 이치에 어긋난다 하겠습니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/09/21 08:42 2004/09/21 08:42
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/1090

너무 멋진 세상

앞을 못 보던
내가 처음 눈을 떴을 때,
내 앞에는 그 동안 꿈꾸었던 것보다
훨씬 아름다운 세계가 펼쳐졌어요.
정말 그래요.
햇볕이 이토록 빛나고
하늘이 이렇듯 넓으리라고는 상상조차 못 했어요.



- 앙드레 지드의 《전원 교향곡》 중에서 -



* 그래요. 세상은 아름답습니다.
세파에, 분주함에, 각박함에 눈이 가려져
다만 그 멋진 세상을 보지 못하고 있을 뿐입니다.
눈을 열고 마음을 열면 세상은 다시 아름답게 보입니다.
친구가 있고, 사랑과 낭만이 있고, 희망이 있으므로
세상은 더 멋지고 아름답습니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/09/21 08:41 2004/09/21 08:41
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/757

달리기의 장점

달리기의 장점은 헤아릴 수 없이 많다.
우선 심장이 튼튼해지고 산소를 운반하는 능력이
출중해진다. 팔과 다리뿐만 아니라 몸통과 허리까지
몸 전체가 튼튼해진다. 온몸의 근육과 신경, 뼈, 인대가
한 번씩 점검을 받고 더욱 강하게 단련되는 셈이다.
건강하게 땀 흘리며 달리다 보면 피부도 좋아지고
얼굴의 윤곽도 또렷해져 더욱
예뻐지고 멋있어진다.



- 황영조의 《세상에서 가장 아름다운 도전,
황영조 마라톤 스쿨》중에서-



* 달리기를 시작하는 것은
평생 좋은 친구 하나를 얻는 것과 같습니다.
내가 시간을 내기만 하면 언제든 달려나와, 가장 가까이서
고통을 함께 하며 나의 건강을 평생 지켜줍니다.
이 친구와 함께 있으면 그 땀방울을 통해
얼굴도 맑아지고, 마음도 맑아집니다.
달리기는, 더 늦기 전에 하루라도
빨리 시작하는 것이 좋습니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/09/20 09:21 2004/09/20 09:21
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/756

우리 만나 기분 좋은 날은

우리 만나 기분 좋은 날은
강변을 거닐어도 좋고
돌담길을 걸어도 좋고
공원의 벤치에 앉아있어도 좋았습니다

우리 만나 기분 좋은 날은
이 세상이 온통 우리를 위하여
축제라도 열어 놓은 듯했습니다

하늘에 폭죽을 쏘아 놓은 듯
별빛이 가득하고
거리에 네온사인은 모두
우리들을 위한 사랑의 사인 같았습니다

우리 만나 기분 좋은 날은
서로 무슨 말을 해도
웃고 또 웃기만 했습니다
또한 행복했습니다



- 용혜원의 <우리 만나 기분 좋은 날은> 중에서 -



우리 만나 기분 좋은 날은 세상이 모두
내것처럼 평화롭고 행복합니다.
세상이 아무리 복잡해도 나보다 너를 기쁘게하는
마음으로 살수 있다면 우리 만나 언제까지나
기분 좋은 날이 되겠지요.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/09/20 09:20 2004/09/20 09:20
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/755

\"세상에서 가장 어려운 일이 뭔지 아니?\"
\"흠.. 글쎄요,
돈 버는 일? 밥 먹는 일?\"

\"세상에서 가장 어려운 일은...
사람이 사람의 마음을 얻는 일이란다.
각각의 얼굴만큼 다양한 각양각색의 마음을....
순간에도 수만 가지의 생각이 떠오르는데..
그 바람 같은 마음이 머물게 한다는 건...
정말 어려운거란다.\"
- 생텍쥐페리, ‘어린왕자’에서


세상에서 가장 어려운 일, 아니 가장 중요한 일은
다른 사람의 마음을 얻는 것입니다.
우리는 늘 상사와 동료, 부하직원들의
마음을 얻기 위해 노심초사합니다.
그러나 마음을 얻는 것은 기술(Skill)이 아니라 원칙에 가깝습니다.
도덕성과 올바른 성품, 비전 제시, 존중과 칭찬, 변화와 성과 창출,
이 모든 것들은 구성원의 마음을 얻기 위한 원칙들입니다.
이러한 원칙도 개발 가능하다는 것이
우리에게는 희망을 가져다 줍니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/09/20 08:56 2004/09/20 08:56
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/1089

비가 내리면

아직 덜 자란 나뭇잎 위에 얹혀진 빗방울이
구슬같이 이뻐 보이고 나무뿌리에서 올라온 듯한
수액이나 이제 갓 자란 무순이나 아욱 냄새 같은 것이
코 끝에 맡아지는 것 같다. 후둑후둑거리며 어딘가에 고이는
빗방울을 보면 머위 잎이나 토란 잎이나 호박 잎에 고이는
빗방울이 생각나고 너무 오래 비가 안 오면
밭이 타겠네, 싶고 너무 많은 비가 내리면
논둑이 터지겠네, 싶어 안타깝다.



- 신경숙의 《자거라, 네 슬픔아》 중에서-



* 창 밖에 내리는 비를 바라봅니다.
빗방울이 유리창에 부딪치며 주르륵 주르륵
하염없이 흐릅니다. 추억처럼, 눈물처럼, 아픔처럼...
비는 지금 창 밖에 내리고 있는데, 마음은 어느덧 어린 시절의
시골집 호박 밭에 가 있습니다. 빗방울은 유리창을
타고 흐르는데, 촉촉히 젖어드는 건 그걸
바라보는 눈동자입니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/09/17 09:10 2004/09/17 09:10
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/754

어렸을 때 아버지와 함께 오스트리아에서
미국 캘리포니아로 이민 온 아놀드 슈워제거는
가난한 어린 시절을 보냈다.
그런 그는 책상 머리에 항상 세가지 목표를 적어 놓았다.
첫째가 영화 배우가 되겠다는 것,
둘째가 케네디가의 여인과 결혼하겠다는 것,
셋째가 2005년에 캘리포니아 주지사가 되겠다는 것이었다.

영화배우가 되겠다는 것과 케네디가의 여인과
결혼하겠다는 목표는 이미 이루었고,
세 번째인 2005년 캘리포니아 주지사가 된다는 목표는
놀랍게도 지난해 보궐선거로 2년 먼저 이루었다.
오래 전부터 주지사로서 주민들에게 연설하는 자신의 모습을 상상해 온
그로서는 놀랄 일이 아니었을 것이다.

진정으로 원하는 것, 성취하고 싶은 것이 있으면
그 모습을 마음 속 백지에 그려놓고
항상 떠올려라.
그저 막연한 상상이 아니라,
등장 인물은 물론 그 주변까지도
세밀하게 묘사한 이미지를 늘 떠올린다면,
그 그림은 곧 현실에 찬란하게 드러나게 될 것이다.
- 섹세스 파트너
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/09/17 09:09 2004/09/17 09:09
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/1088

« Previous : 1 : ... 570 : 571 : 572 : 573 : 574 : 575 : 576 : 577 : 578 : ... 640 : Next »

블로그 이미지

- 홍반장

Archives

Recent Comments

  1. 1 pHqghUme 2025
  2. 1 pHqghUme 2025
  3. 1 pHqghUme 2025
  4. 1 pHqghUme 2025
  5. 1 pHqghUme 2025

Calendar

«   2026/03   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
Statistics Graph

Site Stats

Total hits:
342285
Today:
60
Yesterday:
976