Para el desarrollo de un nuevo proyecto considero debería hacerse de forma local, razón por la cual comparto los pasos necesarios para realizar la instalación de Wordpress en Ubunto 18.04 y con la configuración de Virtual Host de apache.
Instalar Apache
Instalamos Apache ejecutando de la siguiente manera:sudo apt-get install apache2
Una vez finalizada la ejecución validamos que este
se instaló correctamente entrando al siguiente URL http://localhost/
Instalar MySql
Ejecutamos lo siguiente en la terminalsudo apt-get install mysql-server
Presionamos y cuando termine la ejecución configuramos MySql de forma segura ejecutando el siguiente comando en la terminalsudo mysql_secure_installation
Una vez ejecutado el comando debemos configurar lo siguiente:
`Press y|Y for Yes, any other key for No: Y
There are three levels of password validation policy:
LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2
Please set the password for root here.
New password:
Re-enter new password:
Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y
By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Success.
Normally, root should only be allowed to connect from ‘localhost’. This ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Success.
By default, MySQL comes with a database named ‘test’ that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment.
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
Reloading the privilege tables will ensure that all changes made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
Success.
All done!
`
Configuración de base de datos
Configuración de base de datos para wordpress
Ingresamos con el usuario rootmysql -u root -p
Creamos el usuario para wordpressmysql> CREATE USER 'wp_admin'@'localhost' IDENTIFIED BY 'yourpass';
Creamos la base de datosmysql> CREATE DATABASE wordpress;
Asignamos los permisos al usario sobre la base de datos que vamos a utilizarmysql> GRANT ALL ON wordpress.* TO 'wp_admin'@'localhost';
Aplicamos la configuraciónmysql> FLUSH PRIVILEGES;
Instalar PHP y dependenciassudo apt install php-curl php7.2-gd php7.2-mbstring php7.2-xml php7.2-xmlrpc php7.2-mysql
Descargar Wordpress
wget https://wordpress.org/latest.tar.gz
Movemos el archivo .gz al directorio /var/www
Obtenemos el contenidosudo tar xpf ~/Downloads/latest.tar.gz
Cambiamos como propietario de los archivos al usuario www-data:sudo chown -R www-data:www-data /var/www/wordpress
Configuración de Wordpress
En la carpeta raíz de nuestro wordpress creamos el archivo wp-config.php, copiamos el contenido del archivo wp-config-sample.php y modificamos el siguiente apartado con los valores configurados en MySql.
define( ‘DB_NAME’, ‘database_name_here’ );
/** MySQL database username /
define( ‘DB_USER’, ‘username_here’ );
/* MySQL database password /
define( ‘DB_PASSWORD’, ‘password_here’ );
/* MySQL hostname */
define( ‘DB_HOST’, ‘localhost’ );
Configurar Virtual Host de Apche
En el siguiente directorio /etc/apache2/sites-available/
creamos un archivo llamado wordpress.conf con los siguientes valores:
`<VirtualHost *:80>
ServerAdmin [email protected]
ServerName dev.lan
ServerAlias www.dev.lan
DocumentRoot /home/bataj/Documents/dev/wp/wordpress/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>`
Deshabilitamos la configuración por default de Apachesudo a2dissite 000-default.conf
Habilitamos nuestra configuraciónsudo a2ensite wordpress.dev.conf
Reiniciamos el servicio de Apachesudo service apache2 restart
Configuramos el archivo hosts en el siguiente directorio /etc/hosts y
agregamos la siguiente linea para configurar el nombre de nuestro virtual host.127.0.0.1 dev.lan
Validamos que la configuración sea correcta ingresando a http://dev.lan
La razón por la cual utilizo virtual host es debido a que con esta configuración puedo tener varios proyectos en un mismo servidor sin problema alguno, además de que por si alguna razón nuestra maquina cambia de IP worpress se configura con el nombre del servidor del Virtual Host y así no tendremos que realizar ningún cambio en la base de datos.