웹서버 솔루션의 최강자 APACHE 웹서버설치하기
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 1,344 조회
- 0 추천
-
목록
본문
웹서버 솔루션의 최강자 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의 설치는 이번 장에서 설명하지만 아파치운용에 대한 실무적인 자세한 설명은 아파치 강좌편을 보기 바란다.
관련자료
-
이전
-
다음