regina Mon Feb 12 18:39:33 2001 EDT Modified files: /phpdoc/kr/chapters install.xml Log: PR: v1.41 in English version Submitted by: Reviewed by: Obtained from:
Index: phpdoc/kr/chapters/install.xml diff -u phpdoc/kr/chapters/install.xml:1.2 phpdoc/kr/chapters/install.xml:1.3 --- phpdoc/kr/chapters/install.xml:1.2 Tue Jan 9 21:13:17 2001 +++ phpdoc/kr/chapters/install.xml Mon Feb 12 18:39:33 2001 @@ -2,29 +2,40 @@ <title>설치(Installation)</title> <sect1 id="install.downloading"> <title>최신 버전 내려받기</title> - <simpara>최신버전의 소스와 (윈도우즈를 포함한)여러 플랫폼의 배포판은 - <literal> - <ulink url="&url.php;">&url.php;</ulink> - </literal>에서 내려 받을 수 있다. + <simpara> + 최신버전의 소스와 (윈도우즈를 포함한) 여러 +플랫폼의 배포판은 + <literal><ulink url="&url.php;">&url.php;</ulink></literal>에서 내려 +받을 수 있다. + 가능하다면 여러분과 가장 가까이 있는 <ulink +url="&url.mirrors;">미러 사이트</ulink>에서 내려 받기를 권한다. </simpara> </sect1> <sect1 id="install.unix"> <title>Unix에 설치</title> <para> - 이 장은 PHP를 설치하고 설정하는 방법에 대해 설명하고 있다. + 이 장은 PHP를 유닉스 시스템에서의 일반인 설치 방법과 설정 +방법에 대해 설명하고 있다. + 시작전에 여러분이 사용하고 있는 시스템 내역과 웹서버의 +스펙에 에 대해 자세히 알고 있어야 할 것이다. </para> <para> 필요한 지식과 소프트웨어: <itemizedlist> <listitem> + <simpara> + 기본적인 UNIX 사용법 (컴파일 하고 설치할 경우 "make"와 C +컴파일러를 사용할 수 있어야 한다.) + </simpara> + </listitem> + <listitem> + <simpara> + ANSI C 컴파일러 (컴파일을 할 경우) + </simpara> + </listitem> + <listitem> <simpara> - 기본적인 UNIX 사용법 ("make"와 C 컴파일러를 사용할 수 있어야 한다.) + flex (컴파일을 할 경우) </simpara> </listitem> <listitem> <simpara> - ANSI C 컴파일러 + bison (컴파일을 할 경우) </simpara> </listitem> <listitem> @@ -32,52 +43,65 @@ web 서버 </simpara> </listitem> + <listitem> + <simpara> + 여러분이 사용하고 싶은 모듈 컴포넌트 (gd, pdf 라이브러리 +등) + </simpara> + </listitem> </itemizedlist> </para> + <para> + Unix 환경에서 PHP를 설치하는 데는 여러가지 방법이 있는데, + 크게 PHP를 처음부터 컴파일하고 설정하는 방법과 + 미리 컴파일된 여러 패키지 중에 하나를 사용하는 방법이 있을 +수 있다. + 이 문서는 PHP를 처음부터 컴파일하고 설정하는 방법에 대해 +주로 설명 하도록 하겠다. + </para> <para> - Unix 환경에서 PHP를 컴파일하고 설정하는 데는 여러가지 방법이 있다. - 모든 설정은 <filename>configure</filename> 스크립트의 commandline 옵션을 사용하여 설정한다. - 이 글에서는 몇몇 핵심적인 옵션에 대해서만 대강 설명하지만, 실제로 다른 많은 옵션이 있다. - PHP를 보다 안정적이고 효율적으로 동작를 시키려면 <link linkend="install.configure">전체 설정 옵션</link>을 살펴 보는 것이 좋다. + 초기 PHP의 설치와 설정은 <filename>configure</filename> + 스크립트의 커맨드라인 옵션을 사용하여 설정한다. + 이 글에서는 몇몇 핵심적인 옵션에 대해서만 대강 설명하지만, +실제로 다른 많은 옵션이 있다. + PHP를 보다 안정적이고 효율적으로 동작를 시키려면 + <link linkend="install.configure">전체 설정 옵션</link>을 살펴 보는 +것이 좋다. + PHP는 다음과 같은 형태중 하나로 설치될 수 있다. : <itemizedlist> <listitem> <simpara> - As an <link linkend="install.unix.apache-module">Apache module</link> + <link linkend="install.apache-module">Apache module</link>로 </simpara> </listitem> <listitem> <simpara> - As an <link linkend="install.unix.fhttpd">fhttpd module</link> + <link linkend="install.fhttpd">fhttpd module</link>로 </simpara> </listitem> <listitem> <simpara> - For use with <link linkend="install.unix.otherhttpd">AOLServer, NSAPI, - phttpd, Pi3Web, Roxen, thttpd, or Zeus.</link> + <link linkend="install.otherhttpd">AOLServer, NSAPI, + phttpd, Pi3Web, Roxen, thttpd, Zeus</link>와 함께 </simpara> </listitem> <listitem> <simpara> - As a <link linkend="install.unix.commandline">CGI executable</link> + <link linkend="install.commandline">CGI 실행파일</link>로 </simpara> </listitem> </itemizedlist> </para> <sect2 id="install.unix.apache-module"> - <title>Apache Module</title> + <title>Apache 모듈 개략적인 설명</title> <para> - PHP는 여러 다른 방법을 사용하여 Apache 모듈로 컴파일 될 수 있다. 우선 간단한 방법을 선보인다. - Following this is a list of various examples with explanations, to provide an - overview of how to accomplish certain things. + PHP는 여러 다른 방법을 사용하여 컴파일될 수 있으나, + 가장 많이 사용되는 방법은 Apache 모듈로 컴파일 되는 것이다. + 우선 간단한 방법을 선보인다. </para> <para> - You can select arguments to add to the - <command>configure</command> on line 8 below from the <link linkend="install.configure">Complete list of configure - options</link>. + 아래 8번째 라인의 <command>configure</command> 명령에는 + <link linkend="install.configure">Complete list of configure +options</link>에서 설명하는 + 여러 다른 옵션을 줄 수 있다. </para> <example id="install.unix.apache-module.quick"> <title> - Quick Installation Instructions (Apache Module Version) + Quick Installation Instructions for PHP 4 (Apache Module Version) </title> <programlisting> 1. gunzip apache_1.3.x.tar.gz @@ -91,187 +115,324 @@ 9. make 10. make install 11. cd ../apache_1.3.x -12. for PHP 3: ./configure --activate-module=src/modules/php3/libphp3.a - for PHP 4: ./configure --activate-module=src/modules/php4/libphp4.a +12. ./configure --activate-module=src/modules/php4/libphp4.a 13. make 14. make install - - 이 단계 대신 httpd 이진 파일을 기존의 파일에 덮어 쓸 수도 있다. - 이 작업을 하려면 우선 httpd 서버를 끄는 것을 잊지 말도록 하자. - 15. cd ../php-x.x.x -16. for PHP 3: cp php3.ini-dist /usr/local/lib/php3.ini - for PHP 4: cp php.ini-dist /usr/local/lib/php.ini - - 이제 PHP의 설정을 고치기 위해 .ini 파일을 수정하면 된다. - 만약 이 파일의 위치를 옮기고 싶다면 위의 8단계에서 --with-config-file=/path 옵션을 준다. - -17. Edit your httpd.conf or srm.conf file and add: - - PHP 3의 경우: AddType application/x-httpd-php3 .php3 - PHP 4의 경우: AddType application/x-httpd-php .php - - 여기서 .php외에 다른 확장자를 사용할 수 있으나, 그냥 .php를 사용할 것을 권한다. - .html도 설정할 수 있다. - +16. cp php.ini-dist /usr/local/lib/php.ini +17. httpd.conf 나 srm.conf 파은을 수정하고 다음의 내용을 첨가한다 : + AddType application/x-httpd-php .php 18. 일반적인 방식대로 Apache 서버를 시작한다. - (반드시 stop과 start하여 재시동하여야한다. HUP이나 USR1같은 signal을 주는 등의 reload만 해서는 소용이 없다.) + (반드시 stop과 start하여 재시동하여야한다. + HUP이나 USR1같은 signal을 주는 등의 reload만 해서는 소용이 +없다.) </programlisting> </example> - <para> - <informalexample> - <programlisting> -./configure --with-apxs --with-pgsql - </programlisting> - </informalexample> - </para> - <para> - This will create a <filename>libphp4.so</filename> shared - library that is loaded into Apache using a LoadModule line in - Apache's <filename>httpd.conf</filename> file. The PostgreSQL - support is embedded into this <filename>libphp4.so</filename> - library. - </para> - <para> - <informalexample> - <programlisting> -./configure --with-apxs --with-pgsql=shared - </programlisting> - </informalexample> - </para> - <para> - This will again create a <filename>libphp4.so</filename> shared - library for Apache, but it will also create a - <filename>pgsql.so</filename> shared library that is loaded into - PHP either by using the extension directive in - <filename>php.ini</filename> file or by loading it explicitly in - a script using the <function>dl</function> function. - </para> - <para> - <informalexample> - <programlisting> -./configure --with-apache=/path/to/apache_source --with-pgsql - </programlisting> - </informalexample> - </para> - <para> - This will create a <filename>libmodphp4.a</filename> library, a - <filename>mod_php4.c</filename> and some accompanying files and - copy this into the <literal>src/modules/php4</literal> directory - in the Apache source tree. Then you compile Apache using - <literal>--activate-module=src/modules/php4/libphp4.a</literal> - and the Apache build system will create - <filename>libphp4.a</filename> and link it statically into the - <filename>httpd</filename> binary. The PostgreSQL support is - included directly into this <filename>httpd</filename> binary, - so the final result here is a single <filename>httpd</filename> - binary that includes all of Apache and all of PHP. - </para> - <para> - <informalexample> - <programlisting> -./configure --with-apache=/path/to/apache_source --with-pgsql=shared - </programlisting> - </informalexample> - </para> - <para> - Same as before, except instead of including PostgreSQL support - directly into the final <filename>httpd</filename> you will get - a <filename>pgsql.so</filename> shared library that you can load - into PHP from either the <filename>php.ini</filename> file or - directly using <function>dl</function>. - </para> - <para> - When choosing to build PHP in different ways, you should consider - the advantages and drawbacks of each method. Building as a shared - object will mean that you can compile apache separately, and don't - have to recompile everything as you add to, or change, PHP. - Building PHP into apache (static method) means that PHP will - load and run faster. For more information, see the Apache - <ulink url="&url.apachedso;">webpage on DSO support</ulink>. - </para> - </sect2> - <sect2 id="install.unix.fhttpd"> - <title>fhttpd Module</title> - <para> -PHP를 fhttpd 모듈로 만들려면, "Build as an fhttpd module?"의 질문에 "yes"로 답하고, fhttpd 소스의 base 디렉토리를 명시해 주면 된다. -(configure에서는 <option> - <link linkend="install.configure.with-fhttpd">--with-fhttpd</link>=<replaceable>DIR</replaceable> - </option> 옵션을 주면 된다.) -기본 디렉토리는<filename class="directory">/usr/local/src/fhttpd</filename>이다. -여러분이 fhttpd를 운영중에 있다면, 모듈 형태로 만들어 실행하는 것이 더 좋은 성능을 제공하며, 또한 제어와 원격 실행 능력도 향상된다 - </para> - </sect2> - <sect2 id="install.unix.otherhttpd"> - <title>여타의 다른 웹서버</title> - <para> - PHP는 다양한 웹 서버들에서 사용될 수 있다. - 웹서버와 관련된 자세한 설정 내용은 <link linkend="install.configure.servers">Server-related options</link>을 보도록 하자. - </para> - </sect2> - <sect2 id="install.unix.commandline"> - <title>CGI/Commandline 버전</title> - <para> -PHP는 디폴트로 CGI 프로그램으로 만들어 진다. -이것은 CGI 형태로 사용하거나, 웹과 관련이 없는 PHP 스크립팅에 사용할 수 있는 commandline 인터프리터가 된다. -만약 PHP가 모듈로 탑재될 수 있는 웹 서버를 운영중이라면, 일반적으로 모듈이 더 좋은 성능을 낸다.. 하지만, CGI 버전은 아파치 사용자들에게 다른 user-id를 사용하여 별도의 PHP-enabled 페이지를 실행할 수 있도록 해 준다. -만약 PHP를 CGI로 실행하고 싶다면 <link linkend="security">Security chapter</link>를 반드시 읽어보기 바란다. - </para> - </sect2> - <sect2 id="database-support-options"> - <title>Database 지원 옵션</title> - <para> -PHP는 다양한 database들에 대한 직접적인 접근 방법을 지원한다. (ODBC도 제공한다.) -이 다양한 database들을 지원하기 위해서는 컴파일시 <filename>configure</filename> 스크립트를 사용하여 옵션을 주어야 한다. -자세한 내용은 <link linkend="install.configure.databases">전체 database 관련 옵션 목록</link>을 살펴보자. - </para> - <para> - <filename>configure</filename>에서 사용하는 모든 옵션 목록을 보려면 -<link linkend="install.configure">전체 설정 옵션 목록(Complete list of configure options)</link>을 살펴보자. - </para> </sect2> <sect2 id="install.building"> <title>Building</title> <simpara> -PHP의 설정이 완료되면 PHP 라이브러리나 CGI 실행 파일을 생성할 준비가 끝난 것이다. <command>make</command> 명령으로 결과물을 만들 수 있다. 만약 실패하였는데, 그 이유를 모를 경우에는 <link linkend="install-problems">Problems section</link>을 살펴보기 바란다. + PHP의 설정이 완료되면 CGI 실행 파일을 생성할 준비가 끝난 +것이다. + <command>make</command> 명령으로 결과물을 만들 수 있다. + 만약 실패하였는데, 그 이유를 모를 경우에는 + <link linkend="install-problems">Problems section</link>을 살펴보기 +바란다. </simpara> </sect2> - <sect2 id="install.testing"> - <title>Testing</title> + </sect1> + <sect1 id="install.linux"> + <title>Linux에서 설치</title> + <para> + 이 장은 PHP를 리눅스 배포판에 설치하는데 있어서의 + 여러가지 주의점과 힌트를 포함하고 있다. + </para> + <sect2 id="install.linux.packages"> + <title>패키지 사용</title> <simpara> -PHP를 CGI 프로그램 형태로 만들었다면, <command>make test</command>라고 입력하여 테스트해 볼 수 있다. -이 방법은 결과물을 테스트하는 좋은 방법이다. -또한 이 방법은 여러분의 시스템 환경에서 미리 PHP의 문제를 발견할 수 있게 해 준다. + 여러 리눅스 배포판은 RPM같은 패키지 설치 프로그램을 +제공한다. + 이것은 표준적인 설정을 하는데는 도움을 주지만, + 보안 서버나 별도의 데이타베이스 드라이버등의 좀 특별한 +기능을 필요로 한다면, + php 혹은 웹서버까지도 새로 컴파일하여 만들 필요가 있다. + 만일 컴파일작업에 익숙치 않다면, 기존에 만들어진 +패키지중에 + 여러분이 원하는 기능을 포함하고 있는 패키지가 있는가 +찾아보는 것이 좋을 것이다. </simpara> </sect2> - <sect2 id="install.benchmarking"> - <title>Benchmarking</title> + </sect1> + <sect1 id="install.hpux"> + <title>HP-UX에서 설치</title> + <para> + 이 장은 PHP를 HP-UX 에 설치하는데 있어서의 + 여러가지 주의점과 힌트를 포함하고 있다. + </para> + <example id="install.hpux.example"> + <title> + HP-UX 10에서의 설치 과정 + </title> + <programlisting> +From: [EMAIL PROTECTED] +04-Jan-2001 09:49 +(PHP 4.0.4 와 Apache v1.3.9를 사용한다.) + +PHP와 Apache를 HP-UX 10.20 시스템에 설치하고 싶으세요? + +1. 우선 gzip이 필요하다. + http://hpux.connect.org.uk/ftp/hpux/Gnu/gzip-1.2.4a/gzip-1.2.4a-sd-10.20.depot.Z + 에서 바이너리 배포판을 다운받아 압축을 풀고, swinstall 을 +사용하여 설치한다. + +2. gcc도 필요하다. + http://gatekeep.cs.utah.edu/ftp/hpux/Gnu/gcc-2.95.2/gcc-2.95.2-sd-10.20.depot.gz + 에서 바이너리 배포판을 다운받아 gunzip으로 압축을 풀고, +swinstall 을 사용하여 gcc를 설치한다. + +3. GNU binutils도 필요하다. + +http://hpux.connect.org.uk/ftp/hpux/Gnu/binutils-2.9.1/binutils-2.9.1-sd-10.20.depot.gz + + 에서 바이너리 배포판을 다운받아 gunzip으로 압축을 풀고, +swinstall 을 사용하여 설치한다. + +4. bison도 필요하다. + http://hpux.connect.org.uk/ftp/hpux/Gnu/bison-1.28/bison-1.28-sd-10.20.depot.gz + 에서 바이너리 배포판을 다운받아 gunzip으로 압축을 풀고, +swinstall 을 사용하여 설치한다. + +4. 이제 flex가 필요하다. + http://www.gnu.org 의 미러 사이트중 한군데에서 소스를 +다운받는다. + 이 파일은 ftp 사이트에서 <filename>non-gnu</filename> 디렉토리에 +위치한다. + 이 파일을 받아 gunzip하고 tar -xvf로 풀어놓는다. + 새로 생긴 flex 디렉토리로 이동하여 ./configure를 실행한 후, make +하고 + 문제 없으면 make install 하여 설치한다. + 여기서 에러를 만난다면 아마 gcc 등이 PATH에 제대로 +설정되어있지 않아서일 것이다. + PATH 환경변수에 이들의 내용을 추가하고 다시 시도해 보자. + +이제 어려운 내용으로 들어간다. + +6. PHP 와 아파치 소스를 다운 받는다. + +7. gunzip 과 tar -xvf 하여 풀어 놓는다. + +여기서 컴파일에 성공하기 위해서는 몇개의 파일을 약간 수정해 +주어야 한다. + +8. 우선 configure 파일을 수정하여 이 시스템이 hpux 시스템이라는 +것을 명시한다. + 다른 좋은 방법도 있지만 이 방법이 가장 쉽다. + configure 스크립트의 47286 라인을 다음과 같이 수정한다. + lt_target=hpux10.20 + +9. 다음으로 아파치의 GuessOS 파일은 반드시 수정해야 한다. + apache_1.3.9/src/helpers 에 있는데, 89 라인에 + "echo "hp${HPUXMACH}-hpux${HPUXVER}"; exit 0" + 같이 되어 있는 내용을 + "echo "hp${HPUXMACH}-hp-hpux${HPUXVER}"; exit 0" + 과 같이 수정해 주어야 한다. + +10. HP-UX에서는 PHP를 아파치의 공유 모듈로 설치가 불가능하므로 +반드시 + 정적(static)으로 컴파일 하여야 한다. + 이 내용은 아파치 페이지의 설명을 따르기 바란다. + +11. PHP와 아파치의 컴파일이 성공하였어도 아직 아파치는 +실행되지 않을 것이다. + 아파치를 위한 새로운 사용자(www같은)를 만들어 주어야 하기 +때문이다. + 아파치 디렉토리 밑에 있는 conf/httpd.conf 파일의 252와 253라인을 + User nobody + Group nogroup + 에서 다음과 같이 새로 만든 ID로 설정해 준다. + User www + Group sys + +아마 이제 PHP가 정상적으로 작동 할 것이다. + +이 내용이 누군가에게 도움이 되었으면 좋겠다. +Paul Mckay. + </programlisting> + </example> + </sect1> + <sect1 id="install.solaris"> + <title>솔라리스에서 설치</title> + <para> + 이 장은 PHP를 솔라리스 시스템에 설치하는데 있어서의 + 여러가지 주의점과 힌트를 포함하고 있다. + </para> + <sect2 id="install.solaris.required"> + <title>필요한 소프트웨어</title> + <para> + 솔라리스는 C 컴파일러와 그와 관련된 도구들이 없이 설치된 +경우가 많다. + 다음과 같은 소프트웨어가 필요하다. : + <itemizedlist> + <listitem> + <simpara> + gcc (가급적 gcc를 추천하지만 다른 C 컴파일러도 동작하기는 +한다.) + </simpara> + </listitem> + <listitem> + <simpara> + make + </simpara> + </listitem> + <listitem> + <simpara> + flex + </simpara> + </listitem> + <listitem> + <simpara> + bison + </simpara> + </listitem> + <listitem> + <simpara> + m4 + </simpara> + </listitem> + <listitem> + <simpara> + autoconf + </simpara> + </listitem> + <listitem> + <simpara> + automake + </simpara> + </listitem> + <listitem> + <simpara> + perl + </simpara> + </listitem> + <listitem> + <simpara> + gzip + </simpara> + </listitem> + <listitem> + <simpara> + tar + </simpara> + </listitem> + </itemizedlist> + 추가로 여러분의 설정에 사용한다고 표시한 추가적인 +소프트웨어가 + 컴파일을 지원하는 형태로 설치되어 있어야 한다. (Oracle, MySQL +등) + </para> + </sect2> + <sect2 id="install.solaris.packages"> + <title>패키지 사용</title> <simpara> -PHP3를 CGI 프로그램 형태로 만들었다면, <command>make bench</command>라고 입력하여 벤치마크 테스트를 할 수 있다. -안전 모드(safe mode)의 기본값이 on 되어 있을 때는, 작업이 허용된 30초 보다 많이 걸리게 되면 벤치마크를 끝낼 수 없다. -이것은 안전 모드에서는 <function>set_time_limit</function> 함수를 사용할 수 없기 때문이다. -컴파일시의 설정 옵션인 <link linkend="ini.max-execution-time">max_execution_time</link>을 사용하여 시간 간격을 조절할 수는 있다. -<command>make bench</command> 명령은 <link linkend="configuration.file">configuration file</link>을 무시한다. - </simpara> - <note> - <simpara> - <command>make bench</command>는 PHP 3에서만 유효하다. - </simpara> - </note> + 원하는 컴포넌트를 포함한 패키지를 pkgadd 로 설치하여 간단히 +설치할 수도 있다. + </simpara> + </sect2> + </sect1> + <sect1 id="install.macosx"> + <title>Mac OS X 에서 설치</title> + <para> + + 이 장은 PHP를 Mac OS X에 설치하는데 있어서의 + 여러가지 주의점과 힌트를 포함하고 있다. + </para> + <sect2 id="install.macosx.packages"> + <title>패키지 사용</title> + <simpara> + Mac OS X에는 PHP를 미리 컴파일하여 만들어 놓은 패키지가 매우 +적다. + 이것은 표준적인 설정을 사용한 경우에는 도움이 되지만, + 보안 서버나 별도의 데이타베이스 드라이버등의 좀 특별한 +기능을 필요로 한다면, + php 혹은 웹서버까지도 새로 컴파일하여 만들 필요가 있다. + 만일 컴파일작업에 익숙치 않다면, 기존에 만들어진 +패키지중에 + 여러분이 원하는 기능을 포함하고 있는 패키지가 있는가 +찾아보는 것이 좋을 것이다. + + <ulink url="&url.lightyear;">Lightyear Design</ulink>는 + PHP를 OS X용으로 미리 컴파일한 패키지를 + <ulink url="&url.tenon;">Tenon Intersystems</ulink>에서 제공하고 있다. + </simpara> + </sect2> + <sect2 id="install.macosx.compile"> + <title>OS X 서버에서의 컴파일</title> + <simpara> + Mac OS X에는 서버와 클라이언트의 약간 다른 두가지 버젼이 +있는데, + 여기에서는 서버 버젼을 대상으로 설명한다. + </simpara> + <example id="install.macosx.compile.example"> + <title>Mac OS X 서버에서의 설치</title> + <programlisting> +1. 최근의 Apache 와 PHP의 배포판을 받는다. +2. 위에서 다운받은 것들을 Untar 하고, 아파치에서 다음과 같이 +설정 프로그램을 실행 한다. + ./configure --exec-prefix=/usr \ + --localstatedir=/var \ + --mandir=/usr/share/man \ + --libexecdir=/System/Library/Apache/Modules \ + --iconsdir=/System/Library/Apache/Icons \ + --includedir=/System/Library/Frameworks/Apache.framework/Versions/1.3/Headers \ + --enable-shared=max \ + --enable-module=most \ + --target=apache + +4. 컴파일시 최적화를 실행하고자 한다면, 다음과 같은 라인을 +첨가하도록 한다. + setenv OPTIM=-O2 + +5. 이제 PHP4 소스 디렉토리로 이동하여 PHP를 설정한다. + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/share/man \ + --with-xml \ + --with-apache=/src/apache_1.3.12 + + 만약 다른 추가적인 모듈(MySQL, GD 등)을 사용한다면, + 당연히그것들도 여기서 첨가하여야 한다. + --with-apache 옵션에는 "/src/apache_1.3.12" 같이 아파치 소스 + 디렉토리의 경로가 지정되어야 한다. +6. make +7. make install + 이것은 아파치 소스 디렉토리밑에 src/modules/php4라는 +디렉토리를 + 추가 한다. + +8. Now, reconfigure Apache to build in PHP 4. + 이제 PHP4를 사용하도록 아파치를 재설정한다. + ./configure --exec-prefix=/usr \ + --localstatedir=/var \ + --mandir=/usr/share/man \ + --libexecdir=/System/Library/Apache/Modules \ + --iconsdir=/System/Library/Apache/Icons \ + --includedir=/System/Library/Frameworks/Apache.framework/Versions/1.3/Headers \ + --enable-shared=max \ + --enable-module=most \ + --target=apache \ + --activate-module=src/modules/php4/libphp4.a + + 아마 libmodphp4.a 가 날짜가 경과되었다는(out of date) 메세지가 +나올 지 모른다. + 이런 경우 아파치 소스 디렉토리의 src/modules/php4 디렉토리로 +이동하여 + 다음과 같은 명령을 실행한다. : + + ranlib libmodphp4.a + + 이제 아파치 소스 디렉토리의 root로 다시 돌아가서, 위에 +적은 설정 명령을 다시 실행한다. + 위의 명령은 링크 테이블을 재 설정하는 명령이다. + +9. make + +10. make install + +11. 다음과 같이 php.ini-dist 파일을 PHP4 소스 디렉토리에서 +여러분의 "bin" + 디렉토리로 복사하고, php.ini 로 이름을 바꾼다. : + + cp php.ini-dist /usr/local/bin/php.ini + + 혹은 (local 디렉토리가 없다면) + + cp php.ini-dist /usr/bin/php.ini + </programlisting> + </example> + <simpara> + <ulink url="&url.stepwise.macosx-client;">Mac OS X +client</ulink>와 + <ulink url="&url.stepwise.macosx-client;">Mac OS X server</ulink>에 대한 + 다른 예는 <ulink url="&url.stepwise;">Stepwise</ulink>에서 찾을 수 있다. + </simpara> </sect2> </sect1> <sect1 id="install.configure"> <title>전체 설정 옵션 목록(Complete list of configure options)</title> <note> <para> - 이것들은 컴파일 시에만 유효한 옵션이다. - PHP가 실행시에 설정하는 옵션들에 대해서는 <link linkend="configuration">설정(Configuration)</link> 부분을 살벼보자. + 이것들은 컴파일 시에만 유효한 옵션이다. + PHP가 실행시에 설정하는 옵션들에 대해서는 + <link linkend="configuration">설정(Configuration)</link> 부분을 살펴보자. </para> </note> <para> -아래 목록은 PHP3와 PHP4가 Unix 환경에서 컴파일될 때 <filename>configure</filename> 스크립트가 지원하는 옵션의 전체 목록이다. -일부는 PHP3에서만, 일부는 PHP4에서만, 나머지는 두군데 모두에서 사용가능하다. PHP4로 옮겨가면서 많은 옵션의 이름이 바뀌었다. -이 이름이 바뀐 옵션들은 상호간의 내용을 표시해 놓았으므로, PHP3에서 사용하던 옵션이 PHP4에서 문제가 있는 경우 이 이름의 변화를 잘 살펴보기 바란다. + 아래 목록은 PHP3와 PHP4가 Unix 환경에서 컴파일될 때 +<filename>configure</filename> + 스크립트가 지원하는 옵션의 전체 목록이다. 일부는 +PHP3에서만, 일부는 PHP4에서만, + 나머지는 두군데 모두에서 사용가능하다. PHP4로 옮겨가면서 +많은 옵션의 이름이 바뀌었다. + 이 이름이 바뀐 옵션들은 상호간의 내용을 표시해 +놓았으므로, PHP3에서 사용하던 옵션이 + PHP4에서 문제가 있는 경우 이 이름의 변화를 잘 살펴보기 +바란다. </para> <itemizedlist> <listitem> @@ -330,7 +491,8 @@ <listitem> <para> - PHP 3, PHP 4: Adabas D 지원을 포함한다. DIR은 Adabas D가 설치된 Directory이고, 기본값은 /usr/local이다. + PHP 3, PHP 4: Adabas D 지원을 포함한다. + DIR은 Adabas D가 설치된 Directory이고, 기본값은 /usr/local이다. </para> <para> <ulink url="&url.adabas;">Adabas home page</ulink> @@ -346,7 +508,7 @@ PHP 3: PHP 3에는 없다. </para> <para> - PHP 4: DBA를 shared module 형태로 만든다. + PHP 4: DBA를 동적으로 적재할 수 있는 공유 모듈(shared module) +형태로 만든다. </para> </listitem> </varlistentry> @@ -356,7 +518,7 @@ </term> <listitem> <para> - PHP 3: 사용 불가; use <link linkend="install.configure.with-dbase">--with-dbase</link>옵션을 대신 사용 + PHP 3: 사용 불가; <link +linkend="install.configure.with-dbase">--with-dbase</link>옵션을 대신 사용 </para> <para> PHP 4: 내장된 DBase 라이브러리를 사용가능하게 한다. 별도의 외부 라이브러리는 필요 없다. @@ -419,7 +581,8 @@ </para> <para> PHP 4: DBMaker 지원을 포함한다. - DIR은 DBMaker의 Base Directory이고, 기본값은 최근 버젼의 DBMaker가 설치된 디렉토리이다. (such as /home/dbmaker/3.6) + DIR은 DBMaker의 Base Directory이고, + 기본값은 최근 버젼의 DBMaker가 설치된 디렉토리이다. (such +as /home/dbmaker/3.6) </para> </listitem> </varlistentry> @@ -429,7 +592,8 @@ </term> <listitem> <para> - PHP 3, PHP 4: Empress 지원을 포함한다. DIR은 Empress의 base install directory이고, 기본값은 $EMPRESSPATH 이다. + PHP 3, PHP 4: Empress 지원을 포함한다. + DIR은 Empress의 base install directory이고, 기본값은 $EMPRESSPATH +이다. </para> </listitem> </varlistentry> @@ -485,7 +649,8 @@ </term> <listitem> <para> - PHP 3, PHP 4: IBM DB2 지원을 포함한다. DIR은 DB2의 base install directory로, 기본값은 <filename>/home/db2inst1/sqllib</filename>이다. + PHP 3, PHP 4: IBM DB2 지원을 포함한다. + DIR은 DB2의 base install directory로, 기본값은 +<filename>/home/db2inst1/sqllib</filename>이다. </para> <para> <ulink url="&url.ibmdb2;">IBM DB2 home page</ulink> @@ -521,7 +686,8 @@ </term> <listitem> <para> - PHP 3, PHP 4: InterBase 지원을 포함한다. DIR은 InterBase base install directory이고, 기본값은<filename>/usr/interbase</filename>이다. + PHP 3, PHP 4: InterBase 지원을 포함한다. + DIR은 InterBase base install directory이고, +기본값은<filename>/usr/interbase</filename>이다. </para> <simpara> <link linkend="ref.ibase">Interbase functions</link> @@ -537,7 +703,8 @@ </term> <listitem> <para> - PHP 3: LDAP 지원을 포함한다. DIR은 LDAP base install directory이고, 기본값은<filename>/usr</filename>와 <filename>/usr/local</filename>이다. + PHP 3: LDAP 지원을 포함한다. + DIR은 LDAP base install directory이고, +기본값은<filename>/usr</filename>와 <filename>/usr/local</filename>이다. </para> <para> PHP 4: LDAP 지원을 포함한다. DIR은 LDAP base install directory이다. @@ -558,12 +725,17 @@ </term> <listitem> <para> - PHP 3, PHP 4: mSQL 지원을 포함한다. DIR은 mSQL이 설치된 디렉토리이고 기본값은 <filename class="directory">/usr/local/Hughes</filename>이다. 이 디렉토리는 mSQL 2.0 배포본의 기본 디렉토리이다. -<command>configure</command>는 현재 작동중인 mSQL의 버전을 자동으로 탐지하여 1.0과 2.0중 하나를 지원하도록 한다. 만약 PHP가 mSQL 1.0지원으로 컴파일되었다면, 여러분은 mSQL 2.0 database는 사용하지 못한다. 마찬가지로 2.0으로 컴파일 되었다면 1.0 database는 사용할 수 없다. + PHP 3, PHP 4: mSQL 지원을 포함한다. DIR은 mSQL이 설치된 +디렉토리이고 + 기본값은 <filename class="directory">/usr/local/Hughes</filename>이다. + 이 디렉토리는 mSQL 2.0 배포본의 기본 디렉토리이다. + <command>configure</command>는 현재 작동중인 mSQL의 버전을 +자동으로 탐지하여 + 1.0과 2.0중 하나를 지원하도록 한다. 만약 PHP가 mSQL +1.0지원으로 컴파일되었다면, + 여러분은 mSQL 2.0 database는 사용하지 못한다. 마찬가지로 +2.0으로 컴파일 되었다면 + 1.0 database는 사용할 수 없다. </para> <simpara> - See also <link linkend="ini.sect.msql">mSQL - Configuration</link> Directives in the <link linkend="configuration.file">configuration file</link>. + <link linkend="configuration.file">configuration file</link>에 있는 + <link linkend="ini.sect.msql">mSQL Configuration</link> 지시자에 +대해서도 알아두기 바란다. </simpara> <simpara> <ulink url="&url.msql;">mSQL home page</ulink> @@ -576,15 +748,16 @@ </term> <listitem> <para> - PHP 3: MySQL 지원을 포함한다. DIR은 MySQL의 base install directory이고, 기본값은 MySQL이 설치된 장소를 자동으로 찾는 것이다. + PHP 3: MySQL 지원을 포함한다. DIR은 MySQL의 base install +directory이고, + 기본값은 MySQL이 설치된 장소를 자동으로 찾는 것이다. </para> <para> - PHP 4: MySQL 지원을 포함한다. DIR은 MySQL의 base install directory이고, 기본값은 MySQL이 설치된 장소를 자동으로 찾는 것이다. - 이 옵션은 자동으로 on으로 설정된다. + PHP 4: MySQL 지원을 포함한다. DIR은 MySQL의 base install +directory이고, + 기본값은 MySQL이 설치된 장소를 자동으로 찾는 것이다. 이 +옵션은 자동으로 on으로 설정된다. </para> <para> - See also <link linkend="ini.sect.mysql">MySQL - Configuration</link> Directives in the <link linkend="configuration.file">configuration file</link>. + <link linkend="configuration.file">configuration file</link>에 있는 + <link linkend="ini.sect.mysql">MySQL Configuration</link> 지시자에 +대해서도 알아두기 바란다. </para> <para> <ulink url="&url.mysql;">MySQL home page</ulink> @@ -627,7 +800,8 @@ </para> <simpara> 오라클 지원을 포함하도록 한다. 오라클 버전 7.0에서 7.3까지는 동작을 테스트하여 문제가 없었다. - DIR은 <envar>ORACLE_HOME</envar>디렉토리이다. 오라클 환경이 이미 설정되어 있다면, DIR을 반드시 정해줄 필요는 없다. + DIR은 <envar>ORACLE_HOME</envar>디렉토리이다. + 오라클 환경이 이미 설정되어 있다면, DIR을 반드시 정해줄 +필요는 없다. </simpara> <simpara> <ulink url="&url.oracle;">Oracle home page</ulink> @@ -640,15 +814,18 @@ </term> <listitem> <para> - PHP 3: PostgresSQL 지원을 포함한다. DIR은 PostgresSQL의 base install directory이고, 기본값은 <filename>/usr/local/pgsql</filename>이다. + PHP 3: PostgresSQL 지원을 포함한다. DIR은 PostgresSQL의 base +install directory이고, + 기본값은 <filename>/usr/local/pgsql</filename>이다. </para> <para> - PHP 4: PostgresSQL 지원을 포함한다. DIR은 PostgresSQL의 base install directory이고, 기본값은 <filename>/usr/local/pgsql</filename>이다. - Set DIR to shared to build as a dl, or shared,DIR to build as a dl and still specify DIR. + PHP 4: PostgresSQL 지원을 포함한다. DIR은 PostgresSQL의 base +install directory이고, + 기본값은 <filename>/usr/local/pgsql</filename>이다. + dl을 사용해서 동적으로 적재할 수 있는 공유 모듈을 +만들려면 DIR에 shared를 적어주면 되고, + 디렉토리까지 표시해 주려면 shared,DIR의 형태로 적어주면 +된다. </para> <simpara> - See also <link linkend="ini.sect.pgsql">Postgres - Configuration</link> Directives in the <link linkend="configuration.file">configuration file</link>. + <link linkend="configuration.file">configuration file</link>에 있는 + <link linkend="ini.sect.pgsql">Postgres Configuration</link> 지시자에 +대해서도 알아두기 바란다. </simpara> <simpara> <ulink url="&url.pgsql;">PostgreSQL home page</ulink> @@ -661,7 +838,8 @@ </term> <listitem> <para> - PHP 3, PHP 4: Solid 지원을 포함한다. DIR은 Solid의 base install directory이고, 기본값은 /usr/local/solid이다. + PHP 3, PHP 4: Solid 지원을 포함한다. + DIR은 Solid의 base install directory이고, 기본값은 +/usr/local/solid이다. </para> <simpara> <ulink url="&url.solid;">Solid home page</ulink> @@ -674,12 +852,12 @@ </term> <listitem> <para> - PHP 3, PHP 4: Sybase-CT 지원을 포함한다. DIR은 Sybase의 home directory이고, 기본값은 /home/sybase이다. + PHP 3, PHP 4: Sybase-CT 지원을 포함한다. + DIR은 Sybase의 home directory이고, 기본값은 /home/sybase이다. </para> <simpara> - See also <link linkend="ini.sect.sybct">Sybase-CT - Configuration</link> Directives in the <link linkend="configuration.file">configuration - file</link>. + <link linkend="configuration.file">configuration file</link>에 있는 + <link linkend="ini.sect.sybct">Sybase-CT Configuration</link> 지시자에 +대해서도 알아두기 바란다. </simpara> </listitem> </varlistentry> @@ -689,11 +867,12 @@ </term> <listitem> <para> - PHP 3, PHP 4: Sybase-DB 지원을 포함한다. DIR은 Sybase의 home directory이고, 기본값은 <filename>/home/sybase</filename>이다. + PHP 3, PHP 4: Sybase-DB 지원을 포함한다. + DIR은 Sybase의 home directory이고, 기본값은 +<filename>/home/sybase</filename>이다. </para> <simpara> - See also <link linkend="ini.sect.sybase">Sybase - Configuration</link> Directives in the <link linkend="configuration.file">configuration file</link>. + <link linkend="configuration.file">configuration file</link>에 있는 + <link linkend="ini.sect.sybase">Sybase Configuration</link> 지시자에 +대해서도 알아두기 바란다. </simpara> <simpara> <ulink url="&url.sybase;">Sybase home page</ulink> @@ -706,7 +885,8 @@ </term> <listitem> <para> - PHP 3, PHP 4: OpenLink ODBC 지원을 포함한다. DIR은 OpenLink의 base install directory이고, 기본값은/usr/local/openlink이다. + PHP 3, PHP 4: OpenLink ODBC 지원을 포함한다. + DIR은 OpenLink의 base install directory이고, +기본값은/usr/local/openlink이다. </para> <simpara> <ulink url="&url.openlink;">OpenLink Software's home page</ulink> @@ -719,11 +899,12 @@ </term> <listitem> <para> - PHP 3, PHP 4: iODBC 지원을 포함한다. DIR은 iODBC의 base install directory이고, 기본값은 <filename>/usr/local</filename>이다. + PHP 3, PHP 4: iODBC 지원을 포함한다. + DIR은 iODBC의 base install directory이고, 기본값은 +<filename>/usr/local</filename>이다. </para> <para> 이 기능은 iODBC 드라이버 관리자를 위해 처음 개발되었는데, - 이 iODBC 드라이버 관리자는 여러 UNIX에서 돌아가는 무료 배포가 가능한 ODBC 드라이버 관리자이다. + 이 iODBC 드라이버 관리자는 여러 UNIX에서 돌아가는 무료 +배포가 가능한 ODBC 드라이버 관리자이다. </para> <simpara> <ulink url="&url.freeodbc;">FreeODBC home page</ulink> @@ -738,16 +919,16 @@ <listitem> <para> PHP 3, PHP 4: 사용자 지정의 ODBC 라이브러리 지원을 포함하도록 한다. - DIR은 base 디렉토리이고, 기본값은 <filename class="directory">/usr/local</filename>이다. + DIR은 base 디렉토리이고, 기본값은 <filename +class="directory">/usr/local</filename>이다. </para> <simpara> -이 옵션을 사용하려면 configure 스크립트를 실행할 때 CUSTOM_ODBC_LIBS를 이미 정의해 주었어야 한다. -또한, include path에는 적합한 odbc.h라는 헤더 파일이 반드시 있어야 한다. 만약 없다면, 만들어서 포함시켜야 한다. -헤더에는 좀 특별한 정의들이 필요하게 되는데, 특히 그것이 multiplatform일 경우는 상세히 적어주어야 한다. -그 정의는 CFLAGS 옵션에 적어준다. + 이 옵션을 사용하려면 configure 스크립트를 실행할 때 +CUSTOM_ODBC_LIBS를 이미 정의해 주었어야 한다. + 또한, include path에는 적합한 odbc.h라는 헤더 파일이 반드시 +있어야 한다. + 만약 없다면, 만들어서 포함시켜야 한다. 헤더에는 좀 +특별한 정의들이 필요하게 되는데, + 특히 그것이 multiplatform일 경우는 상세히 적어주어야 한다. +그 정의는 CFLAGS 옵션에 적어준다. </simpara> <simpara> -예를들어 다음과 같은 옵션으로 QNX 하에서 Sybase SQL Anywhere를 사용할수 있다.: + 예를들어 다음과 같은 옵션으로 QNX 하에서 Sybase SQL +Anywhere를 사용할수 있다.: <literal> CFLAGS=-DODBC_QNX LDFLAGS=-lunix CUSTOM_ODBC_LIBS="-ldblib -lodbc" ./configure --with-custom-odbc=/usr/lib/sqlany50 @@ -762,13 +943,18 @@ <listitem> <para> PHP 3: Unified ODBC 모듈을 사용하지 않도록한다. - 이 Unified ODBC 모듈은 iODBC나 Adabas, Solid, Velocis or a custom ODBC interface 가 사용될 때만 포함하면 된다. + 이 Unified ODBC 모듈은 iODBC나 Adabas, Solid, Velocis, a custom ODBC +interface 가 사용될 때만 포함하면 된다. </para> <para> PHP 4: PHP 4에는 없다. </para> <simpara> - 이 Unified ODBC 모듈은 Solid나 Adabas D같은 ODBC기 반의 인터페이스(ODBC-based interface)를 가지고 있는 모든 database의 공통의 interface이다. 또한 이 모듈은 일반 ODBC 라이브러리를 위해 동작한다. 이 옵션은 iODBC와 Solid, Adabas D, IBM DB2, Sybase SQL Anywhere에서 시험을 거쳤다. 이 옵션을 사용하려 면 위의 모듈들 중 하나(반드시 하나만) 혹은, Velocis 모듈이 enabled되어 있거나 custom ODBC library가 설정되어 있어야 한다. 즉, 이 옵션은 다음과 같은 옵션중 하나가 사용되었을 경우만 사용이 가능하다. : + 이 Unified ODBC 모듈은 Solid나 Adabas D같은 ODBC기 반의 +인터페이스(ODBC-based interface)를 + 가지고 있는 모든 database의 공통의 interface이다. 또한 이 +모듈은 일반 ODBC 라이브러리를 위해 동작한다. + 이 옵션은 iODBC와 Solid, Adabas D, IBM DB2, Sybase SQL Anywhere에서 +시험을 거쳤다. + 이 옵션을 사용하려면 위의 확장들 중 하나(반드시 하나만) +혹은, Velocis 확장이 enabled되어 있거나 + custom ODBC library가 설정되어 있어야 한다. + 즉, 이 옵션은 다음과 같은 옵션중 하나가 사용되었을 +경우만 사용이 가능하다. : <link linkend="install.configure.with-iodbc">--with-iodbc</link>, <link linkend="install.configure.with-solid">--with-solid</link>, <link linkend="install.configure.with-ibm-db2">--with-ibm-db2</link>, @@ -777,9 +963,8 @@ or <link linkend="install.configure.with-custom-odbc">--with-custom-odbc</link>. </simpara> <simpara> - See also <link linkend="ini.sect.uodbc">Unified ODBC - Configuration</link> Directives in the <link linkend="configuration.file">configuration - file</link>. + <link linkend="configuration.file">configuration file</link>에 있는 + <link linkend="ini.sect.uodbc">Unified ODBC Configuration</link> 지시자에 +대해서도 알아두기 바란다. </simpara> </listitem> </varlistentry> @@ -792,7 +977,8 @@ PHP 3: PHP 3에는 없다. </para> <para> - PHP 4: unixODBC 지원을 포함한다. DIR은 unixODBC의 base install directory이고, 기본값은 /usr/local이다. + PHP 4: unixODBC 지원을 포함한다. + DIR은 unixODBC의 base install directory이고, 기본값은 +/usr/local이다. </para> </listitem> </varlistentry> @@ -802,7 +988,8 @@ </term> <listitem> <para> - PHP 3, PHP 4: Velocis 지원을 포함한다. DIR은 Velocis의 base install directory이고, 기본값은 /usr/local/velocis이다. + PHP 3, PHP 4: Velocis 지원을 포함한다. + DIR은 Velocis의 base install directory이고, 기본값은 +/usr/local/velocis이다. </para> <simpara> <ulink url="&url.velocis;">Velocis home page</ulink> @@ -833,7 +1020,9 @@ </term> <listitem> <para> - PHP 3: Cybercash MCK 지원을 포함한다. DIR은 cybercash mck의 build directory이고, 기본값은 <filename>/usr/src/mck-3.2.0.3-linux</filename>이다. 자세한 도움말은 <filename>extra/cyberlib</filename>에 있는 문서를 참조하자. + PHP 3: Cybercash MCK 지원을 포함한다. DIR은 cybercash mck의 build +directory이고, + 기본값은 <filename>/usr/src/mck-3.2.0.3-linux</filename>이다. + 자세한 도움말은 <filename>extra/cyberlib</filename>에 있는 +문서를 참조하자. </para> <para> PHP 4: 사용 불가; <link linkend="install.configure.with-cybercash">--with-cybercash</link>를 대신 사용한다. @@ -894,7 +1083,8 @@ </para> <para> PHP 4: GD 지원을 포함한다 (DIR은 GD의 install dir). - Set DIR to shared to build as a dl, or shared,DIR to build as a dl and still specify DIR. + dl을 사용해서 동적으로 적재할 수 있는 공유 모듈을 +만들려면 DIR에 shared를 적어주면 되고, + 디렉토리까지 표시해 주려면 shared,DIR의 형태로 적어주면 +된다. </para> </listitem> </varlistentry> @@ -914,7 +1104,8 @@ </term> <listitem> <para> - PHP 3: ImageMagick 지원을 포함한다 . DIR은 ImageMagick의 install directory이고, 만약 없다면, PHP는 그 위치를 스스로 찾는다.(아직 완전하지 않다.) + PHP 3: ImageMagick 지원을 포함한다 . + DIR은 ImageMagick의 install directory이고, 만약 없다면, PHP는 그 +위치를 스스로 찾는다.(아직 완전하지 않다.) </para> <para> PHP 4: PHP 4에는 없다. @@ -1024,12 +1215,13 @@ <listitem> <para> PHP 3: BC arbitrary precision 수학 함수를 제외하고 컴파일 한다. - 이 함수들은 일반적인 수학 함수들의 범위를 넘는 정밀도(precision)를 가지고 계산할 수 있도록 해 준다. - 자세한 내용은 <link linkend="ref.bc">BCMath Arbitrary Precision Mathematics Functions</link> 부분을 살펴보자. + 이 함수들은 일반적인 수학 함수들의 범위를 넘는 +정밀도(precision)를 + 가지고 계산할 수 있도록 해 준다. 자세한 내용은 + <link linkend="ref.bc">BCMath Arbitrary Precision Mathematics Functions</link> +부분을 살펴보자. </para> <para> - PHP 4: 사용 불가; bcmath는 기본으로 제외되어 컴파일된다. - bcmath를 포함시키려면 <link linkend="install.configure.enable-bcmath">--enable-bcmath</link>옵션을 준다. + PHP 4: 사용 불가; bcmath는 기본으로 제외되어 컴파일된다. +bcmath를 포함시키려면 + <link +linkend="install.configure.enable-bcmath">--enable-bcmath</link>옵션을 준다. </para> </listitem> </varlistentry> @@ -1039,7 +1231,7 @@ </term> <listitem> <para> - PHP 3: source를 보여주는 기능을 끈다. + PHP 3: 소스를 보여주는 기능을 끈다. </para> <para> PHP 4: PHP 4에는 없다. @@ -1107,7 +1299,8 @@ PHP 3: PHP 3에는 없다. </para> <para> - PHP 4: runtime library search paths를 추가시키지 못하도록 한다. (Disable passing additional runtime library search paths) + PHP 4: 추가적인 runtime library search path를 지나치지 않도록 +한다. + (Disable passing additional runtime library search paths) </para> </listitem> </varlistentry> @@ -1135,9 +1328,9 @@ </para> <para> PHP 4: bc 형식의 수의 정밀도(precision)를 마음대로 조정할 수 있는 수학 함수를 사용할 수 있게 해 준다. - 이 모듈의 자세한 사용법은 README-BCMATH 파일을 읽어보기 바란다. - 이 함수들은 일반적인 수학 함수들의 범위를 넘는 정밀도를 가지고 계산할 수 있도록 해 준다. - 자세한 내용은 <link linkend="ref.bc">BCMath Arbitrary Precision Mathematics Functions</link> 부분을 살펴보자. + 이 모듈의 자세한 사용법은 README-BCMATH 파일을 읽어보기 +바란다. 이 함수들은 일반적인 수학 + 함수들의 범위를 넘는 정밀도를 가지고 계산할 수 있도록 +해 준다. 자세한 내용은 + <link linkend="ref.bc">BCMath Arbitrary Precision Mathematics +Functions</link> 부분을 살펴보자. </para> </listitem> </varlistentry> @@ -1196,8 +1389,9 @@ </term> <listitem> <para> - PHP 3, PHP 4: -이것을 Enabled하면, PHP CGI 실행파일이 웹 트리 밖에 안전하게 위치할 수 있게 되어, 이용자들이 .htaccess security 제약을 피할 수 없도록 한다. 자세한 사항은 section in the security chapter를 읽어보기 바란다. + PHP 3, PHP 4: 이것을 Enabled하면, PHP CGI 실행파일이 웹 트리 +밖에 안전하게 위치할 수 있게 되어, + 이용자들이 .htaccess security 제약을 피할 수 없도록 한다. + 자세한 사항은 security chapter를 읽어보기 바란다. </para> </listitem> </varlistentry> @@ -1217,7 +1411,7 @@ </term> <listitem> <para> - PHP 3: PHP 3에는 없다/ + PHP 3: PHP 3에는 없다. </para> <para> PHP 4: exif를 지원한다. @@ -1233,7 +1427,7 @@ PHP 3: PHP 3에는 없다. </para> <para> - PHP 4: This will most likely break your build + PHP 4: 이것은 아직 완전치 않다. 이 옵션을 사용하면 +대부분의 경우 PHP의 build에 실패할 것이다. </para> </listitem> </varlistentry> @@ -1256,7 +1450,9 @@ </term> <listitem> <para> - PHP 3, PHP 4: 내부적인 서버 리디렉트(internal server redirects) 시에 보안 검사(security check)를 하도록 한다. 여러분이 Apache와 함께 CGI 버전을 사용한다면 반드시 이 옵션을 사용하여야 할 것이다. + PHP 3, PHP 4: 내부적인 서버 리디렉트(internal server redirects) +시에 + 보안 검사(security check)를 하도록 한다. 여러분이 Apache와 +함께 + CGI 버전을 사용한다면 반드시 이 옵션을 사용하여야 할 +것이다. </para> </listitem> </varlistentry> @@ -1269,7 +1465,7 @@ PHP 3: PHP 3에는 없다. </para> <para> - PHP 4: 만약 대용량 메모리에서 gcc를 사용하고를 사용한다면 한번 사용해 보기 바란다. + PHP 4: 만약 대용량 메모리에서 gcc를 사용한다면 한번 +사용해 보기 바란다. </para> </listitem> </varlistentry> @@ -1292,7 +1488,8 @@ </term> <listitem> <para> - PHP 3, PHP 4: 평범한(casual) 사용자가 설치시에 필요한 컴파일러 주의 메시지나, dependencie 메시지 (때때로 충돌 메세지)등을 출력한다. + PHP 3, PHP 4: 평범한(casual) 사용자가 설치시에 필요한 컴파일러 +주의 메시지나, + 의존 관계(dependencie) 메시지 (때때로 충돌 메세지)등을 +출력한다. </para> </listitem> </varlistentry> @@ -1417,7 +1614,8 @@ PHP 3: php3.ini를 찾을 디렉토리를 지정한다. 기본값은 <filename>/usr/local/lib</filename>이다. </para> <para> - PHP 4: <filename>php.ini</filename>를 찾을 디렉토리를 지정한다. 기본값은 <filename>/usr/local/lib</filename>이다. + PHP 4: <filename>php.ini</filename>를 찾을 디렉토리를 지정한다. + 기본값은 <filename>/usr/local/lib</filename>이다. </para> </listitem> </varlistentry> @@ -1430,7 +1628,8 @@ PHP 3: ClibPDF 지원을 포함한다. DIR은 ClibPDF의 install directory,이고, 기본값은 /usr/local이다. </para> <para> - PHP 4: cpdflib 지원을 포함한다.(cpdflib 2 이상이 필요). DIR은 cpdflib의 install directory,이고, 기본값은 /usr이다. + PHP 4: cpdflib 지원을 포함한다.(cpdflib 2 이상이 필요). + DIR은 cpdflib의 install directory,이고, 기본값은 /usr이다. </para> </listitem> @@ -1444,7 +1643,8 @@ PHP 3: PHP 3에는 없다. </para> <para> - PHP 4: Easysoft OOB 지원을 포함한다. DIR은 OOB의 base install directory이고, 기본값은 /usr/local/easysoft/oob/client이다. + PHP 4: Easysoft OOB 지원을 포함한다. DIR은 OOB의 base install +directory이고, + 기본값은 /usr/local/easysoft/oob/client이다. </para> </listitem> </varlistentry> @@ -1454,7 +1654,8 @@ </term> <listitem> <para> - PHP 3, PHP 4: 안전 모드(safe mode)일 때, 여기서 지정해 준 DIR안의 실행 파일만 실행이 가능하다. 기본값은 /usr/local/php/bin이다. + PHP 3, PHP 4: 안전 모드(safe mode)일 때, 여기서 지정해 준 +DIR안의 실행 파일만 실행이 가능하다. + 기본값은 /usr/local/php/bin이다. </para> </listitem> </varlistentry> @@ -1526,7 +1727,8 @@ PHP 3: PHP 3에는 없다. </para> <para> - PHP 4: Java 지원을 포함한다. DIR은 JDK의 base install directory이다. This extension can only be built as a shared dl. + PHP 4: Java 지원을 포함한다. DIR은 JDK의 base install +directory이다. + 이 확장은 dl을 사용해서 동적으로 적재할 수 있는 공유 +모듈(shared dl)의 형태로만 만들 수 있다. </para> </listitem> </varlistentry> @@ -1606,7 +1808,8 @@ DIR은 pdflib의 install directory이고, 기본값은 <filename>/usr/local</filename>이다. </para> <para> - PHP 4: pdflib 3.x 지원을 포함한다. DIR은 pdflib의 install directory이고, 기본값은 <filename>/usr/local</filename>이다. + PHP 4: pdflib 3.x 지원을 포함한다. + DIR은 pdflib의 install directory이고, 기본값은 +<filename>/usr/local</filename>이다. </para> </listitem> </varlistentry> @@ -1632,7 +1835,7 @@ PHP 3: PHP 3에는 없다. </para> <para> - PHP 4: regex library type: system, apache, php + PHP 4: regex 라이브러리 타입: system, apache, php </para> </listitem> </varlistentry> @@ -1646,7 +1849,8 @@ </para> <para> PHP 4: servlet 지원을 포함한다. DIR은 JSDK의 base install directory이다. - 이 SAPI를 위해서는 Java extension이 shared dl로 만들어져 있어야 한다. + 이 SAPI를 위해서는 Java extension이 dl을 사용해서 동적으로 +적재할 수 있는 + 공유 모듈(shared dl)로 만들어져 있어야 한다. </para> </listitem> </varlistentry> @@ -1762,7 +1966,8 @@ PHP 3: POSIX 함수를 포함하지 않는다. </para> <para> - PHP 4: PHP4에는 없다; 대신 <link linkend="install.configure.disable-posix">--disable-posix</link>를 사용한다. + PHP 4: PHP4에는 없다; + 대신 <link +linkend="install.configure.disable-posix">--disable-posix</link>를 사용한다. </para> </listitem> </varlistentry> @@ -1820,7 +2025,9 @@ </para> <warning> <para> - 이 옵션은 PHP 4.0.3 이하에서는 <parameter>allow_url_fopen</parameter>이라는 INI 파라메터로만 제공된다. + 이 옵션은 PHP 4.0.3 이하에서만 사용가능하다. + 그 이후 버전에서는 컴파일시에 이 기능을 결정하는 대신, + <parameter>allow_url_fopen</parameter>이라는 INI 파라메터가 +제공된다. </para> </warning> </listitem> @@ -1831,8 +2038,8 @@ </term> <listitem> <para> - PHP 3, PHP 4: Apache의 mod_dav를 통한 DAV 지원을 포함한다. DIR은 mod_dav의 installation directory - (Apache module 버전만 사용가능) + PHP 3, PHP 4: Apache의 mod_dav를 통한 DAV 지원을 포함한다. + DIR은 mod_dav의 installation directory (Apache module 버전만 +사용가능) </para> </listitem> </varlistentry> @@ -1852,7 +2059,10 @@ </term> <listitem> <para> - PHP 3, PHP 4: SNMP 지원을 포함한다. DIR은 SNMP의 base install directory이고, 기본값은 SNMP가 설치된 디렉토리를 자동으로 찾는 것이다. Set DIR to shared to build as a dl, or shared,DIR to build as a dl and still specify DIR. + PHP 3, PHP 4: SNMP 지원을 포함한다. DIR은 SNMP의 base install +directory이고, + 기본값은 SNMP가 설치된 디렉토리를 자동으로 찾는 것이다. + dl을 사용해서 동적으로 적재할 수 있는 공유 모듈을 +만들려면 DIR에 shared를 적어주면 되고, + 디렉토리까지 표시해 주려면 shared,DIR의 형태로 적어주면 +된다. </para> </listitem> </varlistentry> @@ -1952,7 +2162,7 @@ PHP 3: 기본값으로 GET/POST/Cookie 변수를 추적한다. </para> <para> - PHP 4: PHP4에는 없다; As of PHP 4.0.2, track_vars is always on. + PHP 4: PHP4에는 없다; PHP 4.0.2에서 track_vars는 항상 on이다. </para> </listitem> </varlistentry> @@ -1970,7 +2180,7 @@ PHP 3: PHP3에는 없다. </para> <para> - PHP 4: Specify path to the source distribution of AOLserver + PHP 4: AOLserver 소스 배포판의 경로를 명시해 준다. </para> </listitem> </varlistentry> @@ -1983,7 +2193,7 @@ PHP 3: PHP3에는 없다. </para> <para> - PHP 4: Specify path to the installed AOLserver + PHP 4: AOLserver가 설치된 곳의 경로를 명시해 준다. </para> </listitem> </varlistentry> @@ -1993,7 +2203,8 @@ </term> <listitem> <para> - PHP 3, PHP 4: PHP를 Apache 모듈로 만든다. DIR은 Apache build directory의 최상단 디렉토리이고, 기본값은 /usr/local/etc/httpd이다. + PHP 3, PHP 4: PHP를 Apache 모듈로 만든다. DIR은 Apache build +directory의 최상단 디렉토리이고, + 기본값은 /usr/local/etc/httpd이다. </para> </listitem> </varlistentry> @@ -2003,7 +2214,8 @@ </term> <listitem> <para> - PHP 3, PHP 4: PHP를 shared Apache 모듈로 만든다. FILE은 옵션으로 Apache apxs 툴의 pathname이고, 기본값은 apxs이다. + PHP 3, PHP 4: PHP를 공유 Apache 모듈로 만든다. + FILE은 옵션으로 Apache apxs 툴의 pathname이고, 기본값은 +apxs이다. </para> </listitem> </varlistentry> @@ -2026,7 +2238,8 @@ </term> <listitem> <para> - PHP 3, PHP 4: PHP를 fhttpd 모듈로 만든다.. DIR은 fhttpd 소스 디렉토리이고, 기본값은 /usr/local/src/fhttpd이다. + PHP 3, PHP 4: PHP를 fhttpd 모듈로 만든다. + DIR은 fhttpd 소스 디렉토리이고, 기본값은 +/usr/local/src/fhttpd이다. </para> </listitem> </varlistentry> @@ -2078,7 +2291,7 @@ PHP 3: PHP3에는 없다. </para> <para> - PHP 4: PHP를 Pike 모듈로 만든다.. DIR은 base Roxen directory이고, 보통 /usr/local/roxen/server이다. + PHP 4: PHP를 Pike 모듈로 만든다. DIR은 base Roxen directory이고, +보통 /usr/local/roxen/server이다. </para> </listitem> </varlistentry> @@ -2186,7 +2399,8 @@ PHP 3: PHP3에는 없다. </para> <para> - PHP 4: DOM 지원을 포함한다. (libxml 2.0 이상이 필요하다). DIR은 libxml의 install directory이고, 기본값은 <filename>/usr</filename> + PHP 4: DOM 지원을 포함한다. (libxml 2.0 이상이 필요하다). + DIR은 libxml의 install directory이고, 기본값은 +<filename>/usr</filename>. </para> </listitem> </varlistentry> @@ -2260,38 +2474,113 @@ </variablelist> </sect2> </sect1> - <sect1 id="install-windows95-nt"> - <title>Windows 95/98/NT 시시템에 설치</title> - <simpara> -이 설치 안내서는 PHP를 Windows 9x/NT 웹서버에서 설치하고 설정하는데 도움을 줄 것입니다. 이 안내서는 &link.bob;에 의해 작성되었습니다. 따라서 가장 최신의 개정판은 <ulink url="&url.win32install;">&url.win32install;</ulink>에서 찾을 수 있습니다. - </simpara> + <sect1 id="install-windows"> + <title>Windows 9x/Me/NT/2000 시스템에 설치</title> + <para> + PHP를 윈도우로 설치하는데는 두가지 방법이 있다. + 하나는 <link linkend="install.windows.manual">직접하는 +방법(manually)</link>과 + <link linkend="install.windows.installer">InstallShield</link> 설치 +프로그램을 이용하는 방법이다. + </para> <para> + 만약 Microsoft Visual Studio를 가지고 있다면, PHP의 소스코드를 +사용하여 + PHP를 <link linkend="install.windows.build">build</link> 할 수 있다. + </para> + <para> + 시스템에 PHP를 설치한 다음에는, 추가적인 기능을 위하여 +여러분이 원하는 + <link linkend="install.windows.extensions">추가 모듈을 적재(load various +extensions)</link>할 수 있다. + </para> + <sect2 id="install.windows.installer"> + <title>Windows InstallShield</title> + <para> + Windows PHP 설치 프로그램은 <ulink url="&url.php;">&url.php;</ulink>의 + 다운로드 페이지에 있다. 이것은 CGI 버젼의 PHP를 설치하고, + IIS와 PWS, Xitami의 웹서버에 대한 설정을 자동으로 해 준다. + </para> + <simpara> + 시스템에 선택한 <acronym>HTTP</acronym> 서버를 미리 설치해 놓고 + 동작하도록 만들어 놓아야 한다. + </simpara> + <simpara> + 설치 프로그램을 실행하고 설치 마법사가 시키는대로 +따라서 설치하면 된다. + 모든 설정에 적당한 기본값을 사용하는 표준(standard) 설치 +방법과, + 사용자에게 일일이 물어보는 고급(advanced) 설치 방법을 +지원한다. + </simpara> + <simpara> + 설치 마법사는 <filename>php.ini</filename>을 설정하는데 충분한 + 정보를 수집하고, 웹서버를 PHP를 사용할 수 있도록 설정한다. + IIS와 NT 웍스테이션에서의 PWS에서는 서버의 모든 노드들과 + 그 각각의 스트립트 맵 설정을 보여준다. 이 때 PHP용 +스크립트 맵을 + 추가할 노드들을 선택 할 수 있다. + </simpara> + <simpara> + 설치프로그램이 시스템을 재 시작할 필요가 있다고 한다면 + 스스템을 재시작하고 서버를 재실행한다. 아니라면 단지 +서버를 실행하면 된다. + </simpara> + </sect2> + <sect2 id="install.windows.manual"> + <title>일반적인 걸치 과정</title> + <simpara> + 이 설치 안내서는 PHP를 9x/Me/NT/2000 웹서버에서 설치하고 +설정하는데 도움을 줄 것입니다. + 이 안내서는 &link.bob;에 의해 작성되었습니다. 따라서 가장 +최신의 개정판은 + <ulink url="&url.win32install;">&url.win32install;</ulink>에서 찾을 수 +있습니다. + </simpara> + <para> 이 안내서는 다음과 같은 웹서버를 대상으로 합니다.: <itemizedlist> - <listitem> - <para> - Personal Web Server (최신버젼이 좋다) + <listitem> + <para> + Personal Web Server 3와 4 혹은 더 최신 </para> - </listitem> - <listitem> - <para> - Internet Information Server 3 or 4 + </listitem> + <listitem> + <para> + Internet Information Server 3와 4 혹은 더 최신 </para> - </listitem> - <listitem> - <para> + </listitem> + <listitem> + <para> Apache 1.3.x - </para> - </listitem> - <listitem> - <para> - Omni HTTPd 2.0b1 </para> - </listitem> - </itemizedlist> - </para> - <sect2 id="install.windows.general"> - <title>일반적인 설치 과정</title> + </listitem> + <listitem> + <para> + OmniHTTPd 2.0b1 and up + </para> + </listitem> + <listitem> + <para> + Oreilly Website Pro + </para> + </listitem> + <listitem> + <para> + Xitami + </para> + </listitem> + </itemizedlist> + </para> + <para> + windows에서 PHP4는 CGI 형태(php.exe)나 SAPI 모듈의 형태(예: +php4isapi.dll)로 + 만들어 질 수 있습니다. 후자의 형태는 PHP4에서 추가된 +형태로, + 괄목할만한 성능의 향상을 얻을 수 있고, 새로운 기능도 +추가되었습니다. + 하지만 SAPI 모듈은 아직 실제로 현장에서 사용될 정도로 +안정적이지 <emphasis>않습니다.</emphasis> + 그 이유는 SAPI 모듈들은 thread-safe 버젼의 코드를 사용하는데, + 이것은 PHP4에서 새로 작성되었고, 아직 충분히 안정적이라고 +평가받지 + 못하기 때문이다. 또한 실제로 알여진 버그도 약간 있다. + 다른 면에서, 일부 사용자가 SAPI모듈을 이상 없이 사용하고 +있다고 하지만, + 우리는 실제 생결론적으로 산적인 사이트가 이것을 사용하고 +있는 것을 본적이 없다. + 결론적으로 아직 안정성을 보증받지 못했다. 만약 매우 +안정적인 동작을 원한다면, + SAPI 모듈을 사용해서 얻는 효율의 향상보다는 CGI 버젼의 +안정성을 택하기 바란다. + </para> + <para> + 만약 Windows 95에서 SAPI 모듈을 사용하려 한다면, + <ulink +url="http://download.microsoft.com/msdownload/dcom/95/x86/en/dcom95.exe">Microsoft + DCOM pages</ulink>에서 DCOM 업테이트를 받아서 DCOM을 업데이트해 +두어야 한다. + 또한 ISAPI 모듈을 사용하려면 ISAPI 4.0 을 지원하는 웹서버가 +필요하다. + (IIS 4.0과 PWS 4.0, IIS 5.0에서 검사되었다.) IIS 3.0은 지원하지 +않는다. + 따라서 IIS 3.0을 사용중이라면 Windows NT 4.0 Option Pack with IIS 4.0을 +다운로드하여 + IIS 4.0으로 업데이트 해야 할 것이다. + </para> <para> 웹 서버의 종류와 관계없이 다음의 설치 과정들이 완료되어야 한다. <itemizedlist> @@ -2317,7 +2606,8 @@ <itemizedlist> <listitem> <simpara> - 'extension_dir'을 여러분의 php-install-dir로 고쳐주어야 한다. 혹은 'php_*.dll'이 놓여있는 위치를 지정한다. (예. c:\php) + 'extension_dir'을 여러분의 php-install-dir로 고쳐주어야 한다. + 혹은 'php_*.dll'이 놓여있는 위치를 지정한다. (예. c:\php) </simpara> </listitem> <listitem> @@ -2328,18 +2618,21 @@ </listitem> <listitem> <simpara> - PHP가 시작될 때 load할 모듈들을 선택한다. 'extension=php_*.dll' 설정을 uncomment하면 해당 모듈을 load하는 것입니다. + PHP가 시작될 때 적재할 모듈들을 선택한다. +'extension=php_*.dll' 설정을 uncomment하면 해당 모듈을 load하는 +것입니다. 일부 모듈은 올바르게 동작하기 위해 시스템에 별도의 라이브러리를 설치해야 하는 경우도 있습니다. 어디서 지원하는 라이브러리를 얻을 수 있는지는 PHP의 <ulink url="&url.php.faq;">FAQ</ulink>를 보면 좀더 자세한 정보를 얻을 수 있을 것입니다. - 여러분은 모듈을 <command>dl("php_*.dll");</command> 처럼 스크립트 내에서 동적으로 load할 수도 있다. + 또한 모듈을 <function>dl</function> 함수를 사용하여 +스크립트 내에서 동적으로 적재할 수도 있다. + <link linkend="install.windows.extensions">Windows extensions</link>을 +살펴보기 바란다. </simpara> </listitem> <listitem> <simpara> - PWS와 IIS에서 browscap.ini는 다음의 위치에 있다. Windows 95/98은 'c:\windows\system\inetsrv\browscap.ini', - NT 서버에서는 'c:\winnt\system32\inetsrv\browscap.ini'에 있다. PHP에서 browscap기능을 사용하는 방법에 대한 - 추가적인 설명은 이 <ulink url="&url.browscap;">mirror</ulink>에서 "source" 버튼을 선택하여 보도록 한다 + PWS와 IIS에서 browscap.ini는 다음의 위치에 있다. Windows +9x/Me는 + 'c:\windows\system\inetsrv\browscap.ini', + NT/2000 서버에서는 'c:\winnt\system32\inetsrv\browscap.ini'에 있다. + PHP에서 browscap기능을 사용하는 방법에 대한 추가적인 +설명은 이 + <ulink url="&url.browscap;">mirror</ulink>에서 "source" 버튼을 +선택하여 보도록 한다 </simpara> </listitem> </itemizedlist> @@ -2347,48 +2640,688 @@ </listitem> </itemizedlist> </para> - <simpara> - PHP 확장을 위한 DLL들은 'php_'로 시작한다. - 이것은 PHP 확장을 위한 DLL들과 자체적인 지원을 위한 DLL들간의 혼란을 방지하기 위해서이다. - </simpara> </sect2> - <sect2 id="install.windows.iis3"> - <title>Windows 95/98/NT 와 PWS/IIS 3</title> - <simpara> - 이 서버에서의 설정은 배포판의 INF 파일(php_iis_reg.inf)을 사용하는 것을 권한다. - 여러분은 이 파일을 수정하여 여러분이 원하는 PHP 설치 디렉토리와 확장 내용들을 설정할 수 있다. - 만약 수동으로 설정하고 싶다면 다음과 같이 합니다. - </simpara> - <simpara> -주의 : 이 과정은 윈도우의 resistry를 직접 다룹니다. 하나의 실수가 여러분의 시스템 전체를 불안한 상태로 만들 수 있습니다. -우리는 여러분이 registry를 편집하기 전에 반드시 편집 전의 registry를 백업해 놓을 것. PHP 개발팀은 어떠한 registry의 파손도 -책임지지 않습니다. 만약 registry에 손상이 갈 경우 OS를 새로 깔기 전에는 부팅되지 않을 수도 있습니다. - </simpara> + <sect2 id="install.windows.build"> + <title>소스로 부터 만들기</title> <para> + 시작하기 전에 다음 질문을 생각해 보자. : + "windows에서 만드는 것이 왜 어려운가?" + 다음 두가지 이유가 떠오를 것이다. : + </para> + <orderedlist> + <listitem> + <simpara> + windows는 자신들의 소스를 자유롭게 공유하고자 하는 +개발자들에게는 + 커다란 공동체를 (아직) 만들지 못하고 있다. 그로인해 +개발을 위한 기본적으로 + 필요한 기초적 투자가 아직 되어 있지 않다. 대체로, 사용 +가능한 것들 대부분은 + Unix의 기본 유틸리티에서 포팅된 것들이다. 이런 관계는 별로 +놀랄만한 것도 아니다. + </simpara> + </listitem> + <listitem> + <simpara> + 아래나오는 설명은 "설정하고 잊어버리는" 내용이 +대부분이다. + 따라서 조금 휴식한 후에 아래의 설명을 충실히 따르도록 +하자. + </simpara> + </listitem> + </orderedlist> + <sect3 id="install.windows.build.prepare"> + <title>준비</title> + <para> + 시작하기전에 다운로드할 것이 좀 있다. + </para> <itemizedlist> <listitem> <simpara> - Regedit를 실행한다. - </simpara> + 처음 사용자는 <ulink +url="http://sources.redhat.com/cygwin/download.html">cygwin</ulink> +미러사이트에서 + Cygwin 툴킷을 다운받는다. 이것은 build 중에 사용할 +대부분의 필수 GNU 유틸리티를 제공해 준다. + </simpara> </listitem> <listitem> <simpara> - 다음으로 이동한다: <literal>HKEY_LOCAL_MACHINE /System - /CurrentControlSet /Services /W3Svc /Parameters - /ScriptMap</literal>. - </simpara> + <ulink +url="http://www.php.net/extra/win32build.zip">http://www.php.net/extra/win32build.zip</ulink>에서 + PHP build 시에 필요한 나머지 도구들을 받아둔다. + </simpara> </listitem> <listitem> <simpara> + <ulink +url="http://www.php.net/extra/bindlib_w32.zip">http://www.php.net/extra/bindlib_w32.zip</ulink>에서 + PHP가 사용하는 DNS name resolver의 소스 코드를 받아온다. + 이것은 <filename>win32build.zip</filename>에 포함된 +<filename>resolv.lib</filename> 라이브러리의 대체 파일이다. + </simpara> + </listitem> + <listitem> + <simpara> + 만약 unzip 유틸리티가 없다면 이것도 필요하다. + <ulink url="http://www.cdrom.com/pub/infozip/UnZip.html">InfoZip</ulink>에 +가면 무료 버젼을 구할 수 있다. + </simpara> + </listitem> + </itemizedlist> + <simpara> + 마지막으로 당연히 PHP 4의 소스코드가 필요하다. + <ulink url="http://www.php.net/anoncvs.php">anonymous CVS</ulink>를 사용하여 +최신 개발 버젼을 + 얻어올 수도 있다. 만약 <ulink +url="http://snaps.php.net/">snapshot</ulink> 이나 + <ulink url="http://www.php.net/downloads.php">source</ulink> tarball을 +사용한다면, + yntar와 ungzip은 물론이고, Microsoft Visual C++을 사용한 작업을 +하기전에 + <filename>*.dsp</filename>와 <filename>*.dsw</filename> 파일의 모든 LF를 +CRLF로 바꿔 주어야 한다. + </simpara> + <note> + <simpara> + <filename>Zend</filename>와 +<filename>TSRM</filename> 디렉토리는 + build 과정중에 프로젝트가 찾을 수 있도록 + <filename>php4</filename> 디렉토리 안에 넣어두어야 한다. + </simpara> + </note> + </sect3> + <sect3 id="install.windows.build.install"> + <title>모두 한자리에 모으기</title> + <itemizedlist> + <listitem> + <simpara> + 선택한 unzip 유틸리티는 해당 설명의 내용을 따라주세요. + </simpara> + </listitem> + <listitem> + <simpara> + +<filename>setup.exe</filename>를 실행한 후, 설치 설명을 따른다. + 만약 <filename>c:\cygnus</filename>과 다른 경로에 설치하였다면, + build 과정중에 Cygwin 환경변수에 이를 지정해야 한다. + Windows 95/98 에서는 autoexec.bat 파일에서 지정하면 되고, + Windows NT의 경우 내 컴퓨터(My Computer) => 제어판(Control Panel) +=> 시스템(System) 에 가서 + 환경(environment) 탭을 선택한 후 설정하면 된다. + </simpara> + <warning> + <simpara> + Cygwin이 사용할 임시디렉토리를 만들어 두여야한다. +그렇지않으면 + 여러 명령(특히 bison)에서 에러가 발생한다. Windows +95/98에서는 + <userinput>mkdir C:\TMP</userinput>. Windows NT에서는 + <userinput>mkdir %SystemDrive%\tmp</userinput>. + </simpara> + </warning> + </listitem> + <listitem> + <simpara> + 디렉토리를 만들고 여기에 <filename>win32build.zip</filename>을 +풀어놓는다. + </simpara> + </listitem> + <listitem> + <simpara> + Microsoft Visual C++을 실행하고, 메뉴의 Tools => Options를 +선택한다. + 대화창에서 directories 탯을 선택한 후 Executables, Includes, +Library files를 + 각각 <filename>cygwin\bin</filename>, + <filename>win32build\include</filename>, + <filename>win32build\lib</filename>으로 차례대로 바꾼다. + 보통 다음과 같이 지정된다. + </simpara> + <itemizedlist> + <listitem> + <simpara> + +<filename>c:\cygnus\bin</filename> + </simpara> + </listitem> + <listitem> + <simpara> + +<filename>c:\php-win32build\include</filename> + </simpara> + </listitem> + <listitem> + <simpara> + +<filename>c:\php-win32build\lib</filename> + </simpara> + </listitem> + </itemizedlist> + <simpara> + OK를 누르고, Visual C++을 빠져나온다. + </simpara> + </listitem> + <listitem> + <simpara> + 다른 디렉토리를 만들고 <filename>bindlib_w32.zip</filename>를 +여기에 풀어 놓는다. + 디버그용 심볼테이블을 포함할 것인가(bindlib - Win32 Debug) , + 안 포함할 것인가(bindlib - Win32 Release)를 결정한다. + 적절한 설정파일을 만든다. + </simpara> + <itemizedlist> + <listitem> + <simpara> + 이제 GUI 사용자는 VC++을 실행하고, File => Open Workspace 를 +선택하고 + bindlib를 선택한다. 그후 Build=>Set Active Configuration 을 +선택한 후에 + 원하는 설정파일을 선택한다. 마지막으로 Build=>Rebuild +All을 선택한다. + </simpara> + </listitem> + <listitem> + <simpara> + 커맨드라인 사용자는 등록된 C++ 환경 변수를 확인하고, + 잘못되어 있으면 <command>vcvars.bat</command>을 실행한 후, + 다음 두개의 명령 중 하나를 실행한다. : + </simpara> + <itemizedlist> + <listitem> + +<simpara> + + <userinput>msdev bindlib.dsp /MAKE "bindlib - Win32 Debug"</userinput> + +</simpara> + </listitem> + <listitem> + +<simpara> + + <userinput>msdev bindlib.dsp /MAKE "bindlib - Win32 Release"</userinput> + +</simpara> + </listitem> + </itemizedlist> + </listitem> + <listitem> + <simpara> + 이제 <filename>Debug</filename> 나 <filename>Release</filename> 서브 +디렉토리에 + 알맞은 <filename>resolv.lib</filename>가 만들어져 있어야 한다. + 이 파일을 <filename>win32build\lib</filename>에 있는 동일한 +이름의 파일을 덮어 쓴다. + </simpara> + </listitem> + </itemizedlist> + </listitem> + </itemizedlist> + </sect3> + <sect3 id="install.windows.build.compile"> + <title>컴파일</title> + <simpara> + 처음에 하기 가장 좋은 것은 standalone/CGI 버젼으로 만드는 +것이다. + </simpara> + <itemizedlist> + <listitem> + <simpara> + GUI 사용자는, VC++을 실행하고, File => Open Workspace를 +선택하고 + php4ts를 선택한다. 그런 다음 Build=>Set Active Configuration 을 +선택하여 + 원하는 설정파일을 선택한다. 마지막으로 Build=>Rebuild All을 +선택한다. + </simpara> + </listitem> + <listitem> + <simpara> + 커맨드라인 사용자는 등록된 C++ 환경 변수를 확인하고, + 잘못되어 있으면 <command>vcvars.bat</command>을 실행한 후, + 다음 두개의 명령 중 하나를 실행한다. : + </simpara> + <itemizedlist> + <listitem> + <simpara> + +<userinput>msdev php4ts.dsp /MAKE "php4ts - Win32 Debug_TS"</userinput> + </simpara> + </listitem> + <listitem> + <simpara> + +<userinput>msdev php4ts.dsp /MAKE "php4ts - Win32 Release_TS"</userinput> + </simpara> + </listitem> + <listitem> + <simpara> + 이제 <filename>Debug_TS</filename> 나 <filename>Release_TS</filename> +서브 디렉토리에 + 최종 결과물인 <filename>php.exe</filename>가 만들어져 있어야 +한다. + </simpara> + </listitem> + </itemizedlist> + </listitem> + </itemizedlist> + <simpara> + 위의 과정을 <filename>php4isapi.dsp</filename>를 사용하여 반복하면 + (이 파일은 <filename>sapi\isapi</filename>에 있다.), + Microsoft IIS용 ISAPI 버젼의 PHP를 만들 수 있다. + </simpara> + </sect3> + </sect2> + <sect2 id="install.windows.extensions"> + <title>Windows 확장 모듈의 설치</title> + <para> + windows에 PHP와 웹서버를 설치한 후에는 원하는 기능을 + 추가하기 위해 확장 모듈을 설치하기를 원할 것이다. + 아래 표에 사용할 수 있는 확장 모듈이 표시되어 있다. + 직접 설치하는 방법 때 설명한대로 <filename>php.ini</filename> + 파일의 원하는 확장 모듈이 있는 'extension=php_*.dll' 라인을 + uncomment하여 원하는 모듈을 포함하여 PHP를 실행할 수 있다. + 일부 확장 모듈은 시스템에 추가적인 라이브러리들을 필요로 +하기도 한다. + PHP <ulink url="&url.php.faq;">FAQ</ulink>를 살펴보면 이 추가적인 + 라이브러리를 어디서 구할 수 있는가에 대한 정보를 얻을 수 +있다. + 또한 <function>dl</function> 함수를 사용하면 추가 모듈을 + 실행중에도 동적으로 적재할 수 있다. + </para> + <para> + PHP 확장을 위한 DLL들은 'php_'로 시작한다. + 이것은 PHP 확장을 위한 DLL들과 자체적인 지원을 위한 +DLL들간의 혼란을 방지하기 위해서이다. + </para> + <note> + <para> + + PHP 4.0.4pl1에서 MySQL, ODBC, FTP, Calendar, BCMath, COM, PCRE, + Session, WDDX, XML 지원이 기본적으로 <emphasis>내장</emphasis>되어 +있다. + 따라서 이와 관련된 함수를 사용하기 위해 추가로 확장 +모듈을 적재할 + 필요는 없다. 내장된 모듈의 목록은 배포판에 있는 + <filename>README.txt</filename>나 <filename>install.txt</filename>파일을 +참조하기 바란다. + </para> + </note> + <para> + <table> + <title>PHP Extensions</title> + <tgroup cols="2"> + <tbody> + <row> + +<entry>php_calendar.dll</entry> + <entry>Calendar +conversion functions</entry> + </row> + <row> + +<entry>php_crypt.dll</entry> + <entry>Crypt +functions</entry> + </row> + <row> + +<entry>php_dbase.dll</entry> + <entry>dBase +functions</entry> + </row> + <row> + +<entry>php_dbm.dll</entry> + <entry>Berkeley DB2 +library</entry> + </row> + <row> + +<entry>php_filepro.dll</entry> + <entry>Read-only +access to Filepro databases</entry> + </row> + <row> + +<entry>php_gd.dll</entry> + <entry>GD library +functions for GIF manipulation</entry> + </row> + <row> + +<entry>php_hyperwave.dll</entry> + <entry>HyperWave +functions</entry> + </row> + <row> + +<entry>php_imap4r2.dll</entry> + <entry>IMAP 4 +functions</entry> + </row> + <row> + +<entry>php_ldap.dll</entry> + <entry>LDAP +functions</entry> + </row> + <row> + +<entry>php_msql1.dll</entry> + <entry>mSQL 1 +client</entry> + </row> + <row> + +<entry>php_msql2.dll</entry> + <entry>mSQL 2 +client</entry> + </row> + <row> + +<entry>php_mssql.dll</entry> + <entry>MSSQL client +(requires MSSQL DB-Libraries</entry> + </row> + <row> + <entry>php3_mysql.dll +(built into PHP 4)</entry> + <entry>MySQL +functions</entry> + </row> + <row> + +<entry>php_nsmail.dll</entry> + <entry>Netscape mail +functions</entry> + </row> + <row> + +<entry>php_oci73.dll</entry> + <entry>Oracle +functions</entry> + </row> + <row> + +<entry>php_snmp.dll</entry> + <entry>SNMP get and +walk functions (NT only!)</entry> + </row> + <row> + +<entry>php_zlib.dll</entry> + <entry>ZLib +compression functions</entry> + </row> + </tbody> + </tgroup> + </table> + </para> + </sect2> + </sect1> + <sect1 id="install.apache"> + <title>Apache 서버 설치</title> + <para> + 이 장은 PHP와 아파치를 <link linkend="install.apache.unix">Unix</link> 와 + <link linkend="install.apache.windows">Windows</link>에 설치하는데 +있어서의 + 여러가지 주의점과 힌트를 포함하고 있다. + </para> + <sect2 id="install.apache.unix"> + <title>Unix에서 Apache에 PHP를 설치하는 상세 +내용</title> + <para> + 아래에 8단계의 <command>configure</command>시에 + <link linkend="install.configure">Complete list of configure options</link>에 +있는 + 원하는 다른 옵션들을 추가한다. + </para> + <example id="install.apache.unix.longer"> + <title> + Installation Instructions (Apache Module Version) + </title> + <programlisting> +1. gunzip apache_1.3.x.tar.gz +2. tar xvf apache_1.3.x.tar +3. gunzip php-x.x.x.tar.gz +4. tar xvf php-x.x.x.tar +5. cd apache_1.3.x +6. ./configure --prefix=/www +7. cd ../php-x.x.x +8. ./configure --with-mysql --with-apache=../apache_1.3.x --enable-track-vars +9. make +10. make install +11. cd ../apache_1.3.x +12. for PHP 3: ./configure --activate-module=src/modules/php3/libphp3.a + for PHP 4: ./configure --activate-module=src/modules/php4/libphp4.a +13. make +14. make install + + 이 단계 대신 httpd 이진 파일을 기존의 파일에 덮어 쓸 수도 +있다. + 이 작업을 하려면 우선 httpd 서버를 끄는 것을 잊지 말도록 +하자. + +15. cd ../php-x.x.x +16. for PHP 3: cp php3.ini-dist /usr/local/lib/php3.ini + for PHP 4: cp php.ini-dist /usr/local/lib/php.ini + + 이제 PHP의 설정을 고치기 위해 .ini 파일을 수정하면 된다. + 만약 이 파일의 위치를 옮기고 싶다면 위의 8단계에서 +--with-config-file=/path 옵션을 준다. + +17. Edit your httpd.conf or srm.conf file and add: + + PHP 3의 경우: AddType application/x-httpd-php3 .php3 + PHP 4의 경우: AddType application/x-httpd-php .php + + 여기서 .php외에 다른 확장자를 사용할 수 있으나, 그냥 .php를 +사용할 것을 권한다. + .html도 설정할 수 있다. + +18. 일반적인 방식대로 Apache 서버를 시작한다. + (반드시 stop과 start하여 재시동하여야한다. + HUP이나 USR1같은 signal을 주는 등의 reload만 해서는 소용이 +없다.) + </programlisting> + </example> + <para> + 아파치에서 PHP를 컴파일하는 여러 다른 예가 아래에 +나와있다. : + <informalexample> + <programlisting> +./configure --with-apxs --with-pgsql + </programlisting> + </informalexample> + </para> + <para> + 이것은 <filename>libphp4.so</filename> 공유 라이브러리를 만든다. + 이 파일은 아파치의 <filename>httpd.conf</filename> 파일에서 + LoadModule 설정을 사용하여 아파치에 적재 될 수 있다. + 그리고 PostgreSQL 지원은 <filename>libphp4.so</filename>에 + 포함시킨 형태이다. + </para> + <para> + <informalexample> + <programlisting> +./configure --with-apxs --with-pgsql=shared + </programlisting> + </informalexample> + </para> + <para> + 이것은 아파치용 <filename>libphp4.so</filename> 공유 +라이브러리를 + 만들고, <filename>pgsql.so</filename>라는 공유 라이브러리도 +동시에 만든다. + 이 <filename>pgsql.so</filename> 파일은 <filename>php.ini</filename> +파일에서 + extension 지시자를 통해 적재할 수도 될 수도 있고, + 스크립트내에서 <function>dl</function>함수를 통해 적재될 수도 +있다. + </para> + <para> + <informalexample> + <programlisting> +./configure --with-apache=/path/to/apache_source --with-pgsql + </programlisting> + </informalexample> + </para> + <para> + 이것은 <filename>libmodphp4.a</filename> 라이브러리와 +<filename>mod_php4.c</filename>, + 기타 그에 따른 파일들을 만들고, 이 파일들을 아파치 소스 +트리 밑의 + <literal>src/modules/php4</literal>에 복사한다. + 이후에 <literal>--activate-module=src/modules/php4/libphp4.a</literal> + 옵션을 주어 아파치를 컴파일하면, 아파치 build 시스템은 + <filename>libphp4.a</filename>를 만들고 이것을 + <filename>httpd</filename> 바이너리에 정적으로 링크한다. + PostgreSQL 지원은 <filename>httpd</filename> 바이너리에 + 직접 링크되므로, 결론적으로 Apache와 PHP의 모든 것을 + 포함한 <filename>httpd</filename> 바이너리 하나만이 만들어진다. + </para> + <para> + <informalexample> + <programlisting> +./configure --with-apache=/path/to/apache_source --with-pgsql=shared + </programlisting> + </informalexample> + </para> + <para> + PostgreSQL지원을 최종 <filename>httpd</filename>에 포함시켰던 것을, + <filename>php.ini</filename> 파일이나 <function>dl</function> 함수를 +사용하여 + PHP에 동적으로 적재할 수 있는 <filename>pgsql.so</filename> 파일로 +만든다는 + 것을 제외하면 이전 것과 같다. + </para> + <para> + 이중에 어떤 방식을 사용해서 PHP를 만들 것인가는 각 +방식의 장,단점을 충분히 + 고려한 후 결정하여야 한다. 동적 모듈로 만든 경우, +아파치를 별도로 컴파일 할 + 수 있고, 따라서 PHP에 어떤 추가나 변화가 있어도 전체를 +다시 컴파일할 + 필요가 없다. 반면에 PHP를 아파치에 정적으로 포함시킨 +경우, PHP를 빠르게 + 적재하고 빠르게 실행할 수 있다. 자세한 정보는 + Apache <ulink url="&url.apachedso;">webpage on DSO support</ulink>를 +살펴보기 바란다. + </para> + </sect2> + <sect2 id="install.apache.windows"> + <title>Windows에서 Apache 1.3.x에 PHP를 설치하는 +상세 내용</title> +---- + <simpara> + PHP를 windows하의 Apache 1.3.x에서 동작하도록 설치하는 방법은 +두가지가 있다. + CGI binary (php.exe)를 사용하는 방법과, Apache module dll을 사용하는 +방법이다. + 두 경우 모두 아파치를 PHP가 동작하도록 설정하기 위해서는 +아파치 서버를 + 중지 시킨 후 <literal>srm.conf</literal>나 <literal>httpd.conf</literal>를 +수정해 주어야 한다. + </simpara> + <simpara> + + 비록 Apache하에서 PHP의 설정이 약간 차이가 있을지 +모르지만, 이 설정은 초보자도 할 수 있을 정도로 쉽다. + 여기에 나온 것 이상의 설정 지시자는 Apache Docs를 +참조하도록 하자. + </simpara> + <para> + 만약 <link linkend="install.windows.manual">General Installation +Steps</link>에서와 같이 + PHP 패키지를 C:\PHP\ 에 풀어놓았다면, CGI 바이너리를 설정하기 +위해 + 다음과 같은 라인을 추가할 필요가 있다. : + <itemizedlist> + <listitem> + <simpara> + <literal> + ScriptAlias /php/ "c:/php/" + </literal> + </simpara> + </listitem> + <listitem> + <simpara> + <literal> + AddType application/x-httpd-php .php .phtml + </literal> + </simpara> + </listitem> + <listitem> + <simpara> + <literal> + Action application/x-httpd-php "/php/php.exe" + </literal> + </simpara> + </listitem> + </itemizedlist> + </para> + <para> + 만약 아파치에서 PHP를 모듈로 사용하고 싶다면, + <filename>php4ts.dll</filename>을 windows/system (Windows 9x/Me의 경우) 이나 + winnt/system32 (Windows NT/2000의 경우) 디렉토리로 옮겨야 한다. + 그런 다음 아파치 conf 파일에 다음 두줄을 추가해 주어야 +한다. : + <itemizedlist> + <listitem> + <simpara> + <literal> + LoadModule php4_module c:/php/sapi/php4apache.dll + </literal> + </simpara> + </listitem> + <listitem> + <simpara> + <literal> + AddType application/x-httpd-php .php .phtml + </literal> + </simpara> + </listitem> + </itemizedlist> + </para> + <simpara> + 소스 코드 하이라이팅 기능(소스에 색깔을 넣어서 보기 좋게 +출력해 주는 기능)을 + 사용하기 위해서는 다음과 같은 내용을 가지는 스크립트를 +만들어주면 된다. : + <literal><?php show_source("original_php_script.php"); ?></literal> + 여기서 <literal>original_php_script.php</literal> 를 여러분이 원하는 +소스 + 코드의 이름으로 바꿔주면 된다. (이것이 유일한 +방법입니다.) + </simpara> + <note> + <simpara> + Win-Apache에서 "c:\directory\file.ext"와 같은 path에 사용되는 + 모든 백슬래시(\)는 일반 슬래시(/)로 바꿔야 합니다. + </simpara> + </note> + </sect2> + </sect1> + <sect1 id="install.commandline"> + <title>CGI/Commandline 서버 설치 </title> + <para> + PHP는 디폴트로 CGI 프로그램으로 만들어 진다. + 이것은 CGI 형태로 사용하거나, 웹과 관련이 없는 PHP +스크립팅에 + 사용할 수 있는 commandline 인터프리터가 된다. + 만약 PHP가 모듈로 탑재될 수 있는 웹 서버를 운영중이라면, + 일반적으로 모듈이 더 좋은 성능을 낸다. + 하지만, CGI 버전은 아파치 사용자들에게 다른 user-id를 +사용하여 + 별도의 PHP-enabled 페이지를 실행할 수 있도록 해 준다. + 만약 PHP를 CGI로 실행하고 싶다면 <link linkend="security">Security +chapter</link> 를 반드시 읽어보기 바란다. + </para> + <sect2 id="install.commandline.testing"> + <title>Testing</title> + <simpara> + PHP를 CGI 프로그램 형태로 만들었다면, + <command>make test</command>라고 입력하여 테스트해 볼 수 있다. + 이 방법은 만들어진 PHP 자체를 테스트하는 좋은 방법이다. + 또한 이 방법은 여러분의 시스템 환경에서 미리 PHP의 문제를 +발견할 수 있게 해 준다. + </simpara> + </sect2> + <sect2 id="install.commandline.benchmarking"> + <title>Benchmarking</title> + <simpara> + PHP3를 CGI 프로그램 형태로 만들었다면, + <command>make bench</command>라고 입력하여 벤치마크 테스트를 할 수 +있다. + 안전 모드(safe mode)의 기본값이 on 되어 있을 때는, + 작업이 허용된 30초 보다 많이 걸리게 되면 벤치마크를 끝낼 +수 없다. + 이것은 안전 모드에서는 <function>set_time_limit</function> 함수를 +사용할 수 없기 때문이다. + 컴파일시의 설정 옵션인 <link +linkend="ini.max-execution-time">max_execution_time</link>을 + 사용하여 시간 간격을 조절할 수는 있다. <command>make +bench</command> 명령은 + <link linkend="configuration.file">configuration file</link>을 무시한다. + </simpara> + <note> + <simpara> + <command>make bench</command>는 PHP +3에서만 유효하다 + </simpara> + </note> + </sect2> + </sect1> + <sect1 id="install.fhttpd"> + <title>fhttpd 서버 설치</title> + <para> + PHP를 fhttpd 모듈로 만들려면, "Build as an fhttpd module?"의 질문에 + "yes"로 답하고, fhttpd 소스의 base 디렉토리를 명시해 주면 된다. + (configure에서는 <option> + <link +linkend="install.configure.with-fhttpd">--with-fhttpd</link>=<replaceable>DIR</replaceable> + </option> 옵션을 주면 된다.) + 기본 디렉토리는<filename +class="directory">/usr/local/src/fhttpd</filename>이다. + 여러분이 fhttpd를 운영중에 있다면, 모듈 형태로 만들어 +실행하는 것이 + 더 좋은 성능을 제공하며, 또한 제어가 가능해지고 원격 +실행도 가능해 진다. + </para> + </sect1> + <sect1 id="install.caudium"> + <title>Caudium 서버 설치</title> + <para> + PHP4는 Caudium 웹서버를 위한 Pike 모듈로 만들어 질 수 있다. + PHP3는 이것을 지원하지 않는다. 아래는 PHP4를 Caudium 모듈로 + 설치하는 간단한 설명이다. + </para> + <example id="install.caudium.instructions"> + <title>Caudium Installation Instructions</title> + <programlisting> +1. PHP4를 설치하기 전에 반드시 Caudium이 설치되어 있어야 한다. + 또한 PHP4가 정상적으로 작동하려면 Pike 7.0.268 이나 이후 +버젼이 필요하다. + 여기서는 Caudium이 /opt/caudium/server/에 설치되어 있다고 +가정한다. +2. php-x.y.z 로 이동한다. (x.y.z는 버젼 번호) +3. ./configure --with-caudium=/opt/caudium/server +4. make +5. make install +6. Caudium이 실행중이라면 재시작한다. +7. 그래픽환경의 설정에 들어가 PHP4를 지원하기를 원하는 가상 +서버로 간다. +8. Add Module을 클릭하고 locate를 클릭하여 PHP 4 Script Support 모듈을 +추가한다. +9. 만약 'PHP 4 interpreter isn't available'이라고 나오면, 서버를 +재시작하여야 한다. + 만약 재 시작했는데도 계속 이런 에러가 난다면 +/opt/caudium/logs/debug/default.1에서 + <filename>PHP4.so</filename>와 관련된 에러를 확인해 보기 바란다. + 또한 <filename>caudium/server/lib/[pike-version]/PHP4.so</filename>이 +존재하는가도 + 확인해보자. +10. 필요하다면 PHP Script Support 모듈을 설정한다. + </programlisting> + </example> + <para> + 물론 Caudium 모듈을 여러 PHP4에 다른 확장을 포함하도록 +컴파일하는 것도 가능하다. + 자세한 설명은 <link linkend="install.configure">complete list of configure +options</link>을 보자. + </para> + <note> + <para> + PHP4를 MySQL지원으로 커파일 할 때 일반적인 MySQL 클라이언트 +코드를 사용하도록 + 명시해 주어야 한다. 그렇지 않으면 Pike 가 이미 MySQL 지원을 +포함하고 있을 때는 + 충돌이 생긴다. 이 지정은 <link +linkend="install.configure.with-mysql">--with-mysql 옵션에</link> + MySQL의 설치 디렉토리를 지정해주면 된다. + </para> + </note> + </sect1> + <sect1 id="install.iis"> + <title>IIS/PWS 서버 설치</title> + <para> + 이 장은 PHP를 IIS (Microsoft Internet Information Server)에 설치하는데 +있어서의 + 여러가지 주의점과 힌트를 포함하고 있다. 각각 + <link linkend="install.iis.iis3">PWS/IIS 3</link>, + <link linkend="install.iis.pws4">PWS 4 혹은 최신</link> + <link linkend="install.iis.iis4">IIS 4 혹은 최신</link> +버젼으로 나누어 설명한다. + </para> + <sect2 id="install.iis.iis3"> + <title>Windows 와 PWS/IIS 3</title> + <simpara> + 이 서버에서의 설정은 배포판의 INF 파일(php_iis_reg.inf)을 +사용하는 것을 권한다. + 여러분은 이 파일을 수정하여 여러분이 원하는 PHP 설치 +디렉토리와 확장 내용들을 설정할 수 있다. + 만약 수동으로 설정하고 싶다면 다음과 같이 합니다. + </simpara> + <warning> + <para> + 이 과정은 윈도우의 resistry를 직접 만지게 됩니다. + 하나의 실수가 여러분의 시스템 전체를 불안한 상태로 만들 +수 있습니다. + 우리는 여러분이 registry를 편집하기 전에 반드시 편집 전의 +registry를 백업해 + 놓을 것을 절대적으로 권장합니다. PHP 개발팀은 어떠한 +registry의 파손도 + 책임지지 않습니다. 만약 registry에 손상이 갈 경우 OS를 새로 +깔기 전에는 + 부팅되지 않을 수도 있습니다. + </para> + </warning> + <para> + <itemizedlist> + <listitem> + <simpara> + Regedit를 실행한다. + </simpara> + </listitem> + <listitem> + <simpara> + 다음으로 이동한다: <literal>HKEY_LOCAL_MACHINE /System + /CurrentControlSet /Services /W3Svc /Parameters + /ScriptMap</literal>. + </simpara> + </listitem> + <listitem> + <simpara> edit 메뉴를 선택하여 <literal>New->String Value</literal>를 선택한다. </simpara> </listitem> <listitem> <simpara> PHP script가 사용할 확장자를 입력한다. ( ex: <literal>.php</literal>) - Type in the extension you wish to use for your php - scripts. ex: <literal>.php</literal> - </simpara> + </simpara> </listitem> <listitem> <simpara> @@ -2414,7 +3347,7 @@ <listitem> <simpara> 여러분이 이전 과정에서 설정한 확장자를 Key의 이름으로 지정한다. ( ex: <literal>.php</literal> ) - </simpara> + </simpara> </listitem> <listitem> <simpara> @@ -2459,7 +3392,8 @@ <listitem> <simpara> <literal>command</literal>라고 정한 새 키를 Highlight시키고 오른쪽 창에서 "default value" 를 더블 클릭한 후에 - <literal>php.exe</literal>의 path를 적는다. ( ex: <literal>c:\php\php.exe -q %1</literal> ) (<literal>%1</literal>을 잊지 말도록) . + <literal>php.exe</literal>의 path를 적는다. ( ex: +<literal>c:\php\php.exe -q %1</literal> ) + (<literal>%1</literal>을 잊지 말도록) . </simpara> </listitem> <listitem> @@ -2469,115 +3403,270 @@ </listitem> <listitem> <simpara> - PWS를 윈도우즈에서 현재 새용중이면, 윈도우즈를 리부트하여 registry를 다시 로드하도록 합니다. + PWS를 윈도우즈에서 현재 사용중이면, 윈도우즈를 +리부트하여 registry를 다시 로드하도록 합니다. </simpara> </listitem> </itemizedlist> </para> <simpara> - PWS와 IIS 3 사용자들은 현재 실제로 운영중인 시스템을 갖고 있습니다. - IIS 3 사용자들은 Steven Genusa가 작성한 스크립트 맵을 설정하는 매력적인 <ulink url="&url.iiscfg;">tool</ulink>을 사용할 수 있습니다. + PWS와 IIS 3 사용자들은 현재 실제로 훌륭하게 운영중인 +시스템을 갖고 있습니다. + IIS 3 사용자들은 Steven Genusa가 작성한 스크립트 맵을 설정하는 +매력적인 + <ulink url="&url.iiscfg;">도구</ulink>를 사용할 수 있습니다. </simpara> </sect2> - <sect2 id="install.windowsnt.iis4"> - <title>Windows NT and IIS 4</title> + <sect2 id="install.iis.pws4"> + <title>Windows 와 PWS 4 혹은 최신</title> <simpara> - PHP를 IIS 4가 운영중인 NT Server에 설치하려면 다음 과정을 따른다. : + PHP를 window에서 PWS 4 혹은 최신 버젼에 설치하는 방법은 +두가지가 있다. + 하나는 PHP CGI 바이너리를 사용하는 방법이고, + 다른 방법은 ISAPI 모듈 DLL로 만들어 사용하는 방법이다. </simpara> <para> - <itemizedlist> + 만약 CGI 바이너리를 선택했다면 다음과 같이 한다. : + <itemizedlist> <listitem> <simpara> - Internet Service Manager (MMC)에서, Web site를 선택하거나 application의 시작이 되는 디렉토리를 선택한다. - </simpara> + php.exe가 어디에 있는 가를 명시하기 위해 같이 포함되어 +있는 + <filename>pws-php4cgi.reg</filename> 파일(sapi 디렉토리를 보라)을 + 편집한다. 슬래시는 반드시 escaped 되어야 한다. 예를 들어 : + +<literal>[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script + Map] + ".php"="C:\\PHP\\php.exe"</literal> + </simpara> </listitem> <listitem> <simpara> - 오른쪽 버튼을 클릭하고 properties(등록정보)를 선택하여, - 디렉토리의 property sheets(등록 정보 화면)을 연 후에, - Home Directory나 Virtual Directory 혹은 Directory 탭을 클릭한다. + PWS 매니저에서 PHP를 지원하기 원하는 디렉토리에다 +오른쪽 버튼을 클릭하고 + properties(등록정보)를 선택하여, 'Execute' 체크박스를 체크한 +후 confirm한다. </simpara> </listitem> + </itemizedlist> + </para> + <para> + 만약 ISAPI 모듈을 선택했다면 다음과 같이 한다. : + <itemizedlist> + <listitem> + <simpara> + php4isapi.dll가 어디에 있는 가를 명시하기 위해 같이 +포함되어 있는 + <filename>pws-php4isapi.reg</filename> 파일(sapi 디렉토리를 보라)을 + 편집한다. 슬래시는 반드시 escaped 되어야 한다. 예를 들어 : + +<literal>[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script + Map] + ".php"="C:\\PHP\\sapi\\php4isapi.dll"</literal> + </simpara> + </listitem> <listitem> <simpara> - Configuration 버튼을 클릭한후 App Mappings 탭을 클릭한다. + PWS 매니저에서 PHP를 지원하기 원하는 디렉토리에다 +오른쪽 버튼을 클릭하고 + properties(등록정보)를 선택하여, 'Execute' 체크박스를 체크한 +후 confirm한다. </simpara> </listitem> + </itemizedlist> + </para> + </sect2> + <sect2 id="install.iis.iis4"> + <title>Windows NT/2000 과 IIS 4 혹은 최신</title> + <simpara> + PHP를 IIS 4가 운영중인 NT/2000 서버에 설치하려면 다음 과정을 +따른다. + PHP를 설치하는데는 두가지 옵션이 있다. + CGI 바이너리(php.exe)를 사용하는 방법과 ISAPI 모듈을 사용하는 +방법이다. + </simpara> + <simpara> + 어떤 경우든, Microsoft Management Console을 시작해야 한다. + (이것은 NT 4.0 Option Pack 아래나, windows 2000에서는 Control + Panel=>Administrative Tools 아래에 'Internet Services Manager'이라는 + 이름으로 있다.) 시작한 후에, 여러분의 웹서버 노드(보통 +'Default Web Server'로 + 되어 있다.)에서 오른쪽 버튼을 클릭하고 +properties(등록정보)를 선택한다. + </simpara> + <para> + 만약 CGI 바이너리를 사용하기를 원한다면 다음과 같이 한다. +: + <itemizedlist> <listitem> <simpara> - Add를 클릭하여 Executable 박스에서 다음과 같이 입력한다. : <literal>c:\path-to-php-dir\php.exe %s %s</literal>. 이때 반드시 맨 뒤에 %s %s를 붙여주어야 합니다. 그렇지 않으면 PHP는 올바르게 작동하지 않습니다. + 'Home Directory' 나 'Virtual Directory' 혹은 'Directory' 밑에 +'Configuration' 버튼을 클릭한 후, + App Mappings 탭으로 들어간다. </simpara> </listitem> <listitem> <simpara> + Add를 클릭하여 Executable 박스에서 다음과 같이 입력한다. : + <literal>c:\php\php.exe %s %s</literal>(PHP를 c:\php\에 풀어놓았다고 +가정). + 이때 반드시 맨 뒤에 %s %s를 붙여주어야 합니다. 그렇지 +않으면 PHP는 올바르게 작동하지 않습니다. + </simpara> + </listitem> + <listitem> + <simpara> Extension 박스에서 PHP스크립트들의 파일 확장자를 입력합니다. - 각각의 확장자에 대하여 이 과정을 반복합니다. - (<literal>.php</literal>와 <literal>.phtml</literal> 공통입니다.) + 'Method exclusions'은 빈칸으로 남겨두고, Script engine 체크박스는 + 체크합니다. 각각의 확장자에 대하여 스텝 3과 4의 과정을 +반복합니다. + (<literal>.php</literal>와 <literal>.phtml</literal>이 일반적입니다.) </simpara> </listitem> <listitem> <simpara> 적당한 보안을 설정한다. (이것으로 Internet Service Manager에서의 설정은 끝이다.) - 만약 여러분이 NT Server에 NTFS 파일 시스템을 사용한다면, - <literal>php.exe</literal>가 있는 디렉토리에 대하여 I_USR_ 사용자에게 실행 권한을 주어야 한다 + 만약 여러분이 NT Server에 NTFS 파일 시스템을 사용한다면, + <literal>php.exe</literal>가 있는 디렉토리에 대하여 I_USR_ +사용자에게 실행 권한을 주어야 한다 </simpara> </listitem> </itemizedlist> </para> - </sect2> - <sect2 id="install.windows.apache"> - <title>Windows 9x/NT와 Apache 1.3.x</title> - <simpara> - Apache를 PHP CGI binary와 함께 실행하도록 설정하려면 - <literal>srm.conf</literal>이나 <literal>httpd.conf</literal>를 다음과 같이 수정하여야 한다. - </simpara> - <simpara> - - 비록 Apache하에서 PHP의 설정이 약간 차이가 있을지 모르지만, 이 설정은 초보자도 할 수 있을 정도로 쉽다. - 여기에 나온 것 이상의 설정 지시자는 Apache Docs를 참조하도록 하자. - </simpara> <para> - <itemizedlist> + ISAPI module로 사용하기를 원한다면 다음과 같이 한다. : + <itemizedlist> <listitem> <simpara> - <literal> - ScriptAlias /php/ "c:/path-to-php-dir/" - </literal> - </simpara> + 만약 PHP를 사용한 HTTP 인증을 원하지 않는다면, + 이 과정을 넘어갈 수 있다.(사실 반드시 넘어가야 한다.) + ISAPI Filters 밑에서 add a new ISAPI filter를 선택한다. + PHP를 필터이름으로 하고, 경로명에 php4isapi.dll를 지정한다. + </simpara> </listitem> <listitem> <simpara> - <literal> - AddType application/x-httpd-php .php - </literal> - </simpara> + 'Home Directory' 밑에 'Configuration' 버튼을 클릭한 후, + App Mappings 에 새 Entry를 추가한다. + 경로에는 php4isapi.dll 를 Executable로 지정하고, .php를 + 확장자로 지정한다. 'Method exclusions'은 빈칸으로 남겨두고, + Script engine 체크박스는 체크합니다. + </simpara> </listitem> <listitem> <simpara> - <literal> - AddType application/x-httpd-php .phtml - </literal> - </simpara> + IIS를 완전히 정지시킨다. + </simpara> </listitem> <listitem> <simpara> - <literal> - Action application/x-httpd-php "/php/php.exe" - </literal> - </simpara> + IIS를 새로 시작한다. + </simpara> </listitem> </itemizedlist> </para> - <simpara> - -소스 코드 하이라이팅 기능(소스에 색깔을 넣어서 보기 좋게 출력해 주는 기능)을 사용하기 위해서는 -다음과 같은 내용을 가지는 스크립트를 만들어주면 된다. : <literal><?php show_source("original_php_script.php"); ?></literal> -여기서 <literal>original_php_script.php</literal> 를 여러분이 원하는 소스 코드의 이름으로 바꿔주면 된다 -<emphasis>Note:</emphasis>: Win-Apache에서 "c:\directory\file.ext"와 같이 path에 사용되는 모든 백슬래시(\)는 일반 슬래시(/)로 바꿔야 합니다. - </simpara> </sect2> - <sect2 id="install.windows.omnihttpd"> - <title>Windows에서 Omni HTTPd 2.0b1</title> + </sect1> + <sect1 id="install.netscape-enterprise"> + <title>Netscape 와 iPlanet Enterprise 서버 설치</title> + <para> + PHP를 NES 나 iPlanet 웹 서버에 설치하려면 + <option><link linkend="install.configure.with-nsapi">--with-nsapi</link> = + <replaceable>DIR</replaceable></option> 옵션에 올바른 설치 +디렉토리를 지정해 주면 된다. + 보통 기본값은 <filename +class="directory">/opt/netscape/suitespot/</filename>이다. + <filename>/php-xxx-version/sapi/nsapi/nsapi-readme.txt</filename> 파일을 +읽어보기 바란다. + </para> + <para> + <example id="install.netscape-enterprise.solaris"> + <title> + Solaris에서 Netscape Enterprise에 설치하는 예 + </title> + <programlisting> +Sun Solaris 2.6 과 Netscape Enterprise Server 3.6 에서의 설치과정 +From: [EMAIL PROTECTED] + +1. www.sunfreeware.com 나 기타 다른 사이트에서 다음의 패키지들을 +다운받아 설치한다. + flex-2_5_4a-sol26-sparc-local + gcc-2_95_2-sol26-sparc-local + gzip-1.2.4-sol26-sparc-local + perl-5_005_03-sol26-sparc-local + bison-1_25-sol26-sparc-local + make-3_76_1-sol26-sparc-local + m4-1_4-sol26-sparc-local + autoconf-2.13 + automake-1.4 + mysql-3.23.24-beta (if you want mysql support) + tar-1.13 (GNU tar) + +2. 다음과 같이하여 PATH 환경변수에 원하는 경로들을 포함시킨다. + PATH=.:/usr/local/bin:/usr/sbin:/usr/bin:/usr/ccs/bin + export PATH + +3. gunzip php-x.x.x.tar.gz (.gz 배포본일 경우, 아니면 4로 진행) +4. tar xvf php-x.x.x.tar +5. cd ../php-x.x.x + +6. 여기서는 /opt/netscape/suitespot/에 netscape 서버가 설치되어 있다고 +가정한다. + 만약 다른 경로에 설치되어 있다면 그에 맞춰 경로명을 +바꾸도록 한다. : + ./configure --with-mysql=/usr/local/mysql --with-nsapi=/opt/netscape/suitespot/ +--enable-track-vars --enable-libgcc +7. make +8. make install + </programlisting> + </example> + 이제 설치의 기초를 마쳤으면 적절한 readme 파일을 읽어보는 +것이 좋다. + 지금부터 시작될 추가적인 설정에 필요한 정보를 얻을 수 +있을 것이다. + </para> + <para> + 우선 Netscape가 모든 공유 라이브러리들을 찾을 수 있도록 + LD_LIBRARY_PATH 환경변수에 원하는 경로들을 추가해주어야 한다. + 이작업은 Netscape 서버에서 제공하는 start 스크립트를 +사용하는 것이 가장 좋다. + windows 사용자들은 이 과정을 생략할 수 있다. + start 스크립트는 보통 다음 경로에 위치한다. : + <filename class="directory">/path/to/server/https-servername/start</filename> + </para> + <para> + 또한 다음에 위치한 설정파일을 수정하여야 한다. : + <filename class="directory">/path/to/server/https-servername/config/</filename>. + </para> + <example id="install.netscape-enterprise.configure"> + <title>Netscape Enterprise의 설정 예</title> + <programlisting> +Netscape Enterprise Server 에서의 설정 과정 +From: [EMAIL PROTECTED] + +1. mime.types에 다음 라인을 추가한다. : + type=magnus-internal/x-httpd-php exts=php + +2. obj.conf에 다음을 추가한다. shlib는 사용하는 OS에 따라 +달라지는데, + unix에서는 보통 /opt/netscape/suitespot/bin/libphp4.so의 형태를 취한다. + + + 다음 라인들은 mime types init뒤에 위치한다. + Init fn="load-modules" funcs="php4_init,php4_close,php4_execute,php4_auth_trans" +shlib="/php4/nsapiPHP4.dll" + Init fn=php4_init errorString="Failed to initialize PHP!" + + <object name="default"> + . + . + . + .#NOTE 다음 라인은 모든 'ObjectType'보다 뒤에, 모든 'AddLog' +라인들보다 앞에 위치해야 한다. + Service fn="php4_execute" type="magnus-internal/x-httpd-php" + . + . + </Object> + + + <Object name="x-httpd-php"> + ObjectType fn="force-type" type="magnus-internal/x-httpd-php" + Service fn=php4_execute + </Object> + + + 인증 설정 (authentication configuration) + + PHP의 인증은 다른 인증과 함께 사용될 수 없다. 모든 인증은 +여러분이 작성한 PHP 스크립트로 넘어간다. + 서버 전체에 대해 PHP 인증을 설정하려면 다음 라인을 +추가한다. : + + <Object name="default"> + AuthTrans fn=php4_auth_trans + . + . + . + . + </Object> + + + 특정 디렉토리에 대해서만 PHP 인증을 설정하려면 다음을 +추가한다. : + + <Object ppath="d:\path\to\authenticated\dir\*"> + AuthTrans fn=php4_auth_trans + </Object> + </programlisting> + </example> + </sect1> + <sect1 id="install.omnihttpd"> + <title>OmniHTTPd 서버 설치</title> + <para> + 이 장은 OmniHTTPd 에서의 여러가지 주의점과 힌트를 포함하고 +있다. + </para> + <sect2 id="install.omnihttpd.windows"> + <title>Windows에서 Omni HTTPd 2.0b1 이상</title> <simpara> 이 설정은 매우 쉬운 편이다. </simpara> @@ -2590,7 +3679,8 @@ </listitem> <listitem> <para> - Step 2:system tray의 푸른색 OmniHTTPd 아이콘에서 오른쪽 버튼을 클릭하여 <literal>Properties(등록정보)</literal>를 선택한다. + Step 2:system tray의 푸른색 OmniHTTPd 아이콘에서 오른쪽 버튼을 +클릭하여 + <literal>Properties(등록정보)</literal>를 선택한다. </para> </listitem> <listitem> @@ -2620,116 +3710,108 @@ <simpara> PHP의 모든 확장자에 대해 steps 2 - 6을 반복한다. </simpara> + <note> + <para> + 일부 OmniHTTPd 패키지에는 PHP 지원이 포함되어 있다. + 처음 설치시에 사용자 설정을 선택하여, PHP 컴포넌트에 되어 +있는 + 선택을 취소하도록 한다. 우리는 당연히 최신 버젼의 PHP를 + 사용하기를 권한다. 일부 OmniHTTPd 서버는 PHP4 베타 배포판을 + 포함하고 있는 경우도 있는데, 이런 경우 더더욱 빼고 +여러분이 직접 + 최신 버젼을 설치하는 것이 좋다. 만약 서버가 이미 +시스템에 설치된 + 경우라면 스텝 4와 5에서 Replace 버튼을 사용하여 새로운 + PHP에 대한 올바른 정보를 샐로 설정해야 한다. + </para> + </note> </sect2> - <sect2 id="install.windows.installer"> - <title>Windows Installshield</title> - <para> - The Windows PHP installer available from the downloads page at - <ulink url="&url.php;">&url.php;</ulink> installs the CGI version of - PHP and, for IIS, PWS, and Xitami, configures the web server as well. - </para> - <simpara> - Install your choosen http server on your system and make sure it all works. - </simpara> - <simpara> - Run the installer exe file and follow the instructions provided by the - installation wizard. Two types of installation are supported - standard, - which provides sensible defaults for all the settings it can, and - advanced, which asks questions as it goes along. - </simpara> + </sect1> + <sect1 id="install.oreilly"> + <title>Oreilly Website Pro 서버 설치</title> + <para> + 이 장은 Oreilly Website Pro에서의 여러가지 주의점과 힌트를 +포함하고 있다. + </para> + <sect2 id="install.oreilly.windows"> + <title>Windows 환경의 Oreilly Website Pro 2.5 이상 +</title> <simpara> - The installation wizard gathers enough information to set up the - <filename>php.ini</filename> file and configure the web server to use PHP. - For IIS and also PWS on NT Workstation, a list of all the nodes on the server - with script map settings is displayed, and you can choose those nodes to which - you wish to add the PHP script mappings. + 아래 목록은 Windows 환경에서 Oreilly Website Pro에 PHP를 CGI +바이너리로 + 설정하는 방법과 ISAPI 모듈로 설정하는 방법에 대해 +설명하고 있다. </simpara> + <para> + <itemizedlist> + <listitem> + <para> + Edit the Server Properties 에서 "Mapping" 탭을 선택한다. + </para> + </listitem> + <listitem> + <para> + List에서 "Associations"을 선택하고, 원하는 확장자(".php")와 + CGI exe (ex. c:\php\php.exe)의 경로나 ISAPI dll 파일 + (ex. c:\php\sapi\php4isapi.dll)의 경로를 입력한다. + </para> + </listitem> + <listitem> + <para> + "Content Types"을 선택하여 위에서 입력한 것과 동일한 +확장자 + (".php")를 입력하고 content type을 입력한다. + CGI exe를 선택했다면 'wwwserver/shellcgi'를, + ISAPI module이라면 'wwwserver/isapi'를 입력한다. + (모두 따옴표는 제외) + </para> + </listitem> + </itemizedlist> + </para> + </sect2> + </sect1> + <sect1 id="install.xitami"> + <title>Xitami 서버 설치</title> + <para> + 이 장은 Xitami에서의 여러가지 주의점과 힌트를 포함하고 +있다. + </para> + <sect2 id="install.xitami.windows"> + <title>Xitami for Windows</title> <simpara> - Once the installation has completed the installer will inform you if you - need to restart your system, restart the server, or just start using PHP. + 아래 목록은 Windows 환경에서 Oreilly Website Pro에 PHP를 CGI +바이너리로 + 설정하는 방법에 대해 설명하고 있다. </simpara> - </sect2> - <sect2 id="install.windows.modules"> - <title>PHP Modules</title> <para> - <table> - <title>PHP Modules</title> - <tgroup cols="2"> - <tbody> - <row> - <entry>php_calendar.dll</entry> - <entry>Calendar conversion functions</entry> - </row> - <row> - <entry>php_crypt.dll</entry> - <entry>Crypt functions</entry> - </row> - <row> - <entry>php_dbase.dll</entry> - <entry>DBase functions</entry> - </row> - <row> - <entry>php_dbm.dll</entry> - <entry>GDBM emulation via Berkely DB2 library</entry> - </row> - <row> - <entry>php_filepro.dll</entry> - <entry>READ ONLY access to filepro databases</entry> - </row> - <row> - <entry>php_gd.dll</entry> - <entry>GD Library functions for gif manipulation</entry> - </row> - <row> - <entry>php_hyperwave.dll</entry> - <entry>HyperWave functions</entry> - </row> - <row> - <entry>php_imap4r2.dll</entry> - <entry>IMAP 4 functions</entry> - </row> - <row> - <entry>php_ldap.dll</entry> - <entry>LDAP functions</entry> - </row> - <row> - <entry>php_msql1.dll</entry> - <entry>mSQL 1 client</entry> - </row> - <row> - <entry>php_msql2.dll</entry> - <entry>mSQL 2 client</entry> - </row> - <row> - <entry>php_mssql.dll</entry> - <entry>MSSQL client (requires MSSQL DB-Libraries</entry> - </row> - <row> - <entry>php3_mysql.dll (Built into PHP 4)</entry> - <entry>MySQL functions</entry> - </row> - <row> - <entry>php_nsmail.dll</entry> - <entry>Netscape mail functions</entry> - </row> - <row> - <entry>php_oci73.dll</entry> - <entry>Oracle functions</entry> - </row> - <row> - <entry>php_snmp.dll</entry> - <entry>SNMP get and walk functions (NT only!)</entry> - </row> - <row> - <entry>php_zlib.dll</entry> - <entry>ZLib functions</entry> - </row> - </tbody> - </tgroup> - </table> + <itemizedlist> + <listitem> + <para> + 웹서버를 실행하고, 브라우저에 xitamis admin console을 띄운다. + (보통 http://127.0.0.1/admin 이다) 화면이 나오면 Configuration을 +클릭한다. + </para> + </listitem> + <listitem> + <para> + Filters화면을 띄우고, File extensions (.xxx) 필드에 PHP로 +처리되기를 + 원하는 스크립트의 확장자(예, .php)를 입력한다. + </para> + </listitem> + <listitem> + <para> + Filter command or script 에 PHP 실행 파일의 경로와 파일명을 +입력한다. + (예, c:\php\php.exe) + </para> + </listitem> + <listitem> + <para> + 'Save' 아이콘을 누른다. + </para> + </listitem> + </itemizedlist> </para> </sect2> </sect1> + <sect1 id="install.otherhttpd"> + <title>다른 웹서버</title> + <para> + PHP는 다양한 웹 서버들에서 사용될 수 있다. + 웹서버와 관련된 자세한 설정 내용은 + <link linkend="install.configure.servers">Server-related options</link>을 + 보도록 하자. PHP CGI 바이너리는 CGI 인터페이스를 제공하는 + 대부분의 웹서버에서 사용이 가능하다. + </para> + </sect1> <sect1 id="install-problems"> <title>Problems?</title> <sect2> @@ -2755,8 +3837,8 @@ 만약 여러분이 아직도 고생하고 있다면, PHP의 메일링 리스트(mailing list)가 도움을 줄 수 있을 것이다. 단, 어떤 질문을 하기 전에 우선 보관 문서(archive)를 찾아보아 같은 문제에 대한 해답이 있는지 찾아보는 것을 잊지 말도록 하자. 보관 문서는 <ulink url="&url.php;">&url.php;</ulink>에서 찾아 볼 수 있다. - PHP 메일링 리스트에 참가하려면 <ulink url="mailto:&email.php3.subscribe;">&email.php3.subscribe;</ulink>으로 - 빈 편지를 하나 보내면 된다. mailing list 주소는 <literal>&email.php3;</literal>이다. + PHP 메일링 리스트에 참가하려면 <ulink +url="mailto:&email.php.install.subscribe;">&email.php.install.subscribe;</ulink>으로 + + 빈 편지를 하나 보내면 된다. mailing list 주소는 +<literal>&email.php.install;</literal>이다. </simpara> <simpara> 만약 여러분이 mailing list를 통해서 어떤 도움을 받고 싶다면,