최근에는 패키지로 배포되는 APM이 여러면에서 상당히 편리하므로 컴파일해서 설치할 필요가 없는 편입니다.

이 문서는 개인적인 차원에서 정리하는 것임을 밝혀 둡니다.

 

1. chkconfig 설치

이미 설치되어 있다면, 설치하지 않아도 됨

# apt-get install chkconfig

 

2. MySQL 자동실행 설정

실행 스크립트 /etc/init.d 로 복사

# cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld

chkconfig으로 등록

# chkconfig --add mysqld

 

3. Apache 자동실행 설정

실행 스크립트 /etc/init.d 로 복사

# cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd

스크립트 수정

# vi /etc/init.d/httpd

다음 내용을 #!/bin/sh 하단에 추가

# Comments to support chkconfig on ReaHat Linux
# chkconfig: 2345 90 90
# descrption: A very fast and reliable WebServer engine.

chkconfig으로 등록

# chkconfig --add httpd

 

4. 등록 여부 확인

# chkconfig --list

결과 아래와 같은 항목이 있어야 함

httpd                     0:off  1:off  2:on   3:on   4:on   5:on   6:off

mysqld                    0:off  1:off  2:on   3:on   4:on   5:on   6:off

 

httpd가 없거나 전부 off 일때

mysql은 잘되지만 httpd는 안될 때가 있다.

# chkconfig --edit httpd

실행 후, httpd off 라고 된 부분을 on으로 변경 후 저장

최근에는 패키지로 배포되는 APM이 여러면에서 상당히 편리하므로 컴파일해서 설치할 필요가 없는 편입니다.

이 문서는 개인적인 차원에서 정리하는 것임을 밝혀 둡니다.

주의1)  -기호 2개가 연속으로 있을 때 조금 긴 -기호로 바뀌어 버리네요. 수정이 잘 안되니, 참고 바랍니다. ^^;;

 

 

1. MySQL

# wget http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.67.tar.gz/from/http://mysql.byngsoo.net/
# tar xvzf mysql-5.0.67.tar.gz
# cd mysql-5.0.67
# ./configure --prefix=/usr/local/mysql --without-readline --enable-thread-safe-client --with-charset=utf8 --with-extra-charsets=ucs2,euckr CFLAGS="-I/usr/local/include" CXXFLAGS="-I/usr/local/include"
# make
# make install

 

2. Apache

# wget http://apache.tt.co.kr/httpd/httpd-2.2.9.tar.gz
# tar xvzf httpd-2.2.9.tar.gz
# cd httpd-2.2.9
# ./configure --prefix=/usr/local/apache2 --enable-so --enable-auth-digest --enable-dav --enable-dav-fs --with-mpm=worker --enable-rewrite --enable-deflate --enable-headers --enable-expires --enable-log-forensic --enable-dbd --enable-authn-dbm --enable-authn-dbd --enable-authz-dbm
# make
# make install

--with-mpm=worker 설명

Apache2에는 worker와 prefork가 있다. 일반적으로 worker가 메모리를 적게 사용하지만, prefork에 비해서 불안정하다고 알려져 있다.

해당 옵션을 삭제하면 기본으로 prefork가 된다.

서버의 수용 최대 접속 컴파일 단계에서 늘리기

Apache1.3.x에서는 httpd.h 파일의 HARD_SERVER_LIMIT 값을 변경해 컴파일 해야 하지만, Apache2에서는 조금 다르다.

컴파일 전에 아래 값을 변경해 줘야 한다.

server/mpm/prefork/prefork.c
DEFAULT_SERVER_LIMIT 을 256에서 2048로 변경

server/mpm/worker/worker.c
DEFAULT_SERVER_LIMIT 을 16에서 256으로 변경

 

3. PHP

# wget http://kr2.php.net/get/php-5.2.8.tar.gz/from/this/mirror
# tar xvzf php-5.2.8.tar.gz
# cd php-5.2.8
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-iconv=/usr/local --with-libxml-dir=/usr/local/xml --with-gd --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-zlib-dir=/usr/local --with-freetype-dir=/usr/local --with-curl --enable-mbstring --enable-mbregex --enable-dbase --enable-sigchild --enable-gd-native-ttf --enable-wddx --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-sockets --enable-soap --enable-ftp --enable-safe-mode --enable-exif --enable-bcmath
# make
# make install
# cp php.ini-dist /usr/local/php/lib/php.ini

configure 중 libiconv.so.2 문제

아래와 같은 에러가 발생할 수 있다.

Sorry, I cannot run apxs.  Possible reasons follow:

1. Perl is not installed
2. apxs was not found. Try to pass the path using --with-apxs2=/path/to/apxs
3. Apache was not built using --enable-so (the apxs usage page is displayed)

The output of /opt/modules/apache2/bin/apxs follows:
/opt/modules/apache2/bin/httpd: error while loading shared libraries:libiconv.so.2: cannot open shared object file: No such file or directory
apxs:Error: Sorry, no shared object support for Apache.
apxs:Error: available under your platform. Make sure.
apxs:Error: the Apache module mod_so is compiled into.
apxs:Error: your server binary `/opt/modules/apache2/bin/httpd'..
configure: error: Aborting

해결방법

# ln -s  /usr/local/lib/libiconv.so.2 /usr/lib/

다시 configure 실행

 

4. ZendOptimizer

http://www.zend.com 에서 다운로드

# tar xvzf ZendOptimizer-3.2.8-linux-glibc21-i386.tar.gz
# cd ZendOptimizer-3.2.8-linux-glibc21-i386
# ./install

install스크립트

- 자동으로 설치함
- 설치 중 php.ini 경로 입력 : /usr/local/php/lib
- 설치 중 Apache Control Utility 경로 입력 : /usr/local/apache2/bin/apachectl

ZendOptimizer 제거

- /usr/local/php/lib/php.ini-zend_optimizer.bak 을 php.ini로 바꿈

최근에는 패키지로 배포되는 APM이 여러면에서 상당히 편리하므로 컴파일해서 설치할 필요가 없는 편입니다.

이 문서는 개인적인 차원에서 정리하는 것임을 밝혀 둡니다.

 

 

1. PATH 설정

/etc/profile 에 아래 내용 추가

# form Apache located at /usr/local/apache2
if [ –d /usr/local/apache2 ]
  LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apache2/lib; export LD_LIBRARY_PATH
  PATH=$PATH:/usr/local/apache2/bin; export PATH;
fi

# from MySQL located at /usr/local/mysql
if [ –d /usr/local/mysql ]
  LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mysql/lib/mysql; export LD_LIBRARY_PATH
  PATH=$PATH:/usr/local/mysql/bin; export PATH;
fi

 

2. MySQL 설정

mysql 사용자 추가

# groupadd mysql
# useradd -d /home/mysql -g mysql –s /bin/false mysql

환경파일 복사

# cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf

DB파일 생성

# /usr/local/mysql/bin/mysql_install_db
# chown -R mysql:mysql /usr/local/mysql/var

root 비밀번호 변경

# /usr/local/mysql/share/mysql/mysql.server start
# /usr/local/mysql/bin/mysqladmin –u root password ‘new-password’

 

3. Apache 설정

/usr/local/apache2/conf/httpd.conf 파일 수정

# Dynamic Shared Object (DSO) Support
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php .htm .html
AddType application/x-httpd-php-source .phps

ServerName 수정

ServerName 192.168.0.1 처럼 IP를 지정하거나 도메인 지정

Include 주석 해제

가장 하단부에 각 설정이 구분된 Include 설정이 있다. 필요한 설정 부분 주석을 해제한다.

# Server-pool management (MPM specific)
Include conf/extra/httpd-mpm.conf

# Multi-language error messages
Include conf/extra/httpd-multilang-errordoc.conf

# Fancy directory listings
Include conf/extra/httpd-autoindex.conf

# Language settings
Include conf/extra/httpd-languages.conf

# User home directories
Include conf/extra/httpd-userdir.conf

# Real-time info on requests and configuration
Include conf/extra/httpd-info.conf

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

# Local access to the Apache HTTP Server Manual
Include conf/extra/httpd-manual.conf

# Distributed authoring and versioning (WebDAV)
Include conf/extra/httpd-dav.conf

# Various default settings
Include conf/extra/httpd-default.conf

# Secure (SSL/TLS) connections
#Include conf/extra/httpd-ssl.conf

큰맘먹었다.
메일 작업 컴퓨터에 리눅스를 깔아 버렸다... ㅋㅋ 미쳤나 보다..
어제 오늘 아시아눅스, 페토라코어5, 마루3 다 깔아 봤다.
아무래도 서버로만 쓸거면 모르겠지만 데탑 겸용으로 쓰려고 하니.. 페도라가 가장 나아 보인다.
업데이트 및 소프트웨어 설치 제거가 용이하고
KDE는 갠적으로 이젠 너무 윈도우랑 유사해져서 아무래도 GNOME을 쓰고 싶었다.
한컴에선 KDE만 지원하기 때문에 그게 좀 불만 이였다.
마루3는 웬일인지 내 컴퓨터에서 죽어버렸다 ... 첫 화면 조차 구경을 못해보고....
이젠 내 유니코드 지원되는 DB에 curl이 없어서 접었던 지메일 플러그인에 도전할 수 있게 되었고 pdflib가 있으니 PDF플러그인도 도전해 봐야 겠다... ㅋ

'My Story' 카테고리의 다른 글

우리 조카 재흔이  (0) 2006.04.11
한 밤중에 작업하다 말고... 우리 학교..  (0) 2006.04.11
도메인 변경.. 서버 변경.. 데탑도...  (0) 2006.04.03
리눅스를 설치하다.  (0) 2006.04.02
Linux를 설치하기로 결정하다.  (2) 2006.04.01
100,000km 포착  (0) 2006.03.31
내 데스크탑 운영체제로 리눅스를 쓰리고 해버렸다.
아무래도 이넘을 쓰는게 제일 좋은 것 같다.
얼마 없으면 불법 소프트웨어 단속 나올지도 모른다는데 아예 여기다 깔고 ntfs하드 하나 마운트 해서 쓰고 VMWare로 윈도우 설치해서 가끔 작업도 해봐야 겠다...
패키지는 리눅스원 마루3 으로 했다.
페도라는 너무 방대하고 쓸데 없는게 많아서 보안에 오히려 위험해 보이고
한컴2006서버도 업데이트가 불편하다.
아무래도 편해야 짱 아닌가....
마루3 은 업데이트 하나는 죽이는 것 같던데...
오늘 밤에 언능 언능 설치해서 블로그 옮겨야지...
안되는거 투성이고 내가 필요한거 설치 못하는 호스팅은 이제 지치다.. 에거에거~~

'My Story' 카테고리의 다른 글

한 밤중에 작업하다 말고... 우리 학교..  (0) 2006.04.11
도메인 변경.. 서버 변경.. 데탑도...  (0) 2006.04.03
리눅스를 설치하다.  (0) 2006.04.02
Linux를 설치하기로 결정하다.  (2) 2006.04.01
100,000km 포착  (0) 2006.03.31
오석학교 이야기  (6) 2006.03.31

+ Recent posts