Categories
Artículos

Gestiona tus bases de datos con XAMPP

Uno de los sistemas mas utilizados a la fecha para manejar bases de datos es SQL y para gestionarlas puedes usar XAMPP, un software libre con el cual además puedes controlar el servidor web de Apache.

XAMPP trabaja como un servidor web libre fácil de usar y que además funciona con todos los sistemas operativos, por eso la X (cross platform).

Provee también un ambiente de desarrollo local pero que no está diseñado para entornos de producción.

https://www.apachefriends.org/es/index.html

Yo uso Linux y en este mismo instante investigo como instalar el paquete que acabo de descargar. Así se ve este proceso…

XAMPP existe hace más de 10 años y en todo este tiempo a creado una gran comunidad de soporte.

Puedes darles un vistazo o formar parte de ellas aquí: Foros, emailList, Facebook, Twitter y Google+.

Otra característica muy cool de XAMPP es que puedes apilar aplicaciones Open Source conocidos con el nombre de Bitnami Modules que están listos para producción y con ello obtener beneficios de optimización de performance, últimos updates y los más actuales parches de seguridad.

Como usar la aplicación.

Para abrir XAMPP y comenzar a utilizarlo debo usar en terminal:

$ sudo /opt/lampp/manager-linux-x64.run

Y te encontrarás con esto:

En esta aplicación debes ir a la página para manejar los servidores y echarlos a andar:

Y luego regresar a la lengüeta de bienvenida y abrir el directorio creado por XAMPP donde se alojaran todos los documentos web de tu servidor local (open aplication folder). Especificamente en la carpeta htdocs:

¿Y como crear una nueva base de datos?

Simplemente accede a PhPMyAdmin a través de tu Localhost y sigue los pasos habituales para crearción de una nueva base de datos.

http://localhost/phpmyadmin/


En mi caso al principio todo parecía ir sobre ruedas. Como pueden ver he instalado todo correctamente, he iniciado un par de websites, estos funcionan sin problema en http://localhost. En este caso utilizé WordPress pues el requerimiento del cliente fue que el puede actualizar contenido independientemente. Y al querer instalar un plugin comenzó la fiesta:

Instalación de plugins no es posible por que no se puede crear el directorio.

Luego de investigar el problema por un par de horas, he llegado a la conclusión (por que no he encontrado la solución aún) que lo que ocurre es que soy un simple y ordinario usuario y que he estado utilizando sudo para instalar aplicaciones. Sudo (/ s uː d uː / or / ˈ s uː d oʊ /) es un programa para S.O. Unix que permite a sus usuarios ejecutar programas con los privilegios de seguridad de otro usuario, por defecto el superuser.

Por tanto, las alternativas que tengo hasta ahora son:

  • Aumentar los privilegios de mi usuario a superusuario.
  • cambiar los permisos del directorio de XAMPP.
  • Desinstalar XAMPP por completo y volver a instalar sin sudo.

Aumentar privilegios de usuario

El superuser ó root, es una cuenta de usuario especial utilizada para administración del sistema en Linux.

Linux superusuario (superuser)

En S.O. Linux, root es el nombre común del usuario que tiene todos los derechos y persmisos sobre todos los archivos y programas. El usuario root puede hacer todo lo que un usuario común no puede, como cambiar la propiedad de archivos y unir a puertos enumarados por debajo de 1024. Root es el único usuario con permiso para modificar el directorio root.

Para cambiar a root solo tienes que escribir en terminal lo siguiente:

$ sudo -i

Como cambiar los permisos del directorio de XAMPP.

chmod o+rx /opt/lampp

Y lo que ocurre es nada. Los permisos del directorio que intento modificar permanecen sin cambio.

Antes
lrwxrwxrwx 1 root root 16 Jul 1 21:14 lampp -> /opt/lampp/xampp
Después
lrwxrwxrwx 1 root root 16 Jul 1 21:14 lampp -> /opt/lampp/xampp

Asi es que repetiré la operación para ver si cometí algún error (que es muy posible) o más que un error tipográfico solamente, estoy haciendo algo equivocado (comentarios en este punto son todos bienvenidos).

Pero, estúpidamente ahora veo que el significado de lrwxrwxrwx és el siguiente:

Significado de rwx:

Permisos rwx significa los siguientes accesos están permitidos:

  • r – read (leer)
  • w – write (escribir)
  • x – execute (ejecutar ó cambiar directorio)

lrwxrwxrwx sigue la siguiente estructura de permisos:

tUUUGGGOOO,

  • t es el tipo de archivo
  • UUU los tres caracteres que especifican permisos de usuario (file owner)
  • GGG los permisos de grupo
  • OOO otros permisos.

Entonces en lrwxrwxrwx, l es link – un tipo especial de puntero que te permite tener múltiples nombres de archivo apuntando al mismo archivo Unix.

rwxrwxrwx es un set de repeticiones de permisos, donde rwx significa los máximos permisos permitidos con configuración básica.

Por tanto el directorio debería permitirme escribir (w) un nuevo plugin. Y lo hace, pero no lo hace el subdirectorio htdocs, quien presenta la siguiente estructura de permisos:

drwxr-xr-x 8 root root 4096 Jul 14 11:41 htdocs

Pero tambien esta estructura de permisos esta correcta

El que si no tiene o no me permite es solo el directorio donde esta el sitio WP y quien tiene designado a Mr. “Nobody” como propietario, quien pertenece al grupo “staff” que honestamente son usuarios que no conozco. Pero lo que si se es que ellos no están autorizados.

drwxrwxrwx 5 nobody staff 4096 Jul 16 15:25 wholenesswithin.com

Asi es que luego de 2 horas y media dando vueltas en circulos, simplemente me fui directamente al directorio en cuestión, botón derecho del mouse y modifique manualmente propietario y grupo a root:

y funciona! Puedo instalar y desinstalar cualquier plugin, theme, lo que sea. Ahora si puedo comenzar a desarrollar el nuevo website.

By Claudiodee

En 2012 dejé Chile y mi carrera como ingeniero y desde entonces me dedicó a tecnologias, desarrollo web, diseño gráfico y programación. Lo que he aprendido me permite trabajar desde cualquier lugar y viajar por el mundo.
Ayudar a otros a alcanzar lo mismo es mi trabajo.

Leave a Reply

Your email address will not be published. Required fields are marked *