Opensuse 11.3, 12.1 각각에 대해 2회에 걸쳐서 정리
* howtoforge.com 내용 참조, 테스트 실행 & 보완
1. Lighttpd & php5 환경 설정
# zypper in -y lighttpd
# chkconfig --add lighttpd
# chkconfig lighttpd on
# service lighttpd start
# zypper in -y php5-fastcgi
* 아래 라인을 찾아서 un-comment
# vi /etc/php5/fastcgi/php.ini
cgi.fix_pathinfo=1
* 아래 라인을 찾아서 un-comment
# vi /etc/lighttpd/modules.conf
include "conf.d/fastcgi.conf"
server.modules = (
...
"mod_auth",
...
)
* 아래 라인을 추가
# vi /etc/lighttpd/lighttpd.conf
include "conf.d/auth.conf"
* 아래 라인들을 un-comment 하고 내용을 수정
# vi /etc/lighttpd/conf.d/auth.conf
auth.debug = 2
auth.backend = "plain"
auth.backend.plain.userfile = "/etc/lighttpd/lighttpd.user"
auth.require = ( "/" =>
(
"method" => "basic",
"realm" => "Password protected area",
"require" => "user=loginid"
),
)
* 아래 로그인 정보를 등록하고 저장
# vi /etc/lighttpd/lighttpd.user
loginid:loginpassword
* 아래 라인이 있는지 확인
# vi /etc/lighttpd/conf.d/fastcgi.conf
server.modules += ( "mod_fastcgi" )
* 아래 부분을 찾아서 un-comment
fastcgi.server = ( ".php" =>
( "php-local" =>
(
"socket" => socket_dir + "/php-fastcgi-1.socket",
"bin-path" => server_root + "/cgi-bin/php5",
"max-procs" => 1,
"broken-scriptfilename" => "enable",
)
),
( "php-tcp" =>
(
"host" => "127.0.0.1",
"port" => 9999,
"check-local" => "disable",
"broken-scriptfilename" => "enable",
)
),
( "php-num-procs" =>
(
"socket" => socket_dir + "/php-fastcgi-2.socket",
"bin-path" => server_root + "/cgi-bin/php5",
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "8",
"PHP_FCGI_MAX_REQUESTS" => "10000",
),
"max-procs" => 2,
"broken-scriptfilename" => "enable",
)
),
)
* 위의 옵션은 소규모 접속일 경우이고, 일반적인 다중 접속 사이트일 경우 아래와 같이 규모에 맞게 적당히 옵션을 조정한다.
"PHP_FCGI_CHILDREN" => "16"
"max-procs" => 5
# service lighttpd restart
* lighttpd의 default 문서 홈디렉토리는 /srv/www/htdocs 이다
# vi /srv/www/htdocs/info.php
<?php
phpinfo();
?>
* 브라우저로 접속 확인
2. MySQL과 utility 패키지 설치
* Web 을 통하지 않고 직접 DB접속을 위해 접속 클라이언트를 사용할 경우에는 아래와 같이 클라이언트를 설치한다.
# zypper in -y mysql-community-server-client
* MySQL 및 일반적으로 많이 사용하는 드라이버 설치
# yast2 -i php5-mysql php5-bcmath php5-bz2 php5-calendar php5-ctype php5-curl php5-dom php5-ftp php5-gd php5-gettext php5-gmp php5-iconv php5-imap php5-ldap php5-mbstring php5-mcrypt php5-odbc php5-openssl php5-pcntl php5-pgsql php5-posix php5-shmop php5-snmp php5-soap php5-sockets php5-sqlite php5-sysvsem php5-tokenizer php5-wddx php5-xmlrpc php5-xsl php5-zlib php5-exif php5-pear php5-sysvmsg php5-sysvshm
3. mongodb 드라이버 설치
* pecl.php.net 사이트를 이용하여 최신 버전의 php mongo 드라이버를 찾아서 다운로드 한다.
# zypper in -y php5-devel
# wget http://pecl.php.net/get/mongo-1.3.0beta2.tgz
# tar xvzf mongo-1.3.0beta2.tgz; cd mongo-1.3.0beta2
# phpize
# ./configure
# make
# make install
# ldconfig
# vi /etc/php5/fastcgi/php.ini -> 아래 라인을 추가
extension=mongo.so
# service lighttpd restart
* 1의 과정과 같이 브라우저를 통해 php 환경에 맞게 설치된 드라이버들을 최종 확인한다.
'Technical > Development' 카테고리의 다른 글
Python - pysnmp, pymongo, python-mysql 작업 환경(OpenSuse 11.3) (0) | 2012.11.19 |
---|---|
PHP5 + lighttpd fastcgi + mongodb + mysql(openeuse 12.1) 개발/운영 환경 설정 (0) | 2012.10.24 |
날짜 데이터를 찾는 Perl 정규식 (0) | 2012.04.14 |
Linux cvs repository 복구 (0) | 2011.01.14 |
Lightweigh DB - Linux에서 MongoDB c++ 어플리케이션 개발하기 (0) | 2010.02.23 |