간만에 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
도메인 추가될때 마다 잘 확인해야겠습니다.
답글 남기기