Categorías
GNU/Linux

¿No funciona chmod -R?

Cuando alguna vez hemos tenido que cambiar los permisos a los ficheros de una carpeta y de las subcarpetas incluidas de forma recursiva, hemos usado por ejemplo el comando chmod -R 755 y ha funcionado perfectamente. Sin embargo, si tratamos de hacer los mismo seleccionando a qué tipo de ficheros queremos hacer el cambio con el comando chmod -R 755 *.php nos encontramos con que no funciona, que el comando no nos da error, pero solo cambia los ficheros de la carpeta actual, no lo hace sobre los ficheros con esa extensión incluidos en carpetas dentro del directorio.
Realmente no es un error, simplemente funciona así, pero como para todo hay arreglo, la forma de conseguir lo que queremos es combinando los comando find y chmod de la forma siguiente:
find . -type f -name '*.php' -exec chmod 755 {} \;
Con este comando buscamos (find) en el directorio actual (el .) todos los ficheros (-type f) que tienen extensión php (‘*.php’), y la lista recuperada la dirigimos (-exec) hacia el comando chmod, que la recibe en {}. El \; final solamente es para indicar que se acaba la orden.
Parece un comando complicado, pero cuando entiendes qué hace cada cosa resulta más fácil de recordar.
En esta entrada hay un ejemplo algo más complicado, que sirve para cuando queremos cambiar los permisos solamente a aquellos ficheros que tienen ya unos permisos determinados, por ejemplo cambiar al permiso 755 a aquellos ficheros que en ese momento tienen permisos 777.

Categorías
Drupal

El menú responsive del tema Bootstrap de Drupal no funciona

Después de instalar el tema Bootstrap de Drupal 7 para un nuevo sitio de comercio online me he encontrado con que el menú responsive, el que aparece como un icono con tres rayitas cuando la pantalla es pequeña, no funciona. Googleando un poco me encuentro con este enlace en el que cuentan que el problema puede ser que la versión de JQuery que esté usando no sea la correcta. En Drupal 7 podemos mantener actualizada la versión de JQuery si instalamos el módulo Jquery Update, el cual ya viene incluido por defecto en el núcleo de Drupal 8.
Una vez instalado dicho módulo, lo activamos y ya tenemos funcionando el menú en el móvil.

Categorías
Ubuntu

PhpMyAdmin muestra una página en blanco en Ubuntu/Kubuntu 16.04

Después de instalar Kubuntu 16.04, y supongo que lo mismo pasará después de instalar Ubuntu 16.04, una vez puesto el entorno LAMP en funcionamiento según la guía de Linode ,  y después de instalar el paquete phpmyadmin desde los repositorios oficiales, me encuentro con que al acceder a la página http://localhost/phpmyadmin solo se muestra una página en blanco.

Mirando por ahí veo que le pasa a más gente, como era de esperar, y se debe a que faltan por instalar algunos paquetes. La solución es instalarlos con el comando:

sudo apt-get install libapache2-mod-php php-mbstring php7.0-mbstring php-gettext

Una vez hecho esto, he desinstalado phpmyadmin y lo he vuelto a instalar, a lo mejor no hacía falta, pero después de esta segunda instalación y con los paquetes anteriores ya instalados, la página localhost de phpyadmin ha vuelto a funcionar.

Categorías
Drupal

Corregir el error “Illegal string offset ‘data’…” en Drupal 5

Para los que somos un poco vagos y todavía mantenemos páginas en Drupal 5, una de las cosas más molestas son los continuos errores que aparecen en el registro debido a las nuevas versiones de PHP que van saliendo. Uno de ellos es el error “Illegal string offset ‘data’ en la línea 110 del archivo /nuestro_drupal5/includes/tablesort.inc.”

La solución la tenemos en este enlace, que nos cuenta que para corregirlo hay que cambiar dicha línea 110 de código del archivo /nuestro_drupal5/includes/tablesort.inc de la siguiente forma. Donde dice:

if (isset($header[$i]) && $header[$i]['data'] == $ts['name'] && $header[$i]['field']) { 

Lo cambiamos a:

if (isset($header[$i]) && isset($header[$i]['data']) && $header[$i]['data'] == $ts['name'] &&  isset($header[$i]['field']) && $header[$i]['field']) { 

Y con esto desaparecen los molestos mensajes de error.

 

 

 

Categorías
Windows

Activar xdebug en XAMPP

Después de instalar XAMPP en Windows, para poder hacer debug de una aplicación en PHP con Netbeans hay que hacer unos pequeños cambios en el php.ini que viene por defecto. A partir de este momento consideraremos <xampp_home> el directorio donde hayamos instalado XAMPP, por ejemplo “c:\xampp”

Abrimos el fichero <xampp_home>\php\php.ini

Al final del mismo encontraremos la parte que se refiere a Xdebug. Tendremos que descomentar, es decir, quitar el “;” (las líneas que comienzan con un “;” son consideradas comentarios) de las líneas siguientes:

zend_extension = “C:\xampp\php\ext\php_xdebug.dll”

xdebug.remote_enable = 1
xdebug.remote_handler = “dbgp”
xdebug.remote_host = “127.0.0.1”

Ojo: también tendremos que poner el remote_enable a “1”, que por defecto viene a “0”. De forma que esas líneas del fichero nos quedan así:

xdebug_php_ini

Reiniciamos el servidor Apache y ya podemos hacer debug de programas PHP en Netbeans

(Tomado de la entrada: http://www.wikihow.com/Configure-XDebug-in-XAMPP-%281.7.2/Later%29-on-Windows )

Categorías
GNU/Linux Ubuntu Windows

Instalar Linux junto a Windows 10 en un portátil Acer Aspire E5

El siguiente procedimiento describe la instalación de Ubuntu 15.10 en un portátil Acer Aspire E5, pero debería de funcionar también para cualquier otra distribución que tenga incorporado ya el sistema UEFI (Ubuntu 14.04+) y cualquier otro portátil Acer más o menos parecido a éste. El procedimiento es sencillo, pero tiene varios pasos muy diferenciados que tenemos que hacer en ese mismo orden. Empecemos.

Actualizar la BIOS

Lo primero que hay que hacer es actualizar la BIOS del equipo, porque algunas de sus versiones no permiten ni la instalación de Linux ni el arranque en modo Live desde un USB. Para ello hay que acceder a la página de descargas de Acer, seleccionar el tipo y modelo de portátil, pulsar en la pestaña BIOS/Firmware y descargarse la versión más moderna de la BIOS, que en mi caso fue la v1.35. La versión 1.31 creo que también es válida, o al menos eso dicen en los foros; si es la que tiene el portátil de fábrica, no es necesario actualizarla. La que sí que no funciona es la versión 1.25, que era justo la que traía el mío. La actualización de la BIOS no conlleva ninguna complicación y se puede hacer fácilmente siguiendo las instrucciones del ejecutable que descargamos.

Desactivar el fast-boot en Windows

Para ello seguimos las instrucciones que tenemos en la página de Acer, las cuales nos dicen que tenemos que ir a Panel de Control / Opciones de energía / Elegir lo que hacen los botones de encendido / Cambiar ajustes actualmente no disponibles y desmarcar el check-box que pone “Activar arranque rápido” que aparece en la parte de abajo de la pantalla.

Dejar espacio libre en el disco duro

El siguiente paso es hacer sitio en el disco duro, algo que tenemos que hacer obligatoriamente desde dentro de Windows 10, no nos sirve hacerlo desde la distribución Live de Linux ni desde GParted. Para ello pulsaremos con el botón derecho en el icono de Windows 10 abajo a la izquierda y seleccionaremos la opción “Administración de discos”. En la ventana que se nos muestra nos aparecen tres particiones, nos fijamos en una de ellas etiquetada C y con formato NTFS, la más grande. La seleccionamos, pulsamos el botón derecho sobre ella y seleccionamos la opción “Reducir volumen”. Tras un tiempo calculando nos muestra cuánto tenemos libre. Ajustamos el espacio que queramos, por ejemplo yo he utilizado 90 Gb pero con 10-20Gb puede ser más que suficiente, depende de lo que vayamos a instalar posteriormente en el sistema linux. Cuando termine, dejamos el espacio libre vacío, sin asignar ni formatear.

Modificar el orden de arranque en la BIOS

Ahora ya podemos arrancar desde un USB en el que previamente hayamos instalado Ubuntu para iniciar en modo Live, pero antes tenemos que cambiar los parámetros de la BIOS para que el sistema arranque primero desde el USB. Para ello reiniciamos el equipo y al inicio del arranque pulsamos F2, lo que nos permite entrar a cambiar la configuración de la BIOS. Vamos a Boot, y en el orden de arranque ponemos en primer lugar el USB (mediante las teclas de función F5 y F6 podemos cambiar el orden de las unidades). Guardamos los cambios en la BIOS, salimos y si tenemos el USB insertado, al pulsar F12 en el arranque ya podremos seleccionar que lo haga desde el dispositivo USB con Ubuntu.

Iniciar desde un USB Live de Ubuntu e instalar el sistema Linux

Cuando arranca Ubuntu en modo Live, seleccionaremos la opción “Try Ubuntu…” y cuando finalmente se muestre el escritorio veremos que todo va bien menos la conexión inalámbrica (conseguir que funcione el wifi es tema para otra entrada del blog), por lo que tendremos que trabajar con el equipo conectado por cable si queremos actualizar el sistema tras su instalación.

Pulsamos el icono de “Instalar Ubuntu” y procedemos con el conocido y facilísimo proceso de instalación de Ubuntu en el disco duro, seleccionando cuando nos lo pregunte la opción “Instalar Ubuntu junto a Windows 10”. Esta forma de instalación de Ubuntu es específica para sistemas con UEFI activado, por lo que no se instala el grub de la manera habitual en sistemas anteriores, sino que lo hace de forma que Ubuntu pueda arrancarse posteriormente desde el Windows Boot Manager.

Cuando termina la instalación pulsamos reiniciar el equipo y extraemos el USB para que se arranque desde el disco duro.

Incluir el nuevo sistema en el arranque de Windows

Cuando el sistema arranca vemos que directamente entramos en Windows 10, como si no hubiéramos hecho nada. Bien, eso es porque todavía no le hemos dicho al arranque de Windows que hay otro sistema operativo en el disco que queremos poder seleccionar cuando queramos. Así que volvemos a reiniciar el equipo, pulsamos F2 para entrar en las opciones de la BIOS y vamos a Security. Primero tenemos que seleccionar la opción de dar una password al supervisor (que somos nosotros). Lo hacemos, confirmamos la password y vemos que ahora ya nos permite seleccionar más opciones. Seleccionamos la opción “Elegir un fichero UEFI seguro”. Nos aparece una pantalla en la que solamente aparece HDD0 o algo parecido. Pulsamos Intro. En la siguiente pantalla vemos que ya nos aparece una etiqueta que pone Ubuntu, la seleccionamos y pulsamos Intro. Posteriormente aparece una lista de ficheros de los que seleccionamos el correspondiente a Grub. Y ya está, guardamos las modificaciones en la BIOS, salimos y al reiniciar ya nos aparece el conocido menú de arranque de Grub en el que tenemos tanto la opción de iniciar Ubuntu como la de iniciar en el sistema Windows 10 con el que convive en el mismo disco duro.

 

Categorías
Windows

Error #2006 – MySQL server has gone away importando archivo en PhpMyAdmin

Utilizando un entorno WAMP (Windows 10, Apache, MySQL, PHP), cuando intento importar un archivo con el volcado de una base de datos en MySQL utilizando PhpMyAdmin me encuentro con que la carga se detiene y se genera el error “#2006 – MySQL server has gone away”.
El archivo es bastante grande, y aunque he puesto los límites de memoria y de tamaño de archivo suficientemente altos en el archivo php.ini, está claro que también es necesario modificar la configuración de mysql para poder hacer la carga. El truco está en modificar la línea
max_allowed_packet = 1M
en el archivo <directorio de WAMP>/mysql/bin/my.ini dejándola como
max_allowed_packet = 10M

Curiosamente, este error nunca me había dado cuando he trabajado en Linux, debe de ser que la configuración por defecto de mySQL en Linux ya viene preparada para cualquier eventualidad 🙂

Lo he visto en Stack OVerflow (como casi todas las soluciones)

Categorías
Fedora

Actualizar a Fedora 23 por consola con dnf

Actualizar a Fedora 23 mediante dnf es fácil, solamente tiene la pega de que es necesario descargar 1,4 Gb y eso lleva tiempo si no se tiene una conexión rápida. La forma de hacerlo sería la siguiente:

  1. Haz una copia de respaldo de tu sistema y de la información importante que guardes en el disco. Se dice siempre, pero nunca se hace. Luego vienen los lamentos.
  2. Desinstala todo lo que realmente no necesites. La actualización necesitará espacio en disco y si has hecho la instalación standard de Fedora con el directorio root en una partición aparte no muy grande, es posible que te quedes sin espacio. Después de hacer todos los sudo dnf remove <lo_que_sea> que hagan falta, es muy conveniente hacer un sudo dnf clean all para obtener espacio libre limpiando todo lo que ya no se necesita.
  3. Actualiza primero tu sistema con sudo dnf update --refresh. Si se te instala un nuevo kernel, tienes que reiniciar el sistema antes de continuar. Si no estás seguro de que haya pasado, reinicia por si acaso.
  4. Instala el plugin de actualización con sudo dnf install dnf-plugin-system-upgrade
  5. Descarga los paquetes necesarios con sudo dnf system-upgrade download --releasever=23 --best --allowerasing
  6. Si todo termina sin errores, ya puedes lanzar la actualización a Fedora 23 con sudo dnf system-upgrade reboot

Esta entrada ha sido escrita a partir del contenido de esta página, en la que tienes más información sobre el plugin dnf-system-upgrade, y de esta otra en donde tienes también una serie de pantallazos con el proceso de actualización.

Categorías
Fedora

Instalar LAMP en Fedora 22

Para instalar el entorno de desarrollo LAMP en Fedora 22 tenemos que realizar los siguiente pasos en una terminal:

  1. Instalar (como root) el servidor web con el comando: dnf groupinstall “Web Server”
  2. Instalar la base de datos: dnf install mariadb-server
  3. Modificar el fichero /etc/php.ini para adaptarlo a nuestras necesidades
  4. Arrancar el servidor web con: service httpd start
  5. Arrancar la base de datos con: service mariadb start
  6. Asegurar la base de datos con el comando: mysql_secure_installation
  7. Instalar phpmyadmin (si lo vas a usar, claro): dnf install phpmyadmin
  8. Habilitar el directorio de usuario de Apache:
    1. Editamos el fichero /etc/httpd/conf.d/userdir.conf para que quede así (sustituyendo usuario por nuestro nombre de usuario)etc_httpd_conf.d_userdir.conf
    2. Creamos el directorio ~/public_html con: mkdir ~/public_html
    3. Le damos los permisos necesarios con: chmod 755 ~/public_html
    4. Le damos los permisos necesarios a /home con: chmod 711 /home/usuario
    5. Configuramos SELinux para permitir los directorios de usuario con:
      setsebool P httpd_enable_homedirs true
    6. Reiniciamos el servidor con: service httpd start

Y ya está. Tenéis más información en este artículo y este otro, que son los que he consultado para hacer esta entrada.

Categorías
Debian Fedora Ubuntu

Cómo habilitar las clean url de Drupal en el directorio de usuario de Apache2 en Debian/Ubuntu y Fedora

  1. Habilitar el módulo mod_rewrite de Apache. En Debian/Ubuntu hay que lanzar el comando: sudo a2enmod rewrite. En Fedora ese módulo ya viene habilitado por defecto.
  2. Editar el fichero /etc/apache2/mods-enabled/userdir.conf en Debian/Ubuntu cambiando la linea con AllowOverride FileInfo AuthConfig Limit Indexes de forma que solo tenga AllowOverride All. En Fedora dicho fichero está en /etc/httpd/conf.d/userdir.conf
  3. Editar el fichero .htaccess de nuestro directorio de Drupal descomentando la linea con la opción RewriteBase y dejándola como  RewriteBase /~MiUsuario/miDirectorioDrupal/
  4. Reiniciar Apache. En Debian/Ubuntu con el comando: sudo service apache2 restart y en Fedora con: sudo service httpd restart

Este procedimiento me ha funcionado con Ubuntu 14.04 con Drupal 8, y también en Fedora 23 con Drupal 7

En esta entrada recojo mi experiencia personal tras seguir las indicaciones de:
http://tolocalhost.blogspot.com.es/2013/04/enabling-drupal-clean-url-in-apache2.html