윈도우 운영체제만을 사용하다가 리눅스(유닉스)/맥OS 를 사용하려는 분들이 제일 어려워 하는 부분이

파일(폴더)권한 permission 에 관한 것일 듯 하다. 그러나 개념을 한번 익혀놓으면 그리 어렵지는 않다.


윈도우만 쓰는 분들도 쇼핑몰,블로그 등을 운영하다 보면 호스팅을 사용하는 경우가 생긴다.
그러면 대부분 리눅스 운영체제의 호스팅을 사용하게 된다.

물론 호스팅을 사용하더라도 퍼미션에 관한 사항을 체크할일은 거의 없지만, PG 결제모듈을 연결하거나 할때 필요한 경우가 생긴다.

다음은 kcp 모듈의 실행권한이 필요한 파일예시이다. (console 을 주로 쓰긴 하지만, 익히기 쉽게 Filezilla 의 파일권한 메뉴를 통해서 본 화면이다)

크게 소유자권한 / 그룹권한 / 공개권한 이라는 것이 있는데, 주로 소유자/공개 부분을 유념해두면 된다.(그냥 동일하게 설정하거나...)

읽기 권한 : 해당 파일을 볼 수 있는 권한을 말한다. 텍스트 파일이면 편집기등을 통해 파일의 내용을 볼 수 있게 된다.
쓰기 권한 : 파일을 열어 내용을 수정할 수 있는 권한이다. 삭제도 포함된다.
실행 권한 : 파일을 실행할 수 있는 권한이다. 이 부분이 중요한데, 결제 모듈같은 경우 결제/결과보기 등을 해당 모듈(파일)을 실행해야 하는 경우가 있다.

위 그림에서 실행 권한을 체크해줘야 한다.

콘솔상의 명령은  

chmod 655 pp_cli

정도가 되겠다.
보통은  chmod 777 pp_cli / chmod 707 pp_cli 를 많이 사용한다.(보안등의 문제는 이 글에서는 생략한다)


그리고 폴더(디렉토리)의 권한은 파일과 비교해 동작이 약간 다른 부분이 있다.

읽기 권한 : 폴더내의 파일리스트를 볼 수 있는 권한이다.
쓰기 권한 : 폴더내에 파일을 생성할 수 있는 권한이다.
실행 권한 : 폴더로 이동(?)할 수 있는 권한이다.

결제 모듈등에서 또 중요한 부분이 있는데, 결제를 한 후 결과를 파일등에 로그를 남기는 경우가 있다.
kcp 같은 경우 log 폴더에 201406 등의 월별로 폴더를 생성하고 일별로 파일을 생성해 로그를 남긴다.
(다른 모듈 이니시스 / LGU+ 등도 비슷하다)

그래서 log 폴더는 쓰기/실행 권한을 주는게 좋다.

chmod 707 log  

의 명령으로 해준다.

Filezilla 를 사용한다면

위 처럼 777 전체로 줘도 되고, 그룹권한은 뺴고 줘도 된다.(보통의 웹호스팅 환경에는 비슷하다)

하위 디렉토리까지 변경 하려면 위의 하단부분 옵션을 체크해서 처리 해주면 된다.

콘솔 명령으로는 -R 옵션을 추가해준다.

chmod -R 707 log

이런 식이다.


초보자는 파일/폴더 권한에 대한 사항은 위 정도만 이해하고 있으면 무리없다.





WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

트랙백  0 , 댓글  0개가 달렸습니다.
secret
현재 사용자용 다운로드를 FTP + filezilla 를 사용하고 있다.
물론 전용프로그램을 제작하면 좋겠지만, 개발여건이 좋지 않아 공개프로토콜/어플 을 사용하고 있다.

현재 사용상의 지장은 없는데, 약간 부족한 부분이 있다.
1. filezilla 설치의 어려움(사용자가 거의 컴퓨터에 익숙하지 않아 이마저도 어려워한다)
2. 다운로드 파일의 심볼릭링크 문제.(mount --bind )

그래서 다른 프로토콜을 알아보고 있다.
일단 WebDAV 가 눈에 띈다. 어느정도 활용이 가능할까?
현재의 구성을 바꿀 경우 어떤 이득이 있고, 문제가 있는지 알아봐야 겠다.

조건은
1. 파일관리(사용자관리) 가 쉬워야한다(현재 심볼릭링크 처리문제)
2. 사용자가 별다른 노력없이 바로 사용해야 한다.


WebDAV 로 해결가능하면 좋겠는데, 안되면 전용어플을 개발해야 할지도...


ftp + mysql 인증 까지는 가능한듯 하다.
문제는  각 계정별 chroot 인데. WebDAV 혹은 apache 에서 지원할까?


WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

트랙백  0 , 댓글  0개가 달렸습니다.
secret
파일질라 인코딩 옵션 추가하는 작업중이다.
http://blog.1day1.org/292

기본 빌드방법을 알아내고 소스를 살펴보았다.(한동안 살펴볼 짬이 나지 않았다)
kdevelop 을 쓰니 편하게 처리할 수 있었다.


빌드환경을 만들고 마지막 Filezilla 컴파일 하기 부분부터 정리.

파일질라 빌드하기

cd FileZilla3 
./autogen.sh
mkdir compile
cd compile
../configure --prefix=/opt/FileZilla3
make
strip src/interface/.libs/filezilla.exe
strip src/putty/.libs/fzsftp.exe
strip src/putty/.libs/fzputtygen.exe

cat COPYING | iconv -f utf-8 -t utf-16 > COPYING~
mv COPYING~ COPYING




컴파일 완료후에
NSIS 로 배포파일 만들기
compile/data  폴더에  install.nsi  를 오른쪽마우스로 클릭하면 아래처럼.


배포파일을 만들면 된다.



빌드한 파일.
다운로드 :

FileZilla_3_encoding-setup.zip


실행 방법은

filezilla -e UTF-8 ftp://ftp.daum.net
filezilla -e EUC-KR ftp://ftp.daum.net


등으로 하면 된다.

잠깐 테스트 해봤는데, 별 이상없다.
좀더 테스트 해보고, 소스 patch 파일만 따로 올릴예정.
파일질라 개발팀에도 보낼예정인데, 어찌될지.


수정된 파일 (3.2.6.1 기준)

filezilla_encoding_changed.zip


패치파일 :

filezilla.encoding.patch





WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

트랙백  0 , 댓글  3개가 달렸습니다.
  1. 잊혀진 2014.12.10 19:36
    좋은 글 잘 보고 갑니다.
    요즘 파일질라를 변경할 일이 생겨서 공식 홈페이지의 빌드 방법을 보면서
    윈도우 환경에서도 빌드해보고, 우분투에서도 빌드해보고 있는데
    저는 이상하게 잘 되지 않네요. 몇 일째 삽질중입니다. ^^;
    이런 상황에 이 블로그를 보니 참 부럽기만 합니다 ㅎㅎㅎ
    혹시 빌드하는 환경 구성에 대해 조언을 구할 수 있을까요?
    뭔가..한번만 잘 만들어 놓으면 될 것 같은데...쉽지가 않네요 ㅎ
  2. 잊혀진 2014.12.11 10:32
    저도 성공했네요~
    삽질 3일만에 간신히 성공했네요!
    블로그에서 많은 도움 얻어 갑니다! 감사해요~
secret
파일질라 는 FTP 어플로 아주 유용하게 쓰고 있다.

그런데, 파일질라의 몇가지 수정사항을 적용하려 빌드하는 방법을 찾아보고 있다.
http://wiki.filezilla-project.org/Compiling_FileZilla_3_under_Windows

한동안 위 문서를 가지고 놀아야 겠다.

아! 왜 파일질라를 빌드하나?
파일질라의 실행옵션이 아주 기본적인것만 있어서, 추가할 수 있나 알아보고 있다.
예를 들어 filezilla ftp://userid:userpw@ftp.mydomain.com  이런식으로 접속할 수 있다.
그런데 접속을 하면 charset 이 utf-8 으로 설정된다. 그러다 보니 한글이 깨져보이곤 한다.
아! 물론 서버측이 utf-8 로 설정되어 있으면 괜찮은데, euc-kr 환경이면 그런현상이 발생한다.

그래서 접속시에 filezilla ftp://userid:userpw@ftp.mydomain.com --charset=euc-kr  이런식으로 옵션을 바꾸어 접속하면 좋을 듯 해서 알아보고 있다.

위키문서를 따라서 빌드,컴파일,패키징 을 해본다.

1. mingw , msys
  GNU unix 시스템을 윈도우에서 사용할 수 있다. (음 상당히 좋은데.)
  빌드 시스템을 만드는데, 꽤 시간이 걸린다.(한번 만들어 놓으면 계속 쓸 수 있겠지)

  msys 를 띄우면 아래와 같은 화면이다(노란바탕)
  빌드시스템은 바로 저 msys 에서 명령을 내리게 된다.

2. wxWidget
  윈도우 위젯 wrapper 라고 봐야 하나? wxWidget 의 성능이 괜찮은가?
  윈도우 어플을 하나 만들어야 하는데, 이놈을 사용해 볼까?

3. nsis
  인스톨러, 예전 winamp(nullsoft) 의 인스톨러를 오픈소스화 한 것으로 알고 있다.

4. Filezilla 3
소스를 svn 으로 checkout 한다.
svn 을 따로 깔기 뭐해서, 깔려있는 시스템에서 checkout 하고 옮겨오는 명령.
tar cvzf FileZilla3.tgz --exclude=.svn FileZilla3/
tar cvzf FileZilla3.tgz FileZilla3/ --exclude=.svn
파일질라 컴파일.

5. 마무리 패키징
컴파일후, nsis 로 패키지를 만든다.

모두 자동 스크립트를 만들어 놔서, configure , make , make install  등의 명령으로 끝난다.


일단 여기까지 테스트 해보고, 소스를 살펴봐야 겠다.
관련 옵션 처리가 쉽게 되어 있으면 좋겠는데, 가능은 하겠지?


추가 : kdevelop 으로 소스를 살펴보고 있다. kdevelop 괜찮군.



WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

트랙백  0 , 댓글  2개가 달렸습니다.
  1. SF에서 가끔 마음에 드는 프로그램이 있어서 제가 빌드해서 사용하고 싶은데..
    하는 방법 몰라서 삽질 많이 했는데..
    이렇게 하면 되는거군요..
    • 프로그램마다 개발환경이 다를 듯 하네요.
      빌드 방법도 잘 찾아보시면 있을 거예요.
secret
filezilla 3.x 버전을 쓰고 있다.

근데, 이놈이 이상하다.
FTP 서버시간을 마음대로 설정(해석?)해버리고, 문자셋도 자기 맘대로 설정한다.

filezilla 2.x 버전은 이상이 없었다.

vsftpd 의 use_localtime=YES  옵션을 무시(?)해 버린다.
직접 이렇게 GMT-9 로 맞춰줘야 한다.(왜그러니?)

서버 ftp 문자셋이 euc-kr 인데도 맘대로 utf-8 로 설정해버리고.
그냥 서버설정대로 해주면 안되나?

뭐야!  불편해.

다른 놈을 찾아볼때가 되었나?
filezilla 의 문제인가? vsftpd 의 문제인가?

3.x 버전부터 바뀐 듯 한데, utf-8 을 지원하는 FTP 서버는 utf-8 로 설정된다.
그래서 euc-kr 을 쓰는 서버는 바뀔 수가 있다.(vsftpd 가 utf-8 을 지원한다)
이건 추후 euc-kr 을 utf-8 로 바꾸면 된다지만, timezone offset 이라는 것이 좀 골치다.

전체 기본설정이라도 있으면 좋겠는데, 그게 없어서 개별적으로 설정해야 한다.



WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

트랙백  0 , 댓글  1개가 달렸습니다.
  1. 저도 3.대 쓰는데 구글메일에서 이상한 현상이 발생 하더군요
    쿠키 지우고 원래 대로 돌아 오긴 했는데 버그 인거 같습니다.
secret