Instalar WordPress en Ubuntu (Apache + MariaDB + PHP)

En este post veremos como instalar la última versión disponible de WordPress en un servidor Ubuntu con soporte para Apache2, PHP y MariaDB.

A continuación, vemos los pasos a seguir:

 

 En primer lugar nos asignamos los permisos adecuados y actualizamos el servidor con los siguientes comandos:

sudo su
apt update && sudo apt dist-upgrade && sudo apt autoremove

 

 Ahora instalamos el servidor web Apache2 necesario para el funcionamiento de WordPress. Además, una vez instalado, deshabilitamos la lista de directorios:

apt install apache2
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/apache2/apache2.conf

Comandos para iniciar, detener y habilitar el servicio de apache

systemctl stop apache2.service
systemctl start apache2.service
systemctl enable apache2.service

 

 En este paso, instalaremos el servidor de la base de datos que en este post será MariaDB. Una vez instalado también crearemos una contraseña para este servidor de bases de datos. Para ello ejecutamos los siguientes comandos:

apt-get install mariadb-server mariadb-client
mysql_secure_installation

Tras ejecutar el último comando, se nos mostrarán las siguientes preguntas que contestaremos de esta forma.

  • Enter current password for root (enter for none):  Enter
  • Set root password? [Y/n]: Y
  • New password: Escribe una contraseña
  • Re-enter new password: Repite la contraseña
  • Remove anonymous users? [Y/n]: Y
  • Disallow root login remotely? [Y/n]: Y
  • Remove test database and access to it? [Y/n]:  Y
  • Reload privilege tables now? [Y/n]:  Y

Detener, Iniciar y habilitar el servicio MariaDB

systemctl stop mariadb.service
systemctl start mariadb.service
systemctl enable mariadb.service

 

 

 Ahora es el momento de instalar otro componente necesario para el funcionamiento de WordPress junto Apache y MariaDB, se trata de PHP. En este post vamos a realizar el proceso instalando la versión 7.2 de PHP.

apt-get install software-properties-common python-software-properties
add-apt-repository -y ppa:ondrej/php
apt-get update
apt-get install php7.2 php7.2-cli php7.2-common
apt search php7.2
sudo apt-get install php7.2-curl php7.2-gd php7.2-json php7.2-mbstring php7.2-intl php7.2-mysql php7.2-xml php7.2-zip

Una vez instalado PHP, editamos el archivo de Apache2 correspondiente a PHP con el comando (en el caso que tengamos instalada otra versión de php cambiaríamos el 7.2 del comando por nuestra versión, puedes ver la versión que utilizas con php -v):

nano /etc/php/7.2/apache2/php.ini

y pegamos este código encargado de establecer los límites de los archivos que utilizaremos en nuestro WordPress:

post_max_size = 20M
memory_limit = 256M
max_execution_time = 300
max_input_vars = 10000
upload_max_filesize = 64M
Recordar que para guardar los cambios con el editor nano utilizamos CTRL + O y para salir CTRL + X.

 

 Una vez hemos realizado toso los pasos anteriores, es el momento de preparar la base de datos que utilizará WordPress.

Aclarar que los valores que vas a ver en los siguientes comandos base_de_datos, tu_usuario y tu_password puedes cambiarlos por lo que necesites en cada caso.

Entramos en el servidor de la base de datos con nuestra contraseña introducida en el paso 3 mediante este comando

mysql -u root -p

Creamos la Base de Datos:

CREATE DATABASE base_de_datos;

Creamos el usuario que podrá gestionar la Base de Datos:

CREATE USER 'tu_usuario'@'localhost' IDENTIFIED BY 'tu_password';

Le asignamos los permisos necesarios al usuario que acabamos de crear:

GRANT ALL ON WP_database.* TO 'tu_usuario'@'localhost' IDENTIFIED BY 'tu_password' WITH GRANT OPTION;

Y finalmente salimos del gestor de bases de datos:

FLUSH PRIVILEGES;
EXIT;

 

 En este paso configuraremos en Apache nuestro sitio de WordPress. En primer lugar editamos el archivo:

nano /etc/apache2/sites-available/wordpress.conf

Y pegamos en el lo siguiente:

<VirtualHost *:80>
     ServerAdmin admin@example.com
     DocumentRoot /var/www/html/wordpress/
     ServerName example.com
     ServerAlias www.example.com

     <Directory /var/www/html/wordpress/>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Mencionar que podemos modificar los directorios a nuestras necesidades y no usar obligatoriamente el nombre de la carpeta wordpress que vemos en el ejemplo.

 

 Ahora habilitaremos nuestro sitio de WordPress e instalaremos la última versión disponible en nuestro servidor asignando los permisos necesarios y modificando el archivo de configuración de WordPress.

a2ensite wordpress.conf
a2enmod rewrite
cd /tmp && wget https://wordpress.org/latest.tar.gz
tar -zxvf latest.tar.gz
mv wordpress /var/www/html/wordpress
chown -R www-data:www-data /var/www/html/wordpress/
chmod -R 755 /var/www/html/wordpress/
mv /var/www/html/wordpress/wp-config-sample.php /var/www/html/wordpress/wp-config.php

Editamos el archivo de configuración de WordPress con los datos introducidos en el paso 5 de nuestra base de datos.

nano /var/www/html/wordpress/wp-config.php
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'base_de_datos');

/** MySQL database username */
define('DB_USER', 'tu_usuario');

/** MySQL database password */
define('DB_PASSWORD', 'tu_password');

/** 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', '');

Finalmente sólo nos quedaría reiniciar el servicio de Apache2 para que se hagan efectivos los cambios:

systemctl reload apache2.service

Y acceder desde un navegador web a nuestra_ip/wordpress para acabar la configuración.

 

 

Comentarios

Deja un comentario

Tu dirección de correo electrónico no será publicada.

La Coruña, España Correo contacto@pc-solucion.es