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
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
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.
Y con estos pasos ya tendrás instalado tu MediaWiki, en un servidor Nginx con PHP-FPM.