GNU/Linux >> Tutoriales Linux >  >> Ubuntu

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

Este tutorial le mostrará cómo instalar MediaWiki en Ubuntu 20.04 . MediaWiki es el software de back-end que impulsa Wikipedia. Es de código abierto gratuito y el software wiki más utilizado en la actualidad. Los usuarios conocidos de MediaWiki incluyen Wikipedia.org y wikia.com.

Puede usar MediaWiki para crear su propio sitio wiki público o privado. MediaWiki tiene muchas extensiones útiles que se han creado tanto para Wikipedia como para otros sitios wiki.

Requisitos

MediaWiki es un programa escrito en PHP. Para seguir este tutorial, primero debe tener una pila LAMP o LEMP instalada en su servidor Ubuntu 20.04.

Si prefiere Apache servidor web, luego configure la pila LAMP.

  • Cómo instalar LAMP Stack en servidor/escritorio Ubuntu 20.04

Si prefieres Nginx servidor web, luego configure la pila LEMP.

  • Cómo instalar LEMP Stack (Nginx, MariaDB, PHP7.4) en Ubuntu 20.04 LTS

También necesita un nombre de dominio. Registré mi nombre de dominio de NameCheap porque el precio es bajo y ofrecen protección de privacidad whois gratis de por vida.

Después de instalar la pila LAMP o LEMP, lea las siguientes instrucciones para instalar MediaWiki.

Paso 1:Descargar MediaWiki

Descarga la última versión estable de MediaWiki:

wget https://releases.wikimedia.org/mediawiki/1.35/mediawiki-1.35.1.tar.gz

Extrae el archivo a /var/www/ .

sudo mkdir -p /var/www/

sudo tar xvf mediawiki-1.35.1.tar.gz -C /var/www/

Cambie el nombre del directorio.

sudo mv /var/www/mediawiki-1.35.1 /var/www/mediawiki

Luego necesitamos instalar algunas extensiones PHP requeridas por MediaWiki.

sudo apt install php7.4-mbstring php7.4-xml php7.4-fpm php7.4-json php7.4-mysql php7.4-curl php7.4-intl php7.4-gd php7.4-mbstring texlive imagemagick

Si utiliza el servidor web Apache, debe reiniciar Apache.

sudo systemctl restart apache2

A continuación, necesitamos instalar dependencias externas a través de Composer (un administrador de dependencias de PHP).

sudo apt install composer

cd /var/www/mediawiki/

sudo composer install --no-dev

Tenga en cuenta que MediaWiki actualmente no es compatible con PHP8.0. Si ha instalado PHP8.0 en su servidor Ubuntu, debe ejecutar sudo update-alternatives --config php comando para configurar PHP7.4 como la versión predeterminada.

Una vez que todas las dependencias estén instaladas, ejecute el siguiente comando para configurar el usuario del servidor web (www-data ) como propietario de este directorio.

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

Paso 2:Creación de una base de datos

Inicie sesión en el servidor MariaDB con el siguiente comando.

sudo mysql -u root

Crea una base de datos para MediaWiki. Este tutorial nombra la base de datos mediawiki , pero puedes usar el nombre que quieras.

CREATE DATABASE mediawiki;

Luego ejecute el siguiente comando en el indicador de MariaDB para crear un usuario de base de datos y otorgar privilegios a este usuario. Reemplazar mediawiki , wikiuser y password con su nombre de base de datos preferido, nombre de usuario de base de datos y contraseña de usuario respectivamente.

GRANT ALL PRIVILEGES ON mediawiki.* TO 'wikiuser'@'localhost' IDENTIFIED BY 'password';

A continuación, vacíe los privilegios de MariaDB y salga.

flush privileges;

exit;

Paso 3:Cree un host virtual de Apache o un archivo de configuración de Nginx para MediaWiki

Apache

Si usa el servidor web Apache, cree un host virtual para MediaWiki.

sudo nano /etc/apache2/sites-available/mediawiki.conf

Copie y pegue el siguiente texto en el archivo. Reemplace wiki.your-domain.com con su nombre de dominio real. No olvide crear un registro DNS A para este nombre de dominio.

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www//mediawiki/
    ServerName wiki.your-domain.com

    <Directory /var/www/html/mediawiki/>
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>

    ErrorLog /var/log/apache2/mediawiki_error
    CustomLog /var/log/apache2/mediawiki_access common
</VirtualHost>

Guarde y cierre el archivo. Luego habilite este servidor virtual.

sudo a2ensite mediawiki.conf

Vuelva a cargar Apache para que los cambios anteriores surtan efecto.

sudo systemctl reload apache2

Nginx

Si usa el servidor web Nginx, cree un archivo de bloque de servidor para MediaWiki en /etc/nginx/conf.d/ directorio.

sudo nano /etc/nginx/conf.d/mediawiki.conf

Copie el siguiente texto y péguelo en el archivo. Reemplace wiki.your-domain.com con su nombre de dominio real. No olvide crear un registro DNS A para este nombre de dominio.

server {
        listen 80;
        listen [::]:80;
        server_name wiki.your-domain.com;

        root /var/www/mediawiki;
        index index.php;
   
        error_log /var/log/nginx/mediawiki.error;
        access_log /var/log/nginx/mediawiki.access;

        location / {
                try_files $uri $uri/ /index.php;
        }

        location ~ /.well-known {
            allow all;
        }

        location ~ /\.ht {
          deny all;
         }

        location ~ \.php$ {
            fastcgi_pass unix:/run/php/php7.4-fpm.sock;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
            include snippets/fastcgi-php.conf;
        }
}

Guarde y cierre el archivo. Luego pruebe la configuración de Nginx.

sudo nginx -t

Si la prueba es exitosa, vuelva a cargar el servidor web Nginx.

sudo systemctl reload nginx

Paso 4:habilitar HTTPS

Para cifrar el tráfico HTTP, podemos habilitar HTTPS instalando un certificado TLS gratuito emitido por Let's Encrypt. Ejecute el siguiente comando para instalar el cliente Let's Encrypt (certbot) en el servidor Ubuntu 20.04.

sudo apt install certbot

Si usa Apache , instale el complemento Apache de Certbot.

sudo apt install python3-certbot-apache

Y ejecute este comando para obtener e instalar el certificado TLS.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d wiki.your-domain.com

Si usa Nginx , entonces también necesita instalar el complemento Certbot Nginx.

sudo apt install python3-certbot-nginx

A continuación, ejecute el siguiente comando para obtener e instalar el certificado TLS.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d wiki.your-domain.com

donde

  • --nginx :use el complemento nginx.
  • --apache :Utilice el complemento de Apache.
  • --agree-tos :Acepto los términos del servicio.
  • --redirect :Forzar HTTPS por redirección 301.
  • --hsts :agregue el encabezado Strict-Transport-Security a cada respuesta HTTP. Obligar al navegador a usar siempre TLS para el dominio. Protege contra la eliminación de SSL/TLS.
  • --staple-ocsp :activa el grapado OCSP. Se grapa una respuesta OCSP válida al certificado que ofrece el servidor durante TLS.

Ahora se debe obtener el certificado e instalarlo automáticamente.

Paso 5:Ejecución de la secuencia de comandos de instalación basada en web

Ve a https://wiki.you-domain.com en su navegador web para iniciar el script de instalación basado en web. Haz clic en Completar la instalación enlace para iniciar el asistente de configuración.

A continuación, seleccione un idioma para usar en la instalación de MediaWiki y para el propio wiki.

El asistente de configuración verificará el entorno de su servidor, como las extensiones de PHP.

Vaya al siguiente paso. Deberá configurar los ajustes de la base de datos. Seleccione MariaDB, MySQL, or compatible para Database type . Introduzca localhost para Host de la base de datos e ingrese el nombre de la base de datos mediawiki así como el nombre de usuario y la contraseña de la base de datos que se crean en el paso 2.

En el siguiente paso, puede optar por utilizar la misma cuenta de base de datos para el acceso web.

Luego ingrese el nombre de su Wiki y cree una cuenta de administrador.

En las Options página, tienes la opción de configurar tu wiki como Open wiki , se requiere la creación de una cuenta, solo editores autorizados y un wiki privado. Luego puede elegir una licencia.

Haz clic en Continue para comenzar la instalación de Mediawiki.

Un LocalSettings.php El archivo se generará en el proceso de instalación. Necesitas descargar este archivo y ponerlo en /var/www/mediawiki/ directorio de su servidor Ubuntu 20.04. Una vez hecho esto, podrá acceder a su MediaWiki recién instalado en http://wiki.your-domain.com .

Para crear una página para un término, simplemente vaya a

wiki.your-domain.com/index.php/your-term

o

wiki.your-domain.com/index.php?title=your-term

Cómo configurar SMTP para enviar correos electrónicos

Si su instancia de MediaWiki será utilizada por más de una persona, es importante que su servidor de MediaWiki pueda enviar correos electrónicos transaccionales, como correo electrónico de restablecimiento de contraseña, correo electrónico de notificación, etc.

Edite el LocalSettings.php archivo.

sudo nano /var/www/mediawiki/LocalSettings.php

Agregue las siguientes líneas al final de este archivo.

$wgSMTP = [
    'host'     => 'tls://mail.your-domain.com', // could also be an IP address. Where the SMTP server is located. If using SSL or TLS, add the prefix "ssl://" or "tls://".
    'port'     =>  587,                         // Port to use when connecting to the SMTP server
    'auth'     =>  true,                        // Should we use SMTP authentication (true or false)
    'username' =>  '[email protected]',      // Username to use for SMTP authentication (if being used)
    'password' =>  'user_password'              // Password to use for SMTP authentication (if being used)
];

Guarde y cierre el archivo.

Para saber cómo configurar un servidor de correo electrónico, consulte el siguiente tutorial. Nota que recomiendo encarecidamente ejecutar el servidor de correo iRedMail en un sistema operativo nuevo y limpio. La instalación de iRedMail en un sistema operativo que tiene otras aplicaciones web puede fallar y es probable que rompa las aplicaciones existentes.

  • Cómo configurar fácilmente un servidor de correo con todas las funciones en Ubuntu 20.04 con iRedMail

Ubuntu
  1. Cómo instalar Apache en Ubuntu 18.04

  2. Cómo instalar Apache en Ubuntu 20.04

  3. Cómo instalar Nginx en Ubuntu 16.04

  4. Cómo instalar Joomla con Apache en Ubuntu 18.04

  5. Cómo instalar MediaWiki con Nginx en Ubuntu 16.04

Cómo instalar InvoiceNinja en un servidor Ubuntu 18.04 con Apache/Nginx

Cómo instalar InvoiceNinja en un servidor Ubuntu 20.04 con Apache/Nginx

Cómo instalar Apache Tomcat 10 en Ubuntu 20.04 con Nginx

Cómo instalar Apache Tomcat 10 en Ubuntu 22.04 con Nginx

Cómo instalar Apache en Ubuntu 22.04

Cómo instalar Nginx en Ubuntu 22.04