[2014.1.24]
- XE 1.7에서도 동작 가능하도록 수정하였습니다.
XE 모듈 첫 작품으로 웹 기반 파일 매니저인 elFinder를 XE에서 모듈로 손쉽게 생성하여 사용할 수 있도록 만들어 보았습니다.
'개인용도로 사용할 웹 기반 FTP 사진첩이나 만들어봐야겠다.' 라고 오래전부터 생각해오고 구상만 해오던던 것이 elFinder라는 녀석을 발견하고 나서 급물살을 타게 되었네요.. ㅡㅡㅋ
elFinder라 함은 http://elfinder.org에서 자세한 정보를 얻으실 수 있으며, 요약하면 PHP, jQuery를 핵심으로 한 웹 기반 파일매니저 입니다.
이번에 제작한 모듈에서는 구현되지 않았지만, 실제 elFinder 내부에는 FTP나 DB로 통신을 하는 기능까지 내장하고 있습니다. 정말 많은 기능이 내장되어 있고, 그것들 세세하게 다 설정하면 정말 '웹 브라우저에서 돌아가는 윈도탐색기'로 사용할 수 있을 정도입니다.
물론 설정할 수 있는 옵션중에 별로 중요하지 않은 것들도 많이 있으므로 그것들은 과감하게 제거하고 꼭 필요한 옵션들만 추려서 XE모듈 형식으로 사용할 수 있게 구성하였습니다.
elFinderXE는 XE 1.5.x 버전을 기준으로 만들어졌으며,
2012년 4월 10일에 릴리즈된 elFinder 2.0 rc1 버전을 내장하고 있습니다.
(실제 구동 부분은 XE와 무관하므로 다른 버전에서도 잘 동작 할것입니다.. 아마^^)
본래 elFinder패키지에는 한글 언어팩이 포함되어 있지 않지만, 이번에 모듈로 만들면서 직접 한글화 작업을 진행하였습니다. (보편적으로 사용되는 용어를 고르기 위해 많은 고민을 했...)
[!] elFinderXE 모듈은 웹상에서 서버의 파일들을 직접 조작하는 기능을 지원합니다. 모듈 상세 설정이나, 특히 권한 설정을 올바르게 하지 않으면 보안상의 심각한 문제를 유발할 수 있으므로, 반드시 본 메뉴얼을 끝까지 읽고 사용해 주시기 바랍니다.
라이센스
elFinderXE는 GPL v2 라이센스를 적용하며, 내장된 elFinder 패키지는 Free BSD 라이센스로 배포되었습니다. 상세 내용은 파일 내에 포함된 라이센스 정보 파일을 확인하세요.
(사실 저는 라이센스에 대해서 잘 모릅니다..ㄱ= 그냥 GPL v2 많이들 쓰시길레 저도 ☞☜)
elFinderXE 주요 기능
▲ elFinderXE
▲ 그림파일 미리보기(...는 기본이죠?^^)
▲ 텍스트 파일을 생성하고, 이렇게 직접 편집할 수 있습니다.
▲ 간단히 드래그&드롭으로 파일을 업로드 할 수 있습니다.
▲ 그림파일 크기조절, 자르기 및 기울이기 편집을 할 수 있습니다.
▲ 탐색기에서와 똑같이 마우스 클릭만으로 파일/폴더를 압축 하거나 풀 수 있습니다.
(설치되어 있는 PHP 압축 모듈에 따라 TAR/GZIP/BZIP/ZIP/RAR/7z 형식을 지원합니다.)
▲ 파일 통합검색을 할 수 있습니다. (단, 폴더별 검색은 지원하지 않습니다.)
▲ (저는 별로 많이 사용할 것 같지 않지만) 단축키 기능도 지원하고 있습니다.
헌데, 파일을 구분없이 다 보여주면 보안이 너무 취약할 것 같다구요?
▲ 환경설정에서 이렇게 확장자 필터를 적용하면..
▲ 이렇게 지정된 확장자의 파일만 표시됩니다.
(단순히 목록에만 보이지 않는것이 아니라, 서버단에서 필터링되어 전달됩니다.)
▲ 허용되지 않은 파일 형식은 업로드도 할 수 없습니다.
▲ 확장자 바꿔치기(?) 수법도 통하지 않습니다.ㅎㅎ
이게 다가 아닙니다. 바로...
▲ 모바일에서도 이렇게 파일을 업로드 및 다운로드할 수 있습니다.
elFinderXE 환경설정
상세 설정
환경설정을 할 때 별도의 설명이 필요 없도록 자세한 설명을 달아 놓았습니다.
권한 설정
회원 권한에 따른 파일관리기의 허용 가능 명령을 세세하게 지정할 수 있습니다.
각 권한을 '허용하지 않음'으로 놓으면 클라이언트단뿐만 아니라 서버단에서도 해당 명령을 사용할 수 없도록 차단하는 방식으로 설계되었습니다.
디렉토리 권한설정(중요)
'루트 디렉토리'로 지정된 디렉토리는 읽기 및 쓰기가 가능하도록 권한이 설정되어 있어야 elFinderXE가 정상적으로 동작합니다. 서버 환경에 따라 루트 디렉토리의 소유 및 그룹을 www-data로 지정해야 쓰기가 가능한 경우도 있으니, 세팅에 참조하시기 바랍니다.
주의 사항
루트 디렉토리 내부에 심볼릭 링크(Symbolic link)가 존재하는 경우 사용자가 의도하지 않은 디렉토리로 접근할 수 있습니다. 웹 기반으로 동작하는 '강력한' 파일 관리기인 만큼, 보안에 신경을 써서 사용하셔야 합니다.
특히, 루트 디렉토리를 웹서버 루트로 지정하지 않도록 주의하시기 바랍니다. 확장자 필터가 적용되지 않은 경우 서버 내부의 파일에 모두 접근할 수 있으며, 특히 환경설정 PHP 파일등에 접근하여 DB 접속정보 등이 유출될 수 있습니다.
→ 루트 디렉토리 내부에 별도의 전용 디렉토리를 따로 생성하여 사용하도록 합니다. (예: ./ftp/)
elFinderXE 다운로드
- 다운로드 : elfinderxe_0.2.zip
- 설치위치 : ./modules/
하나만 홍보 해도 될까요?
문제가 생긴다면 삭제 부탁드립니다.
해당 elfinderxe를 현XE 나, 라이믹스에서 사용할시 약간의 불편한점이 발생할수 있습니다.
해당 부분에 대해서 어느정도 해결하고 elfinderxe의 내장된 elfinder의 버전을 업데이트 한것을 배포 하였습니다.
xetown : https://xetown.com/index.php?mid=point_contents&search_keyword=elfinder&search_target=title_content&document_srl=1206107
문의 : https://blog.kr.gy/guest_book
문제 되면 제거 부탁드립니다.
elfinderxe 좋은 모듈을 만들어주셔서 감사합니다.
저가 해당 elfinderxe 의 모듈을 업데이트하고 앞으로 원만한 유지보수를 지원하고 싶은데
개인 사이트를 운영하여, 지원을 해도 될까요?
답변 부탁드립니다~~
감사합니다.
chmod -R 777까지 적용했는데
파일 업로드(또는 파일 수정)시 서버에 접속 할 수없다고 오류 메시지가 뜹니다
chrome console을보니 js,css 파일에 403에러가 뜨는 것 같아요
그때 오류로 인하여 댓글을 달았던적이 있습니다만..
지금 새로운 오류점이 발견대서 문의 드립니다.
이상하게 한글파일이 들어가면
잘못된 서버 응답입니다.
수신데이터가 없습니다 라고 뜨는 오류가 있습니다.
XE는 1.8.15 버전입니다.
그때 오류로 인하여 댓글을 달았던적이 있습니다만..
지금 새로운 오류점이 발견대서 문의 드립니다.
이상하게 한글파일이 들어가면
잘못된 서버 응답입니다.
수신데이터가 없습니다 라고 뜨는 오류가 있습니다.
XE는 1.8.15 버전입니다.
수신 데이터가 JSON 형식이 아닙니다.
라고 뜹니다.
서버환경은 autoset9.1 이고 xe는 1.7.5 입니다.
무슨 오류인지 검색해도 나오지 않아 제작자분에게 문의드립니다.
http://www.xpressengine.com/22577699
혹시 이런식으로 발전시켜볼 수 있을까 해서요~
일단은 XE 회원 폴더생성,, 을 간단하게 만들어보기 했는데, 개발자분께서 직접 좋은 아이디어 있으시면 이것저것 생각해보실 게 많을 것 같아서요~!
너무 좋은 모듈 감사합니다!
혹 최상위 디렉토리 경로가 잘못 설정되면 저렇게 되는것인지요?