Instalar WordPress en AWS

214
views

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 http://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.

 

Hola soy Nathz Guardia, freelancer, emprendedor, diseñador Web | App | Gráfico | UX, administrador de base de datos e infraestructura. Algunos de mis pasatiempos son la fotografía, crear videos y hacer ilustraciones.

2 Comentarios

Dejar respuesta

Please enter your comment!
Please enter your name here

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.