리눅스 서버에서 Pydio 설치하기



    개인 설치용 클라우드 중에 Pydio와 Owncloud는 양대 산맥이죠. 지난 글에서도 지속적으로 다양한 기능을 원한다면 Pydio, 빠릿빠릿한 반응속도를 원한다면 Owncloud를 추천하였습니다.






    운영체제에 비교해서 추천을 하자면 윈도우 서버의 경우 Pydio (선택권이 없습니다.) 리눅스 서버의 경우 Owncloud를 추천(빠르기 때문)하는 바입니다. 리눅스에서 Owncloud의 설치를 권장하는 이유는 별달리 추가적으로 설정할 필요가 없기 때문에 상대적으로 초보자가 설치하기 쉽습니다.

    하지만, Pydio의 경우 윈도우에서는 별다른 문제없이 설치가 되지만, 오히려 리눅스에서 한글과 관련하여 문제를 일으키는 경우가 간혹 생깁니다. 이번 포스팅에서는 Pydio에서 자주 발생하는 문제에 대해서 정상적으로 설치하고 구동할 수 있을 정도로 설치하는 과정에 대해서 설명할 예정입니다.

    서버마다 사정과 상황은 조금 다를 수 있지만, 이 포스팅은 Ubuntu 14.04.3 Server 버전에서 Sentora 호스팅 패널을 설치한 후 Pydio를 설치하는 상황을 가정하여 설명할 예정입니다. 서버마다의 차이점은 적절히 변경하셔서 적용하길 바랍니다.


    Pydio가 참 잘 짜여진 소스라고 생각하는 이유중에 하나가 대부분의 설치를 자동으로 지원하고 설치중에도 일부 인코딩같은 상황을 세세하게 변경할 수 있다는 점입니다. 특히 인코딩을 변경할 수 있도록 하는 점은 다양한 OS에서 다양한 언어로 사용할 수 있도록 좋은 배려를 해주고 있는 것 같습니다. 그리고 설치시 문제가 될 수 있을 수 있는 부분은 미리 알려주어 해결책을 제시합니다. 물론 이런 기능은 다른 유명한 소스들도 지원하고 있는 부분이지만 나름 상세하게 해결책을 제시해주는 것은 Pydio가 인상적이더군요.


    Pydio에서 가장 많이 나타나는 이슈는 권한 문제한글 인코딩 문제입니다. 설치시 아래와 같은 화면이 나온다면 권한과 인코딩의 문제점으로 정상적으로 사용을 못할 수도 있습니다.

    네모칸 친 부분들이 정상적으로 사용하기 위해 추가적으로 따로 설정해야 하는 부분들 입니다. 그 중에 Server charset encoding은 설치중에도 변경이 가능합니다.




    자주 나타나는 경고 중에 대표적으로 두가지를 들 수 있는데 상단에 PHP Session에 관한 내용은 권한 설정에 관한 내용, 밑에 Server charset encoding은 서버 인코딩에 관한 내용입니다. 이번 포스팅에서 설치전에 두가지를 확실하게 해결해 보도록 하겠습니다.




    PHP Session 해결하기


    인코딩도 그렇고 PHP Session 문제도 그렇고 모두 파일 하나만 수정하면 됩니다. 그 파일은 Conf 폴더에 있는 bootstrap_conf.php 파일을 수정하면 됩니다.


    파일 위치 : /pydio/conf/bootstrap_conf.php





    일단 이 PHP Session 문제는 PHP에 자동으로 등록된 Temp 폴더를 사용할 수 없는 경우에 생기는 문제점입니다. 특히, Pydio내에 임시로 Temp 폴더를 만들었어도 추가적인 Sessions 폴더를 만들지 않으면 위와같은 문제점이 발생합니다.


    해결방법은 먼저 bootstrap_conf.php 파일을 열어 그 중 52번째 줄 앞에 붙어있는 //를 제거하여 주석처리를 해제 합니다.


    //$AJXP_INISET["session.save_path"] = AJXP_DATA_PATH."/tmp/sessions";




    <파일의 52번째 줄입니다.>


    이 파일을 저장하고 Pydio가 설치된 폴더안에 conf 폴더에 이 파일을 덮어씌웁니다. 만약, 이미 업로드를 한 상태라면 덮어씌워서 업로드 합니다.


    그리고 이대로 끝내면 안됩니다. 추가로 할일이 있는데, /Pydio/Data/tmp 폴더 안에 sessions라 는 새로운 디렉터리를 생성합니다. 이 과정을 누락하면 오류는 해결되지 않습니다.




    이렇게 디렉터리를 만들고 나면 PHP Session 문제는 해결이 됩니다. 설치를 진행해보면 해당 에러는 더이상 나타나지 않는 것을 확인할 수 있습니다.






    Server charset encoding 문제 해결하기


    이번엔 서버 인코딩 문제입니다. 리눅스(다른 OS는 모르겠는데 우분투는 그러더군요.)에서 한글 파일이름 및 폴더의 생성이 안되는 경우가 발생되기도 합니다. 원인은 우분투의 경우 UTF-8을 사용하는 것은 맞지만, 각나라와 언어에 맞게 더 상세하게 구분되었기 때문에 이러한 문제점이 발생합니다. 그 예로 UTF-8 앞에 나라와 언어의 Prefix가 붙어있어 ko_KR.UTF-8, en_US.UTF-8 이런 형태로 되어있습니다.


    일단, 이 문제도 역시 conf/bootstrap_conf.php 파일을 수정하면 됩니다. 이번에는 32번째 줄을 수정할 예정입니다.





    하지만, 수정하기 전에 현재 내 서버의 문자셋을 알아야 겠죠? SSH를 이용해 접속한 후 아래와 같이 입력합니다.


    echo $LANG


    이 명령어로 서버의 캐릭터 셋을 알 수 있습니다. 단, $LANG의 경우에는 꼭 대문자로 해야 합니다.



    서버의 캐릭터 셋을 확인 했다면 참고를 하여 bootstrap_conf.php 파일을 적절하게 수정합니다.

    32번째 줄에 보면 인코딩에 관한 내용입니다.


    //define("AJXP_LOCALE", "en_EN.UTF-8");


    이 부분에 앞에 // 를 제거해서 주석처리를 해제하고 빨간색으로 된 곳에는 서버의 인코딩 캐릭터 셋을 입력합니다. 전체적으로 예를 들자면 아래 처럼 바꾸면 됩니다.




    그리고 역시 이 파일을 저장후 서버 Pydio/conf/ 폴더 안에 덮어씌우면 됩니다. PHP Sessions 에러와 함께 한번에 수정하고 업로드 하면 됩니다.


    인코딩에 경우에 한해서는 꼭 bootstrap_conf.php 파일을 수정하지 않더라도 설치 중 해결할 수 있습니다.


    설치할 때 Setup Wizard에서 Global options 항목에서 인코딩 방식을 수정해도 됩니다.






    이렇게 PHP Sessions와 Server charset encoding 에러 두가지 해결해도 별 이상없이 Pydio가 작동합니다.

    실제로 설치를 진행하면 아래와 같은 경고만 나오게 됩니다.




    이들 경고들은 하면 좋지만, 무시해도 상관없는 경고들입니다. 이대로 설치를 진행하면 무리없이 설치해서 사용할 수 있습니다. 


    리눅스 환경에서 이정도만 확실하게 세팅이 된다면, 한글에 대해서 문제없이 사용 가능합니다. 혹시나 Pydio를 설치했는데 한글 파일이나 한글폴더 생성에 문제가 있는 경우에는 이 방법대로 진행하면 해결됩니다.


    또한, 센토라의 경우 Sentastico를 설치하면 매번 설치시에 설정하지 않고, 패키지화 시켜서 쉽게 설치 할 수 있습니다.








    저작자 표시 비영리 변경 금지
    신고
    Posted by Study For Us clamp2x
    • 백무지
      2016.01.12 18:49 신고

      안녕하세요
      작성 하신 글 보고 열심히 따라 했는데요 아래와 같이 오류가 나왔습니다.
      오류 관련해서 작성 하신 글 보고 설정 했는데 이 오류는 계속 나타나네요 ㅠㅠ
      바쁘신데 죄송하지만 도움 부탁 드립니다.
      OS : Windows 7 / iis 6.0 / Mysql 5.5 / PHP 7.0

      오류 메세지
      Declaration of VanityManager::getRegistryContributions($extended) should be compatible with AJXP_Plugin::getRegistryContributions($extendedVersion = true)

      • Favicon of http://studyforus.tistory.com BlogIcon Study For Us clamp2x
        2016.01.13 16:23 신고

        php extension의 버전이 안맞아서 그러는 것 같습니다.

        현재 php 버전 7.0이라고 하셨는데 5.6버전으로 변경해보시기 바랍니다.
        아직까지 php7을 정식 지원하지 않는 듯합니다.
        답변이 늦어서 죄송합니다.^^

    • 지주
      2016.11.27 02:08 신고

      예상 발생 원인: 새 폴더 명칭을 '한글명+특수문자'로 만들기
      참고 내용: 저는 Autoset 9.1.0 버전을 이용하고 있으며, 설치 시 인코딩 입력란에 UTF-8을 입력하여 한글문제 해결 후 사용 중입니다.
      문제점: 한글명으로 새 폴더를 생성이 불가능합니다.
      에러코드: 'Cannot find repository with this id!' 에러 메시지가 출력됩니다.
      - IP 외부 연결도 겨우 성공한 초짜입니다. 쉽게 설명 부탁드립니다 ㅠㅠ(에러 발생할 때마다 pydio 재설치하여 해결하고 있는데 이제 한계가 오고 있습니다..)

      • Favicon of http://studyforus.tistory.com BlogIcon Study For Us clamp2x
        2016.11.27 10:49 신고

        오토셋이라면 윈도우에서 구축하신거 맞죠?
        윈도우 인코딩 환경(CP949)과 서버 인코딩 환경(UTF-8)이 맞지 않아 그러는 현상입니다.
        윈도우 인코딩을 바꿀 수 없으므로 웹서버와 다른 인코딩 방식을 euc-kr로 바꾸는 방법이 있습니다. ^^
        근데 Pydio를 설치해도 동일한 문제가 발생하나요?

      • 지주
        2016.11.27 16:08 신고

        네 윈도우에서 구축했습니다.
        1. 글 내용을 참고해서 말씀드리면,
        저는 33번줄의 주석을 제거하고 사용하고 있습니다.
        2. 말씀해주신 바가 32번줄의 주석을 제거하고 define("AJXP_LOCALE", "euc-kr");로 바꾸라는 것인가요?
        3. pydio 재설치 시 일반적으로 정상 작동하며, 위의 발생 원인 재현 시 문제가 발생합니다.
        추가로 파일명이 한글인 경우는 정상 작동하고 있습니다.

    • 손희모
      2017.03.27 02:47 신고

      pydio 구축완료 후 디렉토리 안에서 폴더를 만들면 해당 폴더가 표시가 되지 않습니다.
      하단에 에러문으로는 파라메타 1 에러 캐시파일 어쩌구 나오는데...해결 방법이 없나요...;;

티스토리 툴바