Cómo instalar MediaWiki en Ubuntu 22.04
MediaWiki es un software wiki libre y de código abierto que impulsa los mayores sitios wiki de Internet, como Wikipedia y Wikimedia. Es un software wiki extremadamente potente, escalable y extensible que ofrece implementaciones wiki ricas en funciones. MediaWiki es una aplicación web desarrollada en 2002, escrita principalmente en PHP, y utiliza RDBMS como MySQL y PostgreSQL para almacenar datos.
MediaWiki también puede utilizarse como plataforma de colaboración y documentación. Te ayuda a ti y a tu equipo a organizar la documentación y hacerla pública para todos. También es multilingüe, lo que permite crear un sitio multilingüe. Y es un software wiki muy personalizable, por lo que puedes elegir diferentes temas y editores para tu wiki.
En este tutorial, te mostraremos cómo instalar MediaWiki en el servidor Ubuntu 22.04 con la pila LAMP (Linux, Apache2, MariaDB y PHP). Este tutorial incluye la configuración básica de MediaWiki, por lo que al final, tendrás un sitio wiki totalmente funcional.
Requisitos previos
Para este ejemplo, necesitamos los siguientes requisitos previos:
- Un servidor Ubuntu 22.04.
- Un usuario no root con privilegios de root/administrador.
- Un nombre de dominio apuntando a la dirección IP del servidor.
Instalación de la pila LAMP
En el primer paso, instalarás la pila LAMP básica en el servidor Ubuntu 22.04. En este ejemplo, ejecutarás MediaWiki con el servidor web Apache2.
Antes de empezar, necesitarás instalar PHP 7.4 en tu servidor Ubuntu 22.04. La última versión de MediaWiki requiere PHP 7.4 y aún no está preparada para el último PHP 8.1. Así que tendrás que configurar un repositorio de terceros en tu sistema Ubuntu para instalar PHP 7.4.
Ejecuta el siguiente comando para añadir el repositorio PPA de PHP 7.4 a tu sistema. Este comando también actualizará y refrescará automáticamente todos los repositorios disponibles en tu sistema.
sudo add-apt-repository ppa:ondrej/php -y
Una vez completado todo, ejecuta el siguiente comando apt para instalar los paquetes LAMP Stack en el servidor ubuntu 22.04.
sudo apt install apache2 mariadb-server imagemagick libapache2-mod-php7.4 php7.4 php7.4-common php7.4-intl php7.4-xml php7.4-curl php7.4-gd php7.4-mbstring php7.4-mysql php7.4-apcu
Introduce Y para confirmar la instalación y pulsa ENTER para continuar. Y se iniciará la Pila LAMP.
Una vez finalizada la instalación de LAMP Stack, comprueba y verifica los servicios Apache2 y MariaDB utilizando el siguiente comando. Y podrás ver que el servicio Apache2 está habilitado y funcionando.
sudo systemctl is-enabled apache2 sudo systemctl status apache2
Para el servicio MariaDB, puedes verificarlo utilizando el siguiente comando.
sudo systemctl is-enabled mariadb sudo systemctl status mariadb
Y en la siguiente captura de pantalla, puedes ver que el servicio MariaDB está habilitado, que se ejecutará automáticamente al iniciar el sistema. Y el estado actual del servicio MariaDB es en ejecución.
Configurar PHP para MediaWiki
Después de instalar los paquetes de la Pila LAMP, ahora tendrás que configurar el PHP como requisitos para la instalación de MediaWiki. Esto incluye como configuración de«max_upload_filesize«,«memory_limit«, y«max_execution_time» de tu instalación PHP.
Edita el archivo«/etc/php/7.4/apache2/php.ini» utilizando el editor nano.
sudo nano /etc/php/7.4/apache2/php.ini
Cambia los valores por defecto de la siguiente configuración como se indica a continuación.
upload_max_filesize = 80M memory_limit = 512M max_execution_time = 360
Guarda y cierra el archivo cuando hayas terminado.
Por último, ejecuta el siguiente comando para reiniciar el servicio apache2 y aplicar los nuevos cambios.
sudo systemctl restart apache2
Configurar el servidor de bases de datos MariaDB
Después de configurar la instalación de PHP, ahora es el momento de configurar el servidor MariaDB. Esto incluye la configuración de la contraseña raíz y el despliegue de MariaDB, y también tendrás que crear una nueva base de datos MariaDB y un nuevo usuario para la instalación de MediaWiki.
Ejecuta el siguiente comando para empezar a configurar el despliegue de MariaDB.
sudo mysql_secure_installation
Ahora se te harán las siguientes preguntas para la configuración de MariaDB:
- La instalación por defecto de MariaDB viene sin contraseña de root, pulsa ENTER para continuar.
- Introduce n para mantener el método de autenticación por defecto y no utilizar la autenticación unix_socket (esto es para el usuario root de MariaDB).
- Introduce Y para configurar la contraseña raíz de MariaDB, luego introduce la nueva contraseña y repite.
- Introduce Y para eliminar el usuario anónimo por defecto.
- Introduce Y para desactivar el inicio de sesión remoto para el usuario raíz de MariaDB.
- Introduce Y para eliminar la base de datos por defecto «test» de tu instalación de MariaDB.
- Por último, introduce Y de nuevo para recargar todos los privilegios de las tablas y aplicar los nuevos cambios.
Ahora ya has terminado la configuración básica de la implantación de MariaDB.
A continuación, accede al shell de MariaDB como usuario root utilizando el siguiente comando.
sudo mysql -u root -p
Ahora ejecuta las siguientes consultas MySQL/MariaDB para crear una nueva base de datos«mediawikidb» con el usuario«mediawiki» y la contraseña«mediawikipassdb«. Esta base de datos y este usuario se utilizarán para almacenar los datos de MediaWiki.
CREATE DATABASE mediawikidb; CREATE USER mediawiki@localhost IDENTIFIED BY 'mediawikipassdb'; GRANT ALL ON mediawikidb.* TO mediawiki@localhost WITH GRANT OPTION; FLUSH PRIVILEGES;
Después, ejecuta la siguiente consulta para comprobar la lista de acceso a la base de datos para el usuario«mediawiki@localhost» y sal del intérprete de comandos MariaDB. Ahora asegúrate de que el usuario MariaDB«mediawiki@localhost» tiene acceso a la base de datos«mediawikidb«.
SHOW GRANTS FOR mediawiki@localhost; quit
Descargar el código fuente de MediaWiki
Ya has completado la configuración básica de LAMP Stack para la instalación de MediaWiki. Es hora de descargar el código fuente de MediaWiki a tu máquina Ubuntu.
Ahora ve al directorio«/var/www/» y descarga el código fuente de MediaWiki utilizando el comando wget como se indica a continuación. En este momento, la última versión de MediaWiki es la v1.38.1. Y obtendrás el archivo «mediawiki-1.38.1.tar.gz».
cd /var/www/ wget https://releases.wikimedia.org/mediawiki/1.38/mediawiki-1.38.1.tar.gz
Ejecuta el siguiente comando para extraer el código fuente de MediaWiki«mediawiki-1.38.1.tar.gz» y cambia el nombre del directorio extraído a«mediawiki«. Así, el directorio de instalación de MediaWiki será«/var/www/mediawiki«.
tar -xvzf mediawiki-*.tar.gz mv mediawiki-*/ mediawiki/
Por último, ejecuta el siguiente comando para cambiar la propiedad del directorio de instalación de MediaWiki«/var/www/mediawiki» al usuario correcto«www-data» y el permiso a«755».
sudo chown -R www-data:www-data /var/www/mediawiki sudo chmod 755 /var/www/mediawiki
Configurar el host virtual Apache2 para MediaWiki
Ahora vas a configurar el host virtual Apache2 para MediaWiki. En este ejemplo, la MediaWiki se ejecutará con el nombre de dominio «wiki.hwdomain.io» y la conexión segura SSL/HTTPS habilitada sobre el host virtual Apache2.
Antes de empezar a crear la configuración del host virtual, ejecuta el siguiente comando para habilitar los módulos de reescritura y ssl de Apache2.
sudo a2enmod rewrite ssl
Crea una nueva configuración de host virtual«/etc/apache2/sites-available/mediawiki.conf» utilizando el editor nano.
sudo nano /etc/apache2/sites-available/mediawiki.conf
Añade la siguiente configuración al archivo. No olvides cambiar también el nombre de dominio y la ruta de los certificados SSL.
<VirtualHost *:80> ServerName wiki.hwdomain.io ServerAdmin [email protected] # Redirect Requests to SSL Redirect permanent "/" "https://wiki.hwdomain.io/" ErrorLog ${APACHE_LOG_DIR}/wiki.hwdomain.io.error.log CustomLog ${APACHE_LOG_DIR}/wiki.hwdomain.io.access.log combined </VirtualHost> <IfModule mod_ssl.c> <VirtualHost _default_:443> ServerName wiki.hwdomain.io ServerAdmin [email protected] DocumentRoot /var/www/mediawiki # According MWiki Manual:Security php_flag register_globals off ErrorLog ${APACHE_LOG_DIR}/wiki.hwdomain.io.error.log CustomLog ${APACHE_LOG_DIR}/wiki.hwdomain.io.access.log combined SSLEngine on SSLCertificateFile /etc/letsencrypt/live/wiki.hwdomain.io/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/wiki.hwdomain.io/privkey.pem <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory /usr/lib/cgi-bin> SSLOptions +StdEnvVars </Directory> <Directory /var/www/mediawiki> Options None FollowSymLinks #Allow .htaccess AllowOverride All Require all granted <IfModule security2_module> SecRuleEngine Off # or disable only problematic rules </IfModule> </Directory> # According to MWiki Manual:Security <Directory /var/www/mediawiki/images> # Ignore .htaccess files AllowOverride None # Serve HTML as plaintext, don't execute SHTML AddType text/plain .html .htm .shtml .php .phtml .php5 # Don't run arbitrary PHP code. php_admin_flag engine off # If you've other scripting languages, disable them too. </Directory> #According to MWiki Manual:Security <Directory /var/www/mediawiki/images/deleted> Deny from all AllowOverride AuthConfig Limit Require local </Directory> </VirtualHost> </IfModule>
Guarda y cierra el archivo cuando hayas terminado.
A continuación, activa la configuración del host virtual «mediawiki.conf» y verifica tu configuración de Apache2. Si recibes el mensaje de salida«Sintaxis OK«, entonces tu configuración de Apache2 es correcta.
sudo a2ensite mediawiki.conf sudo apachectl configtest
Por último, ejecuta el siguiente comando para reiniciar el servicio Apache2 y aplicar los nuevos cambios. Ahora ya has completado la configuración de la Pila LAMP para MediaWiki, y estás listo para iniciar la configuración de MediaWiki.
sudo systemctl restart apache2
Iniciar la instalación de MediaWiki
Abre tu navegador web y escribe el nombre del dominio de instalación de MediaWiki (es decir, https://wiki.hwdomain.io/) en la barra de direcciones. Haz clic en el enlace «configurar la wiki» para empezar a configurar tu instalación de MediaWiki.
Elige el idioma por defecto para tu Wiki y haz clic en«Continuar«.
Ahora el instalador de MediaWiki comprobará todos los requisitos para la instalación. Asegúrate de que aparece el mensaje «Se ha comprobado el entorno. Puedes instalar MediaWiki» en la pantalla, luego haz clic en «Continuar«.
Introduce los detalles de la base de datos MariaDB y el usuario para tu MediaWiki y vuelve a hacer clic en «Continuar«.
Para la configuración de la base de datos, déjala por defecto y haz clic en «Continuar«.
Ahora introduce el título de tu wiki y los detalles del usuario administrador y la contraseña de tu MediaWiki y haz clic en «Continuar«.
Para las opciones/configuraciones adicionales de la MediaWiki, puedes dejarlas por defecto y hacer clic en«Continuar».
Pulsa «Continuar» de nuevo para confirmar e iniciar la instalación de MediaWiki.
Una vez completada la instalación de MediaWiki, vuelve a hacer clic en «Continuar«.
Ahora tendrás que descargar el archivo«LocalSettings.php» a tu máquina local y subirlo al servidor MediaWiki.
Otra opción, puedes crear un nuevo archivo«/var/www/mediawiki/LocalSettings.php» utilizando el editor nano.
nano /var/www/mediawiki/LocalSettings.php
Añade el script del archivo LocalSettings.php en tu máquina local.
Ahora cambia la propiedad del archivo al usuario correcto«www-data«.
sudo chown www-data:www-data /var/www/mediawiki/LocalSettings.php
Ahora haz clic en el enlace«introduce tu wiki» para ver el resultado de la instalación.
Y ahora obtendrás la página índice por defecto de tu instalación de MediaWiki.
Ahora haz clic en el enlace«Iniciar sesión» de la parte superior derecha, introduce tu usuario y contraseña de administrador de tu MediaWiki y haz clic en«Iniciar sesión«. Y ya deberías haber iniciado sesión en la MediaWiki.
Conclusión
Enhorabuena! ya has instalado con éxito MediaWiki en el servidor Ubuntu 22.04 con la Pila LAMP. Con este tipo de instalación, tienes la MediaWiki funcionando de forma segura con HTTPS/SSL habilitado sobre tu instalación de MediaWiki.