# Examen

Nicolás A. Ortega Froysa

# 1.a
-----

Será necesario instalar los siguientes paquetes:
 - php: para poder correr los scripts PHP
 - php-fpm: para que Nginx pueda pasar los scripts a un interpretador PHP
 - php-mysql: para poder acceder un servidor MySQL desde PHP
 - mariadb-server: para montar un servidor de base de datos MySQL (con MariaDB)
 - apache: para montar el servidor web

Todos estos paquetes lo podemos instalar en un sistema Debian/Ubuntu.

# 1.b
-----

Ver deps.png

# 1.c
-----

Ver nginx-status.png

Sería igual pero con apache2

# 1.d
-----

Será necesario en primer lugar una herramienta para descargarlo, como sería curl
o wget. En segundo lugar una herramienta para descomprimirlo, que como WordPress
utiliza ZIP para comprimir, nos hará falta instalar el paquete unzip:

  apt install unzip zip curl wget

Luego tan sólo hace falta descargarlo de WordPress y descomprimirlo:

  # con wget
  wget https://wordpress.org/latest.zip
  # con curl
  curl -LO https://wordpress.org/latest.zip
  # descomprimir
  unzip wordpress-6.1.1.zip
  # Instalamos en su sitio, con root en /var/www/my-wp
  cp -r wordpress /var/www/my-wp

# 2.a
-----

Sí será necesario si queremos que Apache (el servidor web) pueda manipular el
contenido del directorio root. Para esto será necesario cambiar mejor el usuario
y grupo del directorio root de nuestro WordPress para ser igual al usuario que
utiliza Apache: www-data.

  chown -R www-data:www-data /var/www/my-wp

# 2.b
-----

WordPress no viene con un archivo index.html dentro, sino uno que se denomina
index.php, y esto mejor no borrarlo. Ahora, si te refieres a cualquier archivo
que pueda venir por defecto en un directorio root que sea de Nginx o Apache, eso
sí. Sería mejor borrarlo ya que puede causar problemas de prioridad con el
archivo de index de WordPress index.php.

# 3.a
-----

  mysql_secure_installation

Ver mariadb-setup.png

# 3.b
-----

  GRANT ALL PRIVILEGES ON my_wp.* TO 'wpuser'@'localhost';
  FLUSH PRIVILEGES;

Ver mysql-privileges.png

# 4
---

Podemos hacer uso de Systemd, y su herramienta systemctl. Tenemos dos opciones:

 - Reiniciar: apagar y encender nuestro servicio rápidamente
 - Recargar: simplemente recargar los archivos de configuración

Los comandos serían los siguientes:

  # reiniciar
  systemctl restart apache2.service
  systemctl reload apache2.service

# 5.a
-----

Ver themes.png y site-title.png

# 5.b
-----

Ver sample-article-editor.png y sample-article-view.png

# 5.c
-----

Ver user-panel.png

Se pueden crear cinco tipos de usuarios:

 - Subscriber: sólo pueden ver cosas
 - Contributor: pueden contribuir feedback y comentarios
 - Author: pueden escribir artículos
 - Editor: tienen más acceso para editar artículos creados por los autores
 - Administrator: tienen permiso para administrar el WordPress

# 5.f
-----

Ver calendar.png