cvs: phpdoc-ca /install/unix sun.xml
[email protected] ("Eduard Capell Brufau") Thu, 04 Aug 2005 13:38:37 -0000
| Newsgroups | php.doc.ca |
|---|---|
| Message-ID | <cvseduardcapell1123162716@cvsserver> |
--eduardcapell1123162717
Content-Type: text/plain
eduardcapell Thu Aug 4 09:38:37 2005 EDT
Added files:
/phpdoc-ca/install/unix sun.xml
Log:
--eduardcapell1123162717
Content-Type: text/plain
Content-Disposition: attachment; filename="eduardcapell-20050804093837.txt"
http://cvs.php.net/co.php/phpdoc-ca/install/unix/sun.xml?r=1.1&p=1
Index: phpdoc-ca/install/unix/sun.xml
+++ phpdoc-ca/install/unix/sun.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<!-- EN-Revision: 1.1 Maintainer: eduardcapell Status: ready -->
<sect1 id="install.unix.sun">
<title>Servidors Sun, iPlanet i Netscape sobre Sun Solaris</title>
<para>
Aquesta secció contè notes i consells específics per a la instal·lació de PHP
en Sun Solaris, sobre els servidors Sun Java System Web Server,
Sun ONE Web Server, iPlanet i Netscape.
</para>
<para>
Des de la versió 4.3.3 de PHP en endavant podeu utilitzar seqüències
PHP amb el <link linkend="ref.nsapi">NSAPI module</link> per tal de
<link linkend="install.unix.sun.specialpages">generar llistats de
directoris personalitats i pàgines d'error personalitzades</link>.
Les funcions addicionals per la compatibilitat amb Apache estan
disponibles. Per suport en els servidors web actuals, llegiu la
<link linkend="install.unix.sun.notes">nota sobre sub-peticions</link>.
</para>
<para>
Podeu trobar més informació sobre com configurar el PHP pel Netscape
Enterprise Server (NES) aquí:
<ulink url="&url.netscape.nsapi;">&url.netscape.nsapi;</ulink>
</para>
<para>
Per a muntar el PHP amb els servidors web Sun JSWS/Sun ONE WS/iPlanet/Netscape,
indiqueu el directori d'instal·lació apropiat en l'opció
<link linkend="configure.with-nsapi">--with-nsapi=[DIR]</link>.
El directori per defecte sol ser
<filename class="directory">/opt/netscape/suitespot/</filename>.
Llegiu-vos també el fitxer
<filename>/php-xxx-version/sapi/nsapi/nsapi-readme.txt</filename>.
</para>
<para>
<orderedlist>
<listitem>
<para>
Instal·leu els següents paquets de <ulink url="&url.sun.freeware;">
&url.sun.freeware;</ulink> o descarregueu-los d'un altre lloc:
<simplelist>
<member><filename>autoconf-2.13</filename></member>
<member><filename>automake-1.4</filename></member>
<member><filename>bison-1_25-sol26-sparc-local</filename></member>
<member><filename>flex-2_5_4a-sol26-sparc-local</filename></member>
<member><filename>gcc-2_95_2-sol26-sparc-local</filename></member>
<member><filename>gzip-1.2.4-sol26-sparc-local</filename></member>
<member><filename>m4-1_4-sol26-sparc-local</filename></member>
<member><filename>make-3_76_1-sol26-sparc-local</filename></member>
<member>
<filename>mysql-3.23.24-beta</filename> (si voleu suport mysql)
</member>
<member><filename>perl-5_005_03-sol26-sparc-local</filename></member>
<member><filename>tar-1.13</filename> (GNU tar)</member>
</simplelist>
</para>
</listitem>
<listitem>
<simpara>
Assegureu-vos que la ruta predeterminada inclou els
directoris necessaris
<literal>PATH=.:/usr/local/bin:/usr/sbin:/usr/bin:/usr/ccs/bin</literal>
i feu-la visible per tot el sistema <userinput>export PATH</userinput>.
</simpara>
</listitem>
<listitem>
<simpara>
<userinput>gunzip php-x.x.x.tar.gz</userinput> (si teniu una dist .gz ,
si no és el cas anteu al punt 4).
</simpara>
</listitem>
<listitem>
<simpara>
<userinput>tar xvf php-x.x.x.tar</userinput>
</simpara>
</listitem>
<listitem>
<simpara>
Canvieu al directori on heu extret el PHP:
<userinput>cd ../php-x.x.x </userinput>
</simpara>
</listitem>
<listitem>
<para>
Pel següent pas, assegureu-vos que
<filename class="directory">/opt/netscape/suitespot/</filename> és
on estigui instal·lat el servidor netscape. Si no, canvieu a la
ruta correcta, i executeu:
<programlisting role="shell">
<![CDATA[../configure --with-mysql=/usr/local/mysql \
--with-nsapi=/opt/netscape/suitespot/ \
--enable-libgcc
]]>
</programlisting>
</para>
</listitem>
<listitem>
<simpara>
Executeu <command>make</command> seguit de <command>make install</command>.
</simpara>
</listitem>
</orderedlist>
</para>
<para>
Després de realitzar la instal·lació bàsica i llegir el fitxer readme
que correspongui, potser haureu de dur a terme alguns passos addicionals
de configuració.
</para>
<formalpara>
<title>Instruccions de Configuració per Sun/iPlanet/Netscape</title>
<para>
Primer, potser haureu d'afegir algunes rutes a la variable d'entorn
<varname>LD_LIBRARY_PATH</varname> per tal que el servidor trobi totes
les biblioteques compartides. Això és millor de fer-ho en l'script d'inici
del servidor web. Aquest script d'inici acostuma a ser a:
<filename class="directory">/path/to/server/https-servername/start</filename>.
Potser també haureu d'editar els fitxers de configuració que són a:
<filename class="directory">/path/to/server/https-servername/config/</filename>.
<orderedlist>
<listitem>
<para>
Afegiu la línia següent a <filename>mime.types</filename> (podeu fer-ho
a través del servidor d'administració):
<screen>
<![CDATA[
type=magnus-internal/x-httpd-php exts=php
]]>
</screen>
</para>
</listitem>
<listitem>
<para>
Editeu <filename>magnus.conf</filename> (per servidors >= 6) o bé
<filename>obj.conf</filename> (per servidors < 6) i afegiu el següent,
shlib variarà depenent del vostre sistema, i serà alguna cosa semblant a
<filename>/opt/netscape/suitespot/bin/libphp4.so</filename>. Hauríeu de
posar les línies següents després de <literal>mime types init</literal>.
<programlisting>
<![CDATA[
Init fn="load-modules" funcs="php4_init,php4_execute,php4_auth_trans" shlib="/opt/netscape/suitespot/bin/libphp4.so"
Init fn="php4_init" LateInit="yes" errorString="Error en inicialitzar el PHP!" [php_ini="/path/to/php.ini"]
]]>
</programlisting>
(PHP >= 4.3.3) El paràmetre <literal>php_ini</literal> és
opcional, però si en feu ús, podreu posar el fitxer &php.ini; en el
directori de config del servidor web.
</para>
</listitem>
<listitem>
<para>
Configureu l'objecte per defecte en <filename>obj.conf</filename>
(per classes de virtual server en el fitxer <filename>vserver.obj.conf</filename>):
<programlisting>
<![CDATA[
<Object name="default">........#NOTE la línia següent hauria d'estar després de tots els 'ObjectType' i abans de tots els 'AddLog'
Service fn="php4_execute" type="magnus-internal/x-httpd-php" [inikey=value inikey=value ...]....
</Object>
]]>
</programlisting>
(PHP >= 4.3.3) Com a paràmetres addicionals, podeu afegir
alguns valors &php.ini;-especials, per exemple podeu indicar un
<literal>docroot="/ruta/a/arreldocs"</literal> específica
al context on <literal>php4_execute</literal> és cridat. Per claus-ini
booleanes, utilitzeu 0/1 com a valors, i no
<literal>"On","Off",...</literal>
(això darrer no funcionaria), per exemple
<literal>zlib.output_compression=1</literal> en lloc de
<literal>zlib.output_compression="On"</literal>
</para>
</listitem>
<listitem>
<para>
Això només és necessari si voleu configurar un directori que només
contingui seqüències PHP (igual que un directori <filename class="directory">cgi-bin</filename>):
<programlisting>
<![CDATA[
<Object name="x-httpd-php">
ObjectType fn="force-type" type="magnus-internal/x-httpd-php"
Service fn=php4_execute [inikey=value inikey=value ...]
</Object>
]]>
</programlisting>
Ara ja podeu configurar un directori en el servidor d'Administració, i assignar-li
l'estil <literal>x-httpd-php</literal>. Tots els fitxers dins del directori
s'executaran com a PHP.
Això és interessant per tal d'amagar l'ús de PHP, renomenant els fitxers a
<filename>.html</filename>.
</para>
</listitem>
<listitem>
<para>
Configuració de l'autenticació: l'autenticació PHP no es pot
utilitzar amb cap altra autenticació. TOTA L'AUTENTICACIÓ ES PASSA AL
VOSTRE SCRIPT PHP.
Per configurar l'Autenticació PHP per tot el servidor, afegir la següent
línia a l'objecte per defecte:
<programlisting>
<![CDATA[
<Object name="default">
AuthTrans fn=php4_auth_trans......
</Object>
]]>
</programlisting>
</para>
</listitem>
<listitem>
<para>
Si voleu utilitzar Autenticació PHP en un sol directori, afegiu el següent:
<programlisting>
<![CDATA[
<Object ppath="d:\ruta\a\directori\autenticat\*">
AuthTrans fn=php4_auth_trans
</Object>
]]>
</programlisting>
</para>
</listitem>
</orderedlist>
</para>
</formalpara>
<note>
<para>
El tamany de pila que PHP utilitza depèn de la configuració del servidor web.
Si el PHP falla amb seqüències grans, us recomanem que incrementeu el tamany
de la pila amb l'Admin Server (en la secció "MAGNUS EDITOR").
</para>
</note>
<sect2 id="install.unix.sun.phpini">
<title>Entorn CGI i modificacionsn recomanades en el fitxer php.ini</title>
<para>
És important, quan escriviu seqüències PHP, que tingueu en compte que
Sun JSWS/Sun ONE WS/iPlanet/Netscape és un servidor web multifil.
Degut a aquest fet, totes les peticions s'executen en un mateix espai de
processos (el propi espai del servidor web), i aquest espai només té
un sol entorn. Si voleu obtenir variables CGI com ara
<literal>PATH_INFO</literal>, <literal>HTTP_HOST</literal>
etc. no és correcte d'intentar-ho a la manera antiga de PHP 3.x amb
<function>getenv</function> o d'alguna manera similar (registrar les
globals a l'entorn, <literal>$_ENV</literal>). Només obtindríeu l'entorn
del servidor web que s'executaria, sense cap variable CGI vàlida!
</para>
<note>
<para>
Per què trobem variables CGI (invàlides) a l'entorn?
</para>
<para>
Resposta: Això passa perquè heu arrencat el procés del servidor web des
de l'admin server, que executa l'script d'arrencada del servidor web, i
estàveu intentant d'arrencar, com un script CGI dins de l'admin server!
Aquest és el motiu pel qual l'entorn del servidor web inicial té algunes
variables d'entorn CGI. Podeu comprovar-ho arrencant el servidor web no
des del servidor d'administració. Utilitzeu la línia de comanda com a
usuari root, i arrenqueu-lo manualment - veureu que no hi ha cap
variable d'enton de tipus CGI.
</para>
</note>
<para>
Senzillament canvieu les vostres seqüències per tal d'obtenir les
variables CGI de la manera correcta en PHP 4.x, utilitzant la variable
superglobal <literal>$_SERVER</literal>. Si teniu seqüències més
antigues, que utilitzin <literal>$HTTP_HOST</literal>, etc., hauríeu
d'habilitar l'opció <literal>register_globals</literal> al fitxer
&php.ini; i canviar l'ordre de les variables (important: elimineu-ne
<literal>"E"</literal>, ja que no necessiteu l'entorn
en aquest cas):
<programlisting>
<![CDATA[
variables_order = "GPCS"
register_globals = On
]]>
</programlisting>
</para>
</sect2>
<sect2 id="install.unix.sun.specialpages">
<title>Utilització especial de les pàgines d'error o de llistats de
directoris personalitzats (PHP >= 4.3.3)</title>
<para>
Podeu utilitzar el PHP per a generar les pàgines d'error per
<literal>"404 Not Found"</literal> o similars. Afegiu la següent línia a
l'objecte a <filename>obj.conf</filename> per cada error que vulgueu tractar:
<programlisting>
<![CDATA[
Error fn="php4_execute" code=XXX script="/ruta/a/script.php" [inikey=value inikey=value...]
]]>
</programlisting>
on <literal>XXX</literal> és el codi d'error HTTP. Esborreu qualsevol
altra directiva <literal>Error</literal> que pugui interferir amb les que
indiqueu vosaltres. Si voleu posar una pàgina per a tots els errors que
puguin existir, elimineu el paràmetre <literal>code</literal>. El vostre
script podrà obtenir el codi d'error HTTP amb
<literal>$_SERVER['ERROR_TYPE']</literal>.
</para>
<para>
Una altra possibilitat és una generació personalitzada de llistats
de directori. Creeu un script que mostri un llistat de directori
i substituïu la línia per defecte Service per
<literal>type="magnus-internal/directory"</literal>
a <filename>obj.conf</filename> pel següent:
<programlisting>
<![CDATA[
Service fn="php4_execute" type="magnus-internal/directory" script="/ruta/a/script.php" [inikey=value inikey=value...]
]]>
</programlisting>
Tan per la gestió d'errors com pels llistats de directoris
la URI original i la URI traduïda són a les variables
<literal>$_SERVER['PATH_INFO']</literal> i
<literal>$_SERVER['PATH_TRANSLATED']</literal>.
</para>
</sect2>
<sect2 id="install.unix.sun.notes">
<title>Una observació sobre <function>nsapi_virtual</function>
i sub-peticions (PHP >= 4.3.3)</title>
<para>
El mòdul NSAPI ara suporta la funció <function>nsapi_virtual</function>
(alias: <function>virtual</function>)
per tal de fer sub-peticions al servidor web i insertar el resultat a
la pàgina web. Aquesta funció utilitza algunes característiques no
documentades de la biblioteca NSAPI. En Unix el mòdul automàticament
busca les funcions necessàries i les utilitza si les ha trobat. Si no,
<function>nsapi_virtual</function> es deshabilita.
</para>
<note>
<para>
Però aneu amb compte: el suport de <function>nsapi_virtual</function>
és EXPERIMENTAL!!!
</para>
</note>
</sect2>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
--eduardcapell1123162717--