Guía completa para configurar Wordpress con AWS Linux. La famosa Amazon Web Services (AWS) es una subsidiaria de Amazon.com que ofrece plataformas de cómputo en la nube bajo demanda. Te explico cómo instalar wordpress.
Índice de contenido del artículo
- ¿Cómo configurar WordPress en AWS?
- Introducción: ¿Qué es AWS y por qué deberíaa probarlo?
- Configuración de un servidor de WordPress en AWS EC2 y S3
- Cómo configurar el servidor de base de datos de WordPress en la instancia EC2 en AWS
- La guía completa para instalar WordPress en AWS y administrar la seguridad con Apache
- Requisitos previos
- Instalación de WordPress
- Pasos siguientes
- ¡Socorro! Ha cambiado el nombre DNS público y ahora el blog se ha roto
1. ¿Cómo configurar WordPress en AWS?
1.1. Introducción: ¿Qué es AWS y por qué deberíaa probarlo?
Amazon Web Services (AWS) es una subsidiaria de Amazon.com que ofrece plataformas de cómputo en la nube bajo demanda a individuos, nuevas empresas y empresas. AWS proporciona una serie de soluciones en las áreas de computación, almacenamiento, base de datos y análisis. Se lanzó por primera vez en 2006 como un servicio de infraestructura para alojar sitios web en los propios servidores de Amazon, pero desde entonces se ha expandido para incluir más que solo servicios de alojamiento web. La plataforma ahora alberga bases de datos para empresas como Netflix o Spotify, así como aplicaciones de software como las que utilizan Pinterest o Instagram.
1.2. Configuración de un servidor de WordPress en AWS EC2 y S3
El primer paso es crear una nueva cuenta de AWS. Esto se hace yendo a la consola de administración de AWS y haciendo clic en "Crear nueva cuenta". A continuación, deberá configurar una tarjeta de crédito para la facturación.
El siguiente paso es crear un servidor privado virtual (VPS). Esto se puede hacer volviendo a la consola de administración de AWS y haciendo clic en "EC2" en el panel de navegación de la izquierda. A continuación, haga clic en "Iniciar instancia". Luego se le solicitarán varias opciones, como el tipo de instancia, el tipo de almacenamiento, etc. Elija la opción que mejor se adapte a sus necesidades y continúe con el proceso de configuración.
Finalmente, debe cargar los archivos de su sitio web en Amazon S3 para que sean accesibles desde cualquier computadora que ejecute WordPress en cualquier lugar del mundo. Para ello, vuelva al panel de control de EC2 y haga clic en "Elastic File System (EFS)". Al hacer clic en esto, obtendrá un panel de control de EFS que le permitirá cargar archivos.
1.3. Cómo configurar el servidor de base de datos de WordPress en la instancia EC2 en AWS
Este tutorial está destinado a ayudarlo a configurar el servidor de la base de datos de WordPress en una instancia EC2 en AWS.
Usaremos Amazon Linux como sistema operativo y MySQL como servidor de base de datos.
El primer paso es lanzar la instancia EC2 y conectarla a su cuenta de AWS. El siguiente paso es instalar MySQL en su instancia EC2. En este tutorial, usaremos una interfaz gráfica de usuario (GUI) para la instalación de MySQL en nuestra instancia EC2.
Una vez instalado, necesitamos crear un nuevo usuario para nuestro servidor de base de datos. Esto se puede hacer iniciando sesión en nuestra consola MySQL (usando mysql -u root -p
). Una vez que haya iniciado sesión, debemos escribir:
mysql> CREAR USUARIO 'usuario'@'%';
El siguiente paso es otorgar privilegios para este nuevo usuario escribiendo: s mysql> GRANT ALL PRIVILEGES ON wordpress.* TO 'user'@'%
2. La guía completa para instalar WordPress en AWS y administrar la seguridad con Apache
Extraído de la página oficial de AWS
Los siguientes procedimientos lo ayudarán a instalar, configurar y proteger un blog de WordPress en una instancia de Amazon Linux 2022. Este tutorial es una buena introducción al uso de Amazon EC2 porque tendrá control total de un servidor web que aloja el blog de WordPress, algo que no es habitual con un servicio de hosting tradicional.
Es responsable de actualizar los paquetes de software y de mantener los parches de seguridad del servidor. Para llevar a cabo una instalación más automatizada de WordPress que no requiera interacción directa con la configuración del servidor web, el servicio AWS CloudFormation ofrece una plantilla de WordPress que también puede usar para no perder tiempo. Para obtener más información, consulte Introducción en la Guía del usuario de AWS CloudFormation. Si prefiere alojar el blog de WordPress en una instancia de Windows, consulte Implementar un blog de WordPress en la instancia de Windows de Amazon EC2 en la Guía del usuario de Amazon EC2 para instancias de Windows. Si necesita una solución de alta disponibilidad con una base de datos desacoplada, consulte Implementación de sitio web de WordPress de alta disponibilidad en la Guía para desarrolladores de AWS Elastic Beanstalk.
Estos procedimientos son para usar con Amazon Linux 2. Para obtener más información acerca de otras distribuciones, consulte la documentación específica. Muchos de los pasos de este tutorial no funcionan en instancias de Ubuntu. Para obtener ayuda para instalar WordPress en una instancia de Ubuntu, consulte WordPress
Temas
- Requisitos previos
- Instalación de WordPress
- Pasos siguientes
- ¡Socorro! Ha cambiado el nombre DNS público y ahora el blog se ha roto
3. Requisitos previos
En este tutorial se presupone que se ha lanzado una instancia de Amazon Linux 2 con un servidor web funcional con compatibilidad con PHP y base de datos (MySQL o MariaDB) siguiendo todos los pasos incluidos en Tutorial: instalación de un servidor web LAMP en Amazon Linux AMI para Tutorial: Instalación de un servidor web LAMP en Amazon Linux 2 para Amazon Linux 2. En este tutorial también se incluyen pasos para configurar un grupo de seguridad que permita el tráfico HTTP
y HTTPS
, así como varios pasos para asegurar que los permisos de archivo están correctamente establecidos en el servidor web. Para obtener más información acerca de cómo añadir reglas al grupo de seguridad, consulte Agregar reglas a un grupo de seguridad.
Recomendamos que asocie una dirección IP elástica (EIP) a la instancia que está usando para alojar un blog de WordPress. Esto impide que la dirección DNS pública de la instancia cambie e interrumpa la instalación. Si posee un nombre de dominio y quiere usarlo para el blog, puede actualizar el registro DNS del nombre de dominio para que apunte a la dirección EIP (para obtener ayuda al respecto, póngase en contacto con el registrador de nombres de dominio). Puede tener una dirección EIP asociada con una instancia en ejecución sin costo alguno. Para obtener más información, consulte Direcciones IP elásticas.
Si todavía no tiene un nombre de dominio para el blog, puede registrar uno con Route 53 y asociarlo con la dirección EIP de la instancia. Para obtener más información, consulte Registrar nombres de dominio mediante Amazon Route 53 en la Guía para desarrolladores de Amazon Route 53.
4. Instalación de WordPress
Opción: completar este tutorial con la automatización
Para completar este tutorial con AWS Systems Manager Automation en lugar de las siguientes tareas, ejecute el documento de automatización
Conecte la instancia y descargue el paquete de instalación de WordPress.
Para descargar y descomprimir el paquete de instalación de WordPress
-
Descargue el último paquete de instalación de WordPress con el comando wget. El comando siguiente debería descargar siempre la última versión.
[ec2-user ~]$
wget https://wordpress.org/latest.tar.gz
-
Descomprima y desarchive el paquete de instalación. La carpeta de instalación se descomprime en una carpeta llamada
wordpress
.[ec2-user ~]$
tar -xzf latest.tar.gz
Para crear un usuario de base de datos y una base de datos para la instalación de WordPress
La instalación de WordPress necesita almacenar información, como las publicaciones en el blog y los comentarios de los usuarios, en una base de datos. Este procedimiento ayuda a crear una base de datos para el blog y un usuario que esté autorizado a leer y guardar información en ella.
-
Inicie el servidor de base de datos.
-
[ec2-user ~]$
sudo systemctl start mariadb
-
-
Inicie sesión en el servidor de base de datos como el usuario
root
. Escriba la contraseñaroot
de la base de datos cuando se lo pidan. Esta contraseña puede ser diferente de la contraseñaroot
del sistema o incluso podría estar en blanco si no se ha protegido el servidor de bases de datos.Si todavía no ha protegido el servidor de base de datos, es importante que lo haga. Para obtener más información, consulte Para proteger el servidor MariaDB (Amazon Linux 2).
[ec2-user ~]$
mysql -u root -p
-
Cree un usuario y una contraseña para la base de datos MySQL. La instalación de WordPress usa estos valores para comunicarse con la base de datos MySQL. Escriba el comando siguiente sustituyendo un nombre de usuario y contraseña únicos.
CREATE USER '
wordpress-user
'@'localhost' IDENTIFIED BY 'your_strong_password
';Asegúrese de que crea una contraseña fuerte para el usuario. No utilice la comilla simple ( ' ) en la contraseña porque interrumpirá el comando anterior. Para obtener más información acerca de la creación de una contraseña segura, visite http://www.pctools.com/guides/password/
. No utilice ninguna contraseña existente y asegúrese de que la guarda en un lugar seguro. -
Cree la base de datos. Póngale un nombre descriptivo y significativo, por ejemplo
wordpress-db
.notaLos signos de puntuación que rodean el nombre de la base de datos en el comando siguiente son acentos graves. La tecla (
`
) se ubica por lo general sobre la teclaTab
en un teclado estándar. Los acentos graves no siempre son obligatorios pero permiten usar caracteres no válidos, por ejemplo, guiones, en los nombres de las bases de datos.CREATE DATABASE `
wordpress-db
`; -
Conceda privilegios completos para la base de datos al usuario de WordPress que ha creado antes.
GRANT ALL PRIVILEGES ON `
wordpress-db
`.* TO "wordpress-user
"@"localhost"; -
Vacíe los privilegios de base de datos para recoger todos los cambios.
FLUSH PRIVILEGES;
-
Salga del cliente de
mysql
.exit
Para crear y modificar el archivo wp-config.php
La carpeta de instalación de WordPress contiene un archivo de configuración de ejemplo llamado wp-config-sample.php
. En este procedimiento, va a copiar este archivo y a modificarlo para ajustarlo a su configuración específica.
-
Copie el archivo
wp-config-sample.php
en un archivo llamadowp-config.php
. Esto crea un archivo de configuración nuevo y mantiene el archivo original de muestra intacto como copia de seguridad.[ec2-user ~]$
cp wordpress/wp-config-sample.php wordpress/wp-config.php
-
Modifique el archivo
wp-config.php
con el editor de texto favorito (por ejemplo nano o vim) y escriba los valores de la instalación. Si no tiene un editor favorito,nano
es más adecuado para principiantes.[ec2-user ~]$
nano wordpress/wp-config.php
-
Busque la línea que define
DB_NAME
y cambiedatabase_name_here
por el nombre de la base de datos que ha creado en Paso 4 de Para crear un usuario de base de datos y una base de datos para la instalación de WordPress.define('DB_NAME', '
wordpress-db
'); -
Busque la línea que define
DB_USER
y cambieusername_here
por el usuario de la base de datos que ha creado en Paso 3 de Para crear un usuario de base de datos y una base de datos para la instalación de WordPress.define('DB_USER', '
wordpress-user
'); -
Busque la línea que define
DB_PASSWORD
y cambiepassword_here
por la contraseña fuerte que ha creado en Paso 3 de Para crear un usuario de base de datos y una base de datos para la instalación de WordPress.define('DB_PASSWORD', '
your_strong_password
'); -
Busque la sección denominada
Authentication Unique Keys and Salts
. Estos valoresKEY
ySALT
ofrecen una capa de cifrado a las cookies del explorador que los usuarios de WordPress almacenan en sus equipos locales. Básicamente, agregar valores largos aleatorios hace que el sitio sea más seguro. Visite https://api.wordpress.org/secret-key/1.1/salt/para generar aleatoriamente un conjunto de valores de claves que pueda copiar y pegar en el archivo wp-config.php
. Para pegar texto en un terminal PuTTY, coloque el cursor en el punto que quiere pegar el texto y haga clic con el botón derecho del ratón dentro del terminal PuTTY.Parar obtener más información sobre claves de seguridad, visite https://wordpress.org/support/article/editing-wp-config-php/#security-keys
. notaLos valores siguientes tienen una finalidad de ejemplo únicamente; no los use en la instalación.
define('AUTH_KEY', '
#U$$+[RXN8:b^-L 0(WU_+ c+WFkI~c]o]-bHw+)/Aj[wTwSiZ<Qb[mghEXcRh-
'); define('SECURE_AUTH_KEY', 'Zsz._P=l/|y.Lq)XjlkwS1y5NJ76E6EJ.AV0pCKZZB,*~*r ?6OP$eJT@;+(ndLg
'); define('LOGGED_IN_KEY', 'ju}qwre3V*+8f_zOWf?{LlGsQ]Ye@2Jh^,8x>)Y |;(^[Iw]Pi+LG#A4R?7N`YB3
'); define('NONCE_KEY', 'P(g62HeZxEes|LnI^i=H,[XwK9I&[2s|:?0N}VJM%?;v2v]v+;+^9eXUahg@::Cj
'); define('AUTH_SALT', 'C$DpB4Hj[JK:?{ql`sRVa:{:7yShy(9A@5wg+`JJVb1fk%_-Bx*M4(qc[Qg%JT!h
'); define('SECURE_AUTH_SALT', 'd!uRu#}+q#{f$Z?Z9uFPG.${+S{n~1M&%@~gL>U>NV<zpD-@2-Es7Q1O-bp28EKv
'); define('LOGGED_IN_SALT', ';j{00P*owZf)kVD+FVLn-~ >.|Y%Ug4#I^*LVd9QeZ^&XmK|e(76miC+&W&+^0P/
'); define('NONCE_SALT', '-97r*V/cgxLmp?Zy4zUU4r99QQ_rGs2LTd%P;|_e1tS)8_B/,.6[=UK<J_y9?JWG
'); -
Guarde el archivo y salga del editor de texto.
-
Para instalar archivos de WordPress bajo la raíz de documentos Apache
-
Una vez descomprimida la carpeta de instalación, creada la base de datos MySQL y un usuario, y personalizado el archivo de configuración de WordPress, ya puede copiar los archivos de instalación en la raíz de documentos del servidor web para ejecutar el script de instalación que completa la instalación. La ubicación de estos archivos depende de si quiere que el blog de WordPress esté disponible en la raíz real del servidor web (por ejemplo,
) o en un subdirectorio o carpeta bajo la raíz (por ejemplo,my.public.dns.amazonaws.com
).my.public.dns.amazonaws.com/blog
-
Si desea que WordPress se ejecute en la raíz de documentos, copie el contenido del directorio de instalación de WordPress (pero no el directorio propiamente) como sigue:
[ec2-user ~]$
cp -r wordpress/* /var/www/html/
-
Si desea que WordPress se ejecute en un directorio alternativo bajo la raíz de documentos, cree primero el directorio y después copie los archivos. En este ejemplo, WordPress se ejecutará desde el directorio
blog
:[ec2-user ~]$
mkdir /var/www/html/blog
[ec2-user ~]$
cp -r wordpress/* /var/www/html/blog/
-
Por razones de seguridad, si no pasa al siguiente procedimiento de inmediato, pare el servidor web Apache (httpd
) ahora. Después de mover la instalación bajo la raíz de documentos Apache, el script de instalación de WordPress queda desprotegido y un atacante podría obtener acceso al blog si el servidor web Apache estuviera en ejecución. Para detener el servidor web Apache, escriba el comando sudo systemctl stop httpd. Si pasa al siguiente procedimiento, no es preciso que pare el servidor web Apache.
Para permitir que WordPress use enlaces permanentes
Los enlaces permanentes de WordPress necesitan usar archivos .htaccess
de Apache para funcionar correctamente, pero esto no está habilitado de manera predeterminada en Amazon Linux. Use este procedimiento para permitir todas las anulaciones en la raíz de documentos de Apache.
-
Abra el archivo
httpd.conf
con el editor de textos que prefiera (como nano o vim). Si no tiene un editor favorito,nano
es más adecuado para principiantes.[ec2-user ~]$
sudo vim /etc/httpd/conf/httpd.conf
-
Busque la sección que comienza por
<Directory "/var/www/html">
.<Directory "/var/www/html"> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.4/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride
None
# # Controls who can get stuff from this server. # Require all granted </Directory> -
Cambie la línea
AllowOverride None
de la sección anterior porAllowOverride
.All
notaHay múltiples líneas
AllowOverride
en este archivo; asegúrese de que cambia la línea de la sección<Directory "/var/www/html">
.AllowOverride
All
-
Guarde el archivo y salga del editor de texto.
Para instalar la biblioteca de dibujo de gráficos de PHP en Amazon Linux 2
La biblioteca GD para PHP le permite modificar imágenes. Instale esta biblioteca si tiene que recortar la imagen de encabezado para su blog. La versión de phpMyAdmin que instale puede requerir una versión mínima específica de esta biblioteca (por ejemplo, la versión 7.2).
Utilice el siguiente comando para instalar la biblioteca de dibujo de gráficos de PHP en Amazon Linux 2. Por ejemplo, si instaló php7.2 desde amazon-linux-extras como parte de la instalación de la pila LAMP, este comando instala la versión 7.2 de la biblioteca de dibujos gráficos de PHP.
[ec2-user ~]$
sudo yum install php-gd
Para verificar la versión más reciente, utilice el siguiente comando:
[ec2-user ~]$
php80-php-gd.x86_64 8.0.17-1.el7.remi remi
A continuación, se muestra un ejemplo de la salida:
php-gd.x86_64 7.2.30-1.amzn2 @amzn2extra-php7.2
Para ajustar los permisos de archivo para el servidor web Apache
Algunas de las características disponibles en WordPress (por ejemplo, cargar medios a través de las pantallas de administración) requieren acceso de escritura a la raíz de documentos de Apache. Si todavía no lo ha hecho, aplique los siguientes permisos y suscripciones de grupo (como se describe detalladamente en el tutorial del servidor web LAMP).
-
Otorgue la propiedad de archivos de
/var/www
y su contenido al usuarioapache
.[ec2-user ~]$
sudo chown -R apache /var/www
-
Otorgue la propiedad de grupo de
/var/www
y su contenido al grupoapache
.[ec2-user ~]$
sudo chgrp -R apache /var/www
-
Cambie los permisos del directorio
/var/www
y sus subdirectorios para agregar permisos de escritura de grupo y establecer el ID de grupo en futuros subdirectorios.[ec2-user ~]$
sudo chmod 2775 /var/www
[ec2-user ~]$
find /var/www -type d -exec sudo chmod 2775 {} \;
-
Cambie de forma recursiva los permisos de archivo de
/var/www
y sus subdirectorios.[ec2-user ~]$
find /var/www -type f -exec sudo chmod 0644 {} \;notaSi tiene la intención de utilizar WordPress también como servidor FTP, necesitará una configuración de grupo más permisiva aquí. Para conseguirlo, revise las recomendaciones sobre pasos y configuración de seguridad en WordPress
. -
Reinicie el servidor web Apache para recoger el grupo y los permisos nuevos.
-
[ec2-user ~]$
sudo systemctl restart httpd
-
Ejecutar el script de instalación de WordPress con Amazon Linux 2
Ahora está listo para instalar WordPress. Los comandos que utilice dependen del sistema operativo. Los comandos de este procedimiento son para utilizarlos con Amazon Linux 2.
-
Use el comando systemctl para asegurarse de que se inician los servicios
httpd
y de base de datos cada vez que se arranca el sistema.[ec2-user ~]$
sudo systemctl enable httpd && sudo systemctl enable mariadb
-
Verifique que el servidor de base de datos se está ejecutando.
[ec2-user ~]$
sudo systemctl status mariadb
Si el servicio de base de datos no se está ejecutando, inícielo.
[ec2-user ~]$
sudo systemctl start mariadb
-
Verifique que el servidor web Apache (
httpd
) se está ejecutando.[ec2-user ~]$
sudo systemctl status httpd
Si el servicio
httpd
no se está ejecutando, inícielo.[ec2-user ~]$
sudo systemctl start httpd
-
En un navegador web, escriba la URL del blog WordPress (bien como dirección DNS pública para la instancia, o bien esa dirección seguida de la carpeta
blog
). Debería ver el script de instalación de WordPress. Proporcione la información requerida por la instalación de WordPress. Seleccione Install WordPress para completar la instalación. Para obtener más información, consulte Paso 5: Ejecutar el script de instalaciónen el sitio web de WordPress.
5. Pasos siguientes
Una vez probado el blog de WordPress, considere actualizar su configuración.
Uso de un nombre de dominio personalizado
Si tiene un nombre de dominio asociado con la dirección EIP de la instancia EC2, puede configurar el blog para que use ese nombre en lugar de la dirección DNS pública de EC2. Para obtener más información, consulte Cambiar la URL del sitio
Configuración del blog
Puede configurar el blog para usar distintos temas
Aumentar la capacidad
Si el blog de WordPress llega a hacerse popular y necesita más potencia de cómputo o almacenamiento, considere los pasos siguientes:
-
Ampliar el espacio de almacenamiento de la instancia. Para obtener más información, consulte Volúmenes elásticos de Amazon EBS.
-
Mover la base de datos MySQL a Amazon RDS
para aprovechar la capacidad de fácil escala del servicio.
Mejore el rendimiento de la red de su tráfico de Internet
Si espera que su blog impulse el tráfico a partir de los usuarios ubicados en todo el mundo, considere el uso de AWS Global Accelerator
Más información sobre WordPress
Para obtener más información acerca de WordPress, consulte la documentación de ayuda de WordPress Codex en http://codex.wordpress.org/
6. ¡Socorro! Ha cambiado el nombre DNS público y ahora el blog se ha roto
La instalación de WordPress se configura automáticamente usando la dirección DNS pública de la instancia EC2. Si detiene y reinicia la instancia, la dirección DNS pública cambia (salvo que está asociada a una dirección IP elástica) y el blog no funcionará porque hace referencia a los recursos de una dirección que ya no existe (o que se ha asignado a otra instancia EC2). Para ver una descripción más detallada del problema y varias soluciones posibles, visite https://wordpress.org/support/article/changing-the-site-url/
Si ha sucedido esto con la instalación de WordPress, podrá recuperar el blog mediante el procedimiento siguiente, que usa la interfaz de línea de comandos wp-cli para WordPress.
Para cambiar la URL del sitio de WordPress con la wp-cli
-
Conéctese a la instancia EC2 con SSH.
-
Anote la URL del sitio anterior y la URL del sitio nuevo para la instancia. La URL del sitio anterior probablemente sea el nombre DNS público de la instancia EC2 cuando instaló WordPress. La URL del sitio nuevo es el nombre DNS público actual de la instancia EC2. Si no está seguro de la URL del sitio anterior, puede usar curl para buscarla con el comando siguiente.
[ec2-user ~]$
curl localhost | grep wp-content
Debería ver referencias al nombre DNS público anterior en el resultado, que tendrá un aspecto similar a lo siguiente (la URL del sitio anterior en rojo):
<script type='text/j-avascript' src='
http://ec2-52-8-139-223.us-west-1.compute.amazonaws.com
/wp-content/themes/twentyfifteen/js/functions.js?ver=20150330'></script> -
Descargue el wp-cli con el comando siguiente.
[ec2-user ~]$
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
-
Busque y remplace la URL del sitio anterior en la instalación de WordPress por el comando siguiente. Sustituya las URL del sitio anterior y del nuevo para la instancia EC2 y la ruta de instalación de WordPress (normalmente
/var/www/html
o/var/www/html/blog
).[ec2-user ~]$
php wp-cli.phar search-replace
'old_site_url'
'new_site_url'
--path=/path/to/wordpress/installation
--skip-columns=guid -
En un explorador web, escriba la URL del nuevo sitio del blog de WordPress para verificar que el sitio funciona correctamente de nuevo. Si no es así, consulte https://wordpress.org/support/article/changing-the-site-url/
y https://wordpress.org/support/article/how-to-install-wordpress/#common-installation-problems para obtener más información.
Si este artículo te pareció interesante, compártelo en las redes sociales!
L. Javier Gil
Programador web Freelance.
Ingeniero en Telecomunicaciones.
Comparto curiosidades y noticias del mundo digital desde el corazón de Chapinero, en la lluviosa Bogotá, o desde un rinconcito de la vieja España llamado Benavente.
Blog de Este Gráfico