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