¿Cómo instalar WordPress en la pila Linux Apache MySQL y PHP?

WordPress es uno de los sistemas de gestión de contenido más utilizados en la web. Está escrito en PHP. Los servidores web como Apache son suficientes para ejecutarlo. WordPress es compatible con MySQL y MariaDB, pero MySQL se usa ampliamente. Este tutorial lo ayudará a ejecutar WordPress usando la pila LAMP (Linux, Apache, MySQL, PHP) en su máquina Linux (probablemente VPS). 

requisitos previos:

  • Una máquina Linux (aquí usando Ubuntu)
  • Una cuenta de usuario sudo
  • Algo de experiencia básica en la línea de comandos
  • Poca experiencia en MySQL

Este artículo asume que está familiarizado con PHP, MySQL y WordPress.

Instalación de PHP: PHP (preprocesador de hipertexto) es un lenguaje utilizado para escribir WordPress. Puede instalar PHP usando el siguiente comando. libapache2-mod-php y php-mysql son bibliotecas que ayudan a PHP, Apache y MySQL sin problemas.

sudo apt install php libapache2-mod-php php-mysql

Para verificar que ha instalado PHP con éxito, escriba el siguiente comando:

php -v

// output should look like below content
PHP 7.4.3 (cli) (built: Oct  6 2020 15:47:56) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

Instale módulos PHP adicionales como Curl, XML, XMLRPC para ayudar a facilitar la ejecución de WordPress

sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip

Instalación y configuración de Apache: Apache es uno de los servidores web más utilizados. Apache2 es la última versión del servidor web. Puede instalar Apache usando el siguiente comando:

sudo apt install apache2

Para verificar que ha instalado Apache con éxito, escriba el siguiente comando

apache2 -v

// output
Server version: Apache/2.4.41 (Ubuntu)

Configuraremos servidores virtuales Apache para WordPress, crearemos un nuevo archivo conf wordpress.

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

Use la plantilla a continuación para configurar el archivo .htaccess, instalaremos WordPress en /var/www/wordpress, por lo que lo usaremos como directorio.

<VirtualHost *:80>
   ServerName yourdomain.name
    <Directory /var/www/wordpress>
        AllowOverride All
        DirectoryIndex index.php
    </Directory>
</VirtualHost>

Ahora habilite el módulo de reescritura de Apache y verifique la sintaxis de configuración de Apache. Si ha utilizado la sintaxis correctamente, obtendrá la sintaxis correcta.

sudo a2enmod rewrite
sudo apache2ctl configtest
.
// output
Syntax OK

Si obtiene un error como el siguiente antes de Syntax OK, está perfectamente bien porque estamos usando localhost.

AH00558: apache2: no se pudo determinar de manera confiable el nombre de dominio completo del servidor mediante 127.0.0.1. Configure la directiva ‘ServerName’ globalmente para suprimir este mensaje

Instalación y configuración de MySQL: MySQL es un popular sistema de gestión de bases de datos relacionales de código abierto. Para instalar MySQL, puede ejecutar los siguientes comandos, también puede verificar si MySQL se instaló correctamente o no.

sudo apt install mysql-server
mysql -V

// output
mysql  Ver 8.0.25-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))

Ahora inicie sesión en MySQL y cambie mysql-native-password

sudo mysql -u root
ALTER USER ‘root’@’localhost’ IDENTIFICADO CON mysql_native_password POR ‘contraseña segura’;
PRIVILEGIOS DE DESCARGA;
SALIDA;

Ahora inicie sesión en MySQL usando el usuario root con la nueva contraseña y cree una nueva base de datos para wordpress

CREAR BASE DE DATOS wordpress CONJUNTO DE CARACTERES POR DEFECTO utf8 COLLATE utf8_unicode_ci;

Ahora crearemos un nuevo usuario de MySQL y otorgaremos todo el acceso a la base de datos de WordPress al nuevo usuario de wordpress.

mysql> CREAR BASE DE DATOS wordpress CONJUNTO DE CARACTERES POR DEFECTO utf8 COLLATE utf8_unicode_ci;

mysql> CREAR USUARIO ‘wordpressuser’@’%’ IDENTIFICADO CON mysql_native_password POR ‘contraseña segura’;

mysql> OTORGAR TODO EN wordpress.* A ‘wordpressuser’@’%’;

mysql> PRIVILEGIOS DE DESCARGA;

mysql > SALIR;

Descarga de WordPress: si está en Ubuntu, puede instalar directamente usando APT y puede omitir este paso

sudo apt install wordpress

Pero instalaremos WordPress directamente desde el repositorio de WordPress

  • Primero, descargaremos la última versión de WordPress de su repositorio (la estamos descargando en una carpeta temporal para que el paquete descargado y otro archivo que ayuda a construir WordPress pero que no es útil mientras se está ejecutando se eliminen automáticamente al reiniciar).
  • Ahora descomprimiremos el paquete de WordPress
cd /tmp
curl -O https://wordpress.org/latest.tar.gz
tar xzvf latest.tar.gz

Ahora crearemos el archivo .htaccess de Apache y el archivo de configuración de WordPress a partir de la configuración de muestra. También crearemos un directorio llamado «actualizar», lo que garantiza que WordPress no tenga problemas de permisos cuando intente actualizar su software.

touch /tmp/wordpress/.htaccess
cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php
mkdir /tmp/wordpress/wp-content/upgrade

Ahora copiaremos el directorio de wordpress desempaquetado a /var/www para que apache se ejecute

sudo cp -a /tmp/wordpress/. /var/www/wordpress

Configuración de WordPress: Ahora ajustaremos los archivos de wordpress y el permiso del directorio. El usuario y grupo «www-data» es el usuario con el que se ejecuta el servidor web Apache, y Apache deberá poder leer y escribir archivos de WordPress para servir el sitio web y realizar actualizaciones automáticas. 

  • Necesitamos dar permiso a los directorios de wordpress 750, lo que significa que el usuario actual (www-data) puede leer, escribir y ejecutar, el grupo no puede escribir y otros no pueden leer, escribir o ejecutar.
  • Necesitamos dar permiso a los archivos de wordpress 640, lo que significa que el usuario actual (www-data) puede leer, escribir, y el grupo solo puede leer y otros no pueden leer, escribir o ejecutar.
sudo chown -R www-data:www-data /var/www/wordpress
sudo find /var/www/wordpress/ -type d -exec chmod 750 {} \;
sudo find /var/www/wordpress/ -type f -exec chmod 640 {} \;

Ahora crearemos algunas claves seguras para nuestra instalación, puede realizar una solicitud a la API de WordPress y le proporcionará las claves. No copie estas claves, asegúrese de tener sus propias claves.

curl -s https://api.wordpress.org/secret-key/1.1/salt/

// la salida será similar a la siguiente define(‘AUTH_KEY’, ‘:BiuKIi%W7<p?4Jm}`1XTJOw!cQBKxcOt]DylUDyO$BB<>t)*FN.qf*q|+-W7}8f ‘);
define(‘SECURE_AUTH_KEY’, ‘7[Kh-{P#A~<PGMkIOHC#9Fta$XGemco5F8k}G66I[lXqD|`IZ8cyM2O>!NjtvW(o’); define(‘LOGGED_IN_KEY’, ‘La{SEJ{$
uI <6Txgv QqY4cxG]3+-r[Iqcx.IFxlfN.f/Yd?317zR*+Yt=*PMWM$(‘);
define(‘NONCE_KEY’, ‘U5pGQf.`J{.Hd~P/9Snw`V2+# <t+;>OTY!VOTO[-aoruh;dhSUX]09xj*O<KXdZ6+’);
define(‘AUTH_SALT’, ‘fmByAIfcEq&V}Xf,mF)!a09:-Q$R^/:79!k|<pEL @>VU)|C7|(>;`{N(4ZHg O)n’);
define(‘SECURE_AUTH_SALT’, ‘s5N%EIR(eM@tlg;M%L-+F#:<|r_x5-]Ix. &eYN)ya5ktoWLE+H~zUGkX#HceO/;H’);
define(‘LOGGED_IN_SALT’, ‘EGcaE`=DAh7lv*klFyV0VLy5<@af_*–3otD$3:^;z~C(f^JB[C0T;`yqE )2@y${‘);
define(‘NONCE_SALT’, ‘rP1%&ojrP0XLRuQ1AS#@u}#2-Q+)5ftKeJpWC$oxD]?&3}|+n2Gt{1$`kZbSW`-q’);

Ahora abra el archivo de configuración de WordPress y agregue estas claves junto con los detalles de la base de datos, tenemos la configuración para wordpress. A continuación se muestra un archivo de configuración de muestra:

sudo nano /var/www/wordpress/wp-config.php

PHP

<?php
  
/* MySQL settings - You can get this 
   info from your web host */
/** The name of database for WordPress */
define( 'DB_NAME', 'wordpress' );
  
/** MySQL database username */
define( 'DB_USER', 'wordpressuser' );
  
/** MySQL database password */
define( 'DB_PASSWORD', 'wordpress' );
  
/** 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', '' );
  
/**#@+
 * Authentication Unique Keys and Salts.
 *
 * Change these to different unique phrases!
 * You can generate these using the {
 * @link https://api.wordpress.org/secret-key/1.1/salt/ 
 * WordPress.org secret-key service}
 * You can change these at any point in time to 
 * invalidate all existing cookies. This will force 
 * all users to have to log in again.
 *
 * @since 2.6.0
 */
define('AUTH_KEY',         ':BiuKIi%W7<p?4Jm}`1XTJOw!cQBKxcOt]DylUDyO$BB<>t)*FN.qf*q|+-W7}8f');
define('SECURE_AUTH_KEY',  '7[Kh-{P#A~<PGMkIOHC#9Fta$XGemco5F8k}G66I[lXqD|`IZ8cyM2O>!NjtvW(o');
define('LOGGED_IN_KEY',    'La{SEJ{$uI<6Txgv QqY4cxG]3+-r[Iqcx.IFxlfN.f/Yd?317zR*+Yt=*PMWM$(');
define('NONCE_KEY',        'U5pGQf.`J{.Hd~P/9Snw`V2+#<t+;>OTY!VOW[-aoruh;dhSUX]09xj*O<KXdZ6+');
define('AUTH_SALT',        'fmByAIfcEq&V}Xf,mF)!a09:-Q$R^/:79!k|<pEL@>VU)|C7|(>;`{N(4ZHg O)n');
define('SECURE_AUTH_SALT', 's5N%EIR(eM@tlg;M%L-+F#:<|r_x5-]Ix.&eYN)ya5ktoWLE+H~zUGkX#HceO/;H');
define('LOGGED_IN_SALT',   'EGcaE`=DAh7lv*klFyV0VLy5<@af_*--3otD$3:^;z~C(f^JB[C0T;`yqE)2@y${');
define('NONCE_SALT',       'rP1%&ojrP0XLRuQ1AS#@u}#2-Q+)5ftKeJpWC$oxD]?&3}|+n2Gt{1$`kZbSW`-q');
  
/**#@-*/
  
/**
 * WordPress Database Table prefix.
 *
 * You can have multiple installations in 
 * one database if you give each
 * a unique prefix. Only numbers, letters, 
 * and underscores please!
 */
$table_prefix = 'blog_';
  
/**
 * For developers: WordPress debugging mode.
 *
 * Change this to true to enable the display 
 * of notices during development.
 * It is strongly recommended that plugin 
 * and theme developers use WP_DEBUG
 * in their development environments.
 *
 * For information on other constants that 
 * can be used for debugging,
 * visit the documentation.
 *
 * @link https://wordpress.org/support/article/debugging-in-wordpress/
 */
define( 'WP_DEBUG', false );
  
/* That's all, stop editing! Happy publishing. */
  
/** Absolute path to the WordPress directory. */
if ( ! defined( 'ABSPATH' ) ) {
    define( 'ABSPATH', __DIR__ . '/' );
}
  
/** Sets up WordPress vars and included files. */
require_once ABSPATH . 'wp-settings.php';
?>
  • Cambie el nombre de la base de datos, el usuario de la base de datos y la contraseña a los valores que hemos creado al configurar MySQL.
  • Cambie las claves de sal de las claves que ha recibido cuando se le solicitó wordpress
  • Cambiar el prefijo de la tabla de «wp_» a «blog_», que es opcional

Configuración de WordPress: ahora inicie el servidor apache2 y visite la instalación de WordPress

sudo service apache2 start

// visit 127.0.0.1/wordpress

Ahora seleccione el idioma del usuario

Seleccione el idioma

Ahora configure los detalles de usuario de WordPress (Este será el usuario administrador predeterminado)

Detalles del usuario y del sitio

  • Dale a tu WordPress un nombre de sitio
  • Ahora elija un nombre de usuario para el usuario
  • Ahora da una contraseña
  • Proporcione un correo electrónico válido (El correo electrónico en la imagen) no debe usarse en Producción).
  • La visibilidad del motor de búsqueda significa que el administrador del sitio permite que los motores de búsqueda indexen el sitio.

Después de hacer clic en «Instalar WordPress», se instalará WordPress y aparecerá una pantalla de éxito.

WordPress instalado correctamente

Ahora, inicie sesión en el panel de WordPress con sus datos de inicio de sesión

Iniciar sesión en WordPress

Después de iniciar sesión, puede ver el panel de WordPress

Tablero de WordPress

Ahora puede ver su sitio de WordPress visitando su URL

http://127.0.0.1/wordpress

WordPress funcionando con éxito

Publicación traducida automáticamente

Artículo escrito por kushwanthreddy y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *