SPECweb2005 설치과정

2011. 1. 26. 12:11

1. 테스트 환경 구축

1-1. BeSim Web Server
환경 구축

(1) 구성

linux

종류, 버전은 상관없음. (fedora 14)

설치>

생략.

java sdk

버전 상관없음. (java-1.6.0_20)

설치>

root@BeSim$ yum install *java*

web server

종류, 버전 상관없음. (fedora 기본 웹서버 : apache 2.2)

설치>

기본적으로 설치되어 있음. (/etc/httpd/, /usr/lib/httpd/)

mod_fastcgi.so

Fedora에선 제공하지 않음. 소스를 받아 설치. (mod_fastcgi-2.4.6)

설치>

밑에서 설명. (4-2) mod_fastcgi.so 설치)

(2) SPECweb2005 소프트웨어 설치.

root@BeSim$ java -jar setup.jar -i console
선택
: 전체 설치 또는 BeSim 설치

(3) BeSim Web ServerPort 번호를 바꿈.

root@BeSim$ vi /etc/httpd/conf/httpd.conf
Listen 80 -> Listen 81 

(4) BeSim Web Server 구동을 위한 FastCGI 설치.

(4-1) fastCGI Compiling

root@BeSim$ cd /web2005-1.20/Besim/fcgi-2.4.0

root@BeSim$ ./configure --libdir=/lib
->configure 과정에서 상당한 에러가 나옴. 해결이 안 되는 것들은 무시.

root@BeSim$ make
-> make 과정에서 fcgio.cpp에서 에러가 나옴.

root@BeSim$ vi /web2005-1.20/Besim/fcgi-2.4.0/libfcgi/fcgio.cpp
-> #include <cstdio> 추가.

root@BeSim$ make install

root@BeSim$ mkdir /var/www/fcgi-bin

root@BeSim$ cd /web2005-1.20/Besim

root@BeSim$ make fcgi TARGET='clean all install' DEST=/var/www/fcgi-bin/

(4-2) mod_fastcgi.so 설치

root@BeSim$ yum install httpd-devel
다음 사이트에서 (http://www.fastcgi.com/dist/) 소스를 다운로드 받아 압축을 풀고, 압축을 푼 디렉토리에서 다음 명령어를 입력.

root@BeSim$ apxs -n mod_fastcgi -i -a -c mod_fastcgi.c fcgi_buf.c fcgi_config.c fcgi_pm.c fcgi_protocol.c fcgi_util.c

root@BeSim$ ls -l /usr/lib/httpd/mod_fastcgi.so
-> /usr/lib/httpd/modules/ 디렉토리에 mod_fastcgi.so가 있는지 확인.

root@BeSim$ mkdir -p /etc/httpd/fastcgi

root@BeSim$ chmod 777 /etc/httpd/fastcgi

(4-3) httpd.conf 파일 수정

root@BeSim$ vi /etc/httpd/conf/httpd.conf
1)
Dynamic Shared Object Support -> LoadModule fastcgi_module modules/mod_fastcgi.so
추가.

2)
ScriptAlias /cgi-bin/ -> ScriptAlias /fcgi-bin/ "/var/www/fcgi-bin/"
FastCgiIpcDir /etc/httpd/fastcgi

3)
<Directory "<CGIDIR>/fcgi-bin">
AllowOverride None
Options +ExecCGI -Includes
SetHandler fastcgi-script
Order allow,deny
Allow from all
</Directory>

4)
AddHandler fastcgi-script fcgi

1-2. Web Server 환경 구축

(1) 구성

linux

종류, 버전은 상관없음. (fedora 13)

설치>

생략.

java sdk

버전 상관없음. (java-1.6.0_20)

설치>

root@Web$ yum install *java*

web server

종류, 버전 상관없음. (fedora 기본 웹서버 : apache 2.2)

설치>

기본적으로 설치되어 있음. (/etc/httpd/, /usr/lib/httpd/)

PHP

버전 상관없음.

설치>

root@Web$ yum install *php*

mod_ssl

버전 상관없음.

설치>

root@Web$ yum install *ssl*

(2) SPECweb2005 소프트웨어 설치.

root@Web$ java -jar setup.jar -i console
선택 : Web Server 설치

(3) 스크립트 콘텐츠 복사.

root@Web$ cp -ar /SPECweb2005/scripts/php/* /var/www/
-> bank, ecommerce, support, Smarty-2.6.7 디렉토리

root@Web$ chmod 777 /bank /ecommerce /support /Smarty-2.6.7
-> 디렉토리 퍼미션 설정

root@Web$ chown -R nobody.nobody /bank /ecommerce /support /Smarty-2.6.7
-> 디렉토리 권한 변경 (root->nobody)

(4) php.ini 파일 수정.

root@Web$ vi /etc/config

1)
display_errors=On

2)
display_setup_errors=On

3)
error_reporting=E_ALL

(5) Wafgen 설정.

root@Web$ vi /web2005-1.20/wafgen/unix/<script_name>.rc
->각 스크립트의 .rc파일에서 수정. (script_name=bank, ecommerce, support)

1)
SIMULTANEOUS_SESSIONS=1 ->
숫자 조정. (1=10MB)

2)
DOCROOT=/var/www 
 

root@Web$ cd /web2005-1.20/wafgen

root@Web$ ./Wafgen unix/<script_name>.rc
-> 수정된 각 스크립트 .rc를 적용.

(6) httpd.conf 파일 수정

root@Web$ vi /etc/httpd/conf/httpd.conf
DocumentRoot=/var/www

1-3. 클라이언트 환경 구축

(1) Windows에서 설치

(1-1) JVM 설치

http://www.java.sun.com/

(1-2) SPECweb2005 소프트웨어 설치.

root@client$ java -jar setup.jar -i console
선택 : client/prime client 설치.

(2) Linux에서 설치

(2-1) Java sdk 설치

root@client$ yum install *java*

(2-2) SPECweb2005 소프트웨어 설치.

root@client$ java -jar setup.jar -i console
선택 : client/prime client 설치.

(3) .config 파일 수정

root@client$ cd /web2005-1.20/Harness/
-> Client 디렉토리로 이동

root@client$ cp SPECweb_<script_name>.Unix-PHP.config SPECweb_<script_name>.config
-> 각 스크립트 설정파일을 다른 이름으로 저장.

root@client$ vi SPECweb_<script_name>.config
-
> 다른 이름으로 저장된 각 스크립트 설정파일의 내용 수정.

PADDING_DIR = "/var/www/<script_name>/dynamic_padding/"

root@client$ cp Test.Unix-PHP.config Test.config
-> Test 설정파일을 다른 이름으로 저장.

root@client$ vi Test.config
-> 다른 이름으로 저장된 Test 설정파일의 내용 수정.

1)
WEB_SERVER = Web Server
IP 주소 

2)
BESIM_SEVER = BeSim Web Server
IP 주소

3)
BESIM_INIT_SCRIPT = "/var/www/fcgi-bin/besim_fcgi.fcgi"

4)
SMARTY_DIR = "/var/www/Smarty-2.6.7/libs/"
SMARTY_BANK_DIR = "/var/www/bank/"
SMARTY_ECOMMERCE_DIR = "/var/www/ecommerce/"
SMARTY_SUPPORT_DIR = "/var/www/support/" 

2. 실행

2-1. BeSim Web Server 실행

root@BeSim$ /etc/init.d/iptables stop
-> 방화벽 해제.

root@BeSim$ /etc/init.d/httpd start
-> 웹 서버 실행.

2-2. Web Server 실행

root@Web$ /etc/init.d/iptables stop
-> 방화벽 해제.

root@Web$ /etc/init.d/httpd start
-> 웹 서버 실행.

2-3. Client 실행

root@client$ /etc/init.d/iptables stop
-> 방화벽 해제.

root@Client$ java -jar SPECwebclient.jar

2-4. Prime Client 실행

root@prime$ /etc/init.d/iptables stop
-> 방화벽 해제.

root@Prime$ java -jar SPECweb.jar

 

 

New Post