[PHP] Actualizando Drupal 8 con Drush

Standard

Drush update Drupal 8 Header image | Zarpele

Segunda entrada de Drupal 8, en la ultima [PHP] Instalando Drupal 8 en 5 minutos, nos dimos cuenta que teníamos nuestro Drupal desactualizado. Es importante mantener tu CMS actualizado, ya sea hablando del Core de Drupal, los modulos constribs, librerías, etc. para evitar que gente malintencionada se haga de información importante (o no) de nuestro sistema. Se acuerdan de los Panama Papers?, bueno al parecer un plugin desactualizado de WordPress, mas una versión vulnerable de Drupal causó estas famosas filtraciones.

Para mas información nos dirigimos a la sección Available Updates en la pestaña Reports (/admin/reports/updates), aquí vemos en el ejemplo que nuestro Drupal quedo en la versión 8.0.4 y al día de la fecha estamos en la versión 8.1.1.

Available updates Drupal 8 | Zarpele

Bien, ya verificamos via backend que tenemos nuestro Drupal desactualizado, ahora vamos con Drush.

$ drush up

Available updates Drupal 8 Drush | Zarpele

Drush encuentra la misma versión que nos propone el backend de Drupal, como warning nos informa que cualquier modificación en el core que se haya realizado sera reemplazada (si hicieron modificaciones en el core van mal), también nos dice que no se debe aplicar en ambientes de producción.

Drush guarda una copia antes de realizar el update y nos muestra el directorio, tambien nos informa los database updates pendientes. Ingresamos la tecla y y seguimos con las actualizaciones.

Available updates Drupal 8 Drush 3 | Zarpele

Listo nuestro Drupal 8 esta actualizado!!

Verificamos nuevamente con un Drush up…

$ drush up

Available updates Drupal 8 Drush 4 | Zarpele

Available updates Drupal 8 Drush 5 | Zarpele

Virtual Host en Ubuntu 9.10

Standard

Cuando tenemos solo un proyecto, no vemos la necesidad de crear host virtuales para separar los mismos, solo utilizamos la raiz / (/var/www/) para nuestro proyecto y somos felices :).

Pero, a la hora de múltiples proyectos, esto es un problema que debemos solucionar para no aumentar la complejidad y evitar posibles errores de programación a futuro.

Suponemos que tenemos 2 proyectos (Moodle y una copia de seguridad de Zarpele!), y actualmente lo tenemos instalados en:

/var/www/moodle
/var/www/zarpele

Bien para hacer bien las cosas debemos crear en nuestro proyectos 2 host virtuales. A continuación crearemos el host que utilizaremos para Moodle y de forma idéntica podrán crear los demás.

Editando hosts

El archivo hosts de un ordenador es, en su origen, un vestigio de los tiempos en que sólo había unos pocos dominios y se enviaba la lista con todos ellos y sus respectivas IPs en un archivo llamado hosts.

En la actualidad todas las peticiones se realizan a los servidores DNS. No obstante, los sistemas actuales mantienen este archivo, de modo que es posible modificar a mano a qué IP deben resolver determinados dominios. Así su principal utilidad actual es el bloqueo de las direcciones de la publicidad web.

Aja si mucha Wikipedia, en resumen editaremos el archivos hosts para que en vez de dejarle a nuestro servidor de DNS que resuelva el nombre de dominio ingresado y lo relacione con una IP se resuelva localmente sin necesidad de “buscar” ese dominio ya que tenemos la relacion IP-Dominio en nuestra PC.

Con privilegios de administrador, editaremos el siguiente archivo

sudo gedit /etc/hosts

Ahora bien tendremos algo asi…

127.0.0.1	localhost
 
# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Atención: Este archivo puede variar según características de la PC utilizada.

El nombre que vamos a utilizar es moodle-local, pueden elegir el que quieran, pero traten de no poner una pagina verdadera como taringa.net , ya que esta podría no funcionar o en todo caso nos direccionaría a nuestro proyecto :)

127.0.0.1	localhost
127.0.0.1 moodle-local
 
# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Creando sites-available

Lo siguiente que debemos hacer, es informarle a Apache de estos host. Para el cual debemos crear 2 (seguiremos con el ejemplo y solo creare moodle-local, igualmente se hacen los demas) ficheros en /etc/apache2/sites-available.

Crearemos moodle-local con el siguiente contenido…

<VirtualHost *:80>
	ServerAdmin webmaster@localhost
	ServerName moodle-local
	DocumentRoot /var/www/moodle
	<Directory />
		Options FollowSymLinks
		AllowOverride all
	</Directory>
	<Directory /var/www/moodle>         
		Options Indexes FollowSymLinks MultiViews
		AllowOverride all 
		Order allow,deny
		allow from all
	</Directory>
</VirtualHost>

Las lineas importantes son:
ServerName, aquí pondremos el nombre de dominio que acabamos de crear en nuestro archivo hosts.
DocumentRoot, aquí pondremos la ruta raiz donde se encuentra nuestro proyecto
, idem anterior…

Creando sites-eneable

Ahora utilizaremos el comando a2ensite “available to enabled site”, para dejar andando nuestro virtualhost…

sudo a2ensite moodle-local

Si todo sale bien, la consola nos devolvería

Enabling site moodle-local.
Run '/etc/init.d/apache2 reload' to activate new configuration!

Reiniciando Apache

Como leyeron anteriormente, debemos reiniciar nuestro apache para que todo que joya.

sudo /etc/init.d/apache2 reload

Y listo!!!

Probando nuestro Host Virtual

En nuestro navegador ponemos moodle-local y entramos a nuestro moodle.

Url’s amigables con php y .htaccess

Standard

Esto es un mini tutorial para poder implementar url’s amigables con php y .htaccess de manera fácil y sencilla aplicable a cualquier ejemplo, si te sirvió o te gustó comenta que te pareció el aporte, bueno ahora el tuto…

A la hora de utilizar variables $_GET en php, como por ejemplo http://www.mipagina.com.ar/vernota.php?id=numero&title=titulo, nos damos cuenta que esta forma de acceder a nuestras paginas dinámicas traen una serie de inconvenientes.

Algunas ventajas

Aqui les dejo a mi entender las ventajas mas importantes de utilizar URL amigables de mayor a menor.

  1. Si bien Google nos informa que su robot Googlebot puede indexar hasta dos variables a través de la URL, esto no es muy recomendable según expertos en el área de posicionamiento SEO.
  2. Le mostramos información irrelevante y difícil de entender al usuario que usa la aplicación web, no es muy expresivo utilizar http://www.mipagina.com.ar/vernota.php?id=1552.
  3. Son fáciles de recordar.
  4. Son fáciles de escribir.
  5. Y varios mas pero los antes descriptos son los mas importantes…

Manos a la obra

  • URL que tenemos: http://www.mipagina.com.ar/vernota.php?id=numero&title=titulo
  • URL que queremos: http://www.mipagina.com.ar/vernota/numero/titulo.html

Lo primero que vamos a hacer es entrar en esta pagina que te ayuda a configurar tu .htaccess mod_rewrite generator un Wizard para crear reglas Rewrite.

Una vez que ingresamos en la pagina nos pedirá la URL que tenemos como lo describimos mas arriba, y solo clickear en Generated It

Ahora nos aparecera The original URL (que es la recien ingresada) y The rewritten URL(que es la nueva URL amigable).

  • The original URL: http://www.mipagina.com.ar/vernota.php?id=numero&title=titulo
  • The rewritten URL: http://www.mipagina.com.ar/numero/titulo.html.html

Ahora explicare brevemente las opciones que aparecen debajo de las URL.

Parameters

Seleccione los parámetros que deben estar presentes en la dirección URL reescrita. De forma predeterminada, sólo se incluyen los valores de los parámetros. Puede añadir el nombre y valor a la dirección URL reescrita o eliminar un parámetro por completo.

Aquí no tocamos nada (en este caso), ya que en nuestro ejemplo aparecen los dos parámetros a utilizar…

Prefix

Es una herramienta para mejorar la forma de la dirección URL reescrita y aumentando su relevancia.

Aquí ingresamos dentro de la casilla vernota/ , ya que tenemos que llegar a la forma enunciada mas arriba.

Delimiters

Seleccionamos los delimitadores de acuerdo a su gusto.

Aqui lo dejamos como esta, ya que nuestro delimitador es la barra / .

Suffix

Puede usar el sufijo para hacer cumplir la extensión al resto de su sitio. También puede incluir una o más palabras clave.

En este caso dejamos el .html, tambien le podemos poner .php, .htm, .asp, .cualquiercosa. Pero por lo que e probado .html lo indexa bien los buscadores y me quede con este.

Finalizando

Listo ya hemos creado nuestra regla de reescritura, podemos observar mas abajo de la pagina nos muestra las dos URL con los parámetros coloreados, para evitar malos entendidos.

  • The original URL: http://www.mipagina.com.ar/vernota.php?id=numero&title=titulo
  • The rewritten URL: http://www.mipagina.com.ar/vernota/numero/titulo.html

Ahora solo nos queda hacer click en Done y copiar el texto que aparece en el textarea y agregarlo a nuestro .htaccess.

Les dejo la traducción aquí…


La regla mod_rewrite para su sitio está hecha. Por favor, siga las siguientes instrucciones para instalarlo.

  1. Primero tendrá que comprobar si el archivo .htaccess existe en la raíz de su sitio web.
  2. Si el archivo. htaccess existe, puede descargarlo desde su sitio web, añada las siguientes líneas al final del archivo, y cargar el archivo modificado de nuevo a su sitio. Por favor, haga una copia del archivo original. htaccess. Así que si algo sale mal, puede restaurar el archivo original.
  3. Si el archivo .htaccess no existe, crear un nuevo archivo .htaccess y agregar las siguientes líneas a la misma. Luego subirlo a la raíz de su sitio web. Usted puede eliminar si algo va mal.

Añada las siguientes líneas de responsabilidad .htaccess:

RewriteEngine On
RewriteRule ^vernota/([^/]*)/([^/]*)\.html$ /vernota.php?id=$1&title=$2 [L]

Listo

Y listo ya tiene la regla creada y si URL amigable funcionando.
También les dejo una función en PHP para utilizarla en la parte de title.

/*
 
  *@autor: Chuecko
  *@url: Zarpele.Com.Ar
  *Devuelve un valor String para utilizarlo como URL amigable. 
 
 */ 
function urls_amigables($url) {
    // Transformamos todo a minúsculas
    $url = strtolower($url);
    //Reemplazamos caracteres especiales latinos
    $find = array('á', 'é', 'í', 'ó', 'ú', 'ñ');
    $repl = array('a', 'e', 'i', 'o', 'u', 'n');
    $url = str_replace ($find, $repl, $url);
    // Añadimos los guiones
    $find = array(' ', '&', '\r\n', '\n', '+');
    $url = str_replace ($find, '-', $url);
    // Eliminamos y Reemplazamos demás caracteres especiales
    $find = array('/[^a-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/');
    $repl = array('', '-', '');
    $url = preg_replace ($find, $repl, $url);
    return $url;
}

Paginas que no usan URL amigables

Estas paginas argentinas y del mundo no usan URL amigables, no se dan cuenta del potencial que estan perdiendo a la hora de Optimizacion SEO y en hacer una URL mas amigable al usuario…

  • http://www.lanacion.com.ar/nota.asp?nota_id=1171498&pid=7258991&toi=6476
  • http://diariocronica.com.ar/noticia.php?idnota=150498
  • http://www.atp.com.ar/verpost.asp?ID=125600
  • http://www.ucr.org.ar/nota.php?NOTAID=4139
  • http://www.diario.com.mx/nota.php?notaid=a8207b909217cef5686a7849ae671568
  • http://www.gacemail.com.ar/Detalle.asp?NotaID=10277
  • http://www.enplenitud.com/nota.asp?notaid=10744
  • http://www.latinspots.com/website/nota.php?notaid=13240
  • http://www.catamarcaya.com/notas.php?id_nota=12610
  • DIARIOS DE MI CIUDAD:

  • http://www.elheraldo.com.ar/ver_noticias.php?id_nota=34017
  • http://www.diarioelsol.com/noticias.php?ed=13842&di=0&no=64946
  • http://www.diariojunio.com.ar/noticias.php?ed=1&di=0&no=35278
  • http://www.horadigital.com.ar/noticia.asp?id=13632

Entradas Relacionadas:


Saludos,
Si te sirvió deja un comentario…

Implementar Google Friend Connect en WordPress

Standard

Bueno les dejo un mini tuto de como implentar esta tecnología en WordPress ya que no lo vi mucho en el mundo de los blogs.
Si les es util, comenten o si tiene alguna duda también comenten… :)

Paso 1: Accediendo a Connect Friend.

Deben entrar en http://www.google.com/friendconnect ya habiendo accedido a su cuenta de Gmail con la que desean Administrar sus Amigos y luego Aceptan el Terminos del Servicio que les pone Gmail, común para cuando unos se subscribe a una nueva tecnologia como FeedBurner, el historial de google, etc.




Paso 2: Mi Panel de Amigos.

Entramos al panel y pones en Continue.

Paso 3: Agregando nuevo sitio.

Ponemos el nombre del blog y la diraccion URL…

Paso 4: Descargando Archivos.

Descargamos los dos archivos que nos muestra en pantalla rpc_replay.html y canvas.html, archivos que subiremos al index de nuestro donde esta instalado nuestro Blog.

Paso 5: Probando archivos subidos.

Luego de haber subido los dos arhivos HTML a nuestro servidor le damos en Continue.
Si nos aparece esto, algo hicimos mal…

En cambio, si nos aparece esto, vamos bien…

Paso 6: Obteniendo el código.

Luego de hacer Click en Test to finalize setup, vamos a obtener el codigo para poner en nuestro blog…

Paso 7: Personalizando nuestro Widget.

Podemos darle el gusto que querramos a nuestro Widget. Color de Fondo, Bordes, Tamaño del Widget, Tamaño del las Caras y demás…

En la misma pagina damos click en Generate Code y ponemos el código en donde mas se nos guste en nuestro Blog.

Paso 8: Ubicando el Panel de nuestro Widget.

A la izquierda luego de haber creado y seguido los pasos, se nos creara un panel de administración que usaremos para modificar el Widget luego de haberlo creado.

Paso 9: Fin.

Listo una vez seguido los pasos como lo detallamos anteriormente, obtendremos nuestro panel para que se agregen mas personas y vos que esperas???

Saludos…