cvs: phpdoc-ca /install/unix sun.xml

From: Date: Thu, 04 Aug 2005 13:38:37 +0000
Subject: cvs: phpdoc-ca /install/unix sun.xml
Groups: php.doc.ca 
Request: Send a blank email to doc-ca+get-31@lists.php.net to get a copy of this message
eduardcapell Thu Aug 4 09:38:37 2005 EDT Added files: /phpdoc-ca/install/unix sun.xml Log:

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 &gt;= 6) o bé <filename>obj.conf</filename> (per servidors &lt; 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 &gt;= 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 &gt;= 4.3.3) Com a paràmetres addicionals, podeu afegir alguns valors &php.ini;-especials, per exemple podeu indicar un <literal>docroot=&quot;/ruta/a/arreldocs&quot;</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>&quot;On&quot;,&quot;Off&quot;,...</literal> (això darrer no funcionaria), per exemple <literal>zlib.output_compression=1</literal> en lloc de <literal>zlib.output_compression=&quot;On&quot;</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&Oacute; 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ó &quot;MAGNUS EDITOR&quot;). </para> </note> <sect2 id="install.unix.sun.phpini"> <title>Entorn CGI i modificacionsn recomanades en el fitxer php.ini</title> <para> &Eacute;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>&quot;E&quot;</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 &gt;= 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=&quot;magnus-internal/directory&quot;</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 &gt;= 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 -->
« previous php.doc.ca (#31) next »