Biblioteca de Conocimiento Instrucciones sencillas para trabajar con el servicio Profitserver
Main Biblioteca 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 empezar por favor pedir servidor VPS or servidor dedicadoPor ejemplo, usamos un servidor virtual con dirección IP estática y 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 finalice la instalación, abra un navegador y verifique “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 para el sitio web es “/var/www/html”Aquí encontrará la página de bienvenida que acaba de ver. Creemos un directorio aparte. “/var/www/sites” para hosts virtuales y una subcarpeta “/var/www/sites/site1” con la página de índice de su sitio web de prueba.

cd /var/www/

mkdir -p sites/site1

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

En el resultado el archivo “/var/www/sites/site1/index.html” debe 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 “/etc/apache2/sitios-disponibles/” Catálogo. Creemos un archivo de configuración para un nuevo host virtual tomando la configuración predeterminada del archivo. “000-default.conf” como base.

cd /etc/apache2/sites-available/

cp 000-default.conf site1.conf

Abra el archivo “sitio1.conf” y cambiar el “Documento raíz” atributo. Ponga la ruta de su sitio web como valor, por lo que en nuestro caso es “/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

Abre el enlace “http://[dirección_ip_del_servidor]” nuevamente y asegúrese de que en lugar de la página de bienvenida predeterminada tengamos 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

Instalemos nuestro servidor ftp y un paquete adicional “db-util”, que necesitaremos 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;

Crea una cuenta local "virtual" Sin permiso de inicio de sesión pero con acceso a la carpeta de inicio “/var/www/”Esta cuenta será utilizada por los usuarios FTP para conectarse al servidor.

useradd -d /var/www virtual

"Raíz" será el dueño de la “/var/www” carpeta por defecto. Para que los usuarios de FTP puedan modificar el contenido de los sitios web, cambiemos el propietario de “/var/www/sitios/” incluidas las subcarpetas de "virtual".

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

Como resultado, el usuario "virtual" Podrán ver el contenido de “/var/www/” y escribe en el “/var/www/sitios/” subcarpeta

3. Configuración

La configuración principal está en el archivo “/etc/vsftpd.conf”, así que abrámoslo y editémoslo 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. “usuarios.txt” En la carpeta de inicio, guarde los datos de acceso (usuario y contraseña) de los usuarios virtuales en cada línea. 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

Modifiquemos el archivo PAM predeterminado “/etc/pam.d/vsftp” como sigue:

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 “pam_userdb.so” La biblioteca puede ser diferente, pero puedes 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 página web debe tener “.php” Extensión. Renombraremos nuestra página de prueba:

cd /var/www/sites/site1/

mv index.html index.php

Agregue la siguiente línea php al archivo “/var/www/sites/site1/index.php”, por lo 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 funciona correctamente. Ahora, procedamos 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

Actualice la página de prueba y vaya a la sección PDO en la tabla de configuración de PHP. Si encuentra la sección... “PDO_mysql”, entonces significa que el controlador para Mysql está instalado correctamente.

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

Luego necesitaremos realizar la configuración de seguridad inicial de MariaDB y establecer la contraseña para el "raíz" usuario, deshabilite el acceso remoto y elimine todas las cuentas de invitados.

mysql_secure_installation

En el primer paso, tenemos que entrar en el "raíz" la contraseña del usuario para acceder al DBMS o presione Enter si no hay contraseña. Dado que no hay contraseña establecida para el "raíz" usuario después de la instalación, simplemente presione "Entrar".

Tenga en cuenta que MariaDB ya cuenta con 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 "raíz".

  MySQL: Crear una cuenta y configurar una contraseña

Después de eso, el configurador nos pedirá que configuremos la contraseña para el usuario root. Tipo "Y" Para confirmar e ingresar la nueva contraseña. En nuestro caso, es “Qwe123”

  MySQL: Crear una cuenta y configurar una contraseña

Responder "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

Instalemos 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

Copiar el archivo al servidor en el “/var/www/sitios/” carpeta usando cualquier cliente ftp.

Desarchiva la carpeta y cámbiale el nombre a “phpMyAdmin”No olvides instalar el "abrir la cremallera" Utilidad. 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 siguiente carpeta “/var/www/sites/phpMyAdmin/tmp” Para archivos temporales y habilitar el acceso para todos. Si no lo hace, phpMyAdmin informará que se ha denegado el acceso 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 agrega 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`.* A 'pma'@'localhost' IDENTIFICADO POR …”,

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 necesitaremos importar la base de datos desde el archivo “phpMyAdmin/sql/create_tables.sql”.

Vamos a importarlo con la ayuda de phpMyAdmin.

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

Ingrese inicio de sesión “pma” y la contraseña “Qwe123”

Vaya a "Importar", haga clic en "Seleccione Archivo" y seleccione el archivo "sql/create_tables.sql" En el directorio raíz de phpMyAdmin. Se supone que la carpeta está en tu PC. “phpMyAdmin” con archivos. Desarchívelo si es necesario.

configuración de phpmyadmin

Haga clic en "Siguiente" para empezar a importar.

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 realizar los siguientes cambios:

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

Cómo instalar y configurar WordPress en un servidor Linux

Eliminar los comentarios de todas las líneas del “Configuración de almacenamiento de phpMyAdmin” sección y configure el nombre de usuario y la contraseña de la cuenta de servicio de MariaDB para el “usuario de control” y “Pase de control” atributos en consecuencia. En nuestro caso, es servicio pma 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

Vaya al sitio web oficial de WP “https://ru.wordpress.org/" y descargue el archivo a su PC local.

Sube el archivo al servidor en el “/var/www/sitios/” carpeta y desarchívela en la “wordpress"Carpeta.

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

Como copiamos los archivos a través de la consola con permisos de root, cambiemos el propietario del archivo. “/var/www/sitios/” carpeta que incluye 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 “Privilegios”

Crear una base de datos para WordPress

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

Introduzca su nombre de usuario y contraseña (serviciowp / Qwe123) en la ventana abierta, marque “Otorgar todos los privilegios en wordpress_db” y haga clic "Siguiente"

Agregar cuenta de usuario en la base de datos de WordPress

En la página siguiente haga clic “Cancelar todo” para restablecer todos los privilegios en el 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 la “wp-config.php” archivo e ingrese 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”.

Rellene todos los campos y haga clic “Instalar WordPress”Establezca un nombre de usuario y una contraseña aleatorios. En nuestro caso, es... wpadmin y Qwe123 en consecuencia.

Estos detalles se utilizarán para acceder a WordPress.

Instalar CMS WordPress en un servidor Linux

Después de terminar la instalación, abra el enlace “http://[dirección_ip_del_servidor]/wp-login.php”, ingrese los datos de acceso e inicie 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
❮ Artículo anterior 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.