'Linux'에 해당되는 글 76건

  1. 2012/03/08 visualp 리눅스 문자열 찾기
  2. 2012/02/02 visualp su_traffic + 트레픽 체크 연동
  3. 2012/02/02 visualp 오라클 설치
  4. 2012/01/19 visualp 리눅스 백그라운드 실행 명령어
  5. 2012/01/12 visualp red5, service 등록 , 서비스 등록
  6. 2011/12/05 visualp [apache]외부링크 금지
  7. 2011/10/26 visualp tar 압축 , 특정 디렉토리 제거, (--exclude=경로)옵션
  8. 2011/05/26 visualp [apache] 외부링크 금지
  9. 2011/02/23 visualp cp 명령어 /
  10. 2010/11/19 visualp 리눅스에서 문자열 치환

리눅스 핑막기, 핑막기

Linux RSS Icon ATOM Icon 2012/11/22 16:51 visualp
 
// ping 요청에 무응답 할 때
[root@myhome root]# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
// ping 요청에 응답 할때
[root@myhome root]# echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
2012/11/22 16:51 2012/11/22 16:51
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/534

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/534

tar 특정 디렉토리 빼고 압축

Linux RSS Icon ATOM Icon 2012/11/19 06:57 visualp
#tar cvf filename.tar [압축하고자하는 폴더] --exclude [빼고자 하는 폴더 이름]

#tar cvf compress_image.tar image --exclude .svn

2012/11/19 06:57 2012/11/19 06:57
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/532

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/532

Apache 서버 파일 리스트 숨기기


directory_listing

웹사이트 방문자들이 파일이나 이미지를 다운로드할때 보여지는 주소, 예를 들어 이미지 주소가
http://www.guitina.com/wp-content/uploads/blockberry.jpg 일때 http://www.guitina.com/wp-content/uploads/ 를 주소창에 입력하면
그 디렉토리 안에 있는 모든 파일들이 보여질때가 있다.

이런 노출을 방지하기 위해서

1. 각 디렉토리마다 index 파일을 넣기
2. 각 파일에 권한 설정을 해주기
3. Apache <Directory> 설정을 바꿔 숨기기

만약 Apache를 처음 실행하고 이 설정을 바꿔주지 않으면 모든 파일이 노출된다.

내 경우는 vhost를 자주 사용해서 사이트 모든 파일 목록을 보이지 않게 설정하는데 3번의 경우를 자주 이용한다.

1.< Directory />
2.Options Indexes FollowSymLinks
3.AllowOverride All
4.< / Diretory>

Apache Directory Options의 처음 값 중에 Indexes 지워주면

1.< Directory />
2.Options FollowSymLinks
3.AllowOverride All
4.< / Directory >

이 사이트내 Index 목록 볼 수 없게 된다.

이때 중요한 것은 혹시 사이트내 .htaccess 파일이 있고
.htaccess 파일에서 Options Indexes를 설정해준다면 위 코드에서 AllowOverride All 설정때문에
파일 리스트가 보인다.

특정 폴더만 이 옵션을 사용하려면

1.< Directory / www/ folder>
2.Options Indexes FollowSymLinks
3.AllowOverride All
4.< / Directory >

위 코드와 같이 폴더를 지정해주면 된다.

[원문] : http://www.guitina.com/2009/06/25/apache-%EC%84%9C%EB%B2%84-%ED%8C%8C%EC%9D%BC-%EB%A6%AC%EC%8A%A4%ED%8A%B8-%EC%88%A8%EA%B8%B0%EA%B8%B0/

2012/11/12 19:37 2012/11/12 19:37
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/531

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/531

[원문] : http://towis.net/2689891



하루만에 쓸만한 내용을 두개씩이나 올리긴 처음이군^^
뭐 그저 혼자 쓸모 있다고 생각 하지만요.

혹시 서버를 관리해본 경험이 있다면, SSH 나 TELNET 등을 알것입니다.
물론 윈도우라면 원격지원도 이와 유사하겠죠.
이런 모든 프로그램등은 특정한 포트를 통해 관련 프로그램을 사용함으로써 서버에 접속을 할수 있답니다. 그런데 제가 이번에 소개할 녀석은 웹을 통해 서버를 관리 할 수 있습니다.(왠지 이렇게 말하지 꼭 약장수가 약소개 하는것 같군요.)


Webmin은 오픈소스 라이센스의 서버 관리 프로그램입니다.
Webmin의 특징이라면 자체 웹 서버를 내장하고 있기 때문에 Apache가 죽은 상황에서도 서버 접근이 가능하다는 것과 테마 적용을 통해 디자인 변경이 가능 하다는것, 또한 자바 애플릿이 지원되는 환경에서는 파일 매니져도 사용이 가능 하다고 합니다.

Webmin은 충분히 강력하기 때문에 어느정도 익숙해지기만 하면 위에서 설명한 터미널(SSH,TELNET등)에 접근할 필요가 없어집니다.
주요 프로그램들의 경우 이미 관리 모듈이 존재하고(대충 확인 해본결과 상당수 기본 내장되어 있는듯, 그리고 내장이 안되어 있는 모듈도 몇번에 클릭으로 추가가능함) 이 관리 모듈을 통하면 정말 서버 관리가 편해질듯...

물론 제가 아직 제대로 사용해보지 않았기에 얼마까지 편의를 제공하는지, 그리고 실제로 어느정도 까지 편한지는 제대로 설명하기 힘듭니다. 하지만 같이 올리는 스크린샷을 보시면 어떤 기능이 있는지 예상하실수 있으리라 봅니다.

내용 그만 보기

우선 기능 스크린샷에 앞서 설치법 부터 해야 겠죠..^^
근데 rpm이 제공되기 때문에... 무척이나 쉽습니다. 용량이 다소 큰게 문제지만요.

webmin 사이트에서 설치 파일을 받도록 하자.
http://www.webmin.com/download.html

[root@ns ~]# rpm -Uvh webmin-1.290-1.noarch.rpm
준비 중... ########################################### [100%]
Operating system is Redhat Linux
1:webmin ########################################### [100%]
Webmin install complete. You can now login to http://ns.my2pc.net:10000/
as root with your root password.

가볍게 인스톨이 끝남과 동시에, 루트 유저를 통해 로그인이 가능한 웹주소를 알려주는군요.
친절하기도 해라ㅎㅎ^^

알려준 주소로 접속을 하니 로그인 화면이 보이는군요
이곳에서는 root유저로 접속하면 됩니다.


root 유저를 통해 로그인을 하게 되면 이와 같은 화면을 접할수 있답니다.

상단 메뉴중에 SYSTEM 메뉴를 클릭해 들어와 보니 전반적인 관리가 한눈에 보이네요.
특히 서버 관리중 주로 사용하게 되는 기능들은 거의 모두 있다고 보면 될듯 합니다.


그리고 다음은 서버쪽부분입니다.
일반적으로 사용되는 서버들은 역시나 모두 들어 있답니다.


아파치 서버 설정 부분입니다.

아파치 설정중 버추얼서버에 관련되어 설정된 서버들이 모두 나오는군요.
참고로 위 정보는 제꺼 서버에 설정된 내용들입니다.

계속해서 아파치 서버에 관련된 내용입니다.
하였든 이곳에서 간단히 서버에 관련해 내용을 설정 하거나 변경들이 모두 가능합니다.

마지막 이미지를 보시면 아시겠지만, 마우스 몇번 클릭만으로도 버추얼 서버에 관해 삭제 또는 생성이 가능합니다.
뭐 제 서버같은 경우 많은 수의 사람이 사용하는 것이 아니기에 당장은 SSH를 통해 설정하는게 편하지만 웹을 통해서도 그런기능을 수행 할 수 있다는 점이 매력적네요.

그리고 지금 제가 소개한 내용은 정말 일부분밖에 안됩니다.
모든 내용을 다 소개 하자니 webmin의 기능이 너무 많고 아직 제가 제대로 알지 못하기 때문에 몇몇 기능만 언급해 봤습니다.
혹시 서버가 있다면 한번쯤 설치 해서 사용해보는것도 나쁘지 않을꺼라 생각 합니다.

Webmin 공식 홈페이지는 http://www.webmin.com 이고...
2006년 9월 13일 현재 최신 버전은 2006년 6월 29일에 나온 1.290 입니다...
지원가능 OS는 대부분의 *Nix 들과 Mac OS X, MS Windows 입니다. (다만 자세한 것은 http://webmin.com/support.html 에서 확인하세요.)
2012/10/24 09:22 2012/10/24 09:22
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/526

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/526

wget ftp 다운로드

Linux RSS Icon ATOM Icon 2012/09/04 09:52 visualp

wget ftp://아이디:패스워드@주소/경로/

예) wget ftp://abcd:1234@274.234.241.12/root/boo/good.zip

만약 해당 폴더의 내용전부를 가져오고 싶으면

예) wget ftp://abcd:1234@274.234.241.12/root/boo/

만약 해당 폴더의 하위까지 가져오고 싶으면

예) wget -r ftp://abcd:1234@274.234.241.12/root/boo/

2012/09/04 09:52 2012/09/04 09:52
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/514

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/514

리눅스 크론탭 정리, crontab

Linux RSS Icon ATOM Icon 2012/07/17 09:35 visualp

vi로 오픈한다.
/etc/crontab


다음은 50 분마다 다음 경로를 실행한다.
wget을 이용하면 다음 url를 오픈 한다.

50 * * * * root wget -O -q -t 1  url

30분 마다 실행 하려면 ?
다음과 같이 '/' 기호를 사용하면 된다.
*/30 * * * * root wget -O -q -t 1 url

----------------------------------------------------
options

1 : minute (0-59),
2 : hour (0-23),
3 : day of the month (1-31),
4 : month of the year (1-12),
5 : day of the week (0-6 with 0=Sunday).

---------------------------------------------------------
크론탭 수정 후 데몬 리스타트
service crond restart

2012/07/17 09:35 2012/07/17 09:35
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/480

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/480

apache rewrite rule

Linux RSS Icon ATOM Icon 2012/06/07 18:05 visualp

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




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

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

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





3. .htaccess란?

.htaccess (hypertext access)는 Apache 웹 서버의 디렉토리 레벨을 설정하는 기본 파일입니다.
.htaccess는 한 특정 디렉토리에 위치하며, 모든 하위 디렉토리를 포함한 해당 디렉토리에 영향을 미칩니다.
이 파일이 위치한 특정 폴더에 사용자가 정의한 Request 기능을 적용합니다.
파일 이름은 .(dot)으로 시작하기 때문에 유닉스 계열의 운영체제에서는 숨김 파일로 저장됩니다.




4. 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 의 규칙을 유연하게 적용할 수 있습니다.




5. RewriteRule 에서 사용되는 정규 표현식의 기초
. : 다수의 한문자

? : 0개 이상의 한문자

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

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

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

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

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

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

{n} : 정확히 n번 반복

{n,} : n번 이상 반복

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

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


 
 
6. 정규표현식 단축표현들

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

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

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

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




7. 사용가능한 서버변수

[HTTP Headers]

    HTTP_USER_AGENT
    HTTP_REFERER
    HTTP_COOKIE
    HTTP_FORWARDED
    HTTP_HOST
    HTTP_PROXY_CONNECTION
    HTTP_ACCEPT


[connection & request]

    REMOTE_ADDR
    REMOTE_HOST
    REMOTE_PORT
    REMOTE_USER
    REMOTE_IDENT
    REQUEST_METHOD
    SCRIPT_FILENAME
    PATH_INFO
    QUERY_STRING
    AUTH_TYPE


[server internals]

    DOCUMENT_ROOT
    SERVER_ADMIN
    SERVER_NAME
    SERVER_ADDR
    SERVER_PORT
    SERVER_PROTOCOL
    SERVER_SOFTWARE


[date and time]

    TIME_YEAR
    TIME_MON
    TIME_DAY
    TIME_HOUR
    TIME_MIN
    TIME_SEC
    TIME_WDAY
    TIME


[specials]

    API_VERSION
    THE_REQUEST
    REQUEST_URI
    REQUEST_FILENAME
    IS_SUBREQ
    HTTPS




8. RewriteCond에서 쓰이는 명령어

-d : 디렉토리를 의미합니다. TestString이 디렉토리를 가리키거나 포함하고 있을 때 처리됩니다.

-f : 파일을 의미합니다. TestString이 파일을 가리키더나 포함하고 있을 때 처리됩니다.

-l : 심볼릭링크를 의미합니다. TestString이 심볼릭링크를 가리키거나 포함하고 있을 때 처리됩니다.

마지막으로 느낌표(!) 는 부정을 뜻합니다.

예)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://test.domain.co.kr/$1




9. 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 세팅이 선행되어야 됩니다.

N : 새로운 Rule이 시작된다는 의미입니다.

R : Redirection. 무조건 넘깁니다. 뒤 주소로 넘긴다는 의미입니다.

NC : 대소문자를 구별하지 않습니다.

OR : 프로그래밍의 or와 비슷합니다.

QSA : Cond의 내용을 지난 결과에 덧붙입니다.

NE : Out 될 값에 특수문자가 HexCode로 되어 포함되어 있는 경우
2012/06/07 18:05 2012/06/07 18:05
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/474

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/474

/usr/local/apache/conf/extra/httpd-autoindex.conf


IndexIgnore .??* *~ *
2012/03/19 09:15 2012/03/19 09:15
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/467

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/467

리눅스 문자열 찾기

Linux RSS Icon ATOM Icon 2012/03/08 17:07 visualp
 grep -e  "문자열" "경로" -R
경로 밑에 있는 문자열이 포함된 모든 것을 찾는다.
2012/03/08 17:07 2012/03/08 17:07
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/466

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/466

su_traffic + 트레픽 체크 연동

Linux RSS Icon ATOM Icon 2012/02/02 17:41 visualp
su_traffic + 트레픽 체크 연동

http://blog.daum.net/ilovenoa/9855615


이자료를 잘 참고 하면 웹용 실시간 트레픽 확인 가능 함 .
2012/02/02 17:41 2012/02/02 17:41
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/452

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/452