El Àgora se cerró. Aquí un archivo de lo que fue Tuesday January 23, 2018.

Problemas al Instalar OCAx en un espacio web

pp79

Hola,
Estoy intentando instalar la última versión de Ocax según estos pasos: Instalar OCAx en un espacio web (http://wiki.ocax.net/es:install:provider), utilizo la config 1, mi carpeta raíz es la de un subdominio que he creado con el siguiente nombre: http://ocmsanlucar.webscopica.com/ . Realizo todos los pasos y cuando le doy a navegar el sitio, me aparece lo siguiente:

Parse error: syntax error, unexpected T_FUNCTION in ***/public_html/ocmsanlucar/protected/controllers/SiteController.php on line 418

Las líneas en cuestión son estas:

418…. usort($entries, function($a, $b) {
419… return $b['lastUpdate'] - $a['lastUpdate'];
420… });

Si las borro o las comento me deja continuar, y accedo al sitio web, entonces intento hacer los pasos post-instalacion y creo una cuenta nueva, cuando le doy a registrar me da el error:

Parse error: syntax error, unexpected ':' in ***/public_html/ocmsanlucar/protected/controllers/UserController.php on line 173
Las líneas en cuestión son estas:

	if(!$model->validate()){
	$this->render('update',array('model'=>$model,));
	173…	Yii:app()->end();

Lo curioso es que si le doy hacia atrás o vuelvo al index, aparezco logeado con los datos de usuario con los que me he registrado, pero si le doy al apartado “Mi página” me sigue tirando el mismo error:

Parse error: syntax error, unexpected ':' in ***/public_html/ocmsanlucar/protected/controllers/UserController.php on line 173

También registro dos errores mas y es que cuando pincho sobre los enlaces de “Presupuestos” o “Consultas” me aparecen los siguientes errores respectivamente:

Parse error: syntax error, unexpected T_FUNCTION in ***/public_html/ocmsanlucar/protected/views/budget/index.php on line 196

if(count($years) > 1){
echo '

';
196…. $list=CHtml::listData($years, 'year', function($year) {
return $year->getYearString();
});

Parse error: syntax error, unexpected T_FUNCTION in ***/public_html/ocmsanlucar/protected/views/enquiry/index.php on line 180

if($displayType == 'grid'){
$this->widget('PGridView', array(
'id'=>'enquiry-grid',
'dataProvider'=>$model->publicSearch(),
180………. 'rowCssClassExpression'=>function($row, $data){
if(Yii::app()->user->isGuest)
return $row % 2 ? 'even' : 'odd';
if(EnquirySubscribe::model()->isUserSubscribed($data->id, Yii::app()->user->getUserID()))
return 'tag_enquiry_row_as_subscribed';
else
return $row % 2 ? 'even' : 'odd';
},

Realmente no sé si es un problema del htacces (la redirección) o de alguna limitación de mi servidor o si es que preciso de alguna configuración extra que no estuviera en las instrucciones.
Agradecería mucho la ayuda del foro.
Saludos.

chris

Hola @pp79 Bienvenidx! (¿añadirás tu municipio a tu perfil?)

Pues parece que hay muchos ficheros con errores.
¿puedes comprobar que se han subido correctamente hasta el servidor? Puede que por algún motivo se han corrompido por el camino.
Aquí puedes navegar los ficheros para compararlos con los tuyos. http://git.savannah.gnu.org/cgit/ocax.git/tree/?id=v1.2.2
Si ves que los ficheros en tu servidor no están bien, habrá que mirar subirlos de nuevo.

Sino, coméntalo aquí de nuevo y miramos el qué.

Salud.

chris

Pero primero mira tu versión de PHP. Puede ser un error por usar una versión inferior a la PHP5.3

pp79
  • Efectivamente, creí que tenía la 5.3 pero es la 5.2.17. Se puede hace funcionar con esa versión?

  • Te refierefes a añadir el municipio al perfil de esta página? De momento en el observatorio quieren ver la demo para ver si se atreven con ella.

  • No he verificado todos los archivos uno por uno, pero todas las carpetas coinciden, ademas realice el proceso de descarga y subida a ftp hasta tres veces por si pudiera ser eso. Los unicos archivos que no pude subir fueron dos ejecutables que se encontraban profundo en la carpeta protected/extensions. Mi servidor prohibe por completo ese tipo de archivos .exe.

chris

No hace falta verificar los archivos. Primero hay que usar la versión de PHP5.3 como mínimo.
http://wiki.ocax.net/en:requirements

Sí, cuando veas.. :grinning:

Saludos.

pp79

Hola, ya me realizaron la migración a un servidor con Php 5.3 y ahora todo funciona bien excepto por unos detalles. En la página de administracion me sucede los siguiente:

Si pincho en los apartados del 1 al 5 (o en parametros globales), me lleva al panel del directadmin (http://ocmsanlucar.webscopica.com:2222/) y no entiendo porque. Si miro la ruta del enlace y le pongo antes index.php, es decir, http://ocmsanlucar.webscopica.com/index.php/config/email, entonces si me lleva a la página requerida:


Pero en esta página sigue sucediendo lo mismo, los enlaces no me llevan a la ruta que marcan sino a la del directadmin, y de nuevo parece solucionarse si intercalo el index.php.
Evidentemente necesito solucionar esto, pero no sé donde está el problema ahora. Parece que hay un problema en la redirección a la ruta config. A ver si me podéis ayudar.
Saludos.

chris

Parece que sea este el problema

pp79

Es un servidor compartido, yo no tengo acceso al directorio de apache. Supongo que lo único que puedo hacer es modificar todas las rutas que apunten a config. Habrá que investigar si desde el htacces del dominio se puede hacer algo.

chris

No recomiendo modificar el código de OCAx porque será un curro y después cuando salga una versión nueva, tendrás que volver a hacerlo.

Puede que los que administran el servidor pueden hacer una excepción en la config. de apache para que te funciona.

Nailuj2000 comentó la opción de cambiar el código de OCAx para que en vez de config fuese cfg. pero yo no voy a entrar en ese juego.
No me parece demasiado bien montado un servidor web que 'secuestra' rutas. Si no es 'config' ¿cual será la próxima? ¿Será 'budget' porque alguien ha decidido que todos los clientes tendrán un panel de "gestión de facturas"? No puede ser.

Saludos.
Chris.

pp79

A alguien se le ocurre como puedo decirle al htacces que me redirija la ruta midominio.com/config a midominio.com/index.php/config ? No domino nada ese tema, no sé si algo así es posible.

chris

No sé si te va a funcionar porque me imagino que tu proveedor ya filtra lo que le interesa antes de pasártelo a ti. Por eso digo 'secuestrar'.
Quizás @Nailuj2000 nos puede ayudar...

Saludos.

Nailuj2000

En efecto, el problema es que en la configuración de apache que se usa en DirectAdmin, o al menos en el DirectAdmin de OVH, hay un alias que redirige "dominio/config" al panel de control, y hay unos cuantos mas, por ejemplo, hay otro que redirige "dominio/webmail" al roundcube, otro que manda dominio/pma al phpmyadmin, etc.

El .htaccess y el modrewrite nos sirve para redireccionar unas urls a otras, por ejemplo, dominio/config a dominio/index.php?opcion=config, que sería la real. Así, tal vez, podría desactivarse y resignarse a no usar url's amigables, pero no se si funcionaría,pues es posible que el código del ocax use directamente url's amigables, y aunque no fuera así sería una mala solución.

Así que tenemos dos soluciones:

  1. Que chris cambie 'config' por otra palabra, por ejemplo, 'settings', o 'cfg', o algo así. Pero como muy bien dice, sería entrar en un juego, al que, dicho sea de paso, yo tampoco entraría. Otra cosa sería que el nombre de la ruta, no sólo de esa, fuese configurable. Esto sería una mejora, aunque no creo que sea algo que pueda hacer de un día para otro.

  2. La segunda, y la mejor, en mi opinión, es pedirle a tu proveedor que edite el archivo "/etc/httpd/conf/extra/httpd-alias.conf" y comente o elimine la línea con ese alias. Si no quiere hacerlo, o si no sabe, es un mal proveedor o le sobran los clientes y pasa de ti. Pero es tiene fácil solución: irse a otro.

¡Un saludo!