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[alert type=»info» icon-size=»small»]Recordar que para guardar los cambios con el editor nano utilizamos CTRL + O y para salir CTRL + X.[/alert]
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.