Configurar AMFPHP Compartido en un Servidor Dedicado


Introducción

editar

Primero que nada hay que aclarar que se requieren permisos de ROOT (superusuario) para poder acceder al archivo de configuración del apache. Entramos a travez de la consola SSH o por nuestra consola local ( en caso de estarlo montando en un servidor local).

Montando AMFPHP sobre un dominio.

editar

Creas una carpeta en tu dominio principal llamada remoting; luego dentro de ella metes la carpeta flashservices y creas el archivo gateway.php; si no entienden nada de esto, deben leer los dos tutoriales referenciados al inicio. Quedara algo similar a esto: Archivo:Remoting dir.jpg En el archivo gateway.php imagino que tienes algo como esto:

<?php
	include "./remoting/flashservices/app/Gateway.php";
	$gateway = new Gateway();
	$gateway->setBaseClassPath("./remoting/flashservices/services/");
	$gateway->service();
?>

Si es el caso debes probarlo conectando a la siguiente dirección: http://<dominioactual>/remoting/gateway.php

Donde <dominioactual> será el dominio donde has creado la carpeta remoting.

Configurando el Gateway.php

editar

Luego de estar seguro de que el gateway funciona correctamente procedemos a editar el gateway.php; abres nuevamente el gateway.php y cambias todo el código por lo siguiente:

<?php
	include("/ruta/remoting/flashservices/app/Gateway.php");
	$gateway = new Gateway();
	$gateway->setBaseClassPath($_SERVER['DOCUMENT_ROOT']."/services/");
	$gateway->service();
?>

Donde ruta será la Ruta Completa del Archivo. en caso de no conocerla puedes crear un archivo en la carpeta remoting con las siguiente línea:

<?php echo realpath('.')?>

Editando el Archivo de Configuración de Apache

editar

Ahora buscamos el archivo httpd.conf que generalmente esta ubicado en la carpeta conf dentro de la carpeta del apache. lo abrimos:

/etc/apache/conf/httpd.conf Donde /etc/apache/ será la ruta de tu apache.

Luego de tenerlo abierto nos vamos a la última línea posiblemente hayan otros includes. Si no los hay simplemente subimos antes de los virtualhost. es muy impotante que sea antes de los virtualhosts si configuraste tu propio server sabes de que hablo, si no lee un poco y pregunta en el foro. Pegamos el siguiente código:

Alias /gateway.php "/ruta/remoting/gateway.php"
<Directory "/ruta/remoting/">
   AllowOverride None
   Options -Indexes
   php_admin_flag safe_mode off
   Order allow,deny
   Allow from all
 <IfModule sapi_apache2.c>
   php_admin_flag engine on
   php_admin_value open_basedir "/rutabase:/tmp"
 </IfModule>
</Directory>

Donde rutabase será la ruta donde están las carpetas de los dominios. En cPanel la ruta de un dominio seriá así: /home/<usuario>/public_html/ entonces rutabase seria la siguiente: /home/ En Plesk la ruta de un dominio seria así: /home/httpd/vhosts/<dominio>/httpdocs/ entonces rutabase seria la siguiente: /home/httpd/vhosts/

Ejemplo Simulado:

Archivo:Remoting consola.jpg


Ahora ya esta listo, solo falta probarlo. En cualquiera de los dominios del servidor creamos una carpeta llamada services y dentro metemos las clases que normalmente habríamos guardado en /flashremoting/services/

Ahora conectamos a http://<dominio>/gateway.php y debe conectar tal y como antes.