Pydio 7 설치 정리 (nginx+php7.0+mariaDB)

간만에 pydio가 생각나서 설치해봤습니다.
예전과 달리 자잘하게 에러가 발생하길래 여기에 정리해봅니다. (요즘 포스팅이 너무 뜸해서 일부러 ㅋㅋ)

 

– pydio 다운
다운로드 : https://pydio.com/en/get-pydio/downloads

사이트 가서 받은 다음에 적당한 장소에 압축 풀어줍니다.
아래 nginx 설정을 참고하거나 아파치 유저면 알아서 설정해서 웹페이로 접속을 해봅니다.

예전에 윈도우에서 nginx로 pydio 설치했을때는 별다른 문제 없었는데 이번에 설치할때는 에러가 발생하더군요. 페이지 찾을수 없다고 하길래 error.log 파일을 확인해봤더니 아래와 같이 나옵니다.

2017/05/14 23:50:26 [error] 32054#32054: *1 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught Error: Class 'DOMDocument' not found in /경로~~~

에러 메세지로 검색해보니 DOM extension 없어서 발생한 에러입니다. 그래서 설치했습니다.

sudo apt install php-dom

라고 치면 아래와 같은 메세지가 나오는데 자신의 버전에 맡게 설치하시면 됩니다.

Package php-dom is a virtual package provided by:
php7.1-xml 7.1.5-1+deb.sury.org~xenial+1
php7.0-xml 7.0.19-1+deb.sury.org~xenial+1
php5.6-xml 5.6.30-10+deb.sury.org~xenial+2
You should explicitly select one to install.

처음 설치전 warrning 나올때 PHP intl extension이 없다고 하는데 이 확장모듈이 없으면 모든 언어가 영어로 나올거라는 설명이 있는데 뭐 깔아줍니다.

sudo apt install php7.0-intl

 

– nginx 설정파일

참고는 https://pydio.com/en/docs/kb/system/installing-debiannginx 를 보고 작성했습니다.
사실 작성했다기보다 Ctrl+C,V 죠 뭐

server {
	listen 80;
	server_name webhard.linsoo.co.kr;
	rewrite ^ https://$server_name$request_uri? permanent;
}

server {
	access_log	/home/linsoo/server/logs/pydio.access.log;
	error_log	/home/linsoo/server/logs/pydio.error.log;
	
	charset utf-8;
	server_tokens off;
	server_name webhard.linsoo.co.kr;
	client_body_buffer_size 128k;

	# SSL configuration
	#
	listen 443 ssl;

	ssl_certificate     인증키 관련 파일
	ssl_certificate_key 인증키 관련 파일
	ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
	ssl_ciphers         HIGH:!aNULL:!MD5;

	#
	# Note: You should disable gzip for SSL traffic.
	# See: https://bugs.debian.org/773332
	#
	# Read up on ssl_ciphers to ensure a secure configuration.
	# See: https://bugs.debian.org/765782
	#
	# Self signed certs generated by the ssl-cert package
	# Don't use them in a production server!
	#
	# include snippets/snakeoil.conf;

	root /home/linsoo/server/html/pydio;
	
	# Add index.php to the list if you are using PHP
	index index.html index.htm index.php;

	# All non existing files are redirected to index.php
    if (!-e $request_filename){
        # For old links generated from Pydio 6
        rewrite ^/data/public/([a-zA-Z0-9_-]+)$ /public/$1?;
        rewrite ^(.*)$ /index.php last;
    }
	
	# Manually deny some paths to ensure Pydio security
    location ~* ^/(?:.|conf|data/(?:files|personal|logs|plugins|tmp|cache)|plugins/editor.zoho/agent/files) {
            deny all;
    }
	
	# Enables Caching
    location ~* .(ico|css|js)$ {
        expires 7d;
        add_header Pragma public;
        add_header Cache-Control "public, must-revalidate, proxy-revalidate";
    }

	# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
	#
	location ~ .php$ {
		# With php7-fpm:
		try_files $uri =404;
		fastcgi_split_path_info ^(.+.php)(/.+)$;
		fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
		fastcgi_index index.php;
		fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
         include fastcgi_params;
	}
}

 

– mariaDB 설정

솔직히 이건 딱히 뭐 없네요. DB 하나 만들고 유저 권한 설정해주면 pydio 설치할때 db 물어보고 적어주면 알아서 테이블 생성 다 하니깐요.

 

– PHP 설정

/etc/php/7.0/fpm/php.ini 파일속에서 

file_uploads = On
post_max_size = 2000M
upload_max_filesize = 2000M
max_file_uploads = 20000
output_buffering = Off

위 부분을 수정해주면 됩니다.
위 nginx 참고한 사이트에선 20g 라고 해놓았지만 php 한계로 2g 이상은 업로드 불가라서 20G 적는게 의미가 없습니다. 2기가 이상 파일을 전송할려면 pydio booster를 설치해야 하는데 지금 설치를 시도중이라 설치 후 내용 정리해서 포스팅하는걸로 하겠습니다.

 

– 정리
뭔가 거창하게 쓸거 같았지만 이번에도 역시 별 내용은 없습니다.
나중에 제가 재설치 할때나 참고 할 수 있겠습니다.

pydio booster 설치하면 웹소켓 부담도 없고 용량제한도 없이 파일 전송이 된다고 하니 무료 구글드라이브 500기가가 생긴다는 생각에 시작했는데 (서버에 500기가 하드가 달렸는데 실제 총 사용량은 8기가도 안되는 상황이라 ㅋㅋㅋ) boost 파일이 그냥 실행파일인데 뭔가 설치하거나 플러그인으로 넣는건줄 알고 한참 삽질하고 있네요 ㅋㅋㅋ

 

ps.
Let’s Encrypt 인증서는 딱 신청한 그 도메인만 인증이 되더군요.
생각해보니 도메인 신청할때 딱 명시해서  linsoo.co.kr 이랑 www.linsoo.co.kr 신청했었는데 그걸 까먹고 webhard.linsoo.co.kr도 자동으로 될줄 알았는데 인증서 오류떠서 새로 갱신했네요.

sudo letsencrypt certonly --standalone -d linsoo.co.kr -d www.linsoo.co.kr -d webhard.linsoo.co.kr

도메인 추가될때 마다 잘 확인해야겠습니다.


Comments

“Pydio 7 설치 정리 (nginx+php7.0+mariaDB)”에 대한 4개의 응답

  1. 빠른 답변 감사합니다^^ 부스트를 한번 더 시도해보고 실패하면 답변해주신 seafile도 한번 써봐야 겠습니다~ 감사합니다~~

    1. 넵~~

  2. 안녕하세요 pydio를 설치하고 작성자님의 글로 도움을 받았습니다 감사합니다.
    한가지 질문이 있어서 댓글을 남겨봅니다.
    혹시 pydio boost 를 설치하셨는지 궁금합니다. 대용량 파일을 업로드 하기 위해 사용할까 하는데
    pydio boost 설치를 완료 하셨다면 어떻게 진행하셨는지 알려주시면 감사하겠습니다

    저는 centos 7 , php 5 , apache를 이용중입니다.

    1. 부스트 설치하다가 실패했습니다.
      이유는 기억나지 않네요.
      대신 seafile 이라는걸 설치했습니다.

      https://linsoo.co.kr/archives/19461

      요거 참고 해보세요. 이게 훨씬 쉽습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다