웹사이트 검색

Debian 10에서 Jirafeau로 파일 공유 웹사이트를 설정하는 방법


이 페이지에서

  1. 요구 사항\n
  2. Jirafeau 설치
    1. 시스템 업데이트 및 종속성 설치
    2. SSL 인증서 받기
    3. Nginx 구성
    4. Jirafeau 설치
    5. Jirafeau 구성

    Jirafeau는 PHP로 제작된 간단한 파일 호스팅 및 공유 웹 애플리케이션입니다. 데이터베이스가 필요하지 않으며 암호 보호, 예약된 만료, 일회성 다운로드(자체 파괴) 및 기타 유용한 기능 중 브라우저 내 미리보기를 지원하는 깨끗하고 사용하기 쉬운 사용자 인터페이스를 제공합니다.

    이 기사는 Nginx 및 PHP-FPM을 사용하여 처음부터 Debian 10에 Jirafeau를 설치하고 구성하는 과정을 안내합니다.

    요구 사항

    • 루트 액세스 권한이 있는 Debian 10 시스템.\n
    • 서버를 가리키는 도메인 이름.
    • $EDITOR 환경 변수를 설정해야 합니다.\n

    루트가 아닌 sudo 사용자로 로그인한 경우 권한 있는 셸을 사용하여 이 가이드에 표시된 명령을 실행하십시오. 다음을 사용하여 루트 셸을 시작할 수 있습니다.

    sudo -s

    지라포 설치

    시스템 업데이트 및 종속성 설치

    시스템을 업데이트하여 시작하십시오.

    apt update
    apt upgrade -y
    reboot
    

    시스템이 다시 가동되면 다음 명령을 사용하여 필요한 소프트웨어 패키지를 설치합니다.

    apt install -y nginx php php-fpm certbot git
    

    그런 다음 Nginx와 PHP-FPM이 모두 활성화되고 실행 중인지 확인합니다.

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

    SSL 인증서 받기

    웹 서버를 구성하기 전에 도메인에 대한 SSL 인증서를 얻어야 합니다. 이렇게 하려면 다음과 같이 certbot 도구를 사용하십시오.

    certbot certonly --webroot -m  -d your_domain --agree-tos
    

    이 명령을 실행하면 먼저 EFF에서 이메일을 받을 것인지 묻는 메시지가 나타납니다. 그런 다음 도메인의 웹루트를 입력하라는 메시지가 표시되면 /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
    

    도메인 소유권이 확인되고 인증서 및 관련 파일이 /etc/letsencrypt/live/your_domain/에 저장됩니다. 이제 Nginx를 구성할 수 있습니다.

    Nginx 구성

    필요하지 않은 기본 구성 파일을 비활성화합니다.

    rm /etc/nginx/sites-enabled/default
    

    그런 다음 새 구성 파일을 만듭니다.

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

    그리고 다음을 입력합니다.

    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;
        }
    }
    

    참고: 제공된 구성을 사용하면 모든 HTTP 요청이 HTTPS로 리디렉션됩니다.

    다음으로 /etc/nginx/sites-enabled/ 디렉토리에 심볼릭 링크를 생성하여 새 구성 파일을 활성화합니다.

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

    다음을 사용하여 구성 오류를 확인하십시오.

    nginx -t
    

    그런 다음 다음 명령을 실행하여 로드합니다.

    systemctl reload nginx.service

    Jirafeau 설치

    Gitlab 저장소에서 Jirafeau를 다운로드합니다.

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

    Jirafeau에 대한 데이터 디렉터리를 만듭니다. 이 디렉토리는 웹 서버를 통해 액세스할 수 없어야 합니다(즉, 구성에서 /var/www/html인 웹 루트 디렉토리 외부에 있어야 함). 우리는 /var/data/jirafeau를 사용할 것입니다.

    mkdir -p /var/data/jirafeau
    

    Nginx 사용자에게 Jirafeau에서 사용하는 구성 및 데이터 디렉토리의 소유권을 부여합니다. 이상적으로는 설정이 완료되면 파일 권한을 강화해야 합니다.

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

    그런 다음 웹 브라우저를 열고 https://your_domain/install.php로 이동합니다. 먼저 관리 인터페이스의 비밀번호를 선택하라는 메시지가 표시됩니다. 안전한 비밀번호를 입력하고 다음 단계로 진행합니다. 기본 주소에 https://your_domain/을 입력하고 데이터 디렉터리에 /var/data/jirafeau/를 입력합니다. 설치 프로그램이 Jirafeau의 기본 구성 파일을 생성하는 다음 단계를 계속 진행합니다.

    Jirafeau 구성

    기본 제공 설치 프로그램 스크립트는 필수 항목만 구성합니다. 보다 철저한 구성을 위해 해당 파일을 엽니다.

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

    기본 조직 이름을 바꾸고 담당자 및 직위 키를 설정합니다. 조직 및 담당자 값은 서비스 약관(https://your_domain/tos.php)에 표시됩니다.

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

    기본적으로 업로드 기능에 대한 액세스는 제한되지 않습니다. 하나 이상의 암호를 설정하여 이 액세스를 제한할 수 있습니다. 표시된 구문을 사용합니다.

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

    파일을 업로드할 때 업로드 형식에서 다른 시간 제한을 사용할 수 있습니다. 기본적으로 Jirafeau는 업로드된 파일이 삭제된 후 최대 1개월의 시간 제한을 허용합니다. 사용 가능한 기간을 변경하려면 availability 배열을 수정하십시오. 예를 들어 모든 만료 기간을 허용하려면 다음을 사용합니다.

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

    구성에 만족하면 변경 사항을 적용하기 위한 조치가 필요하지 않습니다.

    이제 파일 호스팅 웹사이트를 사용할 준비가 되었습니다. 관리 인터페이스는 https://your_domain/admin.php에서 액세스할 수 있습니다.