Como desarrollar sitios Drupal en sistemas Linux?

Events happening in the community are now at Drupal community events on www.drupal.org.
cmeraz's picture

Expertos en linux creo que necesito ayuda.

Les contaré mi situación. Todo el tiempo que llevo desarrollando sitios en distintos CMS hasta ahora, los he hecho en MacOSX, nunca he tenido problemas con ninguno hasta hace unos meses con Drupal, basicamente la versión 7. El problema que tuve fue con los accesos FTP a mi sistema, si bien nunca habia tenido la necesidad de configurar, pues al tratar de instalar algún módulo o una actualización de sistema, estas ultimas versiones de Drupal 7 me pedían acceso FTP a mi sistema, aun cuando estuviera trabajando en modo localhost, y esto he comprendido que es mejorar la seguridad de transferencia de archivos.

En un principio pensé que esto seria una tarea fácil pero no fué así, pues la ultima versión de MacOSX Lion, resulta que no trae por default servicio de FTP con las versiones anteriores, asi que tuve que buscar otra manera de hacerlo y logré resolverlo mediante un comando en la terminal, el cual, prometo buscar de nuevo y publicarlo en ésta misma entrada.

Tengo una PC nueva en mi trabajo, y mi macbook en casa siempre esta ocupado por la familia, asi que decidí instalar en el PC Linux Fedora 16.
La verdad no se cual sea la mejor manera de trabajar con un servidor PHP MySQL etc en un sistema linux, pero la manera en la que logre hacer funcionar uno es con el uso de XAMPP, el cual hasta ahora ha sido muy confuso porque la mayoría de la documentación que he encontrado no me ha funcionado del todo porque al parecer la mayoría de usuarios Linux comtan su servidor instalando por separado apache2, php5, mysqul, etc el cual se administra desde la carpeta /var/www a diferencia de XAMPP (LAMPP) que maneja todo desde /opt/lampp/htdocs. Toda esta confusión es lo de menos, afortunadamente ya he superado la cuestion de los permisos de escritura, la propiedad de carpetas y todas esas cosas propias de un sistema seguro como linux pero mi problema es el siguiente:

Me he vuelto a tomar de nuevo con la dificil tarea de configurar el FTP, acabo de hacer una actualización de varios de los modulos entre ellos Backup and Restore y a la hora de llegar a la instalación olvide que el sistema requeria acceso FTP, pues bien, no esta configurado, asi que me estropeo todo el sitio.

Llevo dos días intentanto configurar vsftpd sin éxito, pues he logrado hacer correr el servidor FTP, pero es todo, no encuentor la manera de dar permisos de usuarios, configurar las carpetas a las que tendrá acceso, y hoy he reiniciado el sistema y ya no quiere funcionar de nuevo, no corre el servidor, he hecho un $service vsftpd status parece que el problema es el fichero vsftpd.conf, el cual no se ha modificado en absoluto, y el que antes funcionaba y ahora no lo hace.

Me gustaría saber quien tiene algun tutorial, o experiencia trabajando Drupal en linux que me pudiera echar una mano, la verdad ya no he logrado avanzar y esto es muy frustrante.

Otra importante, se me estrope el sitio y entre ello el backup and migrate, por lo que no puedo de nuevo instalar el ultimo respaldo, y aunque tengo el respaldo del archivo de mysql no lo puedo importar, me da un error:

Error

consulta SQL:

INSERT INTO cache_menu VALUES('links:management:tree-data:es:ec99d3452fef1ede622e66c68ba908b1dad455aa71f5e68648aeec6488b89c88', 0x613a323a7b733a343a2274726565223b613a313a7b693a313b613a323a7b733a343a226c696e6b223b613a34323a7b733a393a226d656e755f6e616d65223b733a31303a226d616e6167656d656e74223b733a343a226d6c6964223b733a313a2231223b733a343a22706c6964223b733a313a2230223b733a393a226c696e6b5f70617468223b733a353a2261646d696e223b733a31313a22726f757465725f70617468223b733a353a2261646d696e223b733a31303a226c696e6b5f7469746c65223b733a31343a2241646d696e697374726174696f6e223b733a373a226f7074696f6e73223b733a363a22613a303a7b7d223b733a363a226d6f64756c65223b733a363a2273797374656d223b733a363a2268696464656e223b733a313a2230223b733a383a2265787465726e616c223b733a313a2230223b733a31323a226861735f6368696c6472656e223b733a313a2231223b733a383a22657870616e646564223b733a313a2230223b733a363a22776569676874223b733a313a2239223b733a353a226465707468223b733a313a2231223b733a31303a22637573746f6d697a6564223b733a313a2230223b7[...]

MySQL ha dicho: Documentación
#1153 - Got a packet bigger than 'max_allowed_packet' bytes

El servidor en el que están montados todos mis sitios en producción está basado en CentOS por ello instalé fedora es lo mas parecido por ser parte de Red Hat y además necesito ir tomando experiencia en linux para administrar mi servidor y no tener problemas con Drupal en el futuro.

Algun tip?

Comments

No se si te sea de ayuda pero

jdflorez's picture

No se si te sea de ayuda pero para tu tarea de instalar módulos y actualizarlos (entre MUCHAS otras cosas) has probado con Drush? Si no lo has hecho, te la recomiendo, es lo máximo!

Sobre configuración que tienes, en lo personal, prefiero yo instalar php, apache y mysql manualmente en vez de tirarle xampp (o el equivalente) ya que al final instala muchos paquetes que no veo necesarios. (es una preferencia personal).

Ahora, sobre el error de mysql, ésto te ayudará: http://stackoverflow.com/questions/93128/mysql-error-1153-got-a-packet-b...

Sobre el FTP, no te puedo ayudar con eso. Ojalá alguien te pueda ayudar acá, si no, creo que por irc en algún canal de Linux o Fedora puedes recibir respuestas más rápido.

Te comento que la situación

cmeraz's picture

Te comento que la situación del error de mysql se corrigió con la ayuda que me otorgaste, pero para que quede claro que fue lo que hice fue lo siguiente.

Tengo instalado XAMP (LAMPP) y solo tuve que editar el archivo my.cnf.
Solo hice lo siguiente desde la terminal:

$ sudo gedit /opt/lampp/etc/my.cnf

Edite la linea 32 con lo siguiente:
max_allowed_packet = 100M

y por ultimo la linea 142 con lo siguiente:
[mysqldump]
quick
max_allowed_packet = 100M

Y me ha funcionado, solo que ahora me ha marcado unos errores en Drupal pero hasta no saber que es lo que esta pasando regresaré por mas ayuda.

Gracias por el apoyo.

Que tal Juan

cmeraz's picture

Que tal Juan Daniel.
Agradezco muchisimo tu ayuda.

Se que Drush es lo máximo, si bien hasta ahora no lo he utilizado, estoy intentarlo hacerlo, segui un tutorial para instalarlo porque hasta ahora me parece un lio y no me funcionó, se que tiene que ver con algo relacionado a el alias o algo asi, en fin, el tutorial hacia uso del comando ln para crear ese acceso directo a drush en /usr/bin/drush pero no me funciono, cuando doy drush en la consola, me aparece que bash: comando no encontrado, o algo asi, se que algo hice mal, pero segui con otras cosas y no he vuelto a eso.

Decidi instalar Fedora por la cuestion del escritorio, me gusta hasta ahora, pero he tenido tantos problemas que estoy tentado a regresar a ubuntu de nuevo, pero esto es un reto y aun no quiero ceder.

Respecto a la instalación de Xampp fue algo que tuve hacer porque instalando todo manualmente no me funciono algunas cosas no las instalo o reconocio en los repositorios y es un lio aun para mi averiguar cual fue el problema, pero estoy tentado en hacer otra instalación fresca de fedora y seguir por ese camino, y te comento en una instalación nueva porque ya tengo todo un desastre de paquetes en esta, ya no se ni que he instalado con sinceridad.

Por último he accedido al enlace que me has proporcionado para solucionar el error de mysql atraves de phpmyadmin, no he seguido los pasos que se describen porque quise antes responder a tu amable respuesta y es una tarea que dejaré para mañana, pero regresare explicando como me fué con todo eso, pero por lo que pude leer parece que esa es la solución.

Busque el atributo por todo el php.ini pero no di con el, asi que vi que esta en otro lado dentro de mysql. Te comentó mañana como me fue con todo estoy y seguire con el tema de Drush.

Gracias

Yo te aconsejaría...

marcetm's picture

Que si aún no has desarrollado mucho trabajo en ese PC, te instales Debian squeeze, llevo más de 10 años trabajando con esta distro en servidores y cada día que pasa estoy más contento con ella. He probado otras Ubuntu, Red Hat (la primera que pasó por mis manos fue una 5.0, ya ha llovido desde entonces), Suse, etc... pero ninguna me ha dado la estabilidad y seguridad que me ha ofrecido Debian si bien es cierto que la instalación sea más difícil que en otras distros y que hay que currarselo un poco para configurar algún hardware relativamente nuevo. Por otro lado, le doy la razón a jdflorez es mejor instalar cada servidor por separado y saber que hay que configurar que coger una solución ya preparada que no sabes muy bien que trae de serie y qué te falta o qué te sobra de lo que viene en ella.

En cuanto al servidor ftp, yo he usado proftp, pero ya lo descarto por ser un protocolo poco seguro y el acceso a los clientes ahora se lo doy por ssh.

De todas formas cuando das de alta a un usuario en un sistema en linux normalmente le das acceso a los servicios que ofrece este servidor de manera que si das de alta a un usuario "pepe" este usuario, por defecto, se podría conectar por ftp a ese servidor y entraría dentro de su carpeta /home/pepe en la que podría colgar sus archivos. Luego quedaría configurar el servidor web apache para decirle que vaya a mirar al directorio que le corresponda /home/pepe/html por ejemplo. Esta opción creo que es la mejor, pero también puedes configurar tu servidor ftp para dar distintos permisos de acceso por usuario y por grupo. Bueno en cualquier caso bienvenido al software libre...

Primero que nada gracias por

cmeraz's picture

Primero que nada gracias por tus comentarios.
Ya he escuchado muchos buenos comentarios de Debian Squeeze y sinceramente aun no he probado esta distro. Creo que me instalaré una maquina virtual y veré como trabaja, al parecer esta trabaja con el comando aptitude que espero no sea muy diferente al yum de fedora.

Respecto al FTP, de antemano comento que estoy trabajando el sitio en localhost como ya has de saber, pero al bajar las actualizaciones automaticas del sistema, me pide entrada FTP a mi equipo y es lo que no he podido configurar con vsftpd, también vi la opción del proftp pero he escuchado muy buenos comentarios del primero y por ahi me fuí.

Se que tengo la opción de descargar manualmente cada actualización y simplemente reemplazar las carpetas de /modules y listo ya esta, pero si el sistema me ofrece la opción de hacer una instalación centralizada y automatizada de todas las actualizaciones pendientes en mi sitio, me gustaría sacarle partido a eso. Lo he venido haciendo en mi Mac desde hace rato y es muy practico, solo que ahora que estoy experimentando con Linux la cosa ha cambiado y no he logrado resolver el problema.

Aun así esto se debe a mi falta de experiencia con el servicio FTP en linux, pues es algo que hasta ahora desconozco y me ha dificultado las cosas, pero se que cuando resuelva este problema, será una solución sencilla y sin problemas para configurar en el futuro.

Gracias

Me vas a perdonar

marcetm's picture

No quiero parecer pesado, pero en drupal 7 yo hago las actualizaciones desde la interfaz, en informes -> actualizaciones disponibles -> actualizar. Otra cosa es la puesta en marcha pues si no tienes módulos instalados lógicamente no los puedes actualizar, pero para esto, puesto que estas trabajando sobre localhost, puedes descargar los módulos, descomprimirlos y copiarlos en el directorio adecuado. Luego le hago dueño de esos archivos al usuario que arranca apache, en mi caso www-data en fedora NPI, pero supongo que será algún usuario del tipo httpd-user o lo que sea, ya te digo que no sé exactamente el usuario que arranca el servidor apache en fedora. Vamos que no me hace falta ningún servidor ftp para nada. Y ahora me doy cuenta de que probablemente tu problema sea éste precisamente no se puede actualizar porque el usuario que arranca el servidor http en tu sistema no es dueño de los directorios en los que intenta descargar las actualizaciones.

Un saludo.

La curiosidad mató al gato...

marcetm's picture

Pero en mi caso ha servido para hacer que me mueva y buscar por internet la manera en la que podrías estar actualizando para que requieras la instalación de un servidor ftp. Bien, como siempre, no hay como preguntar al señor google, que siempre tiene respuesta para todo, en este caso mira lo que he encontrado:

http://drupal.org/documentation/modules/update

Ahora sé cómo haces las actualizaciones tú y comprenderás mejor cómo las hago yo. De esta manera podrás elegir el camino más adecuado y óptimo para ti, y decantarte o no, por configurar un servidor ftp. Aunque parece más cómodo arreglar tu problema actual con un comando apt-get install openssh-server ó yum install comosellame_enfedoraelservidorssh, en tu caso.

Un saludo.

Prometo en la siguiente poner

cmeraz's picture

Prometo en la siguiente poner unas tomas de pantalla de lo que normalmente hacia o solia hacer para actualizar todos mis modulos por ahora.

Tengo que decir que estoy muy emocionado porque he logrado instalar Drush en mi sistema, no me mal entiendas, lo he intentado toda la semana sin exito, y es que no se porque no pude instalar la version 5.1 o 5.x de drush, hice todo lo que decia el manual de instalacion y no funcionó jamas, descarge la 4.5 y no tuve problema por eso creo que fue drupal 5 la que no funciono en mi sistema porque si hubiera hecho algo mal no me hubiera funcionado la 4.5 tampoco.

El caso es que lo unico que tuve que hacer es en la terminal $ drush -v up, y con eso fue mas que suficiente para tener todo el sitio actualizado desde los modulos hasta la base de datos.

Pero te comento que aun asi subire con imaganes que es lo que hacia para que quede mas claro cual era mi punto por si hay alguien mas que se topa con ese problema, o limitante mas bien, sepa por donde ir.
Gracias

Por cierto...

marcetm's picture

Dices que te hace falta el servidor ftp para actualizar los módulos, a mi no, lo hago directamente desde la administración de módulos que viene con drupal 7, excepto las actualizaciones del core, que entonces sí, me conecto con filezilla a mi servidor ssh y subo los archivos necesarios.

Un saludo.

te recomiendo usar WINSCP en

mgzrobles's picture

te recomiendo usar WINSCP en vez de filezilla

Martín González Robles
web: http://elsabrosista.com
email: martin.glez.robles@gmail.com
Unidad sobre OG para Drupal 7: http://www.forcontu.com/descarga/d7u66pdf

Para windows sí, el problema

marcetm's picture

Para windows sí, el problema es que Debian GNU/Linux también es mi sistema de escritorio desde hace bastante tiempo, y ¿para qué voy a poner WINE si tengo aplicaciones en mi sistema que me hacen el trabajo que necesito?.

Un saludo

Tengo el mismo inconveniente

edeinternet's picture

Hermano cmeraz! Estoy ocasionando hace largo tiempo el mismo error y sigo sin encontrar solución alguna. Palabras como drush, son desconocidas para mi, será que tengo que investigarlo y optar por esa opción? o has encontrado respuesta de como configurar el proftp?

Por mi parte, creo que el problema de configuración se basa en algún permiso del usuario, por defecto uso "nobody", porque crear la carpeta del modulo p/e( views) la crea, pero llegado a cierto punto, da un error de escritura, que no es posible crear la carpeta.
Algo raro sucede, ya que he ejecutado $chmod -R a+w ./sites/all/modules ... sin embargo siempre a mitad de instalación o actualización devuelve el mismo error

Installation failed! See the log below for more information.
////
token

Error installing / updating
File Transfer failed, reason: Cannot create directory /drupal721/sites/all/modules/token/tests/..

///

Gracias por seguir el hilo!
Un inmenso abrazo desde Argentina!

Solución para locos!!!

edeinternet's picture

Acabo de solucionar el asunto eliminando una condicion IF del archivo /includes/filetransfer/ftp.inc

Siguiente el log que me daba el core, llegue a encontrar el error en este segmento.

protected function createDirectoryJailed($directory) {
if (!ftp_mkdir($this->connection, $directory)) {
throw new FileTransferException("Cannot create directory @directory", NULL, array("@directory" => $directory));
}
}

Bien, lo que hize fue dejar la fucion de esta manera

protected function createDirectoryJailed($directory) { }

No comprendo que riegos puede generar esta solución, quizás uds si puedan saberlo.

Lo que si se me ocurre, es que servirá para hacer pruebas a nivel local o desarrollar un sitio en forma local, ¿Pero que pasará cuando subamos el sitio al hosting?
La respuesta se las traeré en breve.

Abrazos y bendiciones!
darío

Spanish

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: