GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar MediaWiki con Nginx en Ubuntu 16.04

En este tutorial, le mostraré paso a paso cómo instalar MediaWiki con el servidor web Nginx en Ubuntu 16.04. Lo guiaré 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 la seguridad de MediaWiki.

MediaWiki es uno de los software wiki más populares que se desarrolló originalmente para su uso en Wikipedia. Es un software gratuito y de código abierto escrito en el lenguaje de programación PHP y se ha convertido en el software más dominante en la categoría de wiki. Originalmente desarrollada por Magnus Manske en 2002, la herramienta ahora está en la versión 1.30. Muchas grandes empresas u organizaciones han utilizado MediaWiki, incluidas Nginx, Intel, Novell y la NASA.

Qué haremos:

  1. Instalar Nginx en Ubuntu 16.04
  2. Instalar y configurar PHP-FPM
  3. Instalar y configurar la base de datos MySQL
  4. Descargar y configurar MediaWiki
  5. Generar nuevo SSL Letsencrypt en Ubuntu 16.04
  6. Configurar Nginx Virtual Host para la instalación de MediaWiki
  7. Instalación basada en web de MediaWiki
  8. Configurar máscara predeterminada MediaWiki

Requisitos previos

  • Servidor Ubuntu 16.04
  • Privilegios de raíz

Paso 1:instalar Nginx en Ubuntu 16.04

El primer paso que debemos hacer para la instalación de MediaWiki es instalar el servidor web. Entonces, en esta sección, instalaremos el servidor web Nginx, iniciaremos el servicio Nginx y luego lo habilitaremos para que se inicie automáticamente al iniciar el sistema.

Antes de instalar el servidor web, conéctese a su servidor, actualice todos los repositorios y luego actualice.

sudo apt update
sudo apt upgrade -y

Ahora instale Nginx usando el siguiente comando apt.

sudo apt install nginx -y

Después de eso, inicie nginx y permita que se inicie en el arranque del sistema.

systemctl start nginx
systemctl enable nginx

Ahora verifique el puerto HTTP usando netstat y asegúrese de ver que Nginx usa el puerto 80.

netstat -plntu

El servidor web Nginx se ha instalado en Ubuntu 16.04.

Paso 2:instalar y configurar PHP-FPM

Ahora instalaremos el PHP-FPM en Ubuntu 16.04. Y usaremos PHP 7.0 para la instalación de MediaWiki.

Instale PHP y PHP-FPM (junto con todas las extensiones requeridas) usando el comando apt a continuación.

sudo apt install imagemagick php7.0-fpm php7.0-intl php7.0-xml php7.0-curl php7.0-gd php7.0-mbstring php7.0-mysql php-apcu

Y una vez completada la instalación, debemos cambiar algunas configuraciones predeterminadas para PHP-FPM. Necesitamos aumentar el tamaño máximo de carga del archivo, así como las configuraciones de límite de memoria.

Vaya al directorio de configuración de PHP y edite el archivo php-fpm 'php.ini' usando vim.

cd /etc/php/7.0
vim fpm/php.ini

Aumente la configuración 'upload_max_filesize' a '20M' y aumente 'memory_limit' a '128M'.

upload_max_filesize = 20M
memory_limit = 128M

Guardar y salir.

Ahora reinicie el servicio PHP-FPM y permita que se inicie automáticamente en el momento del arranque usando los siguientes comandos systemctl.

systemctl restart php7.0-fpm
systemctl enable php7.0-fpm

PHP-FPM ahora se ejecuta en Ubuntu 16.04 y se ejecuta en el archivo sock. Compruébalo usando el comando netstat a continuación.

netstat -pl | grep php

Y obtendrá el archivo sock de PHP-FPM como se muestra a continuación.

Paso 3:instalar y configurar la base de datos MySQL

MediaWiki almacena todos los datos y contenidos en la base de datos y es compatible con una variedad de servidores de bases de datos. Para esta guía, usaremos la base de datos MySQL para la instalación de MediaWiki.

En este paso, instalaremos el servidor de la base de datos MySQL y luego crearemos una nueva base de datos y un usuario para MediaWiki.

Instale la base de datos MySQL en Ubuntu 16.04 usando el siguiente comando apt.

sudo apt install mysql-server mysql-client -y

Se le pedirá la contraseña 'root' de MySQL:escriba su propia contraseña y presione 'Enter'.

Repita su contraseña 'root' de MySQL.

La instalación de MySQL está completa. Ahora inicie MySQL y habilítelo para que se inicie en el momento del arranque usando los siguientes comandos systemctl.

systemctl start mysql
systemctl enable mysql

A continuación, crearemos una nueva base de datos y un nuevo usuario para MediaWiki. Crearemos una nueva base de datos llamada 'mediawikidb ' con el usuario 'mediawiki ' y contraseña 'micontraseña '.

Conéctese al servidor mysql usando el siguiente comando mysql.

mysql -u root -p

Ahora cree la base de datos y el usuario con las siguientes consultas de MySQL.

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

Servidor MySQL instalado en Ubuntu 16.04 y se ha creado la base de datos para la instalación de MediaWiki.

Paso 4:descarga y configura MediaWiki

Para esta guía, utilizaremos la última versión de MediaWiki 1.30. Y antes de descargar MediaWiki, necesitamos instalar algunos paquetes en el servidor.

Ejecute el siguiente comando apt para instalar nuevos paquetes.

sudo apt install composer git zip unzip -y

Ahora cree un nuevo directorio '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

Luego, vaya al directorio '/var/www/mediawiki' e instale algunas dependencias PHP necesarias para la instalación de MediaWiki usando el comando composer.

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

Una vez completada la instalación de todas las dependencias de PHP, cambie el propietario del directorio mediawiki al usuario y grupo 'www-data'.

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

La última versión de MediaWiki 1.30 se descarga en el directorio '/var/www/mediawiki'.

Paso 5:generar SSL Letsencrypt en Ubuntu 16.04

Por razones de seguridad, ejecutaremos MediaWiki bajo la conexión HTTPS. Todas las conexiones HTTP se redirigirán automáticamente a HTTPS. Y para ello, necesitamos certificados SSL. Usaremos SSL gratuito de Letsencrypt.

Para generar nuevos certificados SSL desde Letsencrypt, necesitamos instalar la línea de comandos de letsencrypt en el servidor. Use el siguiente comando para hacer esto:

sudo apt install letsencrypt -y

Una vez completada la instalación, detenga el servidor web Nginx.

systemctl stop nginx

A continuación, genere nuevos certificados SSL utilizando el comando letsencrypt a continuación.

letsencrypt certonly

Se le pedirá su dirección de correo electrónico; se utiliza para la notificación de renovación del certificado.

Por lo tanto, escriba su dirección de correo electrónico y seleccione 'Aceptar'.

Para los TOS (Términos de servicio) de Letsencrypt, elija 'Acepto' y presione Entrar.

Y ahora escriba su nombre de dominio wiki, el mío es 'wiki.hakase-labs.co'.

Y cuando todo esté listo, obtendrá el resultado como se muestra a continuación.

Se han generado certificados SSL para la instalación de MediaWiki en el directorio '/etc/letsencrypt/live'.

Paso 6:configurar el host virtual MediaWiki Nginx

Se configuró la pila LEMP (Linux, Nginx, MySQL y PHP-FPM) para la instalación de MediaWiki y se descargó el código fuente de MediaWiki en el directorio '/var/www/mediawiki'.

En este paso, crearemos un nuevo archivo de host virtual Nginx 'mediawiki' y luego activaremos el host virtual.

Vaya al directorio de configuración de Nginx y cree un nuevo archivo de host virtual 'mediawiki' usando vim.

cd /etc/nginx/
vim sites-available/mediawiki

Pegue el siguiente host virtual Nginx para la configuración de MediaWiki allí.

# 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 Configuration
    location ~ \.php$ {
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        include snippets/fastcgi-php.conf;
    }

    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;
    }

}

Cambie según su requisito/caso, y luego guarde y salga.

A continuación, active un nuevo host virtual de mediawiki con el siguiente comando.

ln -s /etc/nginx/sites-available/mediawiki /etc/nginx/sites-enabled/

Pruebe la configuración de nginx y asegúrese de que no haya ningún error. Luego reinicie el servicio.

nginx -t
systemctl restart nginx

Se abre un nuevo puerto HTTPS 443 en su servidor; verifíquelo usando el comando netstat de la siguiente manera.

netstat -plntu

A continuación se muestra el resultado.

Paso 7:instalación basada en web de MediaWiki

Ahora abra su navegador web y escriba su nombre de dominio en la barra de direcciones.

http://wiki.hakase-labs.co

Y será redirigido a la conexión HTTPS.

Haga clic en el enlace 'configurar el wiki' en la página para configurar MediaWiki.

- Configuración de idioma

Elija su propio idioma, elegiremos 'Inglés' y haga clic en 'Continuar'.

- Comprobación del entorno

Y ahora, MediaWiki realizará una verificación del entorno. Asegúrese de obtener el resultado como se muestra a continuación.

Haga clic en 'Continuar' para la instalación.

- Configuración de la base de datos

Ahora para la configuración de la base de datos. En el campo 'Nombre de la base de datos', escriba 'mediawikidb' con el prefijo 'wiki_'. A continuación, escriba el usuario de la base de datos 'mediawiki' y la contraseña 'mypassword'.

Y haga clic en 'Continuar'.

- Configuración de la base de datos

En cuanto a la configuración de la base de datos, simplemente déjela como predeterminada y haga clic en 'Continuar'.

- Crear un usuario administrador

Ahora necesitamos crear la cuenta de administrador. Escriba su propio usuario, contraseña y correo electrónico como se muestra a continuación.

Y haga clic en 'Continuar'.

- Configuración adicional de MediaWiki

Y debería ir a la página sobre 'Configuración adicional de MediaWiki'.

Déjelo con los valores predeterminados y haga clic en 'Continuar'.

- Instalación de MediaWiki

Ahora haga clic en 'Continuar' nuevamente para instalar MediaWiki.

Y accederá a una página similar a la que se muestra a continuación.

Haga clic en 'Continuar' nuevamente.

Ahora verá que la página dice que la instalación está completa. Se le pedirá que descargue el nuevo archivo 'LocalSettings.php' - descargue el archivo.

Y cargue el archivo 'LocalSetting.php' en el directorio del servidor mediawiki '/var/www/mediawiki'. Además, no olvide cambiar el propietario del archivo a usuario y grupo 'www-data'.

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

Ahora, regrese a la página de instalación de MediaWiki de su navegador web y haga clic en el enlace 'ingresar a su wiki'. Se le informará que MediaWiki se ha instalado con el servidor web Nginx en el servidor Ubuntu 16.04.

Paso 8:descargar y configurar la máscara predeterminada

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

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

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

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

vim /var/www/mediawiki/LocalSettings.php

Y pegue el siguiente código php hacia el final del archivo.

wfLoadSkin( 'Vector' );

Eso es todo. Guardar y salir.

Vuelva a su navegador web y actualice la página de MediaWiki. Asegúrese de obtener el MediaWiki con la máscara 'Vector' como se muestra a continuación.

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


Ubuntu
  1. Cómo instalar WordPress con Nginx en Ubuntu 18.04

  2. Cómo instalar phpMyAdmin con Nginx en Ubuntu 18.04

  3. Cómo instalar MediaWiki con Nginx en CentOS 7

  4. Cómo instalar Grav CMS con Nginx en Ubuntu 16.04

  5. Cómo instalar PHP 7.4 con Nginx en Ubuntu 20.04

Cómo instalar Nginx con ModSecurity en Ubuntu 15.04

Cómo instalar MediaWiki en Ubuntu 20.04 con Apache/Nginx

Cómo instalar Nextcloud 13 en Ubuntu 16.04 con Nginx

Cómo instalar MediaWiki en Ubuntu 16.04/17.04 con Apache o Nginx

Cómo instalar Nginx en Ubuntu 15.04

Cómo instalar MediaWiki en Ubuntu 20.04