GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar MediaWiki con Nginx en CentOS 7

MediaWiki es un software wiki popular que se desarrolló originalmente para su uso en Wikipedia. Es un software wiki gratuito y de código abierto escrito en el lenguaje de programación PHP. Creada por Magnus Manske en 2002, la herramienta se encuentra ahora en la versión 1.30. Muchas grandes empresas han utilizado MediaWiki, incluidas Nginx, Intel, Novell, etc.

En este tutorial, analizaremos cómo instalar MediaWiki paso a paso con el servidor web Nginx en CentOS 7. También lo guiaremos sobre cómo instalar y configurar la pila LEMP para la instalación de MediaWiki, incluida la generación y configuración de un nuevo SSL Letsencrypt gratuito para Seguridad de MediaWiki.

Lo que haremos

  1. Instalar Nginx en CentOS 7
  2. Instalar y configurar PHP-FPM
  3. Instalar y configurar la base de datos MariaDB
  4. Descargar y configurar MediaWiki
  5. Generar nuevo SSL Letsencrypt en CentOS 7
  6. Configurar host virtual Nginx para la instalación de MediaWiki
  7. Instalación basada en web de MediaWiki
  8. Configurar la apariencia predeterminada de MediaWiki

Requisitos

  • Servidor CentOS 7
  • Privilegios de raíz

Paso 1:instalar Nginx en CentOS 7

Para este tutorial, utilizaremos el servidor web Nginx para la instalación de MediaWiki. En CentOS 7, el paquete Nginx no existe. Por lo tanto, debemos instalarlo desde el repositorio EPEL (Extra Packages for Enterprise Linux) de terceros.

Actualice todos los paquetes e instale el repositorio EPEL en el sistema CentOS 7 usando el comando yum a continuación.

yum -y update
yum -y install epel-release

A continuación, instale el servidor web Nginx.

yum -y install nginx

Una vez completada la instalación de Nginx, inicie el servidor y habilítelo para que se ejecute automáticamente al iniciar el sistema.

systemctl start nginx
systemctl enable nginx

Entonces, el servidor web Nginx se instaló en el servidor CentOS 7. Verifique las estadísticas de la red con el comando netstat y, como resultado, debería obtener el puerto HTTP que utiliza el servicio Nginx.

netstat -plntu

Paso 2:instalar y configurar PHP-FPM

En este tutorial, usaremos PHP 7.0. Y aquí, en este paso, instalaremos PHP 7.0 (incluidas las extensiones) y configuraremos PHP-FPM para la instalación de MediaWiki.

Usaremos paquetes PHP 7.0 del repositorio de terceros 'webtatic'. Agregue un nuevo repositorio 'webtatic' para la instalación de PHP 7.0 usando el siguiente comando.

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Ahora podemos instalar PHP 7.0 con todas las extensiones necesarias usando el siguiente comando yum.

yum -y install ImageMagick php70w-fpm php70w-intl php70w-xml php70w-curl php70w-gd php70w-mbstring php70w-mysql php70w-cli php70w-pear php70w-pecl-apcu

Con esto, se ha completado la instalación de PHP 7.0 en CentOS 7.

A continuación, configuraremos el servicio PHP-FPM. Editaremos el archivo php.ini para configurar la información de la ruta CGI y luego editaremos la configuración 'www.conf' para configurar el servicio PHP-FPM. Luego configuraremos PHP-FPM para que se ejecute bajo el archivo sock (con el usuario y grupo 'nginx').

Edite el archivo 'php.ini' usando el editor vim.

vim /etc/php.ini

Descomente la línea de abajo y cambie el valor a 0.

cgi.fix_pathinfo=0

Guarde los cambios y salga del editor.

Ahora edite el archivo de configuración de PHP-FPM 'www.conf'.

vim /etc/php-fpm.d/www.conf

Cambie el valor de línea de usuario y grupo a 'nginx'.

user = nginx
group = nginx

Ahora cambie el valor de la variable 'escuchar' al archivo 'php-fpm.sock', como se muestra a continuación.

listen = /run/php-fpm/php-fpm.sock

Necesitamos configurar los permisos del archivo sock, así como el propietario del directorio del archivo sock. Quite el comentario de la línea listen.owner y listen.group y cambie los valores correspondientes a 'nginx'.

listen.owner = nginx
listen.group =nginx
listen.mode = 0660

Para configuraciones adicionales, elimine los comentarios de las líneas a continuación.

env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

Eso es todo. Guardar y salir.

A continuación, cree un nuevo directorio para la configuración de rutas de sesiones.

Ejecute los comandos a continuación para crear el directorio de sesiones.

mkdir -p /var/lib/php/session/
chown -R nginx:nginx /var/lib/php/session/

Una vez hecho esto, inicie el servicio PHP-FPM y permita que se ejecute automáticamente al iniciar el sistema.

systemctl start php-fpm
systemctl enable php-fpm

Verifique PHP-FPM usando el comando netstat a continuación.

netstat -pl | grep php

Y asegúrese de obtener el archivo php-fpm.sock como resultado.

Paso 3:instalar y configurar la base de datos MariaDB

MediaWiki admite bases de datos MySQL/MariaDB y SQLite. En este tutorial, sin embargo, utilizaremos la base de datos MariaDB.

Para empezar, instale MariaDB utilizando el siguiente comando yum.

yum -y install mariadb mariadb-server

Una vez completada la instalación, inicie mariadb y habilítelo para que se inicie al iniciar el sistema.

systemctl start mariadb
systemctl enable mariadb

Ahora necesitamos configurar la contraseña 'root' para la base de datos MariaDB. Ejecute el siguiente comando para configurar la contraseña 'root' de MariaDB.

mysql_secure_installation

Escriba 'Y' y presione Entrar.

Set root password? [Y/n] Y
TYPE ROOT PASSWORD HERE

Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Se instaló MariaDB en el sistema CentOS 7 y se configuró la contraseña para el usuario 'root'.

A continuación, crearemos una nueva base de datos para MediaWiki. Específicamente, crearemos una nueva base de datos llamada 'mediawikidb ', con el nuevo usuario/propietario 'mediawiki ' y contraseña 'micontraseña '.

Conéctese al shell mysql usando el comando mysql.

mysql -u root -p
TYPE YOUR ROOT PASSWORD

Ahora ejecute las siguientes consultas mysql para crear una nueva base de datos para MediaWiki.

create database mediawikidb;
grant all privileges on mediawikidb.* to [email protected]'localhost' identified by 'mypassword';
flush privileges;
exit;

Se ha creado una nueva base de datos y usuario para la instalación de MediaWiki.

Paso 4:descarga y configura MediaWiki

En este tutorial, usaremos la última versión (1.30) de MediaWiki y descargaremos todo el código fuente de MediaWiki del repositorio. Entonces necesitamos git y algunos paquetes instalados en el sistema.

Instale git y otros paquetes usando el comando yum a continuación.

yum -y install git zip unzip composer

Una vez completada la instalación, cree un nuevo directorio '/var/www/mediawiki' y clone el código fuente de mediawiki en ese directorio.

mkdir -p /var/www/mediawiki
git clone https://gerrit.wikimedia.org/r/p/mediawiki/core.git /var/www/mediawiki

A continuación, vaya al directorio '/var/www/mediawiki' e instale algunas dependencias de PHP necesarias para la instalación de MediaWiki usando el comando composer, como se muestra a continuación.

cd /var/www/mediawiki
composer install --no-dev

Ahora cambie los permisos de propiedad del directorio mediawiki a 'nginx' (tanto de usuario como de grupo).

chown -R nginx:nginx /var/www/mediawiki

La fuente de MediaWiki se ha descargado en el directorio '/var/www/mediawiki' y todas las dependencias se han instalado.

Paso 5:generar SSL Letsencrypt en CentOS 7

Por razones de seguridad, MediaWiki solo se ejecutará en la conexión HTTPS. Y todas las solicitudes a HTTP serán redirigidas a HTTPS por el servidor web de Nginx.

Para ejecutar MediaWiki bajo la conexión segura HTTPS, necesitamos certificados SSL. Por lo tanto, utilizaremos el certificado SSL gratuito de Letsencrypt.

Instalar permite cifrar la herramienta de línea de comandos usando el comando yum a continuación.

yum -y install letsencrypt

Una vez completada la instalación, detenga el servicio Nginx con el comando systemctl.

systemctl stop nginx

A continuación, generaremos un nuevo certificado SSL usando el comando letsencrypt. Pero antes de eso, asegúrese de que los servicios HTTP y HTTPS se hayan agregado a Firewalld.

Así es como agrega nuevos servicios HTTP y HTTPS a Firewalld.

firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --reload

Genere un nuevo SSL gratuito que permita cifrar el certificado usando el comando letsencrypt a continuación.

letsencrypt certonly

El comando le preguntará sobre la autenticación ACME. Elija el número '1' para girar el servidor web temporal.

A continuación, escriba su dirección de correo electrónico para la notificación de renovación, luego escriba 'A' para aceptar los Términos de servicio (TOS) de Letsencrypt y finalmente escriba su nombre de dominio wiki.

Después de hacer todo eso, obtendrá un resultado similar al que se muestra a continuación.

Se ha generado y almacenado un nuevo certificado SSL de Letsencrypt en el directorio '/etc/letsencrypt/live'.

Paso 6:configurar el host virtual Nginx para MediaWiki

En este paso, crearemos una nueva configuración de host virtual Nginx para MediaWiki.

Vaya al directorio '/etc/nginx' y cree un nuevo archivo de configuración 'mediawiki.conf' usando el editor vim.

cd /etc/nginx/
vim conf.d/mediawiki.conf

Pegue la configuración a continuación.

# HTTP Request will be Redirected to the HTTPS
server {
    listen 80;
    listen [::]:80;
    server_name wiki.hakase-labs.co;
    return 301 https://$host$request_uri;
}

# HTTPS Configuration
server {

    listen 443 ssl;
    listen [::]:443;
   
    server_name wiki.hakase-labs.co;
    root /var/www/mediawiki;

    index index.php;
    autoindex off;

    # SSL Certificate Configuration
    ssl_certificate /etc/letsencrypt/live/wiki.hakase-labs.co/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/wiki.hakase-labs.co/privkey.pem;

    client_max_body_size 5m;
    client_body_timeout 60;

    location / {
        try_files $uri $uri/ @rewrite;
    }

    location @rewrite {
        rewrite ^/(.*)$ /index.php?title=$1&$args;
    }

    location ^~ /maintenance/ {
        return 403;
    }

    # PHP-FPM Configuration Nginx
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
        try_files $uri /index.php;
        expires max;
        log_not_found off;
    }

    location = /_.gif {
        expires max;
        empty_gif;
    }

    location ^~ ^/(cache|includes|maintenance|languages|serialized|tests|images/deleted)/ {
        deny all;
    }

    location ^~ ^/(bin|docs|extensions|includes|maintenance|mw-config|resources|serialized|tests)/ {
        internal;
    }

    # Security for 'image' directory
    location ~* ^/images/.*.(html|htm|shtml|php)$ {
        types { }
        default_type text/plain;
    }

    # Security for 'image' directory
    location ^~ /images/ {
        try_files $uri /index.php;
    }

}

Eso es todo. Guarde los cambios y salga del editor.

Nota:

  • Cambie el nombre de dominio a su propio dominio.
  • Cambiar la ruta de los archivos de certificado SSL

Ahora pruebe la configuración de Nginx y asegúrese de que no haya ningún error, luego reinicie el servicio de Nginx.

nginx -t
systemctl restart nginx

Se agregó la configuración de host virtual de Nginx para MediaWiki y estamos listos para instalar MediaWiki desde el navegador web.

Paso 7:instalación basada en web de MediaWiki

Abra su navegador web y escriba la URL de MediaWiki.

http://wiki.hakase-labs.co/

Será redirigido a la conexión HTTPS. En la página web, haga clic en el enlace 'Configurar el wiki'.

Configuración de idioma

Elija el idioma inglés 'en' y haga clic en 'Continuar'.

Comprobación del entorno

Asegúrese de que toda la configuración del servidor haya superado las comprobaciones de entorno.

Luego haga clic en 'Continuar'.

Configuración de la base de datos

Escriba el nombre de la base de datos como 'mediawikidb' y el nombre de usuario 'mediawiki' con la contraseña 'mypassword'.

Ahora haga clic en 'Continuar'.

Configuración de la base de datos

Déjelo como predeterminado y haga clic en 'Continuar'.

Crear nuevo usuario administrador

Escriba su propio usuario administrador, correo electrónico, contraseña y luego haga clic en 'Continuar'.

Configuración adicional de MediaWiki

Ahora llegamos a la página sobre 'Configuración adicional de MediaWiki', como se muestra a continuación.

Deje todos los campos con valores predeterminados y haga clic en 'Continuar'.

Instalación de MediaWiki

Haga clic en 'Continuar' para instalar MediaWiki.

Y accederá a la página siguiente.

Haga clic en 'Continuar' nuevamente.

Y la instalación de MediaWiki está completa. Se nos pedirá que descarguemos el nuevo archivo 'LocalSettings.php'; descargue ese archivo.

A continuación, debemos cargar el archivo 'LocalSetting.php' recién descargado en el directorio de MediaWiki '/var/www/mediawiki' en el servidor. Además, no olvide cambiar los permisos de propiedad del archivo a 'www-data' (tanto de usuario como de grupo).

scp LocalSettings.php [email protected]:/var/www/mediawiki/
chown -R www-data:www-data /var/www/mediawiki

Regrese a la página de instalación de MediaWiki de su navegador web y haga clic en el enlace 'ingresar a su wiki'. Verá que MediaWiki se ha instalado con el servidor web Nginx en el servidor CentOS 7.

Paso 8:descarga y configura la máscara predeterminada de MediaWiki

En esta etapa, la instalación de MediaWiki se ha completado. Y en este paso, configuraremos el aspecto/tema predeterminado de nuestro sitio MediaWiki.

Vaya al directorio '/var/www/mediawiki/skins' y clone la máscara predeterminada llamada 'Vector' en ese directorio.

cd /var/www/mediawiki/skins/
sudo git clone https://gerrit.wikimedia.org/r/mediawiki/skins/Vector

Cambie el propietario del directorio Vector skin al usuario y grupo 'nginx'.

chown -R nginx:nginx /var/www/mediawiki/skins/

Ahora edite el archivo 'LocalSettings.php' usando el editor vim.

vim /var/www/mediawiki/LocalSettings.php

Y pega el siguiente código PHP al final del archivo.

wfLoadSkin( 'Vector' );

Eso es todo. Guardar y salir.

Vuelva a su navegador web y actualice la página de MediaWiki. Asegúrate de ver MediaWiki con el aspecto 'Vector' como se muestra a continuación.

La instalación y configuración de MediaWiki con el servidor web Nginx en CentOS 7 se completó con éxito.


Cent OS
  1. Cómo instalar Nginx en CentOS 7

  2. Cómo instalar WordPress con Nginx en CentOS 7

  3. Instale Nginx con ngx_pagespeed en CentOS 7

  4. Cómo instalar phpMyAdmin con Nginx en CentOS 7 / RHEL 7

  5. Cómo instalar Sitemagic CMS en CentOS 7 – Con Nginx

Cómo instalar MediaWiki en CentOS 8

Cómo instalar Nginx con ngx_pagespeed en CentOS

Cómo instalar Nginx con PHP-FastCGI en CentOS 6

Cómo instalar Magento con Nginx en CentOS 7

Cómo instalar Laravel con Nginx en CentOS 8

¿Cómo instalar Nginx en CentOS 7?