Configurar Apache2 VirtualHost para varios blogs de WordPress

  • Yurii Anneticus
  • 0
  • 3895
  • 893

Entonces, ¿desea alojar varios blogs de WordPress en un solo servidor? Con la función Apache2 VirtualHost, uno puede ejecutar múltiples sitios web en un solo servidor fácilmente, y este breve tutorial le mostrará cómo lograrlo..

Cada host virtual se ejecuta independientemente de los demás. Entonces, si va a ejecutar un sitio web de WordPress en cada VirtualHost, se ejecutará como si fuera el único sitio web en el servidor. Esto le permite ahorrar costos en servidores y recursos adicionales.

Este tutorial será breve ... y no perderá su tiempo con otras cosas innecesarias..

Paso 1: configurar el servidor Ubuntu

Ubuntu es fácil de administrar y mantener, por lo que este tutorial se basará en Ubuntu Linux. Puede hacer que Apache2 VirtualHost funcione en otras distribuciones de Linux, pero Ubuntu es una gran distribución para nuevos usuarios y principiantes..

Entonces, instale Ubuntu con acceso de root y ejecute los siguientes comandos para actualizarlo.

sudo apt-get update && sudo apt-get dist-upgrade && sudo apt-get autoremove

Paso 2: Instale el servidor web Apache2

Después de actualizar Ubuntu, ejecute los siguientes comandos para instalar el servidor web Apache2.

sudo apt-get install apache2

Paso 3: Instale el servidor de base de datos MySQL

Después de instalar Apache2, ejecute los siguientes comandos para instalar el servidor de base de datos MySQL.

sudo apt-get install mysql-server mysql-client

Durante la instalación, se le pedirá que cree una nueva contraseña para el usuario root de MySQL. ¡Hazlo! Esta contraseña se utilizará para iniciar sesión en el servidor MySQL.

Paso 4: instalar PHP y otros módulos

Después de instalar el servidor MySQL, ejecute los siguientes comandos para instalar PHP y otros módulos PHP.
sudo apt-get install php libapache2-mod-php php-mysql php-curl php-gd php-pear php-imagick php-imap php-mcrypt php-recode php-tidy php-xmlrpc

En este punto, se instalan todos los servidores y paquetes que WordPress necesita para funcionar. Los siguientes pasos serán crear bases de datos de WordPress, configurar Apache2 VirtualHosts y descargar contenido de WordPress en línea..

Paso 5: Cree bases de datos y usuarios de WordPress

Ejecute los siguientes comandos para iniciar sesión en el servidor MySQL

sudo mysql -u root -p

WordPress requiere una base de datos. Ejecute los siguientes comandos para crear nuevas bases de datos y usuarios de bases de datos. Simplemente duplique los comandos para bases de datos y usuarios adicionales para tantos como desee. Asegúrate de que todos tengan nombres únicos.

Los siguientes comandos crean una nueva base de datos llamada wpdatabase

CREAR BASE DE DATOS wpdatabase;

Los siguientes comandos crean un nuevo usuario de base de datos llamado wpuser y otorgan al usuario acceso a wpdatabase.

OTORGAR TODO EN wpdatabase. * A 'wpuser' @ 'localhost' IDENTIFICADO POR 'type_new_password_here';

[nota de alerta] Repita los pasos anteriores para crear bases de datos adicionales para sitios adicionales de WordPress. Por ejemplo, cree la base de datos wpdatabase1, wpdatabase2, así como los usuarios para los sitios web adicionales de WordPress. [/ Alert-note]

Cuando haya terminado, ejecute los siguientes comandos para guardar sus cambios y salir.

PRIVILEGIOS DE FLUSH; salida 

Paso 6: Cree múltiples VirtualHost para múltiples sitios

Después de crear múltiples bases de datos para los múltiples sitios de WordPress que desea ejecutar, siga la guía a continuación para crear múltiples VirtualHosts para los sitios. Copie el archivo de configuración del sitio Apache2 predeterminado para crear VirtualHosts (sitios) adicionales.

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf sudo cp /etc/apache2/sites-available/000-default.conf / etc / apache2 /sites-available/example.net.conf 

Verá, creamos dos hosts virtuales para dos sitios web diferentes ... (example.com.conf y ejemplo.net.conf)

Cada uno de los archivos de configuración del sitio anteriores albergará un dominio único.

Ahora abra cada archivo ejecutando los siguientes comandos para cada ...

sudo nano /etc/apache2/sites-available/example.com.conf

Luego, para el archivo example.com.conf, configure el nombre del servidor, alias del servidor, DocumentRoot y otros exclusivos del dominio example.com. Repita lo mismo para otros hosts virtuales.

 # Sin embargo, debe configurarlo explícitamente para cualquier otro host virtual. ServerName example.com ServerAlias ​​www.example.com ServerAdmin [email protected] DocumentRoot /var/www/html/example.com # Niveles de registro disponibles: trace8,…, trace1, debug, info, notice, warn, # error, crit, alerta, emerg. # También es posible configurar el nivel de registro para # módulos particulares, p. Ej. #LogLevel info ssl: warn ErrorLog $ APACHE_LOG_DIR /error.log CustomLog $ APACHE_LOG_DIR /access.log combinado # Para la mayoría de los archivos de configuración de conf-available /, que están # habilitados o deshabilitados a nivel global, es posible para # incluir una línea para un solo host virtual en particular. Por ejemplo, la # línea siguiente habilita la configuración CGI para este host sólo # después de haber sido deshabilitado globalmente con "a2disconf". #Incluya conf-available / serve-cgi-bin.conf  # vim: sintaxis = apache ts = 4 sw = 4 sts = 4 sr noet

Haga lo anterior para todos los sitios que desee alojar ... cada uno con una identidad única, incluidos DocumentRoot, ServerName, ServerAlias ​​y Domain

Cuando termines. guarda tus cambios y cierra.

A continuación, habilite los sitios que acaba de crear ejecutando los siguientes comandos para cada uno de los hosts virtuales..

sudo a2ensite example.com.conf sudo a2ensite example.net.conf 

Habilita también otros módulos

sudo a2enmod encabezados sudo a2enmod reescribir sudo a2enmod env sudo a2enmod dir sudo a2enmod mime

Ahora mueve el siguiente paso.

Paso 7: cree cada directorio para los sitios

Ahora que ha configurado los múltiples sitios en Apache2, vaya y cree las carpetas DocumentRoot para cada uno de los sitios que definió en la configuración anterior ... La línea que lee DocumentRoot debe coincidir con cada ubicación.

sudo mkdir -p /var/www/html/example.com sudo mkdir -p /var/www/html/example.net

Configure los permisos de carpeta apropiados para todos los sitios

sudo chown -R www-data: www-data / var / www / html sudo chmod -R 755 / var / www / html 

Reinicie el servidor web Apache2 ejecutando los siguientes comandos

sudo systemctl reiniciar apache2

En este punto, todos sus sitios ya deberían tener contenido de WordPress. A continuación, vaya y descargue el contenido de WordPress y extráigalo en el Raiz del documento carpeta para cada sitio.

Paso 8: descarga el contenido de WordPress

Ahora descargue el contenido de WordPress y extráigalo en el directorio raíz de cada sitio.

cd / tmp / && wget http://wordpress.org/latest.tar.gz

Luego extrae el archivo descargado.

tar -xzvf latest.tar.gz

Y copie en cada carpeta raíz de cada sitio..

sudo cp -R wordpress / * /var/www/html/example.com sudo cp -R wordpress / * /var/www/html/example.net 

Paso 9: Configure los ajustes de la base de datos de WordPress

Ejecute los siguientes comandos para crear WordPress wp-config.php archivo de configuración de su muestra.

sudo cp /var/www/html/example.com/wp-config-sample.php /var/www/html/example.com/wp-config.php sudo cp /var/www/html/example.net/wp -config-sample.php /var/www/html/example.net/wp-config.php

Entonces abre wp-config.php archivo y realice los siguientes cambios resaltados para hacer referencia a la base de datos y al usuario que creó anteriormente.

sudo nano /var/www/html/example.com/wp-config.php

Cuando se abra el archivo, realice los cambios y guarde.

// ** Configuración de MySQL: puede obtener esta información de su servidor web ** // / ** El nombre de la base de datos para WordPress * / define ('DB_NAME', 'wpdatabase'); / ** Nombre de usuario de la base de datos MySQL * / define ('DB_USER', 'wpuser'); / ** Contraseña de la base de datos MySQL * / define ('DB_PASSWORD', 'type_password_here'); / ** Nombre de host MySQL * / define ('DB_HOST', 'localhost'); / ** Conjunto de caracteres de base de datos para usar en la creación de tablas de base de datos. * / define ('DB_CHARSET', 'utf8'); / ** El tipo de clasificación de la base de datos. No cambie esto si tiene dudas. * / define ('DB_COLLATE', ");

Haga lo anterior para cada uno de los sitios que cree, asegurándose de que la información de conexión de la base de datos sea correcta para cada sitio.

sudo systemctl recargar apache2

Ahora abra su navegador web y navegue hasta los dominios del servidor y debería ver la página de configuración predeterminada de WordPress para cada sitio.

Disfrutar!




Nadie ha comentado sobre este artículo todavía.

Una colección de información útil sobre el sistema operativo Linux y las nuevas tecnologías
Artículos nuevos, consejos prácticos, reseñas detalladas y guías. Siéntete como en casa en el mundo del sistema operativo Linux