본문
다음은 http://www.howtoforge.com/lighttpd_php5_mysql_centos5.0 문서를 우리말로 번역하면서 내 마음대로 수정한 문서입니다.
준비물
CentOS 5.2 설치CD
설치과정
일단 CentOS 5.2(최신버전)을 설치했다는 가정하에 과정을 진행한다.
MySQL 5 설치
Yum을 이용하여 mysql을 설치한다.
- yum install mysql mysql-server
서버 구동시에 자동으로 DB를 시작할 수 있도록 설정.
- chkconfig --levels 235 mysqld on
/etc/init.d/mysqld start
mysql root 패스워드를 설정한다.
- mysqladmin -u root password yourrootsqlpassword
Lighttpd 설치
[참고]CentOS 공식 미러사이트에는 Lighttpd 패키지가 포함되어 있지 않으므로 설치를 위하여 rpmforge 저장소를 추가해야 한다.
참고사이트 : http://dag.wieers.com/rpm/FAQ.php#B2
Yum을 이용하여 Lighttpd를 설치한다.
- yum install lighttpd
서버 구동시에 자동으로 Lighttpd를 시작할 수 있도록 설정. 데몬 스타트.
- chkconfig --levels 235 lighttpd on
/etc/init.d/lighttpd start
이제 80포트가 Listen 상태에 들어가고 웹 접속이 가능하다.
/etc/lighttpd/lighttpd.conf 파일을 적절히 수정하자.
PHP 설치
역시 Yum을 이용하여 PHP를 설치한다.
Lighttpd 와 PHP의 연동은 fastcgi 를 활용한다.
- yum install lighttpd-fastcgi php-cli
일단 설치는 끝났다. 이제 설정을 조정하자.
설정은 /etc/lighttpd/lighttpd.conf , /etc/php.ini 이 두 파일을 수정해야 한다.
/etc/php.ini 파일을 열어서
- vi /etc/php.ini
마지막 라인에 아래 내용을 추가해 준다.
- ( 기존 내용 )
- cgi.fix_pathinfo = 1
/etc/lighttpd/lighttpd.conf 파일을 열어서
- vi /etc/lighttpd/lighttpd.conf
mod_access / mod_fastcgi 부분의 주석을 해제하여 활성화 한다.
- [...]
server.modules = (
# "mod_rewrite",
# "mod_redirect",
# "mod_alias",
"mod_access",
# "mod_cml",
# "mod_trigger_b4_dl",
# "mod_auth",
# "mod_status",
# "mod_setenv",
"mod_fastcgi",
# "mod_proxy",
# "mod_simple_vhost",
# "mod_evhost",
# "mod_userdir",
# "mod_cgi",
# "mod_compress",
# "mod_ssi",
# "mod_usertrack",
# "mod_expire",
# "mod_secdownload",
# "mod_rrdtool",
"mod_accesslog" )
[...]
- fastcgi.server = ( ".php" =>
((
"bin-path" => "/usr/bin/php",
"socket" => "/tmp/php.socket",
"max-procs" => 2,
"idle-timeout" => 20,
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "4",
"PHP_FCGI_MAX_REQUESTS" => "10000"
),
"bin-copy-environment" => (
"PATH", "SHELL", "USER"
),
"broken-scriptfilename" => "enable"
))
)
※ 참고 : html/htm 파일을 PHP로 연결하기
http://www.cyberciti.biz/tips/lighttpd-map-html-pages-to-php-execute-html-pages-as-php.html
php-cgi 파일의 경로에 맞게 해당 부분을 수정한다. ( 예: /usr/bin/php-cgi )
- [...]
#### fastcgi module
## read fastcgi.txt for more info - # html 을 php 로 연결
- fastcgi.map-extensions = ( ".html" => ".php",
".htm" => ".php",
".inc" => ".php",
".rang" => ".php",
".inus" => ".php" )
fastcgi.server = ( ".php" =>
( "localhost" =>
(
"socket" => "/tmp/php-fastcgi.socket",
"bin-path" => "/usr/bin/php-cgi"
)
)
)
[...]
설정을 적용하기 위해 Lighttpd 데몬을 재시작한다.
- /etc/init.d/lighttpd restart
PHP에 MySQL support 추가
Yum을 이용하여 PHP 확장모듈을 추가한다. 필요한 모듈만 적절히 추가할 것.
-
yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc
설정을 적용하기 위해 Lighttpd 데몬 재시작
- /etc/init.d/lighttpd restart
설정이 제대로 적용되어 있는지는 phpinfo() 함수를 활용하면 된다.
XpressEngine (제로보드XE)를 위한 mod_write 설정
/etc/lighttpd/conf/lighttpd.conf 파일 편집
- server_modules = (
- ...
- # "mod_rewrite", <-- 주석처리 되어 있다면 주석 처리 해제
- ...
- )
아래 내용 추가
: 참고로 이 내용은 / 경로에 XE 소스가 있다는 가정하에 작성된 내용입니다.
(출처 : http://unix.co.kr/bbs/board.php?bo_table=10_34&wr_id=10 )
- url.rewrite = (
"^/([a-zA-Z0-9_]+)/files/attach/images/(.*)" => "./files/attach/images/$2",
"^/([a-zA-Z0-9_]+)/modules/(.*)" => "./modules/$2",
"^/([a-zA-Z0-9_]+)/common/(.*)" => "./common/$2",
"^/([a-zA-Z0-9_]+)/([[:digit:]]+)page$" => "./index.php?mid=$1&page=$2",
"^/rss/([[:digit:]]+){0,14}/([[:digit:]]+){0,14}/([[:digit:]]+)$" => "./index.php?module=rss&act=rss&start_date=$1&end_date=$2&page=$3",
"^/rss/([[:digit:]]+)$" => "./index.php?module=rss&act=rss&page=$1",
"^/rss$" => "./index.php?module=rss&act=rss",
"^/admin$" => "./index.php?module=admin",
"^/([a-zA-Z0-9_]+)/api$" => "./index.php?mid=$1&act=api",
"^/([[:digit:]]+)$" => "./index.php?document_srl=$1",
"^/([[:digit:]]+)/([a-zA-Z0-9_]+)$" => "./index.php?document_srl=$1&act=$2",
"^/([[:digit:]]+)/([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)$" => "./index.php?document_srl=$1&act=$3&key=$2",
"^/([a-zA-Z0-9_]+)/([[:digit:]]+)$" => "./index.php?mid=$1&document_srl=$2",
"^/([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)$" => "./index.php?mid=$1&act=$2",
"^/([a-zA-Z0-9_]+)/page/([[:digit:]]+)$" => "./index.php?mid=$1&page=$2",
"^/([a-zA-Z0-9_]+)/category/([[:digit:]]+)$" => "./index.php?mid=$1&category=$2",
"^/([a-zA-Z0-9_]+)/category/([[:digit:]]+)/page/([[:digit:]]+)$" => "./index.php?mid=$1&category=$2&page=$3",
"^/([a-zA-Z0-9_]+)/([[:digit:]]+)/([[:digit:]]+)$" => "./index.php?mid=$1&search_target=regdate&search_keyword=$2$3",
"^/([a-zA-Z0-9_]+)/([[:digit:]]+)/([[:digit:]]+)/([[:digit:]]+)$" => "./index.php?mid=$1&search_target=regdate&search_keyword=$2$3$4",
"^/([a-zA-Z0-9_]+)/tag/(.*)$" => "./index.php?mid=$1&search_target=tag&search_keyword=$2",
"^/([a-zA-Z0-9_]+)/writer/(.*)$" => "./index.php?mid=$1&search_target=nick_name&search_keyword=$2",
"^/([a-zA-Z0-9_]+)(/){0,1}$" => "./index.php?mid=$1" )
}
[참고]
/etc/lighttpd/lighttpd.conf 파일에서 기본 Document_root는 /srv/lighttpd/www이다
적절히 수정하여 사용하도록 하자...
관련링크
댓글목록
등록된 댓글이 없습니다.