Base de Conocimiento Instrucciones sencillas para trabajar con el servicio Profitserver
Main Base de Conocimiento Cómo configurar un servidor web (Apache-PHP-MySQL/MariaDB) en Linux

Cómo configurar un servidor web (Apache-PHP-MySQL/MariaDB) en Linux


En este artículo, le daremos instrucciones paso a paso sobre cómo configurar un entorno web en un servidor Linux. En primer lugar, debe comprender que un servidor web típico consta de varios componentes que interactúan entre sí:

  • Servidor HTTP
  • intérprete de lenguaje de programación
  • sistema de gestión de bases de datos (DBMS)

Para administrar su sitio web, también necesitará configurar un sistema de gestión de contenido (CMS), una interfaz web para la gestión de bases de datos y acceso FTP.

Consideremos la configuración Apache-PHP-MySQL (MariaDB) en Linux. También instalaremos el servidor FTP vsftpd, phpMyAdmin (una interfaz web para la gestión de bases de datos) y el sistema de gestión de contenido WordPress.

Para comenzar, solicite un servidor VPS o un servidor dedicado . Por ejemplo, nosotros utilizamos un servidor virtual con dirección IP estática que ejecuta Ubuntu Server 18.04. Todos los comandos fueron ejecutados por el usuario root.

Configuración del servidor HTTP Apache

1. Instalación

apt install apache2

Cuando la instalación haya terminado, abra un navegador y compruebe “http://[dirección_ip_del_servidor]”.

Configuración del servidor HTTP Apache

Si ve una página de bienvenida como ésta en la captura de pantalla anterior, eso significa que su servidor HTTP está funcionando.

2. Crea una página de prueba

El directorio raíz predeterminado del sitio web es “/var/www/html” . Aquí es donde se encuentra la página de bienvenida que acaba de ver. Creemos un directorio aparte, “/var/www/sites”, para los hosts virtuales y una subcarpeta “/var/www/sites/site1” con la página de inicio de su sitio web de prueba.

cd /var/www/

mkdir -p sites/site1

echo "<H1>Welcome</H1>" > sites/site1/index.html

Como resultado, el archivo “/var/www/sites/site1/index.html” debería contener solo una línea de código HTML:

<H1>Welcome</H1>

3. Configuración del servidor Apache

Los archivos de configuración de los sitios web se encuentran en el directorio “/etc/apache2/sites-available/” . Vamos a crear un archivo de configuración para un nuevo host virtual tomando como base la configuración predeterminada del archivo “000-default.conf” .

cd /etc/apache2/sites-available/

cp 000-default.conf site1.conf

Abre el archivo “site1.conf” y modifica el atributo “DocumentRoot” . Introduce la ruta de tu sitio web como valor; en nuestro caso, sería “/var/www/sites/site1”.

Configuración del servidor Apache

En esta etapa, no necesitamos configurar el funcionamiento simultáneo de varios sitios web, por lo que podemos deshabilitar el sitio web predeterminado y habilitar el nuevo. Recargue la configuración del servidor para aplicar los cambios.

a2dissite 000-default

a2ensite site1

systemctl reload apache2

Vuelve a abrir el enlace “http://[dirección IP del servidor]” y asegúrate de que, en lugar de la página de bienvenida predeterminada, tenemos nuestra nueva página.

Configuración del servidor Apache

Terminamos de configurar nuestro servidor HTTP y podemos proceder al siguiente paso.

Configuración del servidor FTP

1. Instalación

Vamos a instalar nuestro servidor FTP y un paquete adicional llamado “db-util” , que necesitaremos para configurar usuarios virtuales.

apt install vsftpd db-util

2. Crear una cuenta local

El servidor vsftpd nos permite configurar los permisos de acceso de forma muy flexible. Para nuestras tareas, necesitamos proporcionar a los usuarios de FTP lo siguiente:

  • acceso completo a los contenidos de “/var/www/sitios/”;
  • Desactivar todo lo anterior “/var/www/”;
  • conexión con una cuenta virtual;

Cree una cuenta local “virtual” sin permisos de inicio de sesión, pero con acceso a la carpeta personal “/var/www/” . Esta cuenta será utilizada por los usuarios de FTP para conectarse al servidor.

useradd -d /var/www virtual

“Root” será el propietario de la carpeta “/var/www” por defecto. Para permitir que los usuarios de ftp modifiquen el contenido de los sitios web, cambiemos el propietario de “/var/www/sites/”, incluidas las subcarpetas de “virtual”.

chown -R virtual:root /var/www/sites

Como resultado, el usuario “virtual” podrá ver el contenido de “/var/www/” y escribir en la subcarpeta “/var/www/sites/”.

3. Configuración

La configuración principal se encuentra en el archivo “/etc/vsftpd.conf” , así que vamos a abrirlo y editarlo de la siguiente manera:

#enable virtual users

anonymous_enable=NO

local_enable=YES

guest_enable=YES

guest_username=virtual
#configure permission

write_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

anon_world_readable_only=NO

anon_umask=0022

chroot_local_user=YES
#launch settings

listen=YES

pasv_min_port=30000

pasv_max_port=30999

4. Crear la base de datos

Necesitará una base de datos para almacenar datos de cuentas virtuales.

Primero, vamos a crear un archivo de texto simple llamado “users.txt” en la carpeta de inicio y guardar los detalles de acceso (nombre de usuario y contraseña) de los usuarios virtuales en líneas alternas. Por ejemplo, necesitaremos un usuario virtual con el nombre de usuario “ftp” y la contraseña “Qwe123” . Entonces, el archivo se verá así:

ftp

Qwe123

Vamos a crear la base de datos

db_load -T -t hash -f ~/users.txt /etc/vsftpd_login.db

Vamos a modificar el archivo PAM predeterminado “/etc/pam.d/vsftp” de la siguiente manera:

auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login

account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login

Tenga en cuenta que la ruta de la biblioteca “pam_userdb.so” puede ser diferente, pero puede cambiarla si es necesario.

Recargue el servidor vsftpd para aplicar los cambios.

systemctl restart vsftpd

Terminamos de configurar el servidor FTP.

Detalles de conexión:

  • ftp://[dirección_ip_del_servidor]
  • inicio de sesión: ftp
  • contraseña: Qwe123

Configuración del servidor PHP

1. Instalación de PHP

Hoy, la última versión estable de PHP es PHP 7.4.5, que no está incluida en los repositorios oficiales de Ubuntu. Conectémonos a un repositorio externo e instalemos la última versión de PHP.

apt update

apt install software-properties-common

add-apt-repository ppa:ondrej/php

apt update

apt install php7.4

2. Comprobar

Para que PHP se ejecute, el archivo de la página web debe tener la extensión “.php” . Cambiemos el nombre de nuestra página de prueba:

cd /var/www/sites/site1/

mv index.html index.php

Agregue la siguiente línea de PHP al archivo “/var/www/sites/site1/index.php” , de modo que el archivo debería verse así:

<H1>Welcome</H1>

<?php

phpinfo();

?>

Guarde los cambios y compruebe el resultado en el navegador.

Configuración del servidor PHP: instalación y comprobación

Si ves el resultado de la función “phpinfo()” , el intérprete de PHP está funcionando correctamente. Ahora pasemos al siguiente paso.

Configuración de MySQL (MariaDB)

1. Instalación

Instalemos MariaDB y un módulo PHP para MySQL y luego recarguemos Apache.

apt install mariadb-server php-mysql

systemctl restart apache2

Actualiza la página de prueba y ve a la sección PDO en la tabla de configuración de PHP. Si encuentras la sección "PDO_mysql" , significa que el controlador de MySQL está instalado correctamente.

Instalación y configuración de MySQL (MariaDB)

A continuación, tendremos que realizar la configuración de seguridad inicial de MariaDB y establecer la contraseña para el usuario "root" , deshabilitar el acceso remoto y eliminar todas las cuentas de invitado.

mysql_secure_installation

En el primer paso, debemos ingresar la contraseña del usuario "root" para acceder al DBMS o presionar Enter si no hay contraseña. Como no hay ninguna contraseña establecida para el usuario "root" después de la instalación, simplemente presione "Enter".

Tenga en cuenta que en MariaDB ya existen sus propias cuentas que no tienen nada que ver con las cuentas del sistema operativo. Por lo tanto, el único usuario con el que trabajamos en MariaDB es "root".

  MySQL: Crear una cuenta y configurar una contraseña

Después, el configurador nos pedirá que establezcamos la contraseña para el usuario root. Escribe “Y” para confirmar e introduce la nueva contraseña. En nuestro caso, es “Qwe123”.

  MySQL: Crear una cuenta y configurar una contraseña

Responda “Y” a todas las demás preguntas hasta el final.

¡La configuración está hecha!

Detalles de acceso a MariaDB:

  • Iniciar sesión: raíz
  • Contraseña: Qwe123

Configuración de phpMyAdmin

1. Instalación

Vamos a instalar la extensión necesaria para PHP: mbstring.

apt install php-mbstring

En el repositorio oficial sólo hay una versión desactualizada de phpMyAdmin, así que instalemos la nueva manualmente.

Abra el sitio web oficial del proyecto “ https://www.phpmyadmin.net/ ” y descargue el archivo más reciente.

Instalación y configuración de phpMyAdmin

Copie el archivo al servidor en la carpeta “/var/www/sites/” utilizando cualquier cliente FTP.

Descomprime la carpeta y cámbiale el nombre a “phpMyAdmin” . No olvides instalar la utilidad “unzip” . Puedes eliminar el archivo después de descomprimirlo.

apt install unzip

cd /var/www/sites/

unzip phpMyAdmin-5.0.2-all-languages.zip

mv phpMyAdmin-5.0.2-all-languages phpMyAdmin

rm phpMyAdmin-5.0.2-all-languages.zip

Crea la carpeta “/var/www/sites/phpMyAdmin/tmp” para archivos temporales y habilita el acceso para todos. Si no lo haces, phpMyAdmin mostrará un mensaje de acceso denegado a la carpeta temporal.

cd /var/www/sites/phpMyAdmin/

mkdir tmp

chmod 777 tmp

2. Crea un alias

Dado que phpMyAdmin no es un host virtual separado y está ubicado fuera del directorio raíz, configuremos el alias.

Abra el archivo “/etc/apache2/mods-available/alias.conf” y agregue esta línea:

Alias /pma “/var/www/sites/phpMyAdmin"

Dentro de esta sección:

<IfModule alias_module>

</IfModule>
phpMyAdmin: Crear un alias

Recargue Apache para aplicar los cambios.

systemctl reload apache2

El alias está configurado, por lo que podemos acceder a phpMyAdmin aquí “http://[dirección_ip_del_servidor]/pma”.

3. Prepare la base de datos

Como restringimos el uso del usuario root durante la configuración inicial de MariaDB, tendremos que crear una nueva cuenta con todos los permisos que se utilizarán para acceder a phpMyAdmin.

Además, para habilitar características adicionales de phpMyAdmin necesitaremos una base de datos de servicio y una cuenta para acceder a ella.

Vamos a crear las cuentas

mariadb -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'pma'@'localhost' IDENTIFIED BY 'Qwe123' WITH GRANT OPTION;
GRANT SELECT, INSERT, UPDATE, DELETE ON `phpmyadmin`.* TO 'pmaservice'@'localhost' IDENTIFIED BY 'Qwe123' WITH grant option;
quit

Tenga en cuenta que el nombre de la base de datos en la segunda solicitud está en back sparks “… ON `phpmyadmin` .* TO 'pma'@'localhost' IDENTIFIED BY …”,

Como resultado, se crearán dos cuentas en MariaDB:

  • Usuario: pma, Contraseña: Qwe123Acceso completo, se utilizará para iniciar sesión en phpMyAdmin
  • Inicio de sesión: pmaservice, Contraseña: Qwe123La cuenta de servicio es necesaria para que funcionen funciones adicionales

En el siguiente paso, configuraremos estos detalles en el archivo de configuración “config.inc.php”.

Luego tendremos que importar la base de datos desde el archivo “phpMyAdmin/sql/create_tables.sql”.

Vamos a importarlo con la ayuda de phpMyAdmin.

Abra el enlace “http://[dirección_ip_del_servidor]/pma”

Ingrese el nombre de usuario “pma” y la contraseña “Qwe123”.

Ve a “Importar” , haz clic en “Seleccionar archivo” y selecciona el archivo “sql/create_tables.sql” en el directorio raíz de phpMyAdmin. Debería existir una carpeta llamada “phpMyAdmin” en tu PC con los archivos. Descomprímela si es necesario.

configuración de phpmyadmin

Haz clic en “Siguiente” para comenzar la importación.

4. Configuración

Copiemos el archivo de configuración de la plantilla

cd /var/www/sites/phpMyAdmin/

cp config.sample.inc.php config.inc.php

Abramos el archivo de configuración “/var/www/sites/phpMyAdmin/config.inc.php” y realicemos los siguientes cambios:

Establece un valor aleatorio de 32 caracteres para el atributo “$cfg['blowfish_secret']” . Utiliza cualquier generador de contraseñas para ello.

Cómo instalar y configurar WordPress en un servidor Linux

Elimine los comentarios de todas las líneas de la sección "Configuración de almacenamiento de phpMyAdmin" y establezca el nombre de usuario y la contraseña de la cuenta de servicio de MariaDB para los atributos "controluser" y "controlpass" según corresponda. En nuestro caso, son pmaservice y Qwe123.

Cómo instalar y configurar WordPress en un servidor Linux

Guarde los cambios.

Detalles de acceso para phpMyadmin:

  • http://[server’s_ip_address]/pma/
  • Iniciar sesión: pma
  • Contraseña: Qwe123

Cómo instalar y configurar WordPress en un servidor Linux

1. Ubicación de paquetes y archivos de WordPress

Dirígete al sitio web oficial de WP “ https://ru.wordpress.org/ ” y descarga el archivo a tu PC.

Sube el archivo al servidor en la carpeta “/var/www/sites/” y descomprímelo en la carpeta “wordpress ”.

Copie el contenido de la carpeta raíz “/var/www/sites/wordpress/” del sitio web “/var/www/sites/site1/”.

Dado que copiamos los archivos mediante la consola con permisos de administrador, cambiemos el propietario de la carpeta “/var/www/sites/”, incluyendo el contenido de “virtual” . Esto es necesario para habilitar el acceso completo a la conexión FTP a través del cliente.

cd /var/www/sites/

tar -xzvf wordpress-5.4-ru_RU.tar.gz

cp -R wordpress/* site1/

chown -R virtual:root /var/www/sites

2. Crea una base de datos para WordPress

Inicie sesión en phpMyAdmin y haga clic en "Crear base de datos". Indique un nombre de base de datos arbitrario (en nuestro caso, "wordpress_db") y haga clic en el botón "Crear".

Crear una base de datos para WordPress

Seleccione la nueva base de datos en la sección izquierda y haga clic en “Privilegios”.

Crear una base de datos para WordPress

A continuación, haga clic en “Agregar cuenta de usuario”.

Introduzca el nombre de usuario y la contraseña ( wpservice / Qwe123 ) en la ventana que se abre, marque la casilla "Otorgar todos los privilegios en wordpress_db" y haga clic en "Siguiente".

Agregar cuenta de usuario en la base de datos de WordPress

En la página siguiente, haga clic en “Cancelar todo” para restablecer todos los privilegios a nivel de base de datos y haga clic en “Siguiente”.

Agregar cuenta de usuario en la base de datos de WordPress

3. Configuración de WordPress en un servidor Linux

Vaya al directorio raíz de su sitio web y copie el archivo de configuración de la plantilla

cd /var/www/sites/site1/

cp wp-config-sample.php wp-config.php

Abra el archivo “wp-config.php” , introduzca los parámetros de conexión a la base de datos que creamos en el paso anterior y guarde los cambios.

Configuración de WordPress en un servidor Linux

4. Instalar CMS WordPress

Abra el siguiente enlace en el navegador : “http://[dirección_ip_del_servidor]/wp-admin/install.php”.

Rellena todos los campos y haz clic en «Instalar WordPress» . Elige un nombre de usuario y una contraseña aleatorios. En nuestro caso, son wpadmin y Qwe123, respectivamente.

Estos detalles se utilizarán para acceder a WordPress.

Instalar CMS WordPress en un servidor Linux

Una vez finalizada la instalación, abre el enlace “http://[dirección_ip_del_servidor]/wp-login.php” , introduce los datos de acceso e inicia sesión en WordPress.

Instalar CMS WordPress en un servidor Linux

Deberías ver una de las plantillas de WordPress en la página principal.

Instalar CMS WordPress en un servidor Linux

La configuración ha finalizado.

Detalles de acceso a WordPress:

  • http://[server’s_ip_address]/wp-login.php
  • Iniciar sesión: wpadmin
  • Contraseña: Qwe123
Siguiente artículo ❯ Configuración del archivo .htaccess

Pregúntenos sobre VPS

Siempre estamos listos para responder sus preguntas en cualquier momento del día o de la noche.