사이트 내 전체검색
CentOS 5 에서 lighttpd와 PHP/MySQL 설치
로빈아빠
https://cmd.kr/server/549 URL이 복사되었습니다.

본문

다음은 http://www.howtoforge.com/lighttpd_php5_mysql_centos5.0 문서를 우리말로 번역하면서 내 마음대로 수정한 문서입니다.

 

준비물

CentOS 5.2 설치CD

 

설치과정

일단 CentOS 5.2(최신버전)을 설치했다는 가정하에 과정을 진행한다.

 

MySQL 5 설치

Yum을 이용하여 mysql을 설치한다.

  1. yum install mysql mysql-server

 

서버 구동시에 자동으로 DB를 시작할 수 있도록 설정.

  1. chkconfig --levels 235 mysqld on
    /etc/init.d/mysqld start

 

mysql root 패스워드를 설정한다.

  1. mysqladmin -u root password yourrootsqlpassword

 

Lighttpd 설치

[참고]CentOS 공식 미러사이트에는 Lighttpd 패키지가 포함되어 있지 않으므로 설치를 위하여 rpmforge 저장소를 추가해야 한다.

  1. rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

참고사이트 : http://dag.wieers.com/rpm/FAQ.php#B2

 

Yum을 이용하여 Lighttpd를 설치한다.

  1. yum install lighttpd

서버 구동시에 자동으로 Lighttpd를 시작할 수 있도록 설정.  데몬 스타트.

  1. chkconfig --levels 235 lighttpd on
    /etc/init.d/lighttpd start

 

이제 80포트가 Listen 상태에 들어가고 웹 접속이 가능하다.

/etc/lighttpd/lighttpd.conf 파일을 적절히 수정하자.

 

PHP 설치

역시 Yum을 이용하여 PHP를 설치한다.

Lighttpd 와 PHP의 연동은 fastcgi 를 활용한다.

  1. yum install lighttpd-fastcgi php-cli

 

일단 설치는 끝났다.  이제 설정을 조정하자.

설정은 /etc/lighttpd/lighttpd.conf ,   /etc/php.ini  이 두 파일을 수정해야 한다.

 

/etc/php.ini 파일을 열어서

  1. vi /etc/php.ini

 

마지막 라인에 아래 내용을 추가해 준다.

  1. ( 기존 내용 )
  2. cgi.fix_pathinfo = 1

 

/etc/lighttpd/lighttpd.conf 파일을 열어서

  1. vi /etc/lighttpd/lighttpd.conf

 

mod_access / mod_fastcgi 부분의 주석을 해제하여 활성화 한다.

  1. [...]
    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" )
    [...]

 

 

  1. 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 )

  1. [...]
    #### fastcgi module
    ## read fastcgi.txt for more info
  2. # html 을 php 로 연결
  3. fastcgi.map-extensions = (      ".html" => ".php",
                                    ".htm"  => ".php",
                                    ".inc"  => ".php",
                                    ".rang" => ".php",
                                    ".inus" => ".php" )

  4. fastcgi.server    = ( ".php" =>
                    ( "localhost" =>
                        (
                          "socket" => "/tmp/php-fastcgi.socket",
                          "bin-path" => "/usr/bin/php-cgi"
                        )
                    )
                 )
    [...]

 

설정을 적용하기 위해 Lighttpd 데몬을 재시작한다.

  1. /etc/init.d/lighttpd restart

 

PHP에 MySQL support 추가

Yum을 이용하여 PHP 확장모듈을 추가한다. 필요한 모듈만 적절히 추가할 것.

  1. yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc

 

설정을 적용하기 위해 Lighttpd 데몬 재시작

  1. /etc/init.d/lighttpd restart

 

설정이 제대로 적용되어 있는지는 phpinfo() 함수를 활용하면 된다.

 

 

XpressEngine (제로보드XE)를 위한 mod_write 설정

 

/etc/lighttpd/conf/lighttpd.conf 파일 편집

 

  1. server_modules = (
  2. ...
  3. #          "mod_rewrite",  <-- 주석처리 되어 있다면 주석 처리 해제
  4. ...
  5. )

 

아래 내용 추가

: 참고로 이 내용은 / 경로에 XE 소스가 있다는 가정하에 작성된 내용입니다. 

   (출처 : http://unix.co.kr/bbs/board.php?bo_table=10_34&wr_id=10 )

 

  1. 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이다

적절히 수정하여 사용하도록 하자...

 

댓글목록

등록된 댓글이 없습니다.

1,139 (7/23P)

Search

Copyright © Cmd 명령어 18.224.58.182