설치후 하는 일들 (작성중)

1. lenny(testing)으로 판올림

by 모기향 | 2008/05/13 19:33 | 데비안과 친해지기 | 트랙백 | 덧글(0)

engdic 설치후 euc-kr을 utf8로 변환

engdic-0.1-6.noarch.rpm

1. alien 설치
    apt-get install alien
2. engdic RPM을 DEB로 변환
    alien engdic-0.1-6-noarch.rpm환
3. 변환된 파일 설치
    dpgk -i degdic-0.1-6-noarch.deb
4. 설치된 파일 확인
    dpkg -L engdic
5. 데이터가 있을 것으로 예상되는 디렉토리로 이동
    cd /usr/share/engdic
6. 데이터 파일 내용 확인
    zcat a.dic.gz
7. gzip로 압축 풀기
    find . -name "*.gz" -exec gzip -d {} \;
8. iconv로 변환하기 전에 기본 파일명에서 확장자 변경
    rename 's/\.dic$//' *.dic
9. iconv로 변환
    find . -name "[a-z]" -exec iconv -c -feuckr -tutf8 -o{}.dic {} \;
10. 변환된 내용 확인
    cat a.dic
11. 다시 gzip으로 압축
    find . -name "*.dic" -exec gzip -9 {} \;
12. 기존 데이터 보관을 위한 준비
    ls [a-z] > list.txt && tar cvvf euckr-dic-data.tar
13. 기존 데이터 압축
    find . -name "[a-z]" -exec tar rf euckr-dic-data.tar {} \;
14. 압축된 것을 제외한 기존 데이터 삭제
    find . -name "[a-z]" -exec rm -rf {} \;




by 모기향 | 2008/05/13 19:31 | 데비안과 친해지기 | 트랙백 | 덧글(0)

Tips #3 Bootsplash on Debian

Bootsplash on Debian Etch Howto

참고사항 1

Color\Resolution640*480800*6001024*7681280*10241600*1200
256769773775777796
32K784787790793797
65K785788791794798
16.7M786789792795799

by 모기향 | 2008/05/13 00:19 | 데비안과 친해지기 | 트랙백 | 덧글(0)

3시간의 삽질 끝에 남은것들

a2???? 명령들.

a2ensite
/etc/apache2/sites-available에 있는 사이트 설정파일중에 주어진 이름과 일치하는 파일을 찾아 /etc/apache2/sites-enabled로 이동시킨다.

a2dissite
위와 반대의 작동

a2enmod
a2ensite와 비슷한한 동작을 mods-available, mods-enabled에서 수행한다.

a2dismod
위와 반대의 동작

직접 cp를 통해서 해주어도 되는것이긴 하지만... 역시나 게으른 자가 세상을 발전시킨다.

htpasswd, .htpasswd, .htaccess
예전에 구입했던 Potato CD (어쩔수 없다고 말했지 않았던가. 같은 맥락에서 책장에 아직도 당당하게 있는 Power Linux, Hancom Linux, Mizi Linux의 정식 발매 씨디들을 보자...뭐 어찌 되었든...)로 설치하고 아파치를 구동시켰을때 찾아보던 문서에서 보긴 했지만 필요성을 못느껴서 자세히 보지 않았던 내용들이었다. 하지만 막상 집에 서버를 만들어 볼려고 하니 꼭 필요한 내용이더라.

기본적으로 지원하는 인증에 관한 내용을 디렉토리 별로 인증이 가능하다는 점과 편하는 점에서 좋다. 하지만 보안에 취약할수도 있다는 이야기도 많이 보인다.

간단하게 정리만 해보자면

.htaccess : 해당 디렉토리에 생성할때는 이 이름이어야 한다. 아파치 설정에서 다른 이름으로 바꾸는 것도 보안을 위한 한가지 방법이라고도 한다. Site설정으로 대체해도 된다.

.htpasswd : 해당 디렉토리에 생성할때는 이 이름이어야 한다. 위와 같은 이유로 아파치 설정에서 바꾸는 것도 좋다. 이것은 .htaccess나 Site 설정에서 AuthUserFile혹은 AuthGroupFile에서 사용된다.

htpasswd : .htpasswd 파일을 생성할대 사용한다. 처음 생성시에는 -c 옵션으로 파일을 생성한다. 기본적으로 암호화 되면 다른 옵션을 통해서 일반 텍스트나 MD5 등등으로 변경 가능하다. 생성후 사용자 추가시에는 옵션없이
htpasswd 파일명 사용자
의 형태로 추가가 가능하다 삭제는 직접 파일을 편집하거나 삭제 옵션으로도 가능하다.

Usage:
        htpasswd [-cmdpsD] passwordfile username
        htpasswd -b[cmdpsD] passwordfile username password

        htpasswd -n[mdps] username
        htpasswd -nb[mdps] username password
 -c  Create a new file.
 -n  Don't update file; display results on stdout.
 -m  Force MD5 encryption of the password.
 -d  Force CRYPT encryption of the password (default).
 -p  Do not encrypt the password (plaintext).
 -s  Force SHA encryption of the password.
 -b  Use the password from the command line rather than prompting for it.
 -D  Delete the specified user.
On Windows, NetWare and TPF systems the '-m' flag is used by default.
On all other systems, the '-p' flag will probably not work.

대략의 사용방법은 위와 같다.

-p와 -b 옵션은 보안상의 이유로 사용시 주의가 필요하다고 한다.

Subversion : 왜 예전에 회사에서 일할때는 이런것을 사용할 생각을 못했을까. 작은 회사라서 개발자라고 불리던 사람들은 다 해봐야 3명이었지만 수정하고 적절한 테스트 없이 서버에 올려 문제가 생긴적도 몇번 있었고 누가 수정했는지 주석을 잘 달지 않아서 고생한 적도 많았던걸 생각하면 좋다. 한편으로 드는 생각은 인간은 다 비슷한가 라는 생각도 든다.

* 매우 개인적인 생각이지만 암호화의 수준은 사이트의 중요도에 따라 달라져야 할듯 하다. 허드레한 것이 들어있는 창고에 비싼 자물쇠를 다는것이 어리석은 것처럼 말이다. 시스템의 자원은 한정되어 있다. 적당한 배분으로 자원의 낭비를 막는 습관을 들여야 할듯 하다.

* 20대 중반쯤에 멋모르고 웹프로그래머로 취직해서 직장에 다닌적이 있었다. 지금 생각해도 부끄럽다. 아는것도 없는데 단지 리눅스 명령어 몇개 알고 Apache, PHP 그리고 SQL 아주 조금 한다고 취직이 되었었다. 신기하다. 요즘은 그정도 하는 사람은 산더미 처럼 많은데 왜 취직이 되었을까? 그때 집에도 안가고 몇일씩 사무실에서 코딩했던 것들이 지금와서 조금 도움이 되긴 하지만 여전히 챙피한건 챙피한거다.

* 블로그라는것 자세한 정의나 기본적인 지침(그런게 있는지는 모르겠다.) 따위는 잘 모르지만 무언가 주저리 주저리 하고 싶을때 정말 좋다. 인간이란 원래 주저리 주저리 하면서 생각도 정리하고 방향도 설정하고 하는게 아닌가. 아무 쓸모없어 보이는 수다라도 말이다.







by 모기향 | 2008/05/09 23:57 | 데비안과 친해지기 | 트랙백 | 덧글(0)

Tip Page #2

설정을 바꾼후에 의도하지 않은 작동을 한다면 /var/log 를 철저하게 뒤적거려 보자.

Subversion을 Apache2와 연동하기 위해서 아래와 같은 내용을 추가했다.

<Location /svn/hsp>
    DAV svn
    SVNPath /home/svn/hsp
    AuthName "Home Server Project Repository"
    AuthType Basic
    AuthUserFile /etc/apache2/misc-conf/svn
    Require vaild-user
</Location>

# htpasswd -c /etc/apache2/misc-conf/svn [username]
# /etc/init.d/apache2 reload

원하던 결과는 http://creep.homeip.net/svn/hsp로 접근하면 인증확인 창이 나오고 설정된 사용자로 로그인 하는 것이었다.

실행결과는 의도와는 다르게 로그인 창이 계속 나타났다.

3번 인증에 실패하면 인증실패 메세지가 나와야 하는데 그것마저도 안나온다.

왜일까..

한참 구글을 통해서 알아보다가 다시한번 로그인을 시도하던중 취소를 누르고 나오는 메제시를 보았다.

error.log파일에서 자세한 이유를 알아보라는 내용의 메세지 였다.

흠..

왜 그생각을 안했지.

일단 모르면 용감하다고 vim으로 살펴보려다가 바람직한 방식이 아닌듯 했다

그래서 less를 사용하려다가 어디선가 들어본 기억에

# tail /var/log/apache2/error.log

좋군. 게으른 자가 세상을 발전시킨다.!! 인가..

덤으로 이런것도 해보았다.

# man tail

그런거였군.

그래서 터미널을 열고 아래와 같이 입력후 의도되지 않은 상황이 지속되고 있는 페이지로 이동 다시 로그인 시작

# tail -f /var/log/apache2/error.log

결과적으로 로그인을 시도할때마다 다음 메세지가 출력 되는것을 발견.

[Fri May 09 22:00:53 2008] [error] [client 192.168.0.1] access to /svn/hsp failed, reason: require directives present and no Authoritative handler.

앞뒤 분간 못하는 영어실력으로 해석 시작

Require시지사가 있지만 인증을 위한 핸들러가 없다는 메세지인듯...;; (영어 공부좀 해야 하는데)

흠..

괜시리 애꿏은 htpasswd에 대한 문서만 보고 있었군. (뭐 덕분에 htpasswd에 대한 여러가지 정보가 생기긴 했다. 그전까진 이게 뭘까 궁금해 하기만 하고 신경은 안썼던 터라 나름 상당히 유용한 것이라는 것을 알아버림.)

이상하다. 분명히 Location 설정에서 Require지시자에 적합한 값을 적어준걸로 기억하는데 왜 인증을 위한 핸들러가 지정되지 않았다고 할까.?

다시 보자


<Location /svn/hsp>
    DAV svn
    SVNPath /home/svn/hsp
    AuthName "Home Server Project Repository"
    AuthType Basic
    AuthUserFile /etc/apache2/misc-conf/svn
    Require vaild-user
</Location>

다시 봐도 분명히 Require뒤에 vaild-user라고 적지 않았던....후....

vaild-user .... .... ....

후 진짜...영어공부를 다시 하던가 타이핑을 다시 연습하던가..;;

valid-user로 수정 & 저장 그리고 아파치 재시작...

다시 로그인 시도... 어... 잘 되네..

그럼 이제 본래의 목적대로 svn으로 테스트...

$ svn co http://creep.homeip.net/svn/hsp hps

체크아웃된 리비전 0

후...

두서없이 쓴 내용을 보자면

설정을 고쳤으면 철저하게 다시 보자.
모든 답은 로그파일 안에 있다.
설정을 검사해주는 도구가 있는 프로그램이라면 적극 활용하자.

by 모기향 | 2008/05/09 23:31 | 데비안과 친해지기 | 트랙백 | 덧글(0)

◀ 이전 페이지다음 페이지 ▶