Categorías
efemerides Pontegeek

Un 27 de mayo se libera el CMS más utilizado, WordPress

El 27 de mayo de 2003, Matt Mullenweg y Mike Little liberan la primera versión (0.70) del CMS WordPress.

WordPress es un sistema de gestión de contenido o CMS gratuito, de código abierto basado en PHP y MySQL. Las características incluyen una arquitectura de complementos y un sistema de plantillas. Se asocia más con los blogs, pero admite otros tipos de contenido web, como listas de correo y foros más tradicionales, galerías de medios y tiendas en línea. Utilizado por más de 60 millones de sitios web, incluido el 33.6% de los 10 millones de sitios web más importantes en abril de 2019. WordPress también se ha utilizado para otros dominios de aplicaciones, como los sistemas de visualización generalizada (PDS).

Para funcionar, WordPress debe instalarse en un servidor web, ya sea como parte de un servicio de alojamiento de Internet como WordPress.com o en una computadora que ejecute el paquete de software WordPress.org para que sirva como host de red por derecho propio. Se puede usar una computadora local para fines de aprendizaje y prueba de un solo usuario.

Las causas de su enorme crecimiento son, entre otras, su licencia, su facilidad de uso y sus características como gestor de contenidos y una enorme comunidad de desarrolladores y diseñadores, encargados de desarrollarlo en general o crear plugins y temas para la comunidad. 

Las versiones lanzadas de WordPress usa como nombres clave, nombres de músicos de jazz como por ejemplo: la versión 1.0, se llamó “Miles” por el músico Miles Davis, la versión 2.0  «Duke» por Duke Ellington, la versión 2.2 «Getz» por Stan Getz y así sucesivamente.  La versión 4.0 se llama «Benny» (lanzada el 4 de Septiembre de 2014) en homenaje al clarinetista de jazz Benny Goodman.

*CMS: Content Management System

Para más artículos como este visita Ponte Geek

Categorías
Pontegeek Principal Tutoriales

WordPress + NGINX

NGINX fue escrito específicamente para eliminar las limitaciones de rendimiento de los servidores web de Apache. Fue creado en 2002 por Igor Sysoev. Administrador de sistemas para un sitio ruso popular (Rambler.ru). Fue creado como una solución para ayudar a administrar este portal ya que cada vez recibía más volumen de tráfico. Fue abierto en octubre de 2004.

Las ventajas de tener WordPress sobre este servidor son muchas, entre las principales es el rendimiento y optimización, adicional la documentación es más clara y lo más importante es el trabajo que le genera al procesador del equipo que lo esta hosteando.

Requisitos:

  • Ubuntu server o Desktop.

Paso 1: Instalamos NGINX

Primero iniciamos actualizando el server

sudo apt update

sudo apt upgrade

Instalamos el nginx con el siguiente comando

sudo apt install nginx

Después ejecutamos los siguientes comandos para detener, iniciar y habilitar el servicio de nginx

sudo systemctl stop nginx.service

sudo systemctl start nginx.service

sudo systemctl enable nginx.service

Paso 2: Instalar MariaDB y crear Base de datos

WordPress requiere de una base de datos, nosotros utilizaremos MariaDB para esta instalación.

sudo apt-get install mariadb-server mariadb-client

Después ejecutamos los siguientes comandos para detener, iniciar y habilitar el servicio de mariadb

sudo systemctl stop mariadb.service

sudo systemctl start mariadb.service

sudo systemctl enable mariadb.service

Seguido, ejecutamos el script de seguridad para resguardarla:

sudo mysql_secure_installation

A continuación nos realizará unas preguntas a las cuales contestaremos:

  • Ingrese la contraseña actual para root (ingrese para ninguno): simplemente presione el  botón Enter
  • configurar contraseña de root [Y/n]: Y
  • Nueva contraseña:  Ingresar contraseña
  • Vuelva a ingresar la nueva contraseña: Repita la contraseña
  • Quitar usuarios anonimos? [Y/n]: Y
  • ¿Inhabilitar el inicio de sesión de forma remota? [Y/n]: Y
  • ¿Eliminar la base de datos de prueba y acceder a ella? [Y/n]: Y
  • Recargar privilegios de tablas ya? [Y/n]: Y

Procedemos a reiniciar el servidor de MariaDB

sudo systemctl restart mariadb.service

Luego, procedemos a crear la base de datos que utilizaremos. Primero accedemos a la Base de datos

sudo mysql -u root -p

Creamos una base de datos. Nosotros le llamaremos wordpress para este tutorial:

CREATE DATABASE wordpress;

Creamos un usuario que será el encargado de la conexión entre el wordpress y su base de datos (recuerda poner tu propio usuario y contraseña)

CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY 'new_password_here';

Ahora concedemos los permisos necesarios para la base de datos

GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'user_password_here' WITH GRANT OPTION;

Finalmente guardamos los cambios y salimos.

FLUSH PRIVILEGES;

EXIT;

Paso 3: Instalar PHP-FPM y módulos relacionados

WordPress requiere de php para funcionar y el nginx necesita el módulo php-fpm para hacer el manejo adecuado de los datos no estáticos.

sudo apt install php-fpm php-common php-mbstring php-xmlrpc php-soap php-gd php-xml php-intl php-mysql php-cli php-ldap php-zip php-curl

Ahora procedemos a hacer algunos ajustes en el archivo .ini de php que lo encontraremos en la ruta /etc/php/[version]/cli/php.ini. En nuestro caso /etc/php/7.2/cli/php.ini y en el archivo /etc/php/7.2/fpm/php.ini

sudo vi /etc/php/7.2/cli/php.ini

Editamos los siguientes parámetros

file_uploads = On
max_execution_time = 180
memory_limit = 256M
post_max_size = 32M
upload_max_filesize = 64M

Después editamos los mismos parametros pero en este otro archivo

sudo vi /etc/php/7.2/fpm/php.ini

Procedemos a reiniciar el servicio del fpm sudo systemctl restart php7.2-fpm.service

Paso 4: Instalación y configuración de WordPress

Ahora visitamos el sitio de wordpress y nos descargama la versión más reciente de wordpress, esto lo haremos en una carpeta temporal

cd /tmp && wget https://wordpress.org/latest.tar.gz

tar -zxvf latest.tar.gz

sudo mv wordpress /var/www/html/wordpress

Corregimos los permisos de las carpetas para manejo del wordpress

sudo chown -R www-data:www-data /var/www/html/wordpress/

sudo chmod -R 755 /var/www/html/wordpress/

sudo find /var/www/html/wordpress -type d -exec chmod g+s {} \;

sudo chmod g+w /var/www/html/wordpress/wp-content

sudo chmod -R g+w /var/www/html/wordpress/wp-content/themes

sudo chmod -R g+w /var/www/html/wordpress/wp-content/plugins

Ahora procedemos a configurar los parametros de conexión de nuestro wordpress, primero creamos el archivo de configuración

sudo mv /var/www/html/wordpress/wp-config-sample.php /var/www/html/wordpress/wp-config.php

Procedemos a editarlo

sudo vi /var/www/html/wordpress/wp-config.php

Procedemos a poner nuestro nombre de base de datos, usuarios y contraseña que creamos en los pasos anteriores

// ** MySQL settings – You can get this info from your web host ** //
/** The name of the database for WordPress */
define(‘DB_NAME’, ‘wordpress‘);

/** MySQL database username */
define(‘DB_USER’, ‘wordpressuser‘);

/** MySQL database password */
define(‘DB_PASSWORD’, ‘user_password_here‘);

/** MySQL hostname */ define(‘DB_HOST’, ‘localhost’);
/** Database Charset to use in creating database tables. */
define(‘DB_CHARSET’, ‘utf8’);

/** The Database Collate type. Don’t change this if in doubt. */

define(‘DB_COLLATE’, »);

Adicional debemos agregar el siguiente comando para que nuestro wordpres pueda subir archivos directo al servidor (plugins, temas, imagenes, documentos, etc)

define(‘FS_METHOD’, ‘direct’);

Paso 4: configuramos NGINX

Finalmente configuramos nuestro nginx para que levante nuestro wordpress. Lo primero es crear el archivo que utilizará el nginx para levantar el wordpress

sudo vi /etc/nginx/sites-available/wordpress

Y agregamos lo siguiente en dicho archivo

server {
listen 80;
listen [::]:80;
root /var/www/html/wordpress;
index index.php index.html index.htm;
server_name example.com www.example.com;

location / {
try_files $uri $uri/ /index.php?$args;
}

location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock; #deben cambiar a la versión de php que tienen instalada
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

}

Ahora procedemos a habilitar al nginx para poder subir archivos de tamaños hasta 100M (no poner esto podría molestar a la hora de subir los temas o plugins), esto lo hacemos con el parámetro client_max_body_size 100M; en el archivo de configuración del nginx ubicado en /etc/nginx/nginx.conf agregamos el parámetro en la sección http.

Habilitamos el sitio de wordpress

sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/

Debemos borrar el archivos de configuración que viene con la instalación del nginx, esto lo hacemos con los siguientes comandos:

sudo rm /etc/nginx/sites-enabled/default

sudo rm /etc/nginx/sites-available/default

Por último reiniciamos el servidor

sudo systemctl restart nginx.service

Ya podemos ir a visitar nuestro server

Categorías
Principal Tutoriales

Instalar WordPress en AWS

Instalar WordPress en AWS

Continuando con la serie de artículos para la creación de un servidor gratis de AWS hasta configurar un wordpress, hoy traemos la segunda parte, en esta aprenderemos como instalar WordPress y preparación de su base de datos en Mysql.

NOTA: No necesitas un conocimiento técnico muy especializado para seguir el proceso que aquí estaremos describiendo. Si deben saber utilizar el terminal (linux, mac) y putty para Windows.

Al final de los artículos terminaremos con un ejemplo, mi sitio nathzg que será mi página para poner los trabajos que hago y mi CV.

Requisitos

Debemos tener ya listo el servidor en AWS, apache instalado y funcionando y tener conexión por ssh, como se explicó en el articulo anterior

Instalar MySQL

Para poder tener un CMS en wordpress debemos definir donde se alojaran los datos de nuestra página, para esto utilizaremos la base de datos MySQL, procedamos a instalar:

Asumimos que ya saben conectarse al servidor, y procedemos a utilizar el gestor de paquetes de ubuntu apt con los siguientes comandos:

sudo apt-get update

sudo apt-get install mysql-server

Instalar WordPress

El proceso nos pedira ponerle una clave al root del mysql asi que procedemos a poner nuestra clave (recuerden guardarla para la creación de la base de datos):

Instalar WordPress

Con esto ya tenemos instalado el servidor, pero sin ninguna base de datos creada para nuestro wordpress, eso lo veremos más abajo.

Instalar PHP

Php es un elemento escencial para la instalación de nuestro wordpress, este nos permiten la comunicación entre nuestro wordpress y la base de datos en mysql, para instalarlo procedemos a utilizar el gestor de aplicaciones de ubuntu.

Primero que debemos hacer como siempre que instalamos algo y es actualizar los repositorios de nuestra distribución y de paso todas las actualizaciones disponibles:

sudo add-apt-repository ppa:ondrej/php

sudo apt-get update

sudo apt-get -y upgrade

Una vez todo actualizado podemos ver la lista de todos los paquetes disponibles de php7 con el siguiente comando:

apt-cache pkgnames | grep php7.2

Instalar WordPress

Ahora procedemos a instalar el php, con el siguiente comando:

sudo apt-get install -y php7.2 php7.2-cli php7.2-common php7.2-mbstring php7.2-intl php7.2-xml php7.2-mysql libapache2-mod-php7.2 php-mcrypt

después validamos la versión de php instalada

php -v

Ahora procedemos a ajustar algunos parametros del php que nos permitirán subir archivos mayores a los 2M al wordpress

cd /etc/php/7.2/apache2

sudo vi php.ini

Una vez aquí cambiamos los siguientes valores y procedemos a reiniciar el web server:

  • max_execution_time 60
  • memory_limit 128M
  • post_max_size 32M
  • upload_max_filesize 32M

ahora reiniciamos

sudo systemctl restart apache2

Creación de la base de datos para nuestro WordPress

Para crear nuestra base de datos, debemos ingresar con el usuario root:

mysql -u root -p

Instalar WordPress

Una ves logueado creamos la base de datos para nuestro wordpress

mysql> CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;Instalar WordPress

después nos creamos un usuario para nuestro wordpress con privilegios sobre la base de datos que acabamos de crear (podemos utilizar el usuario y password que consideremos apropiado)

mysql> GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'password';

Instalar WordPress

Ahora refrescamos los privilegios para que el mysql los reconozca

mysql> FLUSH PRIVILEGES;

Instalar WordPress

mysql> EXIT;

Screen Shot 2018-03-05 at 3.34.32 PM.png

Ajustar la configuración de Apache

Muchos plugin de wordpress necesitan utilizar el archivo .htaccess para comunicación con el servidor web para eso es necesario algunos ajustes que le permitan a los plugin hacer su trabajo, para esto utilizaremos un editor de archivos de texto para realizar los cambios, utilizamos los siguientes comandos:

sudo vi /etc/apache2/apache2.conf

Buscamos la sección donde aparezca lo siguiente:

Screen Shot 2018-03-05 at 3.47.31 PM.png

y cambiamos el AllowOverride None por AllowOverride All

Ahora habilitamos el modulo de re-escritura:

sudo a2enmod rewrite

Si al momento de ejecutar el comando les sale el error:

Screen Shot 2018-03-05 at 3.52.03 PM.png

proceden a editar el .profile con el siguiente comando:

vi .profile

y agregan al final del archivo lo siguiente:

export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8

Te deslogueas y accedes nuevamente, ejecutas el comando y ya no te deberia saltar el error:

Screen Shot 2018-03-05 at 3.54.40 PM.png

Ahora procedemos a habilitar los cambios con 

sudo apache2ctl configtest

Screen Shot 2018-03-05 at 3.56.18 PM.png

Reiniciamos el apache con el comando 

sudo systemctl restart apache2

Instalar WordPress

Ahora con todas las configuraciones hechas procedemos a realizar nuestra instalación de nuestro wordpress

Como primer paso procedemos a descargar con el comando 

curl -O https://wordpress.org/latest.tar.gz

Screen Shot 2018-03-05 at 4.00.29 PM.png

Una vez finalizado lo descomprimimos 

tar xzvf latest.tar.gz

Cuando termina creamos el archivo htaccess dentro de las carpetas del wordpress y le damos permisos:

cd wordpress

touch .htaccess

chmod 660 .htaccess

Screen Shot 2018-03-05 at 4.04.50 PM.png

Ahora comenzamos a preparar el archivo de configuración del wordpress 

cp wp-config-sample.php wp-config.php

Screen Shot 2018-03-05 at 4.06.27 PM.png

y creamos la carpeta upgrade con 

mkdir wp-content/upgrade

Screen Shot 2018-03-05 at 4.07.58 PM.png

Por último copiamos nuestra carpeta de wordpress a las carpetas públicas del apache para eso salimos de la carpeta wordpress con el comando cd .. y después procedemos a copiar la carpeta  

sudo cp -a wordpress/. /var/www/html

Screen Shot 2018-03-05 at 4.11.54 PM.png

Ahora procedemos a borrar el archivo index.html de la carpeta pública

sudo rm /var/www/html/index.html

Screen Shot 2018-03-05 at 4.14.53 PM.png

Configuración de directorio de wordpress

Para este tutorial nosotros no creamos ningun usuario asi que los permisos los daremos al usuario default del sistema, llamado ubuntu, procedemos primero a dar permisos sobre el directorio con el comando 

sudo chown ubuntu:www-data /var/www/html/

sudo chown -R www-data:www-data /var/www/html/*

Screen Shot 2018-03-05 at 4.17.11 PM.png

Ahora tenemos que definir cuales serán los permisos para los archivos nuevos y eso lo hacemos configurando el setgid mediante el comando 

sudo find /var/www/html -type d -exec chmod g+s {} \;

Screen Shot 2018-03-05 at 4.19.01 PM.png

Ahora debemos dar permisos a la carpeta content del wordpress 

sudo chmod g+w /var/www/html/wp-content

Screen Shot 2018-03-05 at 4.20.10 PM.png

sudo chmod -R g+w /var/www/html/wp-content/themes

sudo chmod -R g+w /var/www/html/wp-content/plugins

Screen Shot 2018-03-05 at 4.20.44 PM.png

Archivo de configuración de wordpress

Ahora procedemos a realizar unos ajustes en el archivo de configuración, comenzamos con las llaves privadas del wordpress, estas las generamos con el comando 

curl -s https://api.wordpress.org/secret-key/1.1/salt/

Esto generara los valores unicos por usuario (NO COPIE MIS LLAVES QUE NO LE FUNCIONARÁN) y las remplazamos en la sección en el archivo de configuración:

Screen Shot 2018-03-05 at 4.23.51 PM.png

Abrimos el archivo de configuración con vi /var/www/html/wp-config.php y agregamos las llaves privadas, tambien hacemos los cambios de conexión de base de datos: nombre, usuario y contraseña

Screen Shot 2018-03-05 at 4.28.58 PM.png

Adicional agregamos debajo de los define, en el archivo la siguiente configuración define('FS_METHOD', 'direct'); esta nos permitira poder subir archivos directos al servidor sin que nos pida autenticar una cuenta ftp.

Con esto ya estariamos listos para ir al wordpress y terminar la instalación, en un browser vamos a la dirección pública de nuestro server https://ip_publica

Screen Shot 2018-03-05 at 4.37.14 PM.png

Terminamos de poner el nombre de nuestro sitio, contraseña y el correo de contacto y presionamos en el botón de instalar wordpress.

Screen Shot 2018-03-05 at 4.39.24 PM.png

Presionamos en login y accedemos con el usuario y contraseña que acabamos de crear

Screen Shot 2018-03-05 at 4.39.52 PM.png

Screen Shot 2018-03-05 at 4.42.14 PM.png

Con esto ya tendríamos nuestro wordpress web listo y preparado para la construcción de nuestra página, tema que veremos en el siguiente artículo.

Cualquier consulta no duden en contactarme y pueden visitar mi página que está creada totalmente sobre la infraestructura de Amazon AWS.

 

Categorías
Linux Pontegeek Principal Tutoriales

¿Cómo crear tu propia página web en AWS?

Página Web

Cuando estás comenzando como emprendedor, es conocido que los recursos monetarios son escasos y además los controlamos, una buena idea es utilizar servicios de web gratis pero tienen muchas limitaciones, adicional que es mejor construirnos nuestra propia página web que podremos escalar después si el negocio crece.

Hoy comienzo una serie de artículos donde aprenderemos a construir un sitio «gratuito» pero muy robusto sobre la plataforma de Amazon AWS, «gratuito», lo pongo entre comillas porque no tiene ningún costo mientras tengas bajo tráfico, mas mientras éste comience a aumentar (que es lo que más queremos) ellos nos avisarán y nos permitirán escalar el servidor de acuerdo al crecimiento de nuestra startup.

En estos artículos se explicarán los siguientes temas:

Así que comencemos…

NOTA: No necesitas un conocimiento técnico muy especializado para seguir el proceso que aquí estaremos describiendo.

Al final de los artículos terminaremos con un ejemplo, mi sitio nathzg que será mi página para poner los trabajos que hago y mi CV.

Creación de Servidor Web en Ubuntu sobre AWS

Creación de cuenta de AWS

  1. Lo primero que tenemos que hacer es conectarnos al siguiente linkScreen Shot 2018-02-08 at 11.01.15 AM.png
  2. Presionamos en el botón «Sign Up», en la esquina superior derecha.Screen Shot 2018-02-08 at 11.01.23 AM.png
  3. Llenamos los datos completos y seguimos el proceso.Screen Shot 2018-02-08 at 11.01.57 AM.png
  4. Una vez terminado estaremos en nuestra consola de AWS

Creación de instancia (servidor) en Ubuntu

  1. Una vez en la consola de AWS, en el menú superior, presionamos en la pestaña «Services» y buscamos EC2 (servicio de Amazon que nos permite crear instancias de servidores). Screen Shot 2018-02-08 at 11.04.44 AM.png
  2. Una vez cargue, presionamos el botón de Launch Instance.Screen Shot 2018-02-08 at 11.18.08 AM.png
  3. Esta nos mostrará una serie de servidores con especificaciones desde las más básicas hasta las top del servicio en diferentes sabores de sistemas operativos. Para nuestro artículo escogimos un servidor en Ubuntu 16.04 LTS.Screen Shot 2018-02-05 at 4.47.35 PM.png
  4. Este Linux nos permite la elección de un servidor gratis y es la que nos recomiendan a penas entramos, así que nos aseguramos de elegirla y seguimos abajo en el botón que dice «Next: Configure Instance Details».Screen Shot 2018-02-05 at 4.47.48 PM.png
  5. En esta sección veremos todos los detalles de nuestro servidor. Veamos para que son cada uno: Screen Shot 2018-02-08 at 11.26.37 AM.png

    Number of instances: Con este podremos elegir si queremos crear más de un servidor a la vez, con las mismas especificaciones, en nuestro caso lo dejamos en 1,  Purchasing option: aquí decidimos el precio máximo que estás dispuesto a pagar por instancias, nosotros lo dejamos como está, Network: Son las interfaces de red de la nube virtual de Amazon, con las que contará nuestro servidor, la dejamos en sus valores por defecto, Subnet: en caso de necesitar una, se debe configurar aquí, nosotros no lo necesitaremos,  Auto-assign Public IP: esto es muy importante, tenemos que asegurarnos que está habilitado, esto nos dará un IP que nos permitirá la configuración del dominio, ya sea utilizando a Amazon o a cualquier empresa externa (goDaddy, enom, pananames, etc), IAM role: esto nos sirve a los desarrolladores de aplicaciones para dar permisos a nuestras API’s manejadas en servidores de EC2, lo dejamos así en none. Por ahora estos son los detalles más importantes y podemos seguir presionando el botón de «Next: Add Storage»

  6. En este paso podremos agregar o quitar almacenamiento, todo es en discos SSD y puede ser al menos 4GB, por lo pronto lo dejamos así en 8GB y seguimos presionando el botón «Next: Add Tags».Screen Shot 2018-02-05 at 4.51.20 PM.png
  7. Como el paso dice, estos solamente son tags para identificar servidores y volúmenes, para nosotros es irrelevante así que seguimos presionando el botón «Next: Configure Security Group»

  8. Lo importante con el Security Group es que obtenemos permisos, por ejemplo: para conexión por ssh al servidor, esto lo vamos a necesitar, por eso lo dejamos en su default y que esté marcado el ssh para conexión remota. El último paso es presionar el botón para la creación de la instancia o servidor «Review and Launch».

    Screen Shot 2018-02-05 at 4.51.51 PM.pngScreen Shot 2018-02-08 at 11.51.22 AM.png

  9. Al presionar Launch, se nos pedirá crear una llave que nos servirá para el ingreso posterior al servidor. Screen Shot 2018-02-05 at 4.52.06 PM.pngy seguir la configuración del mismo a través de comando, por esto debemos ponerle un nombre y descargamos el archivo que contiene la credencial (nombre.pem.txt), Screen Shot 2018-02-05 at 4.52.15 PM.pngeso lo guardamos bien para su posterior uso. Una vez creado, procedemos a terminar el proceso de creación y presionamos en «Launch Instance»
  10. Ya con esto comienza la creación del servidor y tenemos que esperar a que los procesos de Amazon terminen para poder seguir la configuración.Screen Shot 2018-02-08 at 11.52.02 AM.png

Conexión y creación de servidor web Apache

La conexión al servidor va a depender de qué Sistema Operativo tengamos en nuestra máquina personal, así que veamos los diferentes casos:

Mac o Linux:

Abrimos un terminal (Aplicaciones > Utilidades > terminal), nos colocamos en la carpeta donde está el archivo.pem.txt que descargamos en la sección anterior y lo re-nombramos utilizando el comando de mover de shell:

mv Archivo.pem.txt Archivo.pem

página web

Después vamos a la consola de EC2 en AWS y buscamos en el panel derecho la sección «Instances», una vez allí presionamos en el botón «Connect»

página web

Nos saldrá un menú que nos dirá el comando a utilizar para nuestra conexión (debemos poner la ruta del archivo pem)

ssh -i «Archivo.pem» [email protected]_publico_del_server.amazon.com

página web

Primero le cambiamos los permisos al archivo con el comando:

chmod 400 Archivo.pem

Ahora ponemos el comando en el terminal que tenemos abierto en la ruta del archivo pem:

página web

Escribimos ‘yes’ y presionamos enter

página web

Y listo, estamos conectados.

Windows

Para la conexión en windows con Putty pueden seguir este manual – link

Instalación de Apache (Web Server)

Una vez ya tenemos conexión con nuestro servidor procedemos a realizar la instalación del web server donde se alojará nuestra página.

  1. Nos conectamos al servidor
  2. Ejecutamos los siguientes comandos y confirma la instalación:

    $sudo apt-get update
    $sudo apt-get install apache2

  3. Reiniciamos el servicio después de la instalación con el comando:
    $sudo systemctl status apache2
  4. En AWS vamos a editar los premisos de grupos: en la consola EC2 buscamos en el menú izquierdo «Security Groups»página web
  5. Buscamos el Security Group que estamos utilizando con el servidor y agregamos una regla para el puerto 80.página web
  6. Ahora en nuestro manejador de dominio, apuntamos la entrada http al IP público del servidor. Eso lo encontramos en el menú «Instances» y vemos los detalles:página web
  7. Una vez configurado el dominio y con el apache instalado (Esta instalación la veremos en el próximo artículo), accedemos al mismo https://dominio.compágina web
  8. Con eso terminamos la configuración inicial de nuestro servidor web sobre AWS

 

Una vez el servidor esté configurado y funcionando, podremos proceder con la instalación de nuestro CMS WordPress.

 

Categorías
Pontegeek

Docker

docker 1¿Qué es Docker?

Docker es uno de los proyectos más conocidos y utilizados en temas de virtualización (no es el único). Lejos de ser un sistema operativo como tal, esta plataforma hace uso de las funciones de aislamiento de recursos del kernel de la máquina para poder dar lugar a contenedores independientes, dentro de los cuales se ejecuta una única aplicación con sus respectivas dependencias, pero funcionando siempre con un único kernel, el de la máquina real, en lugar de virtualizar uno por cada contenedor.

Este actualmente se ha convertido en una herramienta que ayuda tanto a desarrolladores como administradores de sistemas a realizar pruebas de aplicaciones, despliegue rápido de nuevos entornos, de una manera fácil, ligera y rápida.

Para más información, aquí

Docker vs Maquinas virtuales

La principal diferencia es que la maquina virtual necesita contener a todo el sistema operativo para operar, mientras que el docker aprovecha el kernel del sistema operativo sobre el cual está ejecutando.
La maquina virtual debe ocupar todo el disco que necesita el sistema operativo, mientras el Docker solo debe almacenar lo necesario para que la aplicación funcione.
Desde el punto de vista del consumo de procesador y de memoria RAM, los contenedores Docker hacen un uso mucho más eficiente del sistema anfitrión, pues comparten con él, el núcleo del sistema operativo y parte de sus bibliotecas, con lo que únicamente usarán la memoria y la capacidad de cómputo que estrictamente necesiten.
Otras diferencias: El gran repositorio de imágenes existentes, la rápida construcción de ambientes, la flexibilidad para crear tus propias imágenes, etc.

Maquinas Virtuales:

WhatIsDocker_2_VMs_0-2_2Docker:

WhatIsDocker_3_Containers_2_0

Entre sus principales características y funcionalidades tenemos:
• Autogestión de los contenedores.
• Aplicaciones libres de dependencias instaladas en el sistema Host.
• Capacidad de crear muchos contenedores.
• Despliegue de entornos muy rápidos.
• Contenedores muy livianos.
• Repositorio muy amplio de aplicaciones listas para su uso.
• Facilidad para compartir contenedores.
• Fácil esquema de backup.
• No es complejo su uso.
• Docker es multiplataforma (pero funciona de manera nativa sobre Linux)

¿Cómo funciona?

Primero descargamos docker, entrando a la página de Docker Hub, donde encontramos las diferentes distribuciones por sistema operativo, después de eso bajaremos la imagen que queremos trabajar, en su principio podemos editarla, trabajarla y ponerla como queramos, cuando la queramos utilizar solo la levantamos, ya sea con un archivo yml utilizando el comando de docker-compose o con la imagen directo.

Y eso es todo a trabajar, la imagen en docker no puede ser alterada, esto significa que cuando la bajemos mantendrá su estado actual, no quiere decir que no podamos hacer cambios, esta herramienta es tan flexible que nos permite linkear carpetas locales con las que maneja el contenedor y así mantener los cambios que necesitemos.

Que imágenes hay para consumo:

docker 2

Aquí les dejo un tuto para que aprendan más a detalle de lo que hablamos aquí :

Conclusión

Docker es el futuro y presente de los entornos de desarrollo a nivel mundial, por su flexibilidad, rapidez y demás características que lo hacen tan poderoso y que ya vimos en este artículo, esto no reemplaza las máquinas virtuales, porque tienen uso diferente, pero si nos ayuda en temas de recursos desde económicos, tiempos y escalabilidad de nuestros entornos de programación.
Pruébenlo que vale la pena… Si necesitan ayuda en Ponte geek estamos a la orden para ayudarlos, escríbenos!