Cómo configurar un sitio web para compartir archivos con Jirafeau en Debian 10

interfaz de carga de jirafeau

Jirafeau es una sencilla aplicación web de alojamiento y uso compartido de archivos construida en PHP. No requiere una base de datos y proporciona una interfaz de usuario limpia y fácil de usar con soporte para protección de contraseña, caducidad programada, descargas únicas (autodestrucción) y vista previa en el navegador, entre otras características útiles.

Este artículo lo guiará a través de la instalación y configuración de Jirafeau en Debian 10 desde cero, con Nginx y PHP-FPM, y cómo puede aprovechar el hosting Jirafeau para sus necesidades de intercambio de archivos.

Requisitos

  • Un sistema Debian 10 en el que tenga acceso de root.
  • Un nombre de dominio que apunte a su servidor.
  • Se debe establecer la variable de entorno $EDITOR.

Si ha iniciado sesión como usuario sudo no root, use un shell privilegiado para ejecutar los comandos que se muestran en esta guía. Puede iniciar un shell raíz con:

sudo -s

Instalación de Jirafeau

Actualización del sistema e instalación de dependencias

Comience por actualizar su sistema:

apt update
apt upgrade -y
reboot

Una vez que el sistema vuelva a funcionar, instale los paquetes de software necesarios para configurar su hosting Jirafeau con el siguiente comando:

apt install -y nginx php php-fpm certbot git

Luego, asegúrese de que Nginx y PHP-FPM estén habilitados y ejecutándose:

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

Obtener certificado SSL

Antes de configurar el servidor web, deberá obtener un certificado SSL para su dominio. Para hacerlo, use la herramienta certbot como se muestra:

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

Después de ejecutar este comando, primero se le preguntará si desea recibir correos electrónicos de la EFF. Luego, cuando se le solicite ingresar la webroot para su dominio, ingrese /var/www/html:

Obtaining a new certificate
Performing the following challenges:
http-01 challenge for example.com
Input the webroot for example.com: (Enter 'c' to cancel): /var/www/html

Se verificará la propiedad del dominio y su certificado y los archivos relacionados se guardarán en /etc/letsencrypt/live/your_domain/. Ahora podemos configurar Nginx.

Configuración Nginx

Deshabilite el archivo de configuración predeterminado ya que no es necesario:

rm /etc/nginx/sites-enabled/default

Luego crea un nuevo archivo de configuración para su hosting Jirafeau:

$EDITOR /etc/nginx/sites-available/your_domain.conf

E ingresa lo siguiente:

server {
    listen 80;
    listen [::]:80;
    server_name your_domain;
    return 301 https://your_domain$request_uri;
}
 server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name your_domain;
    root /var/www/html/jirafeau;
    index index.php;
    ssl on;
    ssl_certificate /etc/letsencrypt/live/your_domain/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/your_domain/privkey.pem;
    location ~ .php$ {
    fastcgi_split_path_info  ^(.+.php)(/.+)$;
    fastcgi_index            index.php;
    fastcgi_pass             unix:/var/run/php/php7.3-fpm.sock;
    include                  fastcgi_params;
    fastcgi_param   PATH_INFO       $fastcgi_path_info;
    fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

NOTA: Con la configuración proporcionada, todas las solicitudes HTTP se redirigirán a HTTPS.

A continuación, habilite el nuevo archivo de configuración creando un enlace simbólico en el directorio /etc/nginx/sites-enabled/:

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

Compruebe si hay errores de configuración con:

nginx -t

Luego cárguelo emitiendo el comando:

systemctl reload nginx.service

Instalación de Jirafeau

Descarga Jirafeau desde su repositorio Gitlab para configurar tu propio hosting Jirafeau:

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

Cree un directorio de datos para Jirafeau. Este directorio no debe ser accesible a través de su servidor web (es decir, debe residir fuera del directorio raíz web, que es /var/www/html con nuestra configuración). Usaremos /var/data/jirafeau.

mkdir -p /var/data/jirafeau

Otorgue al usuario de Nginx la propiedad de los directorios de configuración y datos utilizados por Jirafeau. De manera óptima, debe ajustar los permisos de archivo una vez que se complete la configuración.

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

Luego abra su navegador web y acceda a https://your_domain/install.php. Primero se le pedirá que elija una contraseña para la interfaz de administración del hosting Jirafeau. Ingrese una contraseña segura y continúe con el siguiente paso. Para la dirección base, ingresa https://tu_dominio/ y /var/data/jirafeau/ para el directorio de datos. Continúe con el siguiente paso, durante el cual el instalador creará un archivo de configuración básico para Jirafeau.

Configuración de Jirafeau

El script de instalación incorporado solo configura lo esencial. Para una configuración más completa del hosting Jirafeau, abra el archivo correspondiente:

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

Reemplace el nombre de la organización predeterminado y configure las claves de persona de contacto y título. Los valores de la organización y la persona de contacto se mostrarán en sus términos de servicio (https://su_dominio/tos.php).

  'organisation' => 'Your Organisation/Company',
  'contactperson' => 'Your Name <[email protected]>',
  'title' => 'Title of your choice',

De forma predeterminada, el acceso a la función de carga no está restringido. Puede establecer una o más contraseñas para restringir este acceso. Utilice la sintaxis que se muestra:

  'upload_password' =>
  array (
          'password1',
          'password2',
  ),

Al cargar un archivo, hay diferentes límites de tiempo disponibles en el formulario de carga. Jirafeau por defecto permite límites de tiempo de hasta un mes, después del cual se eliminan los archivos cargados. Para cambiar los períodos disponibles, modifique la matriz de disponibilidades. Por ejemplo, para permitir todos los períodos de vencimiento, use lo siguiente:

  array (
    'minute' => true,
    'hour' => true,
    'day' => true,
    'week' => true,
    'month' => true,
    'quarter' => true,
    'year' => true,
    'none' => true,
  ),

Una vez que esté satisfecho con su configuración, no se requiere ninguna acción para aplicar los cambios.

Su sitio web de alojamiento de archivos ahora está listo para usar. Se puede acceder a la interfaz de administración del hosting Jirafeau en https://your_domain/admin.php

interfaz de carga de jirafeau

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *