블로그 이미지
Flying Mr.Cheon youGom

Recent Comment»

Recent Post»

Recent Trackback»

« 2025/5 »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

 
 

자기계발 추천해준 서적.

| 2013. 3. 26. 10:33 | Posted by youGom

Delivering Happiness: A Path to Profits, Passion, and Purpose

http://www.amazon.com/Delivering-Happiness-Profits-Passion-Purpose/dp/0446576220/ref=sr_1_2?ie=UTF8&qid=1364261088&sr=8-2&keywords=zappos



어떻게 나를 최고로 만드는가 스스로를 탐나는 인재로 만드는 실리콘밸리 CEO들의 경력관리법

http://book.naver.com/bookdb/book_detail.nhn?bid=6975147




:

[책] 회사어로 말하라.

책/독서후정리 | 2012. 3. 12. 20:10 | Posted by youGom

 

김범준 저, 비지니스 북스 출판



긍정어

사소한 것에 주의하라.

리더( 관리자 ) 급으로 올라가면 태도가 바뀐다
 - 높은 자리에 오를수록 들어오는 정보의 차이가 달라지기 때문.
 - 사원일 경우는 담당 부분의 내용을 본다면, 관리자가 되면 전체 흐름에 대한 정보가 들어온다.

문자어로 하지 말고, 음성어로 한다.
 - 지각 했을 때, 윗사람부터 아랫사람까지 ( 한명에게 하지 말고 ) 모두에게 연락하라.
 - 불리할 수록 음성어를 사용한다. 감사하는 마음이나 중간보고는 문자 메시지가 효율적이다.
 - 최종보고는 음성어가 좋다. ( 문자어는 상사 입장에서 보고가 아닌 통보로 느껴진다. )
 
조심어
 - 직설적인 표현을 하자면 " 눈치 없이 쓸때 없는 말을 안한다는 것 "
 - 사적인 공간을 침해하는 말을 조심한다.
 - 타인의 뒷담화를 하지 않는다. ( 너무 일반적인.. ^^; )
 - 나에게 유익한 이야기도 아니고, 사실에 근거한 이야기가 아닌 추측성 담소는 피한다.

순차어
 - 직속상사를 건너띄고 보고하지 말라.
 - 윗 상사가 정보를 모르고 있는 상황이라도 건너뛰고 바로 보고 하지 말라.
 - 톨 포피 신드롬 ( tall poppy syndrome ), 키 큰 양귀비 증후군으로 불린다. 유독 키가 큰 양귀비는 제 아무리 빼어나게 예뻐도 목이 잘린다는 뜻이다.
 - 자신감은 '잘 할 수 있다'라는 것이고, 오만은 '남보다 잘났다'고 생각하는 것이다.
 - 상사에게 공을 돌려라, 본인의 모든공으로 돌리지 말고, 1%라도 상사의 도움이 있었다면 상사에게 공을 돌리는 것이 더 윗 상사가 바라봤을때, 신뢰가 간다.

정치어
 - 누가 아부가 나쁘다고 했는가? 순진한 양은 먹잇감을 뺏기고 만다.
 - 호랑이 굴로 들어가라. 원하는게 있다면, 상사에게 제대로 어필하라. 가만히 있으면 아무것도 얻지 못한다.
 - 박지성의 인터뷰는 흠잡을 것이 없다. 항상 감독를 믿고 따른다.
 - 진정성 없이 정치적인 사람은 싫다. 진정성 없고 정치적이지 않은 사람은 더욱 싫다.
 - 친척의 팔촌까지 팔아서라도 반드시 경조사에 가라. 슬픈일엔 더욱 반드시 가라.

유희어
 - 정대세를 아는가? 탑 클래스에 속하는 실력이라도 팀웍이 없이는 무용지물이다. 팀원에게 먼저 다가가라.
 - 함께 먹는 커피값을 아까워 하지 마라. 정말 바쁘더라도 상사와 함께 하는 차 한잔이 무엇보다 중요하다.
 - 상사는 언제나 지갑을 열게 된다. 식사, 주류, 이동 등. 적어도 택시비는 솔선하여 내라. 감동받을 것이다.
 - 회식 자리에 가기 힘든날 보다, 갈 수 있는 날을 공지하라. 되도록이면 함께 하라.
 - 꾸지람을 한 상사가 마음 편할리 없다. 힘든 감정에 대한 표현인 것이다. 먼저가서 차나 소주 한잔 제안하라.
 - 아줌마 토크를 사용해라. 상대에 대한 관심을 긍정적인 표현으로 전달해라.

공감어
 - 회사에 고민과 불안을 함께 느끼고 해결하겠다고 말하라.
 - 겉으로만 "네 앞으로 잘하겠습니다."는 위험한 발언이다. 제대로 반성하고 근성있게 회사에 누를 끼친점에 대해 표현하라.
 - 문제점에 대해 어렵다는 말보다, 해결방안을 모색하고 회사에게 도움을 요청하라.

비전어 : 당신의 말에 회사의 비전을 가득 담아라.
 - 회사의 발전을 위한 미래 가치와 전망을 자신의 말 속에 녹여서 하는말
 - 회사의 비전은 중요하다. 본인의 업무목표보다. 집에서 가훈. 학교에서 교훈. 직장인은 회사의 비젼이다.
 - 상사는 회사의 비젼에 전면적으로 도움을 줄 수 있는 인재를 승진시킨다.
 - 당신의 정체성이 회사의 비전과 일치한다는 사실을 주변에 알리고 실천하라. 이를 통해 믿음과 신뢰가 완성된다.
 - 보고서에 회사의 비전을 녹여들게 하라. 본인의 업무가 회사전체의 일부분이지만, 매사에 비전을 실현시킬수 있도록 노력중인 것을 알리는 것이 중요하다.

저자의 블로그 :  http://blog.naver.com/ksppang  


 이 저자도 열정적으로 살아온 사람임을 느낀다.
 이 저자만큼 열정적이지는 못하겠지만, 나 또한 내가 옳다고 믿는 일에 곧게 뻗어 나간다.
 내 경우에 이 책에서 느끼고 배운것은 올바른 표현방식이다.
 첫째는 겸손함과 상대를 위한 배려를 녹여 상대에게 표현하는 것. 둘째는 큰 그림으로 볼줄 알아야 한다는 것.
 이 모든 것은 적극적으로 정치에 뛰어들어야 한다는 것이다. 본인만을 위한 정치가 아니라, 나로부터 나아가 모든 사람들에게 이로울 진정성 있는 정치라면 어느 누가 마다 하겠는가.

 이 시대의 정의란 무엇인가. 다수의 의견이다. 본인이 소수의 그룹에 속해 있다면, 다수가 있는 곳으로 가던가. 다수를 나의 사람으로 만드는 것이다. 선택은 본인의 몫이다.

 
 
:

xshell 한글 깨짐, ubuntu 한글 깨짐

보안/서버관리 | 2012. 1. 18. 23:26 | Posted by youGom

ubuntu 설정 문제인줄 알았다 ㅠ
터미널 문제 인줄 알았다 ㅠ

대체 문제가 뭘까?

결국 XShell 설정 문제였다.
화면에 보이는 인코딩 설정을 EUC-KR로 해보고, 글자체도 바꿔보았으나 계속 한글이 깨졌다. ( 아래 캡쳐에 X 표시해두었다. )
물론 우분투 언어 설정도 제대로 해주었다.

해결안은 아래 캡쳐 그림과 같이 파일-등록정보-터미널에서 출력변환 부분에서 유니코드( UTF-8 ) 변경해주는 것이었다.
변경 후에 재로그인을 필수다.
 



 
:

chmod, chown 파일/폴더 일괄 변경

보안/서버관리 | 2012. 1. 18. 23:15 | Posted by youGom

//파일만
#find ./ -type f -exec chmod -v 600 {} \;

 
//폴더만
#find ./ -type d -exec chmod -v 707 {} \;
 

//파일폴더전부
chmod -R 755 *

:

아파치 모듈중에서 유용한 모듈이 많이 있는데, 그 중에 한 가지가 rewrite 모듈이다.

의외로 설치하는 방법이 간단하다. 설치가 간단한 반면에 그 기능 활용을 많다고 생각이 든다.

정규식 표현을 알면 보다 쉽게 사용하니, 먼저 정규식표현을 잘 익혀두자. rewrite 모듈을 이용하면 장점이 하나의 도메인만 있으면 서브도메인을 생성하여 각기 다른 내용의 홈페이지를 운영할 수 있다는 것이다.

photo.tt.co.kr 또는 blog.tt.co.kr, shop.tt.co.kr, intra.tt.co.kr 식으로 말이다.

굳이 다른 도메인을 써야 할 이유가 없다면 홍보에도 도움이 되는 서브도메인을 이용한 홈페이지를 만들어서 운영해 보자.

국내에서는 유일하게 오늘과내일(http://tt.co.kr)에서 이 서비스를 도입하여 웹호스팅 서비스를 하고 있다.

 

웹서버에서 아파치를 컴파일하고, php도 다시 컴파일 해 준다.

제대로 모듈이 아파치에 적용되었는지 확인하고, 네임서버에서도 * 문자로 모든 2차 네임서버에 대해서 아이피 설정만 해 두면 된다.

자~ 쉽게 따라해 보자.

 

Apache rewrite Module

 

Apache 는 추가적으로 사용할 수 있는 유용한 모듈들을 제공합니다.

이번강좌에서는 Apache의 URL Rewrite 모듈을 사용하기 위한 컴파일,설치 와 httpd.conf의 설정방법 그리고 활용방법에 대해 알아보겠습니다.

 

Apache 다운로드 : http://www.apache.org

1. rewrite 모듈을 사용하기 위한 Apache 컴파일옵션

Rewrite 모듈을 쓰기위한 Apache 컴파일 옵션은 --enable-rewrite 입니다.

Configure 실행시에  --enable-rewrite 만 추가하시면 Apache에서 rewrite 모듈을 사용할 있게 됩니다.

[root@superuser root]# ./cofigure prefix=/usr/local/apache2 --enable-rewrite

[root@superuser root]# make

[root@superuser root]# make install

 

1. Rewrite 를 적용할 수 있는 범위

Rewrite 설정은 Server Config, Virtual Host, Directory, .htaccess 에 설정할 수 있습니다.

 Apache 서버 전체에 Global 설정과 특정 가상호스트에만 적용하도록 할수 있고 특정 디렉토리에만 적용시킬수도 있습니다.

 

2. Rewrite 모듈 지시자

RewriteEngine

설정문법 : RewriteEngine On|Off

Rewriteing 엔진을 사용할지 여부를 설정합니다. 기본설정은 당연히 Off로 되어 있으며 RewriteEngine On 으로 설정하지 않는 이상 Rewritng 엔진을 활성화 시키지 않습니다.

 

현재 Apache에서 실행중인 모든 RewriteRule을 비활성화 시킬 때 RewriteRule 라인을 주석처리 하기보다 RewriteEngin Off 로 설정하는 것이 더 간편하고 올바른방법입니다.

 

RewreteLog

설정문법 : RewriteLog FILE-PATH

RewriteLog 지시자는 Rewrite 엔진의 로그를 그록할 파일을 지정합니다.
RewriteLog 파일을 항상 남기기 보다 잘못된 Rewrite 규칙들을 디버킹할 때 사용하기를 권장합니다. 아파치와 마찬가지로 RewriteLog 파일도 방문자수가 많은사이트에서는 감당못할 정도의 로그파일을 남기기 때문에 시스템 여유공간이 많이 없는 시스템에서는 해당 파티션의 하드사용률 100%로 인한 재앙(?)을 불러올수도 있습니다. 다음강좌에서 소개될 로그파일 분석에서 언급하겠지만 로그파일은 유용한 디버깅 도구가 될수 있지만 잘못 관리하면 시스템의 치명적인 악으로 존재할수도 있습니다.

RewriteLog 지시자는 반드시 RewriteLogLevel 지시자와 함께 사용하여야 됩니다.

 

RewriteLogLevel

설정문법 : RewriteLogLevel Level

RewriteLogLevel 지시자는 RewriteLog 지시자로 설정한 로그파일에 기록할 로그들에 대해 얼마나 자세한 내용을 로그로 남길것인가에 대해 설정하는 지시자입니다.

기록할 로그 Level 은 0 ~ 9까지 사용할 수 있으며 0은 로그를 기록하지 않겠다는 의미입니다. Level 숫자가 높을수록 자세한 로그를 기록합니다

 

RewriteCond

설정문법 : RewriteCond TestStirng CondPattern

RewriteCond 지시자는 RewriteRule 과 함께 사용되는 규칙으로 RewriteCond 다음에 오는 RewriteRule은 RewrieteCond 에서 설정한 패턴과 일치해야지만 RewriteRule들을 실행한다.

 

RewriteRule

설정문법 : RewriteRule Pattern Substitution

Rewrite 모듈의 실질적인 Rewrite 규칙들을 적용하는 지시자입니다.

Pattern(Input URL) 을 Subtitution(Return URL)로 변경하기 위한 모든 규칙들은 이 지시자를 사용해서 설정해야 됩니다.

Pattern(Input URL) 에는 Perl 정규표현식을 사용할수 있기 때문에 Input URL 의 규칙을 유연하게 적용할 수 있습니다. 이 강좌에서는 기초적인 정규표현식 사용방법만 다루고 정규표현식에 대해 자세히 알고 싶으신 분은 정규표현식에 대한 강좌나 인터넷 문서를 참고하시기 바랍니다.

 

정규표현식 기초

. : 다수의 한문자

? : 0개 이상의 한문자

* : 0개 이상의 문자 또는 문자열

+ : 1개 이상의 문자 또는 문자열

(chars) : (, ) 안의 문자또는 문자열을 그룹으로 묶습니다. 이 문자그룹은 Substitution(return URL)에서 $N 의 변수로 활용할수 있습니니다.

^ : 문자열의 첫문(열)을 지정합니다.

: 문자열의 끝 문자(열)을 지정합니다.

\(역슬래쉬) : 정규표현식에서 특별한 의미로 사용되는 문자의 특수기능을 제거합니다.(예:(, ), [, ] . 등)

{n} : 정확히 n번 반복

{n,} : n번 이상 반복

{n,m} : n 이상 m 이하 반복

[chars] : 문자들의 범위 또는 표현할 수 있는 문자들을 설정합니다. 
예) [a-z] : a 부터 z 까지의 소문자, [tT] : 소문자 t 또는 대문자 T

 

정규표현식 단축표현들

[:alpha:] : 알파벳. [a-zA-Z] 와 같은 표현

[:alnum:] : 알파벳과 숫자. [a-zA-Z0-9] 와 같은 표현

[:digit:] : 숫자 [0-9] 와 같은 표현

[:upper:] : 대문자. [A-Z] 와 같은 표현

 

RewriteRule 플래그

forbidden|F : 요청하는 페이지를 403 에러로 redirect 시킵니다. RedirectRule 이 적용되고 있는 페이지를 일시적으로 사용중단을 시키거나 사용자로 하여금 페이지 접근을 할수 없게 할 때 사용합니다.

) RewriteRule ^/test /home/blog/html/test.php [F]

사용자가 /test 로 접근할 경우 403 에러를 보냅니다.

gone|G : 요청하는 페이지를 410 에러로 redirect 시킵니다. 410 에러는 페이지가 사라젔거나 존재하지 않는다는 메시지입니다. 이것도 forbidden 과 마찬가지로 RedirectRule 이 적용되던 페이지를 일시적으로 중단시킬 때 유용하게 사용할 수 있습니다.

last|L : 이 플래그가 적용되면 뒤에 어떤 룰이 있더라도 이룰 아래의 규칙들은 적용되지 않고 RewriteRule 을 빠져나가게 됩니다. C, Perl, PHP 프로그램에서 루프를 빠져나가는 break 와 같은 의미를 가집니다.

chain|C : 이 플래그의 결과를 다음 RewriteRule 의 input 값으로 사용합니다.
예)

RewriteRule ^(.+) %{HTTP_HOST}$1 [C]

RewriteRule ^([^.]+)\.domain\.com(.*) /home/$1/public_html$2

이 룰은 사용자 홈의 도메인을 2차 도메인으로 자동설정해 줄 때 많이 쓰는 룰입니다. RewriteRule의 input은 도메인을 제외한 URI 를 인식하기 때문에 도메인까지 인식을 시켜서 다음 RewriteRule 로 체크를 하기 위해 사용한 것입니다.

즉 http://user_id.domain.com/hello.html 이란 요청이 들어오면  /home/user_id/public_html/hello.html 로 redirect 시켜줍니다. 위와 같이 2차 도메인을 이용해 계정 사용자의 홈을 지정하기 위해서는 DNS 세팅이 선행되어야 됩니다.

 

RwriteRule 설정예

 

1. http://yourdomain.com/user_id  ->  http://yourdomain.com/home.php?id=user_id

 

RewriteRule ^/([a-zA-Z0-9])$   /home/user_id/public_html/home.php?id=$1

설명 : 도메인(http://yourdomain.com) 뒤에 오는 영문숫자로된 문자열을 지정하면서 그룹으로 묶었습니다. 이렇게 그룹으로 설정된 문자열 Pattern 은 Substitution(return URL) 에서 $1 이라는 변수로 받아 사용하게 됩니다. 즉 http://yourdomain.com/superuser 라는 페이지 요청이 들어오면 실제로는 http://yourdomain.com/home.php?id=superuser 라는 페이지로 redirect 시켜줍니다. 블로그나 카페(동호회) 사이트에서 블로그 사용자의 ID 로 개인 블로그 주소를 부여할 때 http://blog.com/user_id 로 부여해 주지만 실제 실행되는 파일은 이와 같이 redirect 시켜주는 경우가 많습니다.

 

2. http://yourdomain.com/daum  -> http://www.daum.net

RewriteRule ^/daum$  -> http://www.daum.net

설명 : http://yourdomain.com/daum 라는 페이지 요청이 들어오면 도메인이 다른 http://www.daum.net 이라는 페이지로 redirect 시켜줍니다.

 

 

RewriteOptions

설정문법 : RewriteOptions Options

현재 사용할 수 있는 option 은 MaxRedirects=number 를 사용할 수 있으며 설정된 number값에 도달하게 되면 500 Internal Server Error 를 남기고 RewriteRule을 종료합니다. 잘못된 RewriteRule에 의한 무한 루프를 방지하기 위한 목적으로 사용되는데 시스템이 이유없이 다운된다거나 할 때 이 옵션과 Log 기록을 참고하여 디버깅 및 시스템 다운을 방지할 수 있습니다.

이 지사자는 Apache 2.0.45 이상에서 사용할 수 있습니다.

 

3. 실제 적용예

가상호스트 blog.xxx.ac.kr 에 대해 Rewrite Rule을 적용한 예입니다. 이 부분은 실제 운영되는 블로그 사이트를 위해 RewriteRule 을 적용한 예입니다.

DocumentRoot /home/blog/html

ServerName blog.xxx.ac.kr

# 여기까지는 일반적인 가상호스트 설정입니다.

RewriteEngine on

# RewriteRule을 사용하기 위해 On 으로 설정합니다.

 

RewriteLog /home/blog/rewrite_log_admin3.log

RewriteLogLevel 9

# Rewrite 실행중 Log를 남기기 위해 로그파일과 로그레벨을 지정했습니다.

 

RewriteRule ^/tb/([a-zA-Z0-9]+)/([0-9]+)$ /home/blog/html/blog/trackback\.php\?id=$1&post_no=$2

# 위설정은 블로그에 등록된 포스트의 트랙백 주소를 부여하기 위해 설정한 RewriteRule 로써 Pattern에 두개의 그룹이 존재하고 return URL에 순서대로 각 그룹을 $1 과 $2 로 받아 GET 변수로 치환한것입니다.

 

RewriteRule ^/xml/([a-zA-Z0-9]+)$ /home/blog/html/blog/rss_feed\.php\?id=$1

# 각블로그별 RSS 주소를 실제 파일로 지정한것입니다.

 

RewriteCond %{REQUEST_URI}     !^/admin$

RewriteRule ^/([a-zA-Z0-9]+)$ /home/blog/html/blog/main\.php?id=$1

# 먼저 RewriteCond 로 실제 존재하는 admin 이라는 디렉토리를 이어지는 RewriteRule에서 제외시키고 http://domain.com/user_id 로의 요청을 모두 /home/blog/html/blog/main.php?id=user_id로 redirect 시키는 룰입니다.

 

RewriteRule ^/([a-zA-Z0-9]+)/([0-9]+)$ /home/blog/html/blog/main\.php\?id=$1&post_no=$2

# /user_id/1345 로 요청하는 페이지를 /home/blog/html/blog/main.php?id=user_id&post_no=1345 로 redirect 시키는 룰입니다.

 

 

4. 마치면서

위에서 언급한 RewriteRule 뿐만 아니라 여러가지 상황에서 RewriteRule을 잘 활용한다면 아주 유용하게 웹페이지를 컨트롤 할수 있습니다. RewriteRule 을 세팅하기 이전에 반드시 정규표헌식에 대해 어느정도 공부한후 적용해 보실 것을 권합니다.

<!-- 테러 태그 방지용 -->
:

/etc/skel 디렉토리 속에 public_html 디렉토리를 만들어 놓은 후에 사용자를 생성하면 됩니다.

/etc/skel 디렉토리 속의 내용을 새로생성되는 사용자의 홈디렉토리 속에 copy하는 것이 adduser 명령어가 하는 일 중의 하나입니다. 그렇기 때문에 adduser 명령으로 사용자를 추가하기 전에 /etc/skel/public_html 을 만들어 놓으면 adduser 명령으로 사용자를 추가할 때마다 사용자의 홈디렉토리에 public_html 디렉토리가 생성됩니다.

index 화일을 미리 만들어 /etc/skel/public_html/ 속에 넣어두고 사용자를 생성하면 index 페이지도 사용자 홈디렉토리 밑의 public_html 에 복사되겠지요?

 

:

Apache, Alias, Mod_alias 문서

보안/서버관리 | 2012. 1. 11. 10:54 | Posted by youGom

이 문서는 최신판 번역이 아닙니다. 최근에 변경된 내용은 영어 문서를 참고하세요.
설명: 파일시스템의 다른 부분들을 문서 계층구조에 포함하고, URL 리다이렉션을 제공한다
상태: Base
모듈명: alias_module
소스파일: mod_alias.c

요약

이 모듈이 제공하는 지시어들을 사용하여 서버가 요청을 받을때 URL을 수정하거나 조작할 수 있다. AliasScriptAlias 지시어는 URL을 파일시스템 경로로 대응한다. 그래서 DocumentRoot 아래에 없는 내용을 웹으로 서비스할 수 있다. 또, ScriptAlias 지시어는 지정한 디렉토리에 CGI 스크립트밖에 없다고 알린다.

Redirect 지시어는 클라이언트에게 다른 URL로 새로운 요청을 하도록 지시한다. 자원을 새로운 장소로 옮긴 경우 자주 사용한다.

mod_alias는 간단한 URL 조작을 위해 설계되었다. 질의문자열 조작과 같은 복잡한 작업은 mod_rewrite가 제공하는 기능을 이용하라.

top

처리 순서

서로 다른 사용장소에서 Alias와 Redirect를 사용하면 다른 지시어와 같이 표준 결합 방법에 따라 처리한다. 그러나 같은 사용장소에 (예를 들어, 같은 <VirtualHost> 섹션에) Alias와 Redirect를 사용하면 아래 순서대로 처리한다.

먼저 모든 Redirect를 처리한 후 Alias를 처리한다. 그래서 Redirect RedirectMatch에 해당하는 요청은 절대로 Alias하지 않는다. 그리고 Alias와 Redirect는 설정파일에서 첫번째로 나오는 것을 사용한다.

그래서 여러 지시어가 동일한 하위경로에 해당하는 경우 모든 지시어를 적용하기위해서는 가장 상세한 경로를 먼저 사용해야 한다. 예를 들어, 다음 설정은 의도한대로 동작한다:

Alias /foo/bar /baz
Alias /foo /gaq

그러나 위의 두 지시어 순서를 바꾸면 /foo/bar Alias 이전에 /foo Alias를 적용하므로 항상 두번째 지시어를 무시한다.

top

Alias 지시어

설명: URL을 특정 파일시스템 장소로 대응한다
문법: Alias URL-path file-path|directory-path
사용장소: 주서버설정, 가상호스트
상태: Base
모듈: mod_alias

Alias 지시어를 사용하면 파일시스템에서 DocumentRoot 밖에 있는 문서도 서비스할 수 있다. url-path로 시작하는 (%로 인코딩된) URL을 directory-path로 시작하는 파일에 대응한다.

예제:

Alias /image /ftp/pub/image

http://myserver/image/foo.gif를 요청하면 서버는 /ftp/pub/image/foo.gif 파일을 넘겨준다.

url-path 끝에 /를 포함하면, URL 끝에 /를 사용해야만 영향이 있음을 주의하라. 즉, Alias /icons/ /usr/local/apache/icons/ 설정은 url /icons와 관계가 없다.

대응의 대상을 포함하는 여러 <Directory> 섹션이 필요할지도 모른다. 이 지시어는 <Directory> 섹션을 검사하기 전에 처리하므로, 대응의 대상만 섹션의 영향을 받는다. (그러나 <Location> 섹션은 이 지시어를 처리하기 전에 한번만 검사하므로 지정한 URL 이하 전체에 영향을 준다.)

특히 DocumentRoot 밖에 있는 디렉토리로 Alias를 만들었다면, 직접 대상 디렉토리의 접근을 허용해줘야 한다.

예제:

Alias /image /ftp/pub/image
<Directory /ftp/pub/image>
Order allow,deny
Allow from all
</Directory>

top

AliasMatch 지시어

설명: 정규표현식을 사용하여 URL을 파일시스템 장소로 대응한다
문법: AliasMatch regex file-path|directory-path
사용장소: 주서버설정, 가상호스트
상태: Base
모듈: mod_alias

이 지시어는 Alias와 같지만, 간단히 URL의 앞부분만 비교하는 대신 표준 정규표현식을 사용한다. 지정한 정규표현식을 URL 경로와 비교하여 맞다면, 서버는 괄호로 묶은 부분을 대체하여 파일명으로 사용한다. 예를 들어, 다음과 같이 /icons 디렉토리를 사용할 수 있다:

AliasMatch ^/icons(.*) /usr/local/apache/icons$1

top

Redirect 지시어

설명: 클라이언트가 다른 URL에 접속하도록 요청하는 외부 리다이렉션을 보낸다
문법: Redirect [status] URL-path URL
사용장소: 주서버설정, 가상호스트, directory, .htaccess
Override 옵션: FileInfo
상태: Base
모듈: mod_alias

Redirect 지시어는 이전 URL을 새로운 URL로 대응한다. 클라이언트에게 새로운 URL을 보내고, 클라이언트는 새로운 주소로 다시 한번 접속한다. (%로 인코딩된) URL-path로 시작하는 요청을 받으면 (%로 인코딩된)URL로 시작하는 새로운 URL로 리다이렉션 오류를 보낸다.

예제:

Redirect /service http://foo2.bar.com/service

클라이언트가 http://myserver/service/foo.txt를 요청하면 대신 http://foo2.bar.com/service/foo.txt에 접근하라는 응답을 받는다.

주의

Redirect 지시어는 설정파일에서 나오는 순서와 관계없이 Alias와 ScriptAlias 지시어보다 우선순위가 높다. 또, .htaccess 파일이나 <Directory> 섹션에서 사용하더라도 URL-path에는 상대경로가 아니라 반드시 완전한 URL을 사용해야 한다.

status 아규먼트를 지정하지않으면, "임시 (temporary)" (HTTP 상태 302) 리다이렉션을 보낸다. 즉, 클라이언트에게 자원을 임시로 옮겼다고 알린다. status 아규먼트를 사용하여 다른 HTTP 상태코드를 반환할 수 있다:

permanent
자원을 완전히 옮겼음을 뜻하는 영구 리다이렉션 상태를 (301) 반환한다.
temp
임시 리다이렉션 상태를 (302) 반환한다. 기본값이다.
seeother
자원이 교체되었음을 뜻하는 "참조 (See Other)" 상태를 (303) 반환한다.
gone
자원이 영구히 삭제되었음을 뜻하는 "소멸 (Gone)" 상태를 (410) 반환한다. 이 상태를 사용하면 URL 아규먼트를 사용할 수 없다.

status에 숫자 상태코드를 사용하여 다른 상태코드도 반환할 수 있다. 상태가 300과 399 사이라면 URL 아규먼트를 사용해야 하고, 아니라면 생략해야 한다. 단, 아파치 코드에 상태가 정의되있어야 한다 (http_protocol.c의send_error_response 함수 참고).

예제:

Redirect permanent /one http://example.com/two
Redirect 303 /three http://example.com/other

top

RedirectMatch 지시어

설명: 현재 URL이 정규표현식에 해당하면 외부 리다이렉션을 보낸다
문법: RedirectMatch [status] regex URL
사용장소: 주서버설정, 가상호스트, directory, .htaccess
Override 옵션: FileInfo
상태: Base
모듈: mod_alias

이 지시어는 Redirect와 같지만, 간단히 URL의 앞부분만 비교하는 대신 표준 정규표현식을 사용한다. 지정한 정규표현식을 URL 경로와 비교하여 맞다면, 서버는 괄호로 묶은 부분을 대체하여 파일명으로 사용한다. 예를 들어, 다음은 모든 GIF 파일 요청에 대해 다른 서버의 비슷한 이름을 가진 JPEG 파일로 리다이렉션을 보낸다:

RedirectMatch (.*)\.gif$ http://www.anotherserver.com$1.jpg

top

RedirectPermanent 지시어

설명: 클라이언트가 다른 URL에 접속하도록 요청하는 외부 영구 리다이렉션을 보낸다
문법: RedirectPermanent URL-path URL
사용장소: 주서버설정, 가상호스트, directory, .htaccess
Override 옵션: FileInfo
상태: Base
모듈: mod_alias

이 지시어는 클라이언트에게 리다이렉션이 영구적임을 (상태 301) 알린다. Redirect permanent와 정확히 같다.

top

RedirectTemp 지시어

설명: 클라이언트가 다른 URL에 접속하도록 요청하는 외부 임시 리다이렉션을 보낸다
문법: RedirectTemp URL-path URL
사용장소: 주서버설정, 가상호스트, directory, .htaccess
Override 옵션: FileInfo
상태: Base
모듈: mod_alias

이 지시어는 클라이언트에게 리다이렉션이 임시적임을 (상태 302) 알린다. Redirect temp와 정확히 같다.

top

ScriptAlias 지시어

설명: URL을 특정 파일시스템 장소로 대응하고 대상이 CGI 스크립트라고 알린다
문법: ScriptAlias URL-path file-path|directory-path
사용장소: 주서버설정, 가상호스트
상태: Base
모듈: mod_alias

ScriptAlias 지시어는 Alias 지시어와 비슷하지만, 추가로 대상 디렉토리에 mod_cgi의 cgi-script 핸들러가 처리할 CGI 스크립트가 있다고 알린다. URL-path로 시작하는 (%로 인코딩된) URL을 파일시스템의 절대경로인 두번째 아규먼트로 시작하는 스크립트에 대응한다.

예제:

ScriptAlias /cgi-bin/ /web/cgi-bin/

http://myserver/cgi-bin/foo를 요청하면 서버는 /web/cgi-bin/foo 스크립트를 실행한다.

top

ScriptAliasMatch 지시어

설명: 정규표현식을 사용하여 URL을 특정 파일시스템 장소로 대응하고 대상이 CGI 스크립트라고 알린다
문법: ScriptAliasMatch regex file-path|directory-path
사용장소: 주서버설정, 가상호스트
상태: Base
모듈: mod_alias

이 지시어는 ScriptAlias와 같지만, 간단히 URL의 앞부분만 비교하는 대신 표준 정규표현식을 사용한다. 지정한 정규표현식을 URL 경로와 비교하여 맞다면, 서버는 괄호로 묶은 부분을 대체하여 파일명으로 사용한다. 예를 들어, 다음과 같이 표준적인 /cgi-bin을 사용할 수 있다:

ScriptAliasMatch ^/cgi-bin(.*) /usr/local/apache/cgi-bin$1





출처 : http://httpd.apache.org/docs/2.1/mod/mod_alias.html
:

사이트 옮기기

보안/서버관리 | 2012. 1. 9. 01:12 | Posted by youGom

준비중이던 사이트를 옮겼다.

생각보다 빡세네 -_-;;
한... 다섯시간 걸린듯 ㅋㅋㅋㅋ

대충 적으면.. 아래와 같다..
1. 도메인 설정
2. 서버 절대 경로 설정
3. 설정 파일 수정
4. 서버 재가동
5. 데이터 동기화

실제로 해보면.. 해야할게 여간 많네..
1. 새로 사용할 도메인을 구입한다.
2. 네임서버를 연결 및 등록한다.
 * 내 경우는 직접 서버를 운영하니깐.. 아래와 같이 할일이 많았다.
 * 여기 링크 대로 네임서비스와 아파치 경로를 수정 해주고, 재가동한다.
 - 우분투 Bind9 설치 / 네임서버 설정
 - IP공유기, DNSEVER, DDNS, NS(NAMESERVER), XE
3. 내 경우에는 한 서버에 여러 도메인을 사용했더니, 독특한 에러들이 발생한다.
 * 내가 발생한 에러들은 아래 링크대로 해결했다. 이 에러 해결하느라 시간 다보낸듯 ㅠ
 - perhaps you need a NameVirtualHost directive 
 - httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
 4. 이제 도메인 연결이 경고나 에러없이 잘되었더니..
    경로 설정이 공유가 되어 버린다.  abc.com이 기존 xyz.com에 접근한다 -0-;;;이런! ㅋㅋ
 5. 그래서 mod_rewrite의 설치 및 설정 해 주었더니, 이제 잘 적용한다.
  - 내 경우는 /etc/apache2/site-available/configfile에 요래 설정했다.
<VirtualHost ...>
...
RewriteEngine On
RewriteRule ^/(.*)$ /$1
...
</VirtualHost>    


 6. 그리고, 기존에 설치 했던 웹 페이지를 설치 했다.
  - 이번꺼는 그누보드 사용했다. 사이트 파일 복사하니까.. install 지우고 하라고 하면서 이상하길래.. 그냥.. 빌더 프로젝트 새로 설치해서 한뒤 DB 복사 해줘버렸다 ^^;;
 7. 마지막으로 데이터 DB를 복사해주었다.
 - db dump 및 복사 
 8. 사이트에 들어가 있던, 첨부 파일들은 따로 복사해 주어야 한다. 확인 결과, DB복사 해도, 첨부파일은 따로 저장되는 것 같았다.
:

Vi/Vim 단축키 모음

보안/서버관리 | 2011. 11. 9. 13:37 | Posted by youGom

http://www.viemu.com/ 에서 제공하는 vi/vim 단축키 모음(Graphical vi-vim Cheat Sheet and Tutorial)을 한글로 번역하였습니다.

제가 정리하긴 했지만, 실제 번역은 우분투 한국어 커뮤니티 분들이 해주셨습니다.
제 스스로가 vi/vim 을 잘 알지 못해 잘못된 부분이 꽤 있으리라 생각됩니다. 알려주시면 감사하겠습니다. 물론 직접 수정하셔도 됩니다. SVG 파일을 첨부합니다. Inkscape 를 이용해 작업하였고, 글꼴은 은그래픽을 사용하였습니다.


: