Instalar MediaWiki en servidor Nginx con PHP-FPM

Instalar MediaWiki en servidor Nginx con PHP-FPM.

En el anterior articulo, vimos como instalar un servidor Nginx con PHP-FPM y MariaDB en CentOS 7. En este y aprovechando el de ayer, instalaremos MediaWiki.

No es necesaria mucha explicación sobre MediaWiki, de todos es conocido Wikipedia, pues eso mismo es. Por tanto y sin mas preámbulos continuamos donde lo dejamos en el articulo anterior… recién instalada MariaDB.

Instalar MediaWiki en servidor Nginx con PHP-FPM 1

 

Instalar MediaWiki

Lo primero que haremos es crear una base de datos en MariaDB, la llamaremos «dbmediawiki«.

Nos conectamos a MariaDB.

mysql -u root -p
# Tu password

Ejecuta esta consulta para crear la base de datos.
create database dbmediawiki;
grant all privileges on dbmediawiki.* to mediawiki@'localhost' identified by 'tu-password';
flush privileges;
exit;

Ya tenemos la base de datos creada, continuamos.

Para asegurarnos de que tenemos la versión más actual de MediaWiki, instalaremos la aplicación desde sus propios repositorios. Necesitamos instalar GIT.

yum -y install git zip unzip composer

Cuando termine la instalación crearemos el directorio «/var/www/mediawik» y clonamos el código fuente de MediaWiki.
mkdir -p /var/www/mediawiki

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

Desde el directorio recién creado, instalamos las dependencias necesarias.
cd /var/www/mediawiki

composer install --no-dev

Modificamos los permisos del directorio mediawiki en nginx.
chown -R nginx:nginx /var/www/mediawiki

 

Generamos SSL Lets’encrypt

Para ejecutar MediaWiki con conexión segura HTTPS, necesitamos un certificado SSL. Usaremos el certificado SSL gratuito de Lets’encrypt.

Sigue los pasos tal como te indico, no te saltes ninguno.

yum -y install letsencrypt

systemctl stop nginx

Si usas Firewalld, debes darle permisos.
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --reload

Generamos el certificado.
letsencrypt certonly

Te preguntara algunos datos, responde y continua.

Una vez terminado el proceso, el certificado lo tendrás guardado en:

/etc/letsencrypt/live

Instalar MediaWiki en servidor Nginx con PHP-FPM 2

 

Configurar un Virtual Host en Nginx

Creamos una nueva configuración de Virtual Host en Nginx para nuestro MediaWiki.

cd /etc/nginx/

nano conf.d/mediawiki.conf

Copia y pega lo siguiente (recuerda que debes poner tus datos).
# HTTP Request will be Redirected to the HTTPS
server {
    listen 80;
    listen [::]:80;
    server_name wiki.miservidor.es;
    return 301 https://$host$request_uri;
}

# HTTPS Configuration
server {

    listen 443 ssl;
    listen [::]:443;
    
    server_name wiki.miservidor.es;
    root /var/www/mediawiki;

    index index.php;
    autoindex off;

    # SSL Certificate Configuration
    ssl_certificate /etc/letsencrypt/live/wiki.miservidor.es/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/wiki.miservidor.es/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;
    }

}

Guarda y cierra el editor.

Reinicia…

systemctl restart nginx

 

Instalar MediaWiki

Bueno… ahora solo tienes que escribir el dominio (el que escribiste al crear el virtual host) en cualquier navegador web e instalar.

https://wiki.miservidor.es

Ahora tan solo sigue los pasos que te indicara MediaWiki.

Instalar MediaWiki en servidor Nginx con PHP-FPM 3

 

Instalar MediaWiki en servidor Nginx con PHP-FPM 4

 

Y con estos pasos ya tendrás instalado tu MediaWiki, en un servidor Nginx con PHP-FPM.

Agregar comentario