블로그 이미지
Rootrator
1개를 알면 모르는 10개가 튀어나온다..!

calendar

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

Notice

2011. 4. 27. 12:18 Linux
[root@localhost]# dmidecode


반응형

'Linux' 카테고리의 다른 글

PHP 업로드 용량 제한조절  (0) 2011.06.08
apache 웹서버에서 PHP사용하기  (0) 2011.05.31
TMOUT 설정  (0) 2011.04.22
외장하드를 써보자  (0) 2011.04.21
PHP 버전업으로 인한 ZendOptimizer 연동 시키기  (0) 2011.04.12
posted by Rootrator
2011. 4. 22. 16:52 Linux
ssh나 telnet등 원격접속으로 서버에서 작업을 하다가 일정시간 동안 아무런 입력이 없으면

자동으로 로그아웃 시키는 기능이 바로 TMOUT이다.

/etc/profile에서 설정할경우 모든 유저가 해당되면

특정 유저의 홈디렉토리의 .bash_profile에서 설정한 경우 해당 유저만 적용된다.


bash쉘을 기준으로

export TMOUT
TMOUT=15 (초단위)
반응형

'Linux' 카테고리의 다른 글

apache 웹서버에서 PHP사용하기  (0) 2011.05.31
Device 정보 알아내기  (0) 2011.04.27
외장하드를 써보자  (0) 2011.04.21
PHP 버전업으로 인한 ZendOptimizer 연동 시키기  (0) 2011.04.12
FTP 상위디렉토리 접근차단  (0) 2011.04.06
posted by Rootrator
2011. 4. 21. 15:52 Linux
Windows는 PnP(Plug & Play)가 가능해서 꼽자마자 (드라이버가 있으면) 인식하고 바로 사용이 가능하다.

Linux..더군다나 Server에서도 PnP가..없는건 아니지만 CUI환경에서는 마운트 후에 사용이 가능하다.

먼저 외장하드를 연결하면 Kernel에서 인식을 하고 메세지를 뿌려준다.

 usb 1-1: new high speed USB device using ehci_hcd and address 2
usb 1-1: configuration #1 chosen from 1 choice
Initializing USB Mass Storage driver...
scsi3 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 2
usb-storage: waiting for device to settle before scanning
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
  Vendor: ST350032  Model: 0AS               Rev:
  Type:   Direct-Access                      ANSI SCSI revision: 02
SCSI device sda: 976773168 512-byte hdwr sectors (500108 MB)
sda: Write Protect is off
sda: Mode Sense: 38 00 00 00
sda: assuming drive cache: write through
SCSI device sda: 976773168 512-byte hdwr sectors (500108 MB)
sda: Write Protect is off
sda: Mode Sense: 38 00 00 00
sda: assuming drive cache: write through
 sda: sda1
sd 3:0:0:0: Attached scsi disk sda
usb-storage: device scan complete
sd 3:0:0:0: Attached scsi generic sg0 type 0

위 메세지에서 장치명이 sda1이라는걸 알았다.

그럼 이제 마운트 후에 사용만 하면 되는것.

[root@localhost]# mount /dev/sda1 /data

 
반응형

'Linux' 카테고리의 다른 글

Device 정보 알아내기  (0) 2011.04.27
TMOUT 설정  (0) 2011.04.22
PHP 버전업으로 인한 ZendOptimizer 연동 시키기  (0) 2011.04.12
FTP 상위디렉토리 접근차단  (0) 2011.04.06
crontab  (0) 2011.04.05
posted by Rootrator
2011. 4. 12. 15:48 Linux

서버이전하면서 기존의 서버의 APM보다 한단계씩 버전업을 시키니 여러가지 문제가 튀어 나왔는데

그중하나가 ZendOptimizer다.

PHP 4.3 -> PHP 5.2로 버전을 올리니 ZendOptimizer 2.5 버전으로는 연동이 안된다는 것이다.

[root@localhost bin]# ./php -v
PHP Warning:  Zend Optimizer does not support this version of PHP - please upgrade to the latest version of Zend Optimizer in Unknown on line 0
PHP 5.2.5 (cli) (built: Mar 28 2011 15:33:22)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
    with Zend Extension Manager v1.0.6, Copyright (c) 2003-2004, by Zend Technologies

그래서 ZendOptimizer 3.3.9버전으로 다시 설치 하기로 했다.

[root@localhost src]# tar xvzf ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz
[root@localhost src]# cd ZendOptimizer-3.3.9-linux-glibc23-i386

4_2_0_comp  4_2_x_comp  4_3_x_comp  4_4_x_comp  5_0_x_comp  5_1_x_comp  5_2_x_comp 

data 폴더 중에 php버전에 맞는 모듈를 복사한다.

5.3버전은 지원하지 않으니 5.2버전을 복사한다.

[root@localhost data]# cp 5_2_x_comp/ZendOptimizer.so /usr/local/php/lib/

/usr/local/lib/php.ini에 다음줄을 추가한다

[Zend]
zend_optimizer.version=3.3.9
zend_extension=/usr/local/php/lib/ZendOptimizer.so

그리고 서버상에서는 php.ini 파일은 /etc로 위치를 잡아놨기 때문에
해당 파일에 링크를 걸어준다. 
 
[root@localhost etc]# ln -s /usr/local/lib/php.ini php.ini

이제 ZendOptimizer가 연동되는걸 확인할 수 있다.

[root@localhost bin]# ./php -v
PHP 5.2.5 (cli) (built: Mar 28 2011 15:33:22)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
    with Zend Optimizer v3.3.9, Copyright (c) 1998-2009, by Zend Technologies 
반응형

'Linux' 카테고리의 다른 글

TMOUT 설정  (0) 2011.04.22
외장하드를 써보자  (0) 2011.04.21
FTP 상위디렉토리 접근차단  (0) 2011.04.06
crontab  (0) 2011.04.05
인증없이 ssh/rsync 접속하기  (0) 2011.04.05
posted by Rootrator
2011. 4. 6. 10:40 Linux

vsftp

[root@localhost ~]# vi /etc/vsftpd.conf

chroot_local_user=YES -> 다른 사용자의 홈디렉토리의 상위 접근을 차단합니다.

passwd_chroot_enable=NO -> 현제 사용자의 홈디렉토리의 상위 접근을 차단합니다.

위와 같이 설정해 주시고 서비스를 재시작

/etc/init.d/vsftpd restart 혹은 service vsftpd restart

Proftp

proftpd 설정파일은 /usr/local/proftpd/conf/proftpd.conf에 위치 

설정파일에서 DefaultRoot ~ 이 줄을 추가

만약 root 사용자만 상위로 이동하게 하려면 DefaultRoot ~ !root 

!뒤에 쓰는 유저명은 해당 유저만을 제외하라는 뜻

설정파일을 수정하고 서비스를 재시작합니다

/usr/sbin/proftpd restart

반응형

'Linux' 카테고리의 다른 글

외장하드를 써보자  (0) 2011.04.21
PHP 버전업으로 인한 ZendOptimizer 연동 시키기  (0) 2011.04.12
crontab  (0) 2011.04.05
인증없이 ssh/rsync 접속하기  (0) 2011.04.05
가상호스트의 2차도메인에 접속되지 않을때  (0) 2011.03.28
posted by Rootrator
2011. 4. 5. 16:15 Linux

리눅스에서 정말 편한 기능중 하나가 cron이다. 백업이나 또는 서비스 재시작이나..특정 스크립트를 이용하면

그 이용가치가 정말 어마어마하다.

crontab은 총 6개의 필드로 나뉘어져 있다.

 분  시  일  월  요일  작업
 00-59  00-24  00-31  00-12  0-6  

5번 필드 이후에 모든 것은 작업으로 인식한다.

예를 들자면 매월 토요일 새벽 5시에 /backup 디렉토리에 있는 test.sh을 실행하겠다 하면.

[root@localhost ~]# crontab -e
00 05 * * 6 /back/test.sh

이렇게 적어주면 된다. 만약 로그를 남기고 싶으면
00 05 * * 6 /back/test.sh > /back/test.log

stdout으로 화면에 출력되는 모든 로그를 남기려 했을때
>은 overwrite, >>은 append가 된다.

반응형
posted by Rootrator
2011. 4. 5. 15:54 Linux

ssh로 특정서버에 접근을 하게 되면 패스워드를 묻는게 정상이다.

하지만 ssh-keygen을 통해 발급받은 인증키를 서버에 저장해 놓으면 따로 패스워드 인증없이 ssh가 가능하며,

이를 통해서 rsync(rsync는 ssh를 이용한다.)를 crontab에 두어 사용이 가능하다.

rsync는 서버의 데이터를 보내는 방식이 아닌 가지고 오는 방식이다.

따라서 rsync설정은 데이타를 가져와야 하는 서버에서 설정해야 맞다.

데이타 원본이 있는 서버를 A서버

데이타를 받아야 하는 서버를 B서버 라 하겠다.

ssh는 암호화 말고 개인키와 공개키를 이용하여 인증을 한다.

이 방법은 인증키 생성후 서버에 두어 패스워드 인증을 거치지 않는다.

이제 공개키를 생성해 보자.

[root@serverB ~]# ls -al | grep .ssh
drwx------  2 root root  4096  4월  5 14:51 .ssh

이 디렉토리가 없다면 한번이라도 ssh접속을 안한 서버이거나 실수로 지웠다거나...
아무튼 해당 디렉토리로 이동하자

[root@serverB ~]# ssh-keygen -t rsa

-t옵션은 생성하는 파일의 타입을 정하는 옵션이다.

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):[ENTER]
Enter passphrase (empty for no passphrase):[ENTER]
Enter same passphrase again:[ENTER]
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.

이제 생성된 파일중에 id_rsa.pub파일의 내용을 복사하고

A서버에서 이 키값을 입력한다.

[root@serverA ~]# cd .ssh
[root@serverA ~]# vi authorized_keys


rsync는 root로 작업하기 때문에 root의 홈디렉토리 아래에 있는 .ssh폴더에 넣어두었다.

이제 암호인증없이 ssh 접속이 가능케 되었다.


이제 서버에서 rsync설정을 해두자

먼저 A서버에서 /etc/xinet.d/rsync 에서 disable을 no로 설정하여 활성화 후에 xinetd를 재시작한다.

[root@serverA ~]# service xinetd restart

rsync는 기본으로 873포트를 사용하지만.. 기껏 ssh인증다 해놓고 다른 포트 쓰긴 그렇다..

이제 B서버에서 rsync를 crontab에 등록해 두자.

rsync -azrt -e ssh --delete 서버A IP:/데이타 원본 경로 /동기화할 경로/

옵션에 대해 알아보면

-a : 아카이브 모드. 링크, 속성, 퍼미션 등이 그대로 보존이 된담.
-v : 진행상황을 보여줌
-z : 전송이 압축하여 전송
-r : 하위 디렉토리 포함
-l : 심볼릭 링크 재생성
-p : 퍼미션 업데이트
-t : 변경 시간 그대로 보존(옵션이 없으면 전송시간으로 변경됨)
-g : 그룹속성 보존
-u : 추가된 파일만 전송
-b : 낡은 파일일 경우 ~를 붙임
-e : ssh를 사용시 뒤에 ssh를 붙혀줌
--delete : 원본서버에 없는 파일은 클라리언트에서도 삭제
--existing : 추가된 파일은 제외하고 갱신된 파일만 전송
--exclude : 지정된 디렉토리를 제외


대충 이렇다...

끝.!

반응형

'Linux' 카테고리의 다른 글

FTP 상위디렉토리 접근차단  (0) 2011.04.06
crontab  (0) 2011.04.05
가상호스트의 2차도메인에 접속되지 않을때  (0) 2011.03.28
bind (네임서버) 사용하기  (0) 2011.03.28
[펌] 아파치에서 Redirection 사용하기  (0) 2011.03.04
posted by Rootrator
2011. 3. 28. 17:29 Linux

httpd.conf에 가끔 같은 도메인이지만 2차도메인이 다를경우

해당 디렉토리로 변경하려고 가상호스트를 2개 잡는 경우가 있다.

<VirtualHost *>
ServerAdmin master@abc.com
DocomentRoot /home/abc/a
ServerName a.abc.com
ErrorLog /var/log/~~
...
... 
</VirtualHost >

<VirtualHost *>
ServerAdmin master@abc.com
DocomentRoot /home/abc/b
ServerName b.abc.com
ErrorLog /var/log/~~
...
... 
</VirtualHost >

이때 b.abc.com에 접속하였으나 a.abc.com으로 접속이 되는 경우가 있는데

가상호스트 설정에서 같은 ServerAdmin을 주었다면

설정 파일 위치상 위에 설정한 가상호스트만 접속이 된다.

이럴경우 ServerAdmin을 다르게 수정한다.
반응형

'Linux' 카테고리의 다른 글

crontab  (0) 2011.04.05
인증없이 ssh/rsync 접속하기  (0) 2011.04.05
bind (네임서버) 사용하기  (0) 2011.03.28
[펌] 아파치에서 Redirection 사용하기  (0) 2011.03.04
/etc/fstab 특정 LABEL에 대한 정보보기  (0) 2011.03.03
posted by Rootrator
2011. 3. 28. 17:26 Linux


yum -y groupinstall "DNS Name Server"

vi /var/named/chroot/etc/named.conf

설정 파일 복사

ln -s /var/named/chroot/etc/named.conf /etc/named.conf

cp -rf /usr/share/doc/bind-9.3.6/sample/etc/ /var/named/chroot/
cp -rf /usr/share/doc/bind-9.3.6/sample/var/named/ /var/named/chroot/var/

이후에 named서비스를 시작하지만 named.ca파일이 없다는 오류가 뜬다

wget http://www.directadmin.com/named.ca
mv named.ca /var/named/chroot/var/named/

해당 파일을 다운로드한 후에 다시 서비스를 시작하면 정상적으로 서비스가 올라온다.

이제 rndc.conf파일을 수정하자.

vi /etc/rndc.conf 수정
================================
options {
        default-server  localhost;
        default-key     "rndckey";
};

server localhost {
        key     "rndckey";
};

include "/etc/rndc.key";
================================

물론 키값을 conf파일에 직접 넣어주어도 되지만

여기선 파일을 include해서 사용했다.

/etc/init.d/named start

반응형
posted by Rootrator
2011. 3. 4. 12:19 Linux

출처 : linux.co.kr

도메인 Redirection 하기

여러개의 도메인을 가지고 있는데 한가지 도메인으로 출력되게 하기위해 우리는 도메인 Redirection을 한다.

redirection 하는 방법은 rewrite 모듈과 redirection 을 이용하는 두가지가 있다.

여기서 설명되는 도메인들에 대해 사전 설명을 하자면

linux.co.kr    www.linux.co.kr     linux.kr     www.linux.kr

이렇게 이용한다고 하자. 웹에서 각 도메인을 입력했을때 www.linux.kr 으로 출력되게 해보자

httpd.conf 파일의 내용중에 도메인의 설정이 있을 것이다.

여기서 각 방법에 대해 적어보면

- Rewrite 모듈을 이용하는 방법

<VirtualHost *:80>
    DocumentRoot /home/linux
    ServerName linux.kr
    ServerAlias www.linux.kr
    ServerAlias linux.co.kr
    ServerAlias www.linux.co.kr
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^(linux\.kr|www\.linux\.co\.kr|linux\.co\.kr)
    RewriteRule   (.*) http://www.linux.kr$1 [R,L]
</VirtualHost>

- Redirect 를 이용하는 방법

<VirtualHost *:80>
        ServerName      www.linux.kr
        DocumentRoot    /home/linux
</VirtualHost>
<VirtualHost *:80>
    ServerName linux.kr
    Redirect / http://www.linux.kr
</VirtualHost>
<VirtualHost *:80>
    ServerName linux.co.kr
    Redirect / http://www.linux.kr
</VirtualHost>
<VirtualHost *:80>
    ServerName www.linux.co.kr
    Redirect / http://www.linux.kr
</VirtualHost>

Rewrite 모듈을 이용하기 위해 필요한 것들에 대해서 알아보자.

Rewrite 를 적용할 수 있는 범위 - 서버 전체에 설정할 수도 있고 특정 호스트에만 적용할 수도 있다.

Rewrite 모듈 지시자

RewriteEngine On / Off
Rewrite 엔진을 사용할지 여부를 설정한다. default는 off이다.
현재 Apache에서 실행중인 모든 RewriteRule을 비활성화 시킬때 RewriteRule 라인의 주석처리보다 RewriteEngin Off 로 해야 한다.

RewriteLog FILE-PATH
RewriteLog 지시자는 Rewrite 엔진의 로그를 기록할 파일을 지정한다.

RewriteLogLevel Level
RewriteLog 지시자로 설정한 로그파일에 기록할 로그들에 대해 얼마나 자세한 내용을 로그에 남길 것인가에 대해 설정하는 지시자이다.
Level 은 0~9까지 사용할 수 있으며 0은 기록하지 않겠다는 의미이다. 숫자가 높을 수록 자세한 로그를 기록한다.

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

RewriteRule Pattern Substitution
Rewrite 모듈의 실질적인 Rewrite 규칙들을 적용하는 지시자이다.
Pattern(input URL)을 Subtitution(Return URL)로 변경하기 위한 모든 규칙들은 이 지시자를 사용해서 설정해야 한다.
Pattern에는 Perl 정규표현식을 사용할 수 있기 때문에 Pattern의 규칙을 폭넓게 적용 가능하다.

기본 정규표현식
. : 다수의 한문자
? : 0개 이상의 한문자
* : 0개 이상의 문자열
+ : 1개 이상의 문자열
(chars) : (, ) 안의 문자 또는 문자열을 그룹으로 묶는다. 이 문자그룹은 Substitution에서 $N의 변수로 활용할 수 있다.
^ : 문자열의 첫부분을 지정
$ : 문자열의 끝을 지정
\ : 정규표현식에서 특별한 의미로 사용되는 문자의 특수기능을 제거
{n} : 정확히 n번 반복
{n,} : n번 이상 반복
{n,m} : n이상 m 이하 반복
[chars] : 문자들의 범위 또는 표현할 수 있는 문자들을 설정

정규표현식 단축표현들
[:alpha:] : 알파벳과 같은 표현, [a-zA-Z]
[:alnum:] : 알파벳과 숫자, [a-zA-Z0-9]
[:digit:] : 숫자, [0-9]
[:upper:] ㅣ 알파벳 대문자 [A-Z]

으로 간단하게 알아보았다.

반응형

'Linux' 카테고리의 다른 글

인증없이 ssh/rsync 접속하기  (0) 2011.04.05
가상호스트의 2차도메인에 접속되지 않을때  (0) 2011.03.28
bind (네임서버) 사용하기  (0) 2011.03.28
/etc/fstab 특정 LABEL에 대한 정보보기  (0) 2011.03.03
/etc/fstab  (0) 2011.02.25
posted by Rootrator
prev 1 2 3 4 5 6 next