ceu-notes/2/IAW/assignments/t7-ej1-instalacion-wordpress-local/t7-ej1-wordpress-local-naortega.tex
Nicolás Ortega Froysa 04114a69f6 IAW::wordpress-local: add assignment
Signed-off-by: Nicolás Ortega Froysa <nicolas@ortegas.org>
2023-02-11 14:15:48 +01:00

194 lines
6.4 KiB
TeX

\documentclass[12pt,a4paper,titlepage]{article}
\usepackage[spanish]{babel}
\usepackage{hyperref}
\usepackage{graphicx}
\usepackage{subcaption}
\usepackage{minted}
\title{Tema VII Ejercicio I: Instalación de WordPress en Local}
\author{Nicolás A. Ortega Froysa}
\begin{document}
\maketitle
\tableofcontents
\pagebreak
\section{Nginx}
Para instalar Nginx sólo hemos de instalarlo junto a PHP. Instalamos los
paquetes necesarios con el comando siguiente:
\begin{minted}{console}
# apt install nginx php php-fpm php-mysql
\end{minted}
Deberíamos de habilitar el uso de PHP con la extensión de MySQL. Para esto
tenemos que editar el archivo INI que se encuentra en {\tt
/etc/php/7.4/fpm/php.ini} y descomentar la línea que pone {\tt
extension=mysqli}.
Ahora en el directorio {\tt /etc/nginx/sites-available} creamos un archivo con
el nombre {\tt my-wordpress.local.conf} con el contenido siguiente:
\begin{minted}{nginx}
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/wordpress;
index index.html index.htm index.nginx-debian.html index.php;
server_name my-wordpress.local;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php-fpm.sock;
}
}
\end{minted}
Luego se crea un enlace simbólico del mismo en la carpeta de {\tt
sites-enabled}. A partir de ahí podemos inicializar el servicio:
\begin{minted}{console}
# systemctl enable nginx
# systemctl start nginx
\end{minted}
\section{MariaDB}
Como en nuestro caso vamos a instalar MariaDB, hemos de correr el comando
siguiente para instalarlo:
\begin{minted}{console}
# apt install mariadb-server
\end{minted}
Ahora lo tenemos que configurar utilizando el comando siguiente, siguiendo los
pasos. Sólo hemos de fijar la contraseña de root (el administrador) y luego
seguir seleccionando las opciones por defecto.
\begin{minted}{console}
# mysql_secure_installation
\end{minted}
Cuando ya lo tenemos configurado empezamos el servicio:
\begin{minted}{console}
# systemctl start mariadb
# systemctl enable mariadb
\end{minted}
Ahora tenemos que crear la base de datos:
\begin{minted}{mysql}
CREATE DATABASE wpdb;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'wppass';
GRANT ALL PRIVILEGES ON wpdb.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
QUIT;
\end{minted}
\section{WordPress}
Una vez que tenemos todo el fundamento instalado, ya podemos proseguir a
instalar el WordPress como tal. Para esto primero hemos de bajar el ZIP que
contiene la instalación de \url{https://wordpress.org/latest.zip}. Una vez hecho
esto, debemos de extraerlo en {\tt /var/www} para poder usarlo. Notaremos que ya
crea solo el directorio {\tt /var/www/wordpress}. Este directorio deberíamos de
cambiarle los permisos (de forma recursiva) para que Nginx pueda editar su
contenido. Esto lo hacemos con el comando {\tt chown}.
\begin{minted}{console}
# wget https://wordpress.org/latest.zip
# unzip latest.zip -d /var/www
# chown -R www-data:www-data /var/www/wordpress
\end{minted}
Ahora, si accedemos a nuestro sitio web (en \url{http://localhost/}) podremos
encontrarnos con un primer diálogo preguntándonos cuál lengua queremos para
nuestro WordPress. Vamos a elegir inglés, por los mismos motivos de siempre.
\begin{figure}
\centering
\includegraphics[width=0.75\textwidth]{imgs/00-db-config.png}
\caption{Configuración de la base de datos.}
\label{fig:db-config}
\end{figure}
El primer formulario que nos va a aparecer después de esto nos preguntará para
configurar la base de datos (figura \ref{fig:db-config}). Hay varios campos que
tenemos que rellenar. Lo primero es el nombre de la base de datos, que
anteriormente lo habíamos definido como {\tt wpdb}. También nos pregunta por el
usuario que usará WordPress para conectarse a esta base de datos, que lo
habíamos definido como {\tt wpuser}. Es bueno {\bf no usar el usuario root}, ya
que este tiene más acceso a otras bases de datos y, en caso de un infiltrado,
tendría acceso a más datos. La contraseña es como lo habíamos definido antes:
{\tt wppass}. La base de datos está localizada en el mismo servidor, así que el
{\it host} es {\tt localhost}. Y como prefijo para las tablas, aunque no es
estríctamente necesario -- nuestra base de datos sólo contendrá tablas de
WordPress -- viene por defecto {\tt wp\_}, así que vamos a dejarlo así.
\begin{figure}[ht!]
\centering
\includegraphics[width=0.5\textwidth]{imgs/01-site-config.png}
\caption{Configuración del sitio WordPress.}
\label{fig:site-config}
\end{figure}
Después de esta configuración, nos encontraremos con la configuración del sitio
como tal (figura \ref{fig:site-config}). Aquí vamos a definir algunos elementos
importantes, particularmente el título de nuestro sitio web, el nombre del
usuario administrador, su contraseña, y su correo electrónico. También hay otra
opción al final que ayuda a fomentar o no que los buscadores web pongan tu
página en sus índices.
\begin{figure}
\centering
\begin{subfigure}{0.45\textwidth}
\includegraphics[width=0.95\textwidth]{imgs/02-first-login.png}
\caption{Panel de control.}
\label{fig:first-login}
\end{subfigure}
\hfill
\begin{subfigure}{0.45\textwidth}
\includegraphics[width=0.95\textwidth]{imgs/03-front-page.png}
\caption{Página principal.}
\label{fig:front-page}
\end{subfigure}
\caption{}
\end{figure}
Al finalizar la configuración nos aparecerá el panel de control (figura
\ref{fig:first-login}). Desde aquí se podrá configurar más WordPress, y crear
contenidos. Para ver nuestro sitio web en sí, podemos darle arriba donde pone el
título de nuestra página, en este caso <<My Wordpress>>, y nos llevará a la
página principal (figura \ref{fig:front-page}), que parece tener por defecto un
tema bastante sencillo y bonito.
\section{Conclusión}
La instalación de WordPress es bastante sencillo para cualquiera que tenga un
mínimo conocimiento de informática. Al menos en sistemas UNIX (como es Debian
GNU/Linux). Hay formas de usar WordPress sin necesidad de conocimiento técnico,
pero eso cae fuera de este ejercicio.
\pagebreak
\section{Derechos de Autor y Licencia}
\noindent
Copyright \copyright\ \the\year\ Nicolás A. Ortega Froysa
<nicolas@ortegas.org> \\
\\
Este documento se distribuye bajo los términos y condiciones de la licencia
Creative Commons Attribution No Derivatives 4.0 International.
\end{document}