본문 바로가기

How to/컴퓨터

웹서버 나만의 NAS (7) CentOS에서 Pydio 6 설치

pydio?

이전에는 이름이 AjaXplorer였던 pydio는 Put Your Data In Orbit의 약자이다. pydio는 owncloud와 함께 대표적인 설치형 클라우드인데,  pydio는 owncloud와는 다르게 모바일 어플을 무료로 사용할 수 있는 장점이 있다. 이런 이유에서 pydio를 선택하게 되었다.


pydio설치

https://pydio.com/en/docs/v6-enterprise/install-pydio


pydio를 설치하기 위해선 우선 epel-release를 설치해야한다. epel-release란 extra packages for enterprise linux라는 뜻이고, 일종의 확장된 레드햇 계열 저장소라고 보면 된다.

$ sudo yum install epel-release


epel-release를 설치했다면 wget으로 pydio저장소를 받아온다.

$ sudo wget https://download.pydio.com/pub/linux/centos/7/pydio-release-1-1.el7.centos.noarch.rpm


rpm으로 pydio 저장소를 설치한다.

$ sudo rpm -i pydio-release-1-1.el7.centos.noarch.rpm


이제 yum을 통해 pydio를 받을수 있게 되었다.

$ sudo yum update $ sudo yum install pydio-core

이를 통해 pydio와 연관된 의존성 프로그램들까지 다 깔아버린다. 여기엔 php 관련 프로그램들도 다 포함되어있다.


#이것이 EPM설치 포스트에서 php를 미리 깔지 말라고 했던 이유다. 필자의 경우 의존성 문제로 처음 pydio 구동에 실패하고, 후에 remi php와 base php사이의 충돌로 인해 지속적으로 pydio 설치에 실패했었다. 그래서 remi 저장소를 disable하고 지운 후php관련 프로그램을 전부 삭제하고 위와같이 진행하였다.


그리고 아파치와 관련된 파일들을 없애버린다.

sudo rpm -e apr apr-util httpd httpd-tools --nodeps


이제 pydio관련 권한 문제를 해결해야한다.

https://pydio.com/en/docs/kb/security/permission-pydio%E2%80%99s-filesfolders


pydio가 apache를 기준으로 되어있다보니 폴더들 그룹소유가 apache로 되어있다. 이를 nginx로 바꿔준다.

$ sudo chown -R root:nginx /var/lib/pydio $ sudo chown -R root:nginx /var/cache/pydio $ sudo chown -R root:nginx /etc/pydio $ sudo chown -R root:nginx /usr/share/pydio

그룹소유를 apache로 한다. nginx로 할 경우 작동 하지 않는다. 대신 nginx를 apache라는 이름으로 구동한다.


이제 권한을 변경한다

$ sudo chmod -R 570 /etc/pydio
$ sudo chmod -R 570 /usr/share/pydio
$ sudo chmod -R 570 /var/cache/pydio
$ sudo chmod -R 570 /var/lib/pydio

[주석] 취소선의 경우 아래와 같이 권한을 변경한다. 원래 계획은 위에 권장하는데로 소유는 root가, nginx에게 그룹을 통해 소유권을 준다. 그 다음 data의 권한을 560로 설정하여, nginx이외에 다른 user는 쓰지 못하게 하는 것이었다. 하지만 이 경우 pydio설치나 파일 업로드시에 권한 문제가 발생했다. 어쩔 수 없이 web server가 필히 쓰기 작업을 실행해야하는 녀석을 566로 설정하여 다른 유저가 읽고 쓸 수 있게 헀다. 현재 data에 읽고 쓸때 nginx이외의  user가 필요한 것으로 보인다. 이 부분에 대한 해결책을 알면 꼭 알려주길 바란다.

$ sudo chmod -R 555 /etc/pydio $ sudo chmod -R 555 /usr/share/pydio $ sudo chmod -R 555 /var/cache/pydio $ sudo chmod -R 577 /var/lib/pydio


그리고 nginx를 사용할 경우 .htaccess에 대해서는 걱정할것 없다. nginx 사이트를 보면 .htaccess를 왜 사용하지 않아야하는지 열혈히 설파하면서, nginx는 이를 사용하지 않는다고 한다.[1] 때문에 이에 대한 권한 문제는 nginx의 경우 무시한다. 대신 htaccess 속 내용을 nginx 설정 용으로 변환[2]하여 집어 넣어야 pydio가 정상 작동한다. pydio사이트에서 얻은 nginx 설정을 응용한 것이 다음 포스트에 있는데, 이를 사용할 경우 문제없이 사용이 가능했다는 점에서 이미 이 점이 변환되어 포함되어있다고 추정 가능하다. 


이제 pydio에 대한 약간의 설정을 만져준다.

$ sudo vim /etc/pydio/bootstrap_conf.php

위 문서에서 아래부분을 찾아 주석을 해제한다.

define("AJXP_LOCALE", "en_US.UTF‐8"); define("AJXP_LOCALE", "");

다음 포스트에선 EPM(nginx, php, mysql)을 설정, 실행하고 pydio설치를 완료하겠다.



[1] https://www.nginx.com/resources/wiki/start/topics/examples/likeapache-htaccess/#

[2] http://winginx.com/en/htaccess