PC/MAC/강좌2013.03.20 08:30




이번강좌(#4)는에는 공유 서버를  웹디스크로 만들기 입니다. 


지난번 강좌까지 공유(폴더)서버를 만들고, 자동백업을 설정하고, 도메인네임을 부여했는데요. 이제는 외부에서도 공유파일에 보다 안전하게 접근하고 사용할 수 있는 웹디스크 서버를 만드는 방법입니다.




   웹디스크를 만들기 위해 사용할 솔루션 패키지 프로그램은  AjaxPlorer   입니다.   해당 프로그램 이름에  Ajax 라는 Prefix처럼 웹화면에서도  동적인 UI 를 적용하여 편리하게 파일관리를 가능하게 해줍니다.


   마치 네이버의 N드라이브나  다음클라우드, 드롭박스 같은 웹기반 디스크 UI를 개인적으로 구축할 수 있다고 이해 하면 쉽습니다.



AjaxPlorer 의 현재시점(3월2일기준)의 최종 버전은 4.3.1 개발(Dev)버전과  4.2.3 안정(Release)버전 까지 나와 있습니다. 


 여기서는 4.2.3 안정화된 버전으로 설치하는것으로 합니다.


일단 공식적인 다운로드 및 설치 방법은 http://ajaxplorer.info/download/  에서 확인 가능합니다.



설치 환경 OS우분트  12.04 LTS  입니다. (현재 우분투 파일 서버 강좌시리즈 이므로)



설치하기


프로그램 설치를 위해서는 먼저 apt-get 설치환경에  Ajaxplorer  패키지의 소스정보를 추가해야 합니다.


방법은 적당한 에디터로 패키지 소스리스트 파일을 열고


$ sudo nano /etc/apt/sources.list


아래의 내용을 맨 하단에 추가합니다.


deb http://dl.ajaxplorer.info/repos/apt squeeze main

deb-src http://dl.ajaxplorer.info/repos/apt squeeze main


그리고 ajaxplorer 관련 public key 를 설치합니다.


$ sudo wget -O - http://dl.ajaxplorer.info/repos/charles@ajaxplorer.info.gpg.key | sudo apt-key add - 


  그리고 Ajaxplorer패키지를 설치합니다.  ajaxplorer 은 기본적으로 Apache2 와 php5를 사용합니다. 따라서 해당 패키지들이 사전에 설치되어있어야 하지만 설치가 안되어있더라도  ajaxplorer 설치과정에서 자동적(필요한 apache2, php5 등을)으로 설치하게 됩니다.


$ sudo apt-get update

$ sudo apt-get install ajaxplorer 


설치 실행시 보여지는 관련설치되는 패키지들입니다.

자동으로 필요한 패키지들이 설치되는 예


apt-get 을 이용한 설치가 끝났으면 Apache2  의 SSL을 활성화 시켜 줍니다. 


$ sudo a2enmod ssl            #ssl 모듈활성화 명령

$ sudo a2ensite default-ssl    #ssl 사이트 설정  활성화


  여기서 설치하는 SSL  웹기반 데이터 전송에 있어서 암호화를 지원하기 위한 도구 입니다.  Ajaxplorer 에서는 파일전송을 하는 경우에도 안전한 보안 통신을 권장하고 있기때문에 기본적인 수준에서 SSL 사용을 활성화 합니다.


그리고 다음은  사용 문자 인코딩을  한국어에 맞게 해줍니다.

envvars 파일을 환경설정을 위한정보를 저장하게 되는데 여기에서  LANG 이라는 환경변수를 설정해주면 됩니다.


방법은 envvars 파일을 열고  

 

$ sudo nano /etc/apache2/envvars


LANG="ko_KR.UTF-8"  을 설정해주면 되는데,  우분투에  /etc/default/local 파일에는 기본적인 인코딩설정이 있습니다. 이를 그대로 사용하기위해 아래 처럼  LANG 변수설정들을 모두  comment처리하고,  

. /etc/default/locale  부분에 있는 # 을 없애줍니다. ( uncomment )


## The locale used by some modules like mod_dav

#export LANG=C

## Uncomment the following line to use the system default locale instead:

. /etc/default/locale


#export LANG


그리고  /ajaxplorer 경로 설정을 Apache2에  (활성화)추가합니다.  


$ sudo cp /usr/share/doc/ajaxplorer/apache2.sample.conf /etc/apache2/sites-enabled/ajaxplorer.conf


그리고 나면 마지막으로  apache2를 재시작 해줍니다.


$ sudo service apache2 restart


이렇게 하여   http://도메인네임/ajaxplorer  접속시  ajaxplorer 로 연결 되게 됩니다.


처음 접속하고 나면 아래 그림처럼  Diagnostic Tool이 보여 현재 설치된 상태를 보여 줍니다. 

SSL Encryption Warning은 현재 SSL 접속이 아니다 보니 메시지를 보게 되는데. https://로  접속하면 해결되고, 


또는  아래 파일을 열어


$ nano /etc/ajaxplorer/bootstrap_conf.php


// 로 comment처리되어있던 부분을 제거해  AJXP_FORCE_SSL_REDIRECT 를 활성화 해줍니다.  


/*

 * If you want to force the https, uncomment the line below. This will automatically

 * redirect all calls to ajaxplorer via http to the same URL with https

 */

define("AJXP_FORCE_SSL_REDIRECT", true);


그럼, 이후 http://...     로 ajaxplorer경로에 접속하더라도 강제로 https://... 로 바뀌어 접속하게  됩니다.


그럼 이제 웹브라우저로   http://ip/ajaxplorer  접속해봅니다.




설정하기  - 리파지토리(Repository) 추가 



접속이 정상적으로 이루어 지면 아래 그림처럼 로그인 화면이 나옵니다.



최초 로그인은 admin/admin  관리자 계정으로 로그인 합니다. 


그리고 가장 먼저 해줄일은 password변경입니다.

화면 우측에 Logged as admin 이라는 버튼을 클릭하면 Change Password 메뉴로 변경이 가능합니다.





그렇게 해서 원하는 password로 변경했다면  다음 할일은 리파지토리(Repository)추가 입니다.


   Ajaxplorer에서 리파지토리는 사용자에게 접속가능한 저장공간을 의미하게 되는데, 그 저장공간의 실체가 파일시스템(파일경로) 일수도 있지만,  다른 서버의 FTP나, SFTP, SAMBA 또는 메일함 같은 논리적 개념의 저장공간도 접근 가능하게합니다.  그래서 단순히 Storage나 Directory(File Path)라는  말이 아닌 리파지토리(Repository)라는 가상 저장공간의 개념을 사용하고 있습니다.

  

   각각의 리파지토리는 원격지 또는 로컬영역에 상관없이 관리자가 원하는 가상의 경로에 매핑을 하게 됩니다.  이를 잘 활용하면  Ajaxplorer은  여러 서버로 흩어져 있는 저장소를 하나의 웹UI로 묶어 접근을 할 수 있게 해줍니다.


그럼 가장 기본적인 파일시스템 공간을 리파지토리로 추가해보겠습니다.


아래 그림을 참고하세요


좌측 상단 선택에서 아래 순서대로 메뉴을 선택합니다.

 

   Settings  -->  Repositories & Users  --> New --> Repository 


선택합니다.


그러면 아래 그림과 같은 생성창이 나옵니다.  






먼저 /first 경로로 Repository를 만들어 보겠습니다.  


   가장 기본적인 파일시스템[File System (Standard) ]을 선택합니다. 파일 시스템은 현재 Ajaxplorer이 설치된 서버에서 원하는 임의 디렉토리를 매핑할 수 있습니다.


   예를 들어  리눅스 /home/user1/first  디렉토리를 생성해서 http://myip/ajaxplorer/first 에 매핑 해주는 경우입니다. 


  

   그런데 여기서 먼저 확인이 필요한 부분이 있습니다.  Main Options에서 매핑할 디렉토리경로를 생성까지 하려는 경우에는 생성하려는 상위디렉토리가  www-data 유저에 권한이 있어야 합니다. 그렇지 않은 경우에는 실패합니다.   따라서 해당 사용자에 권한이 있는 상위디렉토리 이하에만 만들거나 또는  이미 권한(0777)있는 디렉토리를 매핑 해주면 됩니다.



우선 여기서는 우선 최소한의 옵션만 다루겠습니다.


Path : 매핑 디렉토리

Create : No  (이미 있는디렉토리 매핑)

File Creation Mask: 0777  (해당 리파지토리에서 파일생성시 부여할 권한 )

Purge Days : 해당일단위로 제거합니다.(Action Tasks Scheduler 설정필요)

Data template : 디렉토리 첫 접근시  복사할 내용이 있는 경로,  일종의 디렉토리 템플릿




 이렇게 하고 체크(확인)버튼을 누르면 

메타플러그인 설정이 나옵니다.



메타플러그인은 여러가지 부가정보 (검색정보, 버전관리)를 관리할 수 있는 플러그인입니다.  우선 별선택없이 바로 체크(확인) 합니다.


그러면 리파지토리가 정상적으로 생긴것을 확인 할 수 있습니다.



   이제 해당 first 리파지토리로 이동해서 파일을 올리거나 내려 받기가 가능합니다.  해당 경로를 기존의 사용중인 공유 디렉토리에 매핑해주면 일종의 웹디스크가 되는 것입니다.



가족이나 같은 사무실직원들간에 공유를 하고 싶은경우에는 사용자들 추가 시켜줄 수 도 있습니다.




Settings --> Users --> New User  


메뉴에서 사용자를  추가해 줍니다.


간단히 ID와 패스워드만 입력해주면 되고,  리눅스의 계정과는 별개로  Ajaxplorer 전용 유저 입니다.

 



접근 가능한 경로와 접근 권한을 부여합니다. 


앞서 만들 first 리파지토리에 읽고 쓰기 권하는 부여합니다.  그러면 바로 friend 라는 유저로 접근이 가능해집니다.  





사용하기 



아래는 friend 로 로그인한 이후 보게 되는 화면입니다.  



웹 UI의 기본 사용언어도 변경이 가능합니다. 


화면에서 마우스 우측버튼을 클릭하면  [language] 선택 후 한글로 전환이 가능합니다.




간단한 텍스트 파일은 웹화면에서 바로 만들고 작성/수정도 가능합니다.


텍스트파일을 더블 클릭하거나 마우스 우측버튼 클릭 후 [New File]을 클릭하면 됩니다.




Ajaxplorer은 PC/리눅스/Mac 에서 웹브라우저 환경뿐 아니라 스마트폰에서도 사용이 가능합니다.


 안드로이드폰에서 접근한 화면입니다.  


  처음 접속시 [보안인증서를 신뢰할 수 없습니다.]는 SSL설치에 사용된 인증서가 테스트인증서이기 때문에 나오는 화면입니다.  


로그인화면에 나타납니다. 여기에 새로 추가한 사용자를 이용해서 로그인합니다.


안드로이드에서는 전용 앱(유료)을 이용해서 사용할 수 도 있습니다.





   여기까지 Ajaxplorer 을 이용한 웹디스크 만들기를 마칩니다.  Ajaxplorer 은 최근 Version 5 를 발표를 앞두고 있는것으로 보입니다.   현재 4.x 에서도 방대하다 싶을 정도의 많은 기능 들을 제공하고있습니다.


  Ajaxplorer을 활용하면 가정이나 소규모 사무실에서 원격지에서도 웹을 이용해 공유서버로의 접근및 사용을 하는데 많은 편리함(사진서버,  대용량 첨부파일 보내기 기능 등...)을 제공해 줄 것 입니다.  





Posted by 퍼니로거 즐건록