Jirafeau

Tu propio wetransfer con Jirafeau

JIRAFEAU

En esta ocasión vamos hablar de como crear tu propio wetransfer con jirafeau en Debian 11, un software opensource muy potente y con una API básica que te permitirá automatizar muchas tareas.

Lo primero es actualizar tu sistema

apt-get update

apt-get upgrade

init 6

Una vez actualizado instalaremos el siguiente software 

apt-get  install nginx php php-fpm certbot git

Y habilitaremos los servicios de nginx y pfp-fpm

systemctl enable --now nginx.service php7.4-fpm.service

A continuación solicitaremos el certificado SSL con certbot

certbot certonly --webroot -m [email protected] -d tudominio --agree-tos

Cuando te pida el webroot introducimos /var/www/html

Si todo sale bien encontraras los archivos en /etc/letsencrypt/live/tudominio/

Hecho esto configuraremos nginx borrando el sitio por defecto

rm /etc/nginx/sites-enabled/default

Y ahora creamos nuestro sitio

nano /etc/nginx/sites-available/tudominio.conf

Pegando el siguiente contenido, claro está, sustituyendo el nombre de tu dominio

server {
listen 80;
listen [::]:80;
server_name tudominio.com;
return 301 https://tudominio.com$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name tudominio.com;
root /var/www/html/jirafeau;
index index.php;

ssl_certificate /etc/letsencrypt/live/tudominio.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/tudominio.com/privkey.pem;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}

Ahora creamos el enlace simbólico para activarlo

ln -s /etc/nginx/sites-available/tudominio.conf /etc/nginx/sites-enabled/

Comprobamos que no haya ningún error en la configuración

nginx -t

Y lo recargamos

systemctl reload nginx.service

Continuaremos con la descarga e instalación de Jirafeau, fijaros que creamos primero el directorio que le dimos en el fichero de configuración.

mkdir /var/www/html/jirafeau
git clone https://gitlab.com/mojo42/Jirafeau.git /var/www/html/jirafeau

Además crearemos el directorio donde almacenará los ficheros fuera de nuestro webroot para que no sea accesible desde el servidor web, por ejemplo, /var/data/jirafeau

mkdir -p /var/data/jirafeau

Y hacemos dueño a www-data tanto de este directorio como del directorio donde almacena la configuración.

chown -R www-data:www-data /var/www/html/jirafeau/lib /var/data/jirafeau

Ahora ya podrás acceder desde tu navegador por https://tudominio.com, teniendo que meter primero la clave que quieras para la administración vía web. En el siguiente paso introduce la dirección base, es decir, https://tudominio.com/ y el directorio donde estarán los datos /var/data/jirafeau/. Continuamos y tras ello ya funcionará con las opciones básicas que ha creado en el fichero

/var/www/html/jirafeau/lib/config.local.php

¿Que opciones podemos utilizar aquí?

Si editamos el fichero 

cat /var/www/html/jirafeau/lib/config.original.php

Podremos ver todas las alternativas disponibles que podemos copiar y pegar en nuestro fichero de producción. Está en Inglés pero es muy fácil e intuitiva cada opción. Por ejemplo, quieres que para poder subir ficheros necesites una password, solo tienes que ir a tu fichero de configuración y añadir la password de la siguiente manera:

'upload_password' =>
array (
'password'
),

Puedes añadir las password que quieras como te indica en el fichero comentado. La opciones son muchas y muy completas.

¿Y la API?

Podéis encontrar la info en https://tudominio.com/script.php, donde incluso tienes el un script en bash. Basta con copiar dicho contenido en un fichero .sh como por ejemplo, testapi.sh y darle permiso de ejecución chmod +x testapi.sh, lo ejecutamos:

./testapi.sh

Y nos devolverá la ayuda

OJO!!!! Faltaría un detalle, editamos el fichero testapi.sh y debemos añadir https://  en JIRAFEAU_URL delante de nuestro dominio.

POR ÚLTIMO

Certbot ya mete en esta versión el cron para autorenovar, pero nos fallará puesto que en la petición del certificado le dijimos que nuestro webroot es /var/www/html/ y lo hemos instalado en /var/www/html/jirafeau/ , en este caso tenemos que editar el fichero:

nano /etc/letsencrypt/renewal/tudominio.conf

y en la sección de [[webroot_map]] añadimos el directorio quedando así:

tudominio.com = /var/www/html/jirafeau

Guardamos y ya no fallará el autorenew. Podemos comprobarlo con:

certbot renew --dry-run

Ya sabéis cualquier duda, escribir un comentario.

TL.

Gracias por leer nuestros posts.

No hay comentarios

Comenta la entrada