Diseño Web

Diseño Web, Información Tecnica, Sistemas

Gestionar Mysql por línea de comandos. Comandos básicos

Si, como nosotros a veces, tenéis que gestionar bases de datos Mysql por línea de comandos (porque, por seguirdad, no admita gestión web por phpMyadmin), seguramente os olvidaréis de los comandos. Nosotros no estamos todo el día trabajando con Mysql, y usamos muchos tipos de lenguaje, así que solemos olvidarnos de los detalles. Os dejamos aquí los comandos que más necesitaréis. Recordad que esto es una guía MUY básica. Acceder a mysql. Lo ideal es acceder un un usuario que tenga permisos totales para las bases de datos o permisos tipo root. Aunque en muchos sistemas el usuario root no puede entrar en mysql. Todo depende de cómo hayas configurado el sistema. En Debian al instalar creo que lo llama debian-sys-maint. No es buena idea poner tu contraseña de mysql en línea de comandos, así que lo mejor para acceder es:mysql -u nombreusuario -p Mostrara las bases de datos: show databases; Acceder a una base de datos: use nombrebasededatos; Mostrar tablas de una base de datos: show tables; Crear una base de datos:  CREATE DATABASE nombrebasededatos; Borrar una base de datos: DROP DATABASE nombrebasededatos; Ver una lista de usuarios:  select user,host from mysql.user; Ver los permisos de un usuarios:  show grants for ‘nombredeusuario‘@’%’;% es localhost, si eso otra máquina es: show grants for ‘nombredeusuario‘@’ipdelservidor‘; Crear un usuario: CREATE USER ‘nombre_usuario’@’localhost’ IDENTIFIED BY ‘tu_contrasena’; Dar permisos a un usuario en una base de datos. En general, para todos los permisos es: GRANT ALL PRIVILEGES ON nombredelabasededatos.* TO ‘usuario’@’servidor’; Todo esto puede ampliarse con los permisos de Mysql y las opciones. Por ejemplo para una tabla sólo: GRANT ALL PRIVILEGES ON nombredelabasededatos.tabla TO ‘usuario’@’servidor’; Por ejemplo si quieres crear otro super-usuario: GRANT ALL PRIVILEGES ON *.* TO ‘usuario’@’servidor’; Quitar permisos para un usuario: REVOKE permission ON nombrebasededatos.tabla FROM ‘user’@’localhost’; Hacer copia de seguridad de la base de datos. Para esto es mejor hacerlo desde FUERA de Mysql, desde el shell del servidor, la línea de comandos de Linux, usando Mysqldump.$ mysqldump -u nombreusuario -p nombrebasededatos > nombrefichero.sql’; Para exportar una tabla:mysqldump -p –user=username database_name tableName > tableName.sql Esto lo copiará a la ruta donde estés en Linux. Más avanzado:$mysqldump –user=nombreusuario -p –all-databases > nombrefichero$(date +%Y-%m-%d-%H.%M.%S).sql; Esto hace una copia de todas las bases de datos a un fichero donde pone fecha al final del nombre. Recordad que todo esto se puede poner en un fichero para hacer copias cada cierto tiempo. Importar fichero a una base de datos. Se puede hacer de dos maneras. 1) Mysqldump. mysql -p -u username database_name < filename.sql O para una tabla: mysql -u username -p -D database_name < tableName.sql 2)Desde dentro de mysql (la que uso yo) Entrar en la base de datos con: use basededatos; Importar el fichero con source: source rutaalfichero/nombredelfichero.sql; Iremos poniendo más según vayamos echando en falta algún comando.

Diseño Web, Gestores de contenidos, Servidores, Sistemas, Trucos

Modificar parámetros de php.ini en GoDaddy como max_input_vars, max_execution_time

GoDaddy es un hosting que nos encontramos en muchos clientes, porque es muy económico. Eso si, como pasa en muchos servidores compartidos, en cuanto les pides “algo más” , normalmente con gestores de contenidos como WordPress y Prestashop, empiezan a poner problemas. Una de las primeras cosas que necesitas para añadir funcionalidades extra es modificar los parámetros de php.ini como max_execution_time, max_input_vars , memory_limit etc. En cada hosting hay que cambiar esto de manera diferente, según su configuración, y no siempre se puede. Hoy os explicamos cómo hacerlo en GoDaddy. Manera sencilla. Muchos de los parámetros como max_execution_time o memory_limit se pueden cambiar desde el menú, con una opción que está algo escondida. Para ello tienes que entrar en tu CPanel, bajar hasta la parte donde pone Select Php Version y pinchar en esa opción. Puede que ahí tengas que cambiar la versión a 5.6 o superior. Arriba a la derecha tiene que poner Switch to Php Options, si no, cambia la versión. En los Php Options verás que te deja cambiar muchos parámetros. Si el tuyo está ahí, cámbialo y dale a Save. Recuerda que siempre puedes comprobar si está cambiado en tu servidor subiendo por FTP un phpinfo.php y llamándolo desde el navegador. Método algo más complicado. No todos los parámetros están en ese menú anterior. Por ejemplo max_input_vars, necesario para cambiar las traducciones de Prestashop, no está. Entonces tienes que seguir el siguiente método. Tienes que crear un fichero .user.ini en la raíz de tu hosting. Pero yo lo intenté subir por ftp y no sirvió por la codificación. Lo mejor es hacerlo desde el File Manager de tu panel de GoDaddy. Abre el File Manager, ve a la raíz de tu sitio, dale a crear un fichero (arriba a la izquierda) con codificación utf8, y llámalo .user.ini. Ese fichero tiene que empezar por {PHP} (a algunos les funciona sin eso) y luego los comandos que quieras. Por ejemplo: {PHP} max_input_vars = 10000 Salvalo y prueba. Cuidado que a veces la caché del navegador juega malas pasadas. Vuelve a comprobarlo con un phpinfo.php. Esperamos os ayude.

Diseño Web, Gestores de contenidos, Trucos

Cómo activar un WordPress Multisitio para gestionar varias páginas desde el mismo WordPress.

WordPress te permite crear una instalación especial, que se llama WordPress Multisitio, la cual te permite gestionar varias páginas web desde el mismo backend.  Esto tiene varias ventajas: Sólo tienes que logarte en un WordPress para poder gestionar todas las páginas desde un mismo panel. Esto lo haces con un superusuario. Ese usuario gestiona toda la “red” de sitios. Desde un mismo sitio puedes controlar que plugins y que temas (diferentes o iguales) tiene cada página. Desde un mismo sitio gestionas las actualizaciones de plugins y temas. Puedes crear usuarios para cada página fácilmente desde un mismo backend. Sólo necesitas un alojamiento, un hosting, para gestionar varios dominios. Esto es un ahorro ya que no tienes que contratar varios. Eso si…tu alojamiento tiene que poder gestionar el tráfico y los recursos necesarios. Las url de las páginas pueden ser por dominios o subdominios diferentes (demo1.com, demo2.com o página1.demo1.com) o por url (demo.com/pagina1, demo.com/pagina2 etc). Y esto se configura Tiene también algún inconveniente. Como todo lo centralizado en un sólo lugar, si falla ese hosting o ese WordPress, caen todas. Aún así, es una buena idea para gente con pocos recursos de alojamiento, o para gente con servidores potentes que quieran facilitarse la gestión. Nosotros lo usamos para crear las demos para los clientes. Así podemos crear todas las páginas de prueba que queramos y gestionarlas fácilmente sin tener muchas bases de datos o hosting. Para crear un Multisitio en WordPress sólo tienes que hacer una modificación en el fichero wp-config.php. Nota: si es una instalación con contenido, no una nueva,¡ haz copia de seguridad antes! Desactiva todos los plugins y deja los permalinks por defecto. /* Multisitio */ define( ‘WP_ALLOW_MULTISITE’, true ); Después de guardar los cambios entra en el backend y verás un nuevo menú en Herramientas -> Configuración de la red   Desde ese menú empiezas a configurar la red. Te pregunta cómo van a entras las páginas (si por subcarpeta o por subdominio), un correo y un usuario superadministrador. Después de va a indicar unos cambios a hacer en el fichero wp-config.php y en .htaccess. Nota: en principio sólo puedes crear la entrada para subdominio demo1.tudominio.com o carpeta tudominio.com/demo1. Dentro de unos días miraremos cómo hacerlo con dominios distintos. Verás que los del wp-config.php incluyen la línea que habías incluido antes. Así que pon el resto debajo de esta. En el .htaccess tienes que SUSTITUIR las reglas que te pone por las que había, no añadir. Una vez hecho los cambios, cuando vuelvas a entrar en el backend verás un nuevo menú con más opciones. Os las explicamos y mostramos en el vídeo siguiente.

Diseño Web, Información Tecnica, SEO, Trucos

Google Disavow: herramienta avanzada para eliminar el SEO negativo. Enlaces tóxicos.

Hoy os queremos hablar de la herramienta Google Disavow. Como indica el título, es una herramienta avanzada, la mayoría de los sitios no la necesitarán. Pero explicamos quién puede necesitarla, por qué y cómo usarla. Si no te preocupa tu posicionamiento, o no tienes problemas con él y vas bien…el artículo no es para ti. Disavow es decirle a Google “por favor no cuentes estos enlaces para mi SEO”. No es la herramienta del derecho al olvido, no va a eliminar los enlaces del buscador, sólo no los contará para tu posicionamiento. Pero, si tengo muchos enlaces, ¿mejor no? NO. Desde el algoritmo Penguin (2012 creo), existe lo que se llaman enlaces tóxicos y SEO negativo. Google no considera positivo cualquier enlace. De hecho sitios con poca reputación influirán negativamente, las famosas “granjas de enlaces” que tanto afectaron a quien las contrataron. Es decir, no puedes crear artificialmente 50 000 enlaces a tu página: tienen que ser enlaces naturales y relevantes. ¿Cuándo se crean estos enlaces tóxicos? De muchas maneras, pero las más comunes son cuando contratas a una empresa para mejorar el SEO y una de las cosas que hace (mal) es poner enlaces a tu página en todos los sitios que puede (foros, webs, etc). Estos enlaces PENALIZAN, no son positivos. La otra surgió después de Penguin, y es que empresas de la competencia pueden poner enlaces tuyos en sitios que penalizan, para perjudicar tu posicionamiento. Ese es el SEO negativo. No hay que obsesionarse, el número de enlaces que entran a una web es “sólo” uno de los muchos factores por los que Google te posiciona. No el único ni el que más cuenta. Es importante, y cada enlace puede ser un voto, pero subirás a la “primera página” sólo por eso. ¿Cómo usar la herramienta Disavow? Evalúa los enlaces entrantes. Puedes ver fácilmente qué enlaces apuntan a tu sitio haciendo un escaneo de tu web con herramientas online (ya hemos hablado de algunas y pondremos más) pero también es un apartado de Webmaster Tools. Ahí puedes y debes hacer un análisis de los enlaces entrantes si tienes problemas. Si detectas enlaces que no deseas. Si detectas enlaces tóxicos (normalmente porque una  empresa contratada los ha puesto), ponte en contacto con los administradores (webmaster) de esos sitios para intentar eliminarlos. Disavow es siempre la última opción. Si no pudes eliminarlos: usa Disavow. Cuidado: si no sabes lo que haces puedes afectar negativamente a tu posicionamiento. Pero si no encuentras otra solución usa Disavow. Para ello tienes que crear un fichero txt con las url o dominios que quieras desautorizar. Por ejemplo: # example.com removed most links, but missed these http://spam.example.com/stuff/comments.html http://spam.example.com/stuff/paid-links.html # Contacted owner of shadyseo.com on 7/1/2012 to # ask for link removal but got no response domain:shadyseo.com La última línea desautoriza todos los enlaces de ese dominio. Sube ese fichero a la herramienta Disavow.  Recuerda que no es algo inmediato, puede tardar varias semanas porque evaluarán tu petición. Así que ve mirando los enlaces entrantes de nuevo hasta ver si se han eliminado tus peticiones. Más información aquí.

Diseño Web, e-Learning, Soporte, Trucos

Moodle: enviar notificación cuando un alumno acabe un cuestionario

Moodle es un gran LMS, pero tiene alguna cosa que no se entiende por qué no han corregido hace tiempo. La primera es que los permisos tengas que ponerlos en cada curso y no puedas ponerlos por categoría. La segunda a destacar es que, por defecto, no se envíe una notificación cuando un alumno acabe un cuestionario. Hoy os damos una solución a la segunda. Era un problema que tenía un cliente. Más de 150 alumnos en la plataforma, y tenían que estar mirando cada cierto tiempo si alguien había acabado un examen o cuestionario. Lo raro es que el sistema trae todo preparado para ello…pero no lo tiene activado por defecto. Solución. Tienes que irte al perfil que quieres que reciba las notificaciones, ya sea profesor o gestor. En nuestro caso elegimos el gestor porque era el coordinador de estudios. Ve a Administración del sitio>Usuarios>Permisos>Definir roles Ahí pincha en el perfil (en nuestro caso gestor), y luego en Editar. Baja en los permisos hasta el que pone en negro “mailnotifysubmission“. En español es Recibir un mensaje de confirmación cuando un intento de resolver el cuestionario se presente. Ese es el que hay que marcar. También podéis marcar, si queréis, el de Recibir un mensaje de confirmación cuando se envíe para el perfil de alumno, para que les llegue una confirmación (no lo veo necesario). Opción 2. Si no quieres hacerlo para todo el sistema, también puedes irte a un curso específico y cambiarlo sólo a nivel de curso. Para eso ve a Usuarios>Permisos en el curso y busca las opciones anteriores. Lo hemos probado y lo envía sin problemas.

Diseño Web, Información Tecnica, Sistemas, Trucos

Crear un archivo phpinfo para ver módulos, parámetros y versión de php

Este es uno de esos artículos que deberíamos tener desde hace tiempo en el blog, porque es básico…pero uno siempre vuelve a buscar cómo hacerlo. Así que hoy corregimos esa falta. Si quieres ver toda la información sobre el php de tu servidor (dedicado o virtual), puedes hacerlo por línea de comando usando los siguientes comandos: php -i php -v Pero no siempre tienes acceso ssh, y la presentación de esta información no es ideal. Afortunadamente podemos crear un archivo phpinfo.php en nuestro servidor, y ejecutarlo desde el navegador, para tener toda la información: módulos, versiones, parámetros, límite de descargas, límites de memoria etc. Todo. Nota: no tiene que llamarse phpinfo.php. Muchas veces lo puedes querer crear con otro nombre, para que la gente no obtenga esa información fácilmente (cuanta más información, mejor atacan). Cómo crear el archivo phpinfo. Abre un editor de texto, o en tu ordenador, o por línea de comando en el servidor (nano, vim etc). Pon el siguiente código: <?php phpinfo(); ?> Guarda le fichero con el nombre que quieras acabado en php. Por ejemplo phpinfo.php, o info.php, o loquesea.php. Ahora accede por el navegador en http://www.tudominio.com/rutaquehaspuesto/phpinfo.php Debería abrirse una pantalla como esta  en el navegador con toda la información. Para más opciones de phpinfo mira este manual.  

Diseño Web, Gestores de contenidos

Limitar los intentos de inicio de sesión en WordPress: Login LockDown

No hemos hablado de este plugin antes porque la mayoría de los plugins de seguridad de los que hemos hablado traen esta funcionalidad. Pero si, por algún motivo, no queréis instalarlos, este cumple su función a la perfección. Y dicha función es básica para la seguridad: limitar los intentos de inicio de sesión. Login LockDown  es un plugin que restringe cuantas veces puede un usuario intentar iniciar sesión. Esto minimiza algo los ataques de fuerza bruta (cuando alguien intenta probar muchas contraseñas). ¿Lo voy a necesitar? Para el que no sepa, nada más tener un servidor o web online tienes gente (o robots) probando contraseñas. Cuanto más accesos tenga tu página, cuanto más famosa, más intentos. Esto limitará bastante este riesgo de seguridad. Por ejemplo, en una página que atacaban mucho, tenemos los intentos limitados a uno. Esto ha frenado mucho los ataques. El plugin por defecto bloquea la IP tras 3 intentos fallidos. Esto se puede cambiar desde las opciones del plugin. Y si, pueden cambiar fácilmente de IP, pero repetirá el proceso. Obviamente los administradores pueden desbloquear IPs desde la configuración. ¿Qué pasa si soy yo el que me equivoco? Pasa…os lo aseguro :-D. No pasa nada, esperad una hora (o lo que tengáis configurado) y se desbloquea.

Diseño Web, Gestores de contenidos, Prestashop

Prestashop: plugin de pestañas novedades, más vendidos,rebajas y destacados en la portada.

Todavía hay pocos módulos compatibles con la versión 1.7 de Prestashop, porque es otra versión que ha cambiado la cómo se hacen ciertas cosas y no todo es compatible con las anteriores. Hoy os dejamos uno gratuito para Prestashop 1.7 que te permite poner unas pestañas en la portada: la pestaña novedades, la pestaña más vendidos, la de rebajas (descuentos) y la pestaña destacados. Algo que necesitamos en casi todas las tiendas (al menos alguna de esas pestañas). Si, el propio Prestashop viene con esos módulos, pero muchas veces o no funcionan bien o no aparecen como queremos. Los módulos, son de MyPresta, los puedes descargarlos de: Novedades. Más vendidos. Destacados. Rebajas. Eso si, para que funcionen los módulos no basta con instalarlos, hay que hacer unos pasos de configuración que puedes comprobar en la siguiente guía (inglés). Si la quieres en español lo tienes en este artículo.    

Diseño Web, Gestores de contenidos

Plugin Loco Translate para traducir temas y plugins de WordPress desde el backend.

Muchas veces, cuando adquieres un tema, te encuentras que alguno (o todos) los términos no están traducidos a tu idioma. No es difícil traducir un tema de WordPress porque los ficheros del idioma están en formato .mo y .po y sólo tienes que copiarlos con el nombre de tu idioma y, hasta ahora, editarlos con un programa tipo Poedit. Después lo subes a la web. Pero es un proceso algo tedioso: mira el término que falla, baja el fichero, edítalo, súbelo, comprueba que está bien, si no repite. Para eso han sacado este plugin Loco Translate para WordPress, que te crea un editor MUY similar a Poedit pero en el backend de tu web. De esta manera, sólo tienes que entrar en tu backend, en la opción del menú que pone Loco y ponerte a traducir en el idioma que quieras. Además, esto te permite crear un usuario y darle acceso a manejar este plugin. Así, puedes poner a gente a traducir (colaboradores, traductores) tu plantilla desde sus oficinas o casa. Poco más que decir, sencillo , simple y cómodo. ¡ A traducir!

Diseño Web, Gestores de contenidos, Prestashop, Trucos

Cómo crear un tema hijo en Prestashop

Hace un tiempo hablamos sobre cómo crear temas hijo en WordPress, hoy os lo dejamos para Prestashop. Los temas hijo se crean para poder hacer modificaciones sobre el tema principal, sin correr el riesgo que una actualización del mismo borre todas las modificaciones. El tema hijo hereda todas las opciones y funcionalidades del padre, incluso las que aparecen cuando actualizamos este, pero siempre prevalecen las modificaciones realizadas en el hijo.  Es decir, podemos actualizar sin miedo a Por ejemplo es muy habitual crear temas hijo para modificar el css. El tema hijo será igual que el tema padre, pero con las modificaciones del CSS realizadas. Además, estas modificaciones son las que se cargarán, no funciona como los plugins de modificación de CSS que insertan nuevas reglas (lo que al final carga la web al tener un CSS con reglas doble). Prestashop, a partir de la versión 1.7, permite crear estos temas de manera sencilla y aquí os explicamos cómo. Pongo como ejemplo crear un tema hijo del classic que viene con prestashop. Pero puedes elegir otro tema. Ve a la carpeta /themes y crea una carpeta con el nombre del tema hijo. Por ejemplo /classichijo. Entonces deberías tener en /themes la carpeta /classic y la carpeta /classichijo. En esta carpeta /classichijo tienes que tener los siguientes ficheros o carpetas: – preview.png     (es lo que aparecerá en el apartado temas del backend como previsualización de tu tema). – config                 (directorio) –/config/theme.yml   (fichero de configuración dentro de la carpeta anterior). Lo mejor es que los copias del tema padre. Ahora edita el ficher theme.yml del tema hijo. En la cabecera tienes que poner al menos (pon las líneas que no aparezcan, y cambia los nombres de los temas para tu caso) parent: classic name: classichijo display_name: Mi Tema Hijo version: 1.0.0 assets: use_parent_assets: true Esto le dice el nombre de tu tema (puedes poner lo que quieras en name, display name y versión). Ve al backend y elige el tema hijo como el activo. A partir cualquier fichero que quieres modificar lo puedes poner en el hijo. Por ejemplo si quieres cambiar el css puedes copiar la carpeta /assets/css y editar el fichero theme.css en el hijo. Una gran mejora en Prestashop 1.7 que nos hará la vida más sencilla a todos. Más información aquí.

Scroll al inicio