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를 통해서 어떤 도움을 받고
싶다면,