강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

웹서버 솔루션의 최강자 APACHE 웹서버설치하기

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

웹서버 솔루션의 최강자 APACHE 웹서버설치하기

 

 

 

 

 

 APACHE에서는 기존에 사용하는 static한 방법보다는 DSO방식으로 설치한다.

 

 

 

 전통적이었던 static방식의 설치방식과 dynamic DSO방식의 설치방법에 대해서는 아파치 강좌편에서 설명하고있다.

 

 

 

 

 

우리는 앞에서 설치한 png이미지포맷을 웹에서 사용하기 위하여 libpng를 설치하였고 폰트파일을 사용하기 위하여 폰트엔진인 freetype을 설치하였으며 jpeg포맷의 이미지 지원을 위하여 jpeg라이브러리를 설치하였고, gif이미지포맷을 웹에서 사용할 수 있도록하기 위하여 gd를 각각 설치하였다.

 

 

 

 이제 아파치를 설치하겠다.

 

 

 

 

 

먼저, APACHE소스파일을 가져오기 위하여 다음과 같이  wget을 실행한 예이다.

 

 

 

 그리고 다운로드가 끝난 후에 가져온 파일을 ls로 확인하였다.

 

 

 

 

 

[root@sulinux local]#wget http://archive.apache.org/dist/httpd/httpd-2.2.11.tar.gz

--00:59:34--  http://archive.apache.org/dist/httpd/httpd-2.2.11.tar.gz

Resolving archive.apache.org... 140.211.11.130

Connecting to archive.apache.org|140.211.11.130|:80... connected.

HTTP request sent, awaiting response... 200 OK

Length: 6806786 (6.5M) [application/x-tar]

Saving to: `httpd-2.2.11.tar.gz'

 

100%[==============================================>] 6,806,786   1.04M/s   in 7.5s  

 

00:59:42 (885 KB/s) - `httpd-2.2.11.tar.gz' saved [6806786/6806786]

 

[root@sulinux local]#

[root@sulinux local]#ls -l httpd-2.2.11.tar.gz

-rw-r--r-- 1 root root 6806786 12 13  2008 httpd-2.2.11.tar.gz

[root@sulinux local]#

 

이제 다음과 같이 tar를 이용하여 가져온 APACHE압축소스파일을 압축해제하고 있다.

 

 

 

 

 

[root@sulinux local]#tar xvfz httpd-2.2.11.tar.gz

httpd-2.2.11/

httpd-2.2.11/ROADMAP

httpd-2.2.11/os/

httpd-2.2.11/os/unix/

httpd-2.2.11/os/unix/unixd.c

httpd-2.2.11/os/unix/config.m4

httpd-2.2.11/os/unix/Makefile.in

httpd-2.2.11/os/unix/os.h

httpd-2.2.11/os/unix/unixd.h

httpd-2.2.11/os/config.m4

이하생략

 

이제 컴파일하기 위하여 아파치 압축이 해제된 디렉토리로 이동한다.

 

 

 

 

 

[root@sulinux local]#cd httpd-2.2.11

[root@sulinux httpd-2.2.11]#

 

컴파일하기 전에 아파치 성능향상을 위한 몇가지 설정이 필요하다.

 

 

 

 물론 그냥 기본설정으로 설치하셔도 되지만 가능한 간단한 튜닝설정으로 아파치의 성능을 향상시킬 수 있기 때문에 다음과 같이 설정한 후에 설치작업을 계속하기 바란다.

 

 

 

 

다음은 아파치웹서버로 접속하는 접속자수를 최대로 받아들이기 위한 설정방법에 대한 설명이다.

 

 

 

 

 

아파치 설정파일(httpd.conf)에 보면 MaxClients라는 지시자가 있다.

 

 

 

 이 지시자는 동시에 생성가능한 아파치의 (자식)프로세스 개수를 의미하는 것으로 동시에 접속가능한 사용자수라고 할 수 있다.

 

 

 

 기본값으로만 설치하면 이 값은 256으로 설정된다.

 

 

 

 하지만 아래와 같이 prefork.c파일에서 “DEFAULT_SERVER_LIMIT”값과 “MAX_SERVER_LIMIT”값을 조절함으로써 사용하는 웹서버의 운영환경에 가장 적절한 값을 줄 수 있다.

 

 

 

 


다음은 아파치소스파일의 압축을 해제한 디렉토리내에 있는 server/mpm/prefork디렉토리의 prefork.c파일을 vi로 오픈한 예이다.

 

 

 

 

 

[root@sulinux httpd-2.2.11]#vi server/mpm/prefork/prefork.c

 

그리고 “DEFAULT_SERVER_LIMIT”값을 4096으로 설정하였다.

 

 

 

 

 

#ifndef DEFAULT_SERVER_LIMIT

#define DEFAULT_SERVER_LIMIT 4096

#endif

 

#ifndef MAX_SERVER_LIMIT

#define MAX_SERVER_LIMIT 200000

#endif

 




위의 예와같이 설정하고 APACHE를 설치한다면 설치이후에 httpd.conf파일의 MAXClients라는 항목의 기본값은 4096이 될 것이고, MAXClients항목에 최대로 설정할 수 있는 값은 200000이 될 것이다.

 

 

 

 물론 MAX_SERVER_LIMIT값은 200000이상 설정하면 안된다.

 

 

 

 이값이 최대치이기 때문이다.

 

 

 

 

 

그리고 “server/mpm/worker”디렉토리내에 있는 worker.c파일을 vi로 오픈하였다.

 

 

 

 

 

[root@sulinux httpd-2.2.11]#vi server/mpm/worker/worker.c

 

이 파일내에 있는 “DEFAULT_SERVER_LIMIT”값을 다음 예와같이 20으로 수정하였다.

 

 

 

 그리고 MAX_SERVER_LIMIT값과 DEFAULT_THREAD_LIMIT, 그리고 MAX_THREAD_LIMIT값을 각각 다음과 같이 설정하였다.

 

 

 

 

 

#ifndef DEFAULT_SERVER_LIMIT

#define DEFAULT_SERVER_LIMIT 20

#endif

 

#ifndef MAX_SERVER_LIMIT

#define MAX_SERVER_LIMIT 20000

#endif

 

#ifndef DEFAULT_THREAD_LIMIT

#define DEFAULT_THREAD_LIMIT 64

#endif

 

#ifndef MAX_THREAD_LIMIT

#define MAX_THREAD_LIMIT 20000

#endif

 




물론 이들 값은 여러분들의 운영환경에 따라 달라질 수 있다.

 

 

 

 

 

한가지 주의할 것은 가능하면 기본 설정값으로 사용하라는 것이다.

 

 

 

  아파치를 튜닝해서 설치해야할 필요성이 있을 경우에는 위와같이 튜닝값을 적용하여 설치하면 되겠지만 그냥 평범한 기업체 홈페이지를 운영하기 위한 경우라면 굳이 이와 같이 튜닝을 할 필요가 없다.

 

 

 

 

 

이상과 같이 설정을 하였다면 이제 아파치의 configure작업을 하도록 하겠다.

 

 

 

 

 

[root@sulinux httpd-2.2.11]#./configure --prefix=/usr/local/apache --enable-module=so --enable-module=rewrite --enable-module=headers --enable-ssl

checking for chosen layout... Apache

checking for working mkdir -p... yes

checking build system type... i686-pc-linux-gnu

checking host system type... i686-pc-linux-gnu

checking target system type... i686-pc-linux-gnu

 

Configuring Apache Portable Runtime library ...

 

checking for APR... reconfig

configuring package in srclib/apr now

checking build system type... i686-pc-linux-gnu

checking host system type... i686-pc-linux-gnu

checking target system type... i686-pc-linux-gnu

Configuring APR library

Platform: i686-pc-linux-gnu

checking for working mkdir -p... yes

APR Version: 1.3.3

checking for chosen layout... apr

checking for gcc... gcc

checking for C compiler default output file name... a.out

이하생략

 



위의 configure옵션은 다음과 같다.

 

 

 

 

--prefix=/usr/local/apache


설치될 APACHE의 홈디렉토리를 지정한 것이다.

 

 

 

 여기서 지정된 디렉토리내에 설치되는 모든 APACHE파일들이 저장된다.

 

 

 

 이 옵션은 지정하지 않아도 /usr/local/apache으로 생성된다.

 

 

 

 

--enable-so



DSO방식으로 설치하기 위한 옵션이다.

 

 

 

 

--enable-ssl           


SSL/TLS을 지원한다.

 

 

 

 (mod_ssl)

 

--with-mpm=worker


아파치프로세스가 사용할 멀티스레드방식을 지정한 것으로 worker방식을 지정한 것이다.

 

 

 

 여기서 지정한 worker대신 beos, prefork, mpm_os2, perchild, leader, threadpool등을 지원할 수 있다.

 

 

 

 prefork방식은 전통적인 아파치프로세스 방식이며 worker방식은 스레드방식을 의미하는 것으로 멀티프로세싱 모듈, 멀티스레드, 멀티프로세서 지원이 가능하다.

 

 

 

 

--disable-access       


호스트기반의 접근제어를 위한 옵션이다.

 

 

 


 

--disable-auth         


사용자기반의 접근제어를 위한 옵션이다.

 

 

 

 

--enable-auth-anon     


익명(anonymous)사용자 액세스를 위한 옵션이다.

 

 

 

 

--enable-auth-dbm      

암호인증방식으로 DBM 데이터베이스의 인증방식을 지원한다.

 

 

 

 

--enable-auth-digest   


암호인증방식으로 RFC2617에 따른 Digest인증방식을 지원한다.

 

 

 

 

 

--disable-status       



아파치 프로세스/스레드 모니터링을 지원하지 않도록하는 옵션이다.

 

 

 

 

 

--disable-autoindex    



디렉토리 리스팅을 지원한다.

 

 

 

 

 

--enable-speling       



보편적으로 알려진 URL가운데 틀린 URL스펠링을 고쳐주는 스펠링보정기능을 위한 옵션이다.

 

 

 

 

 

--with-port=PORT       


아파치 기본포트로 사용할 포트번호를 지정한다.

 

 

 

 당연히 기본값은 80이다.

 

 

 

 

 

--enable-disk-cache    


디스크캐싱기능을 위한 모듈을 넣을 수 있다.

 

 

 

 

 

--enable-mem-cache     


메모리 캐싱기능을 위한 모듈을 넣을 수 있다.

 

 

 

 

 

--enable-auth-ldap     



LDAP기반 인증을 지원하기 위한 옵션이다.

 

 

 

 

 

이외 굉장히 많은 configure옵션들이 있다.

 

 

 

 지면관계상 모두 설명하기가 어렵기 때문에 configure옵션들에 대한 모든 설명을 보려면 압축이 풀린 디렉토리내에서 “./configure --help”를 해보기 바란다.

 

 

 

 


, 이제 make를 실행하여 컴파일을 한다.

 

 

 

 

 

[root@sulinux httpd-2.2.11]#make

Making all in srclib

make[1]: Entering directory `/usr/local/httpd-2.2.11/srclib'

Making all in apr

make[2]: Entering directory `/usr/local/httpd-2.2.11/srclib/apr'

make[3]: Entering directory `/usr/local/httpd-2.2.11/srclib/apr'

/bin/sh /usr/local/httpd-2.2.11/srclib/apr/libtool --silent --mode=compile gcc -g -O2 -pthread   -DHAVE_CONFIG_H -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE   -I./include -I/usr/local/httpd-2.2.11/srclib/apr/include/arch/unix -I./include/arch/unix -I/usr/local/httpd-2.2.11/srclib/apr/include/arch/unix -I/usr/local/httpd-2.2.11/srclib/apr/include  -o passwd/apr_getpass.lo -c passwd/apr_getpass.c && touch passwd/apr_getpass.lo

/bin/sh /usr/local/httpd-2.2.11/srclib/apr/libtool --silent --mode=compile gcc -g -O2 -pthread   -DHAVE_CONFIG_H -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE   -I./include -I/usr/local/httpd-2.2.11/srclib/apr/include/arch/unix -I./include/arch/unix -I/usr/local/httpd-2.2.11/srclib/apr/include/arch/unix -I/usr/local/httpd-2.2.11/srclib/apr/include  -o strings/apr_fnmatch.lo -c strings/apr_fnmatch.c && touch strings/apr_fnmatch.lo

이하생략

 



컴파일이 끝나면 “make install”을 수행한다.

 

 

 

 make과정에서 생성되었던 실행파일들이 모두 /usr/local/apache로 생성되었다.

 

 

 

 

 

[root@sulinux httpd-2.2.11]#make install

Making install in srclib

make[1]: Entering directory `/usr/local/httpd-2.2.11/srclib'

Making install in apr

make[2]: Entering directory `/usr/local/httpd-2.2.11/srclib/apr'

make[3]: Entering directory `/usr/local/httpd-2.2.11/srclib/apr'

make[3]: `local-all'를 위해 할 일이 없습니다

make[3]: Leaving directory `/usr/local/httpd-2.2.11/srclib/apr'

/usr/local/httpd-2.2.11/srclib/apr/build/mkdir.sh /usr/local/apache/lib /usr/local/apache/bin /usr/local/apache/build \

                     /usr/local/apache/lib/pkgconfig /usr/local/apache/include

mkdir /usr/local/apache

mkdir /usr/local/apache/lib

mkdir /usr/local/apache/bin

mkdir /usr/local/apache/build

mkdir /usr/local/apache/lib/pkgconfig

mkdir /usr/local/apache/include

이하생략

 




다음과 같이 아파치의 설정파일 /usr/local/apache/conf/httpd.conf파일을 열어서 아파치 기본설정을 해야한다.

 

 

 

 참고로 httpd.conf파일의 자세한 설명은아파치 웹서버강좌편을 보기 바란다.

 

 

 

 아주 자세히 실무적으로 설명해 두었다.

 

 

 

 

 

그리고 이제 거의 마지막으로 해야할 일이 있다.

 

 

 

 아파치에서 rewrite기능을 사용하기 위한 mod_rewrite.so라는 REWRITE동적모듈(DSO) 올리는 작업이다.

 

 

 

 그냥 다음과 같이 apxs라는 유틸리티를 이용하여 실행하면 된다.

 

 

 

 

 

[root@sulinux apache]#/usr/local/apache/bin/apxs -cai /usr/local/httpd-2.2.11/modules/mappers/mod_rewrite.c

/usr/local/apache/build/libtool --silent --mode=compile gcc -prefer-pic   -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -g -O2 -pthread -I/usr/local/apache/include  -I/usr/local/apache/include   -I/usr/local/apache/include   -c -o /usr/local/httpd-2.2.11/modules/mappers/mod_rewrite.lo /usr/local/httpd-2.2.11/modules/mappers/mod_rewrite.c && touch /usr/local/httpd-2.2.11/modules/mappers/mod_rewrite.slo

/usr/local/apache/build/libtool --silent --mode=link gcc -o /usr/local/httpd-2.2.11/modules/mappers/mod_rewrite.la  -rpath /usr/local/apache/modules -module -avoid-version    /usr/local/httpd-2.2.11/modules/mappers/mod_rewrite.lo

/usr/local/apache/build/instdso.sh SH_LIBTOOL='/usr/local/apache/build/libtool' /usr/local/httpd-2.2.11/modules/mappers/mod_rewrite.la /usr/local/apache/modules

/usr/local/apache/build/libtool --mode=install cp /usr/local/httpd-2.2.11/modules/mappers/mod_rewrite.la /usr/local/apache/modules/

cp /usr/local/httpd-2.2.11/modules/mappers/.libs/mod_rewrite.so /usr/local/apache/modules/mod_rewrite.so

cp /usr/local/httpd-2.2.11/modules/mappers/.libs/mod_rewrite.lai /usr/local/apache/modules/mod_rewrite.la

cp /usr/local/httpd-2.2.11/modules/mappers/.libs/mod_rewrite.a /usr/local/apache/modules/mod_rewrite.a

chmod 644 /usr/local/apache/modules/mod_rewrite.a

ranlib /usr/local/apache/modules/mod_rewrite.a

PATH="$PATH:/sbin" ldconfig -n /usr/local/apache/modules

----------------------------------------------------------------------

Libraries have been installed in:

   /usr/local/apache/modules

 

If you ever happen to want to link against installed libraries

in a given directory, LIBDIR, you must either use libtool, and

specify the full pathname of the library, or use the `-LLIBDIR'

flag during linking and do at least one of the following:

   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable

     during execution

   - add LIBDIR to the `LD_RUN_PATH' environment variable

     during linking

   - use the `-Wl,--rpath -Wl,LIBDIR' linker flag

   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

 

See any operating system documentation about shared libraries for

more information, such as the ld(1) and ld.so(8) manual pages.

----------------------------------------------------------------------

chmod 755 /usr/local/apache/modules/mod_rewrite.so

[activating module `rewrite' in /usr/local/apache/conf/httpd.conf]

[root@sulinux apache]#

 

 

 

 

위의 실행결과 다음 두가지가 설정된다.

 

 

 

 첫번째는 httpd.conf파일에 다음과 같은 한 행이새로 추가되어 설정되었다는 것이다.

 

 

 

 REWRITE모듈을 동적으로 로딩하기 위한 아파치 설정행이 추가된 것이다.

 

 

 

 

 

[root@sulinux apache]#grep mod_rewrite.so /usr/local/apache/conf/httpd.conf

LoadModule rewrite_module     modules/mod_rewrite.so

[root@sulinux apache]#

 

 

 

 

그리고 두번째로 /usr/local/apache/modules라는 디렉토리내에 mod_rewrite.so라는 REWRITE모듈파일이 생성된 것이다.

 

 

 

 

 

[root@sulinux apache]#ls -l /usr/local/apache/modules/mod_rewrite.so

-rwxr-xr-x 1 root root 129493  4 15 01:24 /usr/local/apache/modules/mod_rewrite.so

[root@sulinux apache]#

 




이제 모든 설정작업이 끝났다.

 

 

 

 설치된 아파치를 간단히 확인해 보도록 하자.

 

다음예는 아파치의 메인디렉토리이다.

 

 

 

 

 

[root@sulinux apache]#ls -l /usr/local/apache

합계 60

drwxr-xr-x  2 root root  4096  4 15 01:21 bin

drwxr-xr-x  2 root root  4096  4 15 01:21 build

drwxr-xr-x  2 root root  4096  4 15 01:21 cgi-bin

drwxr-xr-x  4 root root  4096  4 15 01:24 conf

drwxr-xr-x  3 root root  4096  4 15 01:21 error

drwxr-xr-x  2 root root  4096 12  7  2008 htdocs

drwxr-xr-x  3 root root  4096  4 15 01:21 icons

drwxr-xr-x  2 root root  4096  4 15 01:21 include

drwxr-xr-x  3 root root  4096  4 15 01:21 lib

drwxr-xr-x  2 root root  4096  4 15 01:21 logs

drwxr-xr-x  4 root root  4096  4 15 01:21 man

drwxr-xr-x 14 root root 12288 12  7  2008 manual

drwxr-xr-x  2 root root  4096  4 15 01:24 modules

[root@sulinux apache]#

 

 

 

 

 

그리고 다음은 아파치의 실행파일들이 존재하는 위치이다.

 

 

 

 

 

 

[root@sulinux apache]#ls -l /usr/local/apache/bin/

합계 2696

-rwxr-xr-x 1 root root  105053  4 15 01:21 ab

-rwxr-xr-x 1 root root    3425  4 15 01:15 apachectl

-rwxr-xr-x 1 root root    7000  4 15 01:21 apr-1-config

-rwxr-xr-x 1 root root    6202  4 15 01:21 apu-1-config

-rwxr-xr-x 1 root root   22596  4 15 01:15 apxs

-rwxr-xr-x 1 root root    9558  4 15 01:21 checkgid

-rwxr-xr-x 1 root root    8876  4 15 01:15 dbmmanage

-rw-r--r-- 1 root root     977  4 15 01:15 envvars

-rw-r--r-- 1 root root     977  4 15 01:15 envvars-std

-rwxr-xr-x 1 root root   34821  4 15 01:21 htcacheclean

-rwxr-xr-x 1 root root   25030  4 15 01:21 htdbm

-rwxr-xr-x 1 root root   17010  4 15 01:21 htdigest

-rwxr-xr-x 1 root root   23162  4 15 01:21 htpasswd

-rwxr-xr-x 1 root root 2400339  4 15 01:21 httpd

-rwxr-xr-x 1 root root   16091  4 15 01:21 httxt2dbm

-rwxr-xr-x 1 root root   15717  4 15 01:21 logresolve

-rwxr-xr-x 1 root root   20325  4 15 01:21 rotatelogs

[root@sulinux apache]#

 

 

 

 

 

그리고 다음은 아파치의 메인설정파일인 httpd.conf파일과 그에 부속된 개별 설정파일들이 위치한 extra라는 디렉토리의 설정파일들을 확인한 것이다.

 

 

 

 

 

[root@sulinux apache]#ls -l /usr/local/apache/conf/

합계 88

drwxr-xr-x 2 root root  4096  4 15 01:23 extra

-rw-r--r-- 1 root root 13391  4 15 01:24 httpd.conf

-rw-r--r-- 1 root root 13338  4 15 01:24 httpd.conf.bak

-rw-r--r-- 1 root root 12958  4 15 01:21 magic

-rw-r--r-- 1 root root 31172  4 15 01:21 mime.types

drwxr-xr-x 3 root root  4096  4 15 01:21 original

[root@sulinux apache]#

[root@sulinux apache]#ls -l /usr/local/apache/conf/extra/

합계 56

-rw-r--r-- 1 root root  2843  4 15 01:21 httpd-autoindex.conf

-rw-r--r-- 1 root root  1713  4 15 01:21 httpd-dav.conf

-rw-r--r-- 1 root root  2344  4 15 01:21 httpd-default.conf

-rw-r--r-- 1 root root  1103  4 15 01:21 httpd-info.conf

-rw-r--r-- 1 root root  5078  4 15 01:21 httpd-languages.conf

-rw-r--r-- 1 root root   916  4 15 01:21 httpd-manual.conf

-rw-r--r-- 1 root root  3789  4 15 01:21 httpd-mpm.conf

-rw-r--r-- 1 root root  2183  4 15 01:21 httpd-multilang-errordoc.conf

-rw-r--r-- 1 root root 10266  4 15 01:21 httpd-ssl.conf

-rw-r--r-- 1 root root   817  4 15 01:21 httpd-userdir.conf

-rw-r--r-- 1 root root  1491  4 15 01:21 httpd-vhosts.conf

[root@sulinux apache]#

 

 

 

 

거듭 말하지만 이번 장에서는 설치 및 연동에 대한 것을 배우는 것이 목적이다.

 

 

 

 아파치웹서버의 자세한 운영방법들에 대한 설명은 아파치 강좌편에서 자세히 다루고 있다.

 

 

 

 참고하기 바란다.

 

 

 

 

 

모든 작업이 끝났으므로 아파치를 실행해 보도록하자.

 

[root@sulinux apache]#/usr/local/apache/bin/apachectl start

[root@sulinux apache]#

[root@sulinux apache]#

[root@sulinux apache]#ps -ef | grep httpd

root      3196     1  2 01:32 ?        00:00:00 /usr/local/apache/bin/httpd -k start

daemon    3197  3196  0 01:32 ?        00:00:00 /usr/local/apache/bin/httpd -k start

daemon    3198  3196  0 01:32 ?        00:00:00 /usr/local/apache/bin/httpd -k start

daemon    3199  3196  0 01:32 ?        00:00:00 /usr/local/apache/bin/httpd -k start

daemon    3200  3196  0 01:32 ?        00:00:00 /usr/local/apache/bin/httpd -k start

daemon    3201  3196  0 01:32 ?        00:00:00 /usr/local/apache/bin/httpd -k start

root      3203  2482  0 01:32 pts/0    00:00:00 grep --colour=auto httpd

[root@sulinux apache]#

 

 

 

 

 

방금 설치한 아파치웹서버가 정상적으로 실행되었음을 알 수 있다.

 

 

 

 

 

참고로 아파치 설치후에 다음 사항을 확인해보는 것도 좋은 방법이다.

 

 

 

 다음은 아파치 설정파일인 httpd.conf파일 또는 extra디렉토리내에 존재하는 개별 설정파일들에서 설정하는 내용에 대한 간략한 설명이다.

 

 

 

 

 

.php확장자로 되어있거나 .phtml확장자로 되어있는 파일을 아파치가 PHP로 파싱하기 위한 설정이다.

 

 

 

 추가로 입력해 주면 된다.

 

 

 

  아래 설정은 httpd.conf파일내에서 설정할 수 있다.

 

 

 

 

 

AddType application/x-httpd-php .php .phtml

AddType application/x-httpd-php-source .phps



 

 

사용자 홈디렉토리이름을 public_html에서 www로 수정한다.

 

 

 

 기본설정대로 public_html을 사용해도 되지만 보편적으로 www를 많이 사용한다.

 

 

 

 아래와 같이 설정하면 예를들어 bible사용자의 홈페이지디렉토리는 /home/bible/public_html이 아닌 /home/bible/www가 된다.

 

 

 

 아래 설정은 httpd-userdir.conf 설정파일에서 설정할 수 있다.

 

 

 

 

 

UserDir www



 

 

디렉토리 초기인덱싱파일의 우선순위를 순차대로 설정한다.

 

 

 

 꼭 아래와 같은 방법으로 하지 않아도 상관없지만 일반적으로 검색되는 초기파일의 순서를 아래와 같이 지정한 것이다.

 

 

 

 즉 디렉토리까지만 로딩하였을 경우에 그 디렉토리내는 index.html파일을 먼저 찾아서 로딩하고 없다면 index.htm파일을 찾아서 로딩하고 없다면 index.php파일, 그리고 index.php3파일, index.cgi파일의 순서대로 찾아서 로딩하게 된다.

 

 

 

 아래 설정은 httpd.conf파일에서 설정할 수 있다.

 

 

 

 

 

DirectoryIndex index.html index.htm index.php index.php3 index.cgi

 




다음은 아파치 웹로그파일(access_log)파일에 이미지에 관한 로그내역을 기록하지 않기 위한 설정이다.

 

 

 

 즉 방문자수가 많은 사이트에서는 웹로그파일의 용량이 굉장히 빨리 늘어나게 된다.

 

 

 

 그리고 이미지파일의 로그기록은 그다지 중요하지 않기 때문에 이미지파일의 로딩기록을 웹로그파일에 기록하지 않으려면 다음과 같이 하면 된다.

 

 

 

 

 

SetEnvIfNoCase Request_URI (gif|png|jpg|css|js|bmp|jpeg|swf)$ IMAGE=1

CustomLog logs/access_log common env=!IMAGE

 




거듭 말하지만 APACHE의 설치는 이번 장에서 설명하지만 아파치운용에 대한 실무적인 자세한 설명은 아파치 강좌편을 보기 바란다.

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,035 명
  • 현재 강좌수 :  35,798 개
  • 현재 접속자 :  119 명