'팁&테크/Linux'에 해당되는 글 69건

  1. 2015.07.10 Apache 링크를 포함한 Redirect
  2. 2013.12.24 리눅스 백신 ClamAV 설치 및 사용법
  3. 2013.10.22 리눅스 파티션 관련
  4. 2013.04.04 리눅스 보안체크 명령
  5. 2013.03.05 로그 크기 0으로 만들기
  6. 2013.02.26 ls 정렬이 잘 안되는 경우
  7. 2012.12.24 lsof , fuser, pgrep 명령어 정리
  8. 2012.11.21 EPEL 레포지터리 설치
  9. 2012.11.21 APM 설치옵션(메모)
  10. 2012.08.24 nfs 간단 설정
2015. 7. 10. 11:46

Apache 링크를 포함한 Redirect

IIS 쪽에서는 설정만 하면 바로 가능한데 Apache에서는 Rewrite 모듈을 써야 가능


<VirtualHost *:80>

    ServerName 도메인.com

    ServerAlias *.도메인.com


    RewriteEngine On

    RedirectMatch permanent ^/?(.*) http://www.이동할도메인.com/$1

</VirtualHost>

2013. 12. 24. 14:23

리눅스 백신 ClamAV 설치 및 사용법

ClamAV 설치 및 사용법

1. 개요
  리눅스 시스템에서 사용할 수 있는 백신프로그램 ClamAV 에 관한 매뉴얼 입니다.
 참조 :  http://blog.naver.com/choiskcs?Redirect=Log&logNo=110127100693
2. 설치 및 사용법
 가. 다운로드 및 소스컴파일
[root@localhost ~] # wget http://sourceforge.net/projects/clamav/files/clamav/0.97.5/clamav-0.97.5.tar.gz
[root@localhost ~] # tar xvfz clamav-0.97.5.tar.gz
[root@localhost ~] # adduser clamav
[root@localhost ~] # cd ./clamav-0.97.5
[root@~ clamav-0.97.5] # ./configure –enable-static –prefix=/usr/local/clamav
[root@~ clamav-0.97.5] # make
[root@~ clamav-0.97.5] # make install

 나. 디렉토리 생성 및 권한부여

[root@localhost ~] # mkdir /usr/local/clamav/db
[root@localhost ~] # mkdir /usr/local/clamav/log
[root@localhost ~] # chmod 757 /usr/local/clamav/db
[root@localhost ~] # chmod 757 /usr/local/clamav/log
[root@localhost ~] # mkdir /var/run/clamav

 다. 파일설정 (/usr/local/clamav/etc/clamd.conf,   /usr/local/clamav/etc/freshclam.conf)

  1) clamd.conf
LocalSocket /var/run/clamav/clamd.socket
FixStaleSocket yes
TCPSocket 3310
TCPAddr 127.0.0.1
MaxThreads 20
User clamav
LogFile /usr/local/clamav/log/clamd.log
LogTime yes
PidFile /usr/local/clamav/log/clamd.pid
DatabaseDirectory /usr/local/clamav/db
DetectBrokenExecutables yes

  2) freshclam.conf

DatabaseMirror database.clamav.net
DatabaseDirectory /usr/local/clamav/db/
UpdateLogFile /usr/local/clamav/log/freshclam.log
DatabaseOwner clamav
NotifyClamd /usr/local/clamav/etc/clamd.conf

 라. 백신 DB 업데이트 및 스캔

[root@localhost ~] # /usr/local/clamav/bin/freshclam 업데이트
[root@localhost ~] # /usr/local/clamav/bin/clamscan 현재디렉토리 검사
[root@localhost ~] # /usr/local/clamav/bin/clamscan -r /home 현재디렉토리 하위검사

 마. clamd 데몬실행

[root@localhost ~] # /usr/local/clamav/sbin/clamd –config-file=/usr


출처 : http://dumbung.com/main/bbs/board.php?bo_table=LINUX_TIP&wr_id=55

2013. 10. 22. 11:39

리눅스 파티션 관련

특별히 다른 이유가 있지 않는 한 반드시 x86, AMD64, Intel 64 시스템의 경우 다음과 같은 파티션을 생성하는 것이 좋습니다:

  • swap 파티션
  • /boot 파티션
  • / 파티션
  • home 파티션


스왑 파티션 (최소 256 MB)
스왑 파티션은 가상 메모리를 지원하는데 사용됩니다. 즉, 시스템이 처리하는 데이터를 저장할 RAM이 충분하지 않을 때 스왑 파티션에 자료가 기록됩니다.

지난 몇 년 동안 권장 스왑 공간의 크기는 시스템의 RAM 용량에 비례해 증가해 왔습니다. 하지만 최근 시스템의 메모리 크기는 수백 기가바이트에 이르기까지 증가했기 때문에, 현재 시스템에 필요한 스왑 공간의 크기는 시스템에서 실행 중인 메모리 작업 부하량의 함수로 계산해야 한다고 여겨지고 있습니다.

스왑 공간은 보통 설치 시 지정되지만 이 시점에서 시스템의 메모리 작업 부하량을 미리 예측하는 것은 어려울 수 있기 때문에 킥스타트 설치 중에 스왑 공간의 크기가 자동으로 설정되도록 요청할 수 있습니다

하지만 이 설정은 시스템에 대해 정확하게 조절되지 않습니다. 따라서 스왑 영역의 크기를 보다 정확하게 설정하려면 다음 표를 사용합니다.


시스템의 RAM 용량

권장 스왑 공간 용량

4GB 이하 RAM

최소 2GB의 스왑 공간

4GB에서 16GB RAM

최소 4GB 스왑 공간

16GB에서 64GB 램

최소 8GB 스왑 공간

64GB에서 256GB 램

최소 16GB 스왑 공간

256GB에서 512GB 램

최소 32GB 스왑 공간



/boot/ 파티션 (250 MB)

/boot/에 마운트된 파티션에는 부트스트랩을 실행하는 동안 사용되는 파일과 함께 시스템을 Red Hat Enterprise Linux에 부팅하게 하는 운영 시스템 커널이 있습니다. 대부분의 사용자는 250 MB 부트 파티션이면 충분합니다.


- Red Hat Enterprise Linux 6의 GRUB 부트로더는 ext2, ext3, ext4(권장)만을 지원합니다. /boot에 대해 Btrfs, XFS, VFAT과 같은 다른 파일시스템을 사용할 수 없습니다.

- 만일 하드 드라이브가 1024 실린더 이상이라면 (또는 2년 보다 더 전에 제조된 컴퓨터를 사용하신다면), / (루트) 파티션이 하드 드라이브 상에 남아있는 모든 공간을 사용하기 위해서는, /boot 파티션을 만드셔야만 합니다.

- RAID 카드를 가지고 계신 경우, 일부 BIOS는 RAID 카드 부팅을 지원하지 않는다는 점을 기억해 주십시오. 이러한 경우, RAID 배열 외부에 위치한 파티션, 예를 들면 별개의 하드 드라이브에 /boot/ 파티션을 만드셔야 합니다.


디렉토리

최소 크기

/

250 MB

/usr

250 MB, 하지만 별도 파티션에 이 디렉토리를 놓지는 마십시오

/tmp

50 MB

/var

384 MB

/home

100 MB

/boot

250 MB





2013. 4. 4. 12:07

리눅스 보안체크 명령

1. rpm 파일 변조 확인(설치당시 파일과 달라진 파일 표시)

rpm -Va 

출력

S.5....T  c /etc/aliases


각출력 영문자의 뜻

5 MD5 sum

S File size

L Symlink

T Mtime

D Device

U User

G Group

M Mode (퍼미션&file type)


2. 파일 변경하지 못하도록 막은 파일 확인 및 변경

lsattr

chattr


3. 실행파일이 사용하고 있는 참조파일 찾기

strace -e trace=open netstat -nlp

2013. 3. 5. 16:13

로그 크기 0으로 만들기

cat /dev/null > 파일명

2013. 2. 26. 14:11

ls 정렬이 잘 안되는 경우

콘솔로 접속했을때 utf-8 환경일 경우 ls 목록 정렬이 이상하게 되는 경우가 있다.


_bdiretory

adirecotry


이렇게 특수문자 순위가 먼저 나와야 되는데


adirectory

_bdirectory


위와 같이 특수문자를 무시하고 문자만으로 정렬되는 경우가 있는데


이 경우 아래와 같은 방법으로 해결 가능하다.


1. 아래 내용을 /etc/sysconfig/i18n 나 .bashrc 등에 추가해줌

LC_COLLATE="C" 


또는


export LC_COLLATE="C" (접속할때 마다 해줘야함)


2. LC_COLLATE="C" 로 할 경우 이름순으로 나와 디렉토리와 파일이 뒤섞이므로 ls 에 디렉토리 우선출력으로 alias 해줌

/etc/profile.d/colorls.sh 에 ls alias 부분에 -X 옵션을 추가함

다만 -X 옵션이 확장자순 정렬이라 완벽하지는 않음


다른 방법을 찾아보고 있지만 gnu ls 에는 directory first 옵션이 없어 현재로서는 없는 것 같음


2012. 12. 24. 15:51

lsof , fuser, pgrep 명령어 정리

1. lsof 란?

일반적으로 시스템에서 동작하고 있는 모든 프로세스에 의해서 열리어진 파일들에 
관한 정보를 보여주는 시스템 관리 명령어


2.1. lsof 파일명

지정한 파일을 엑세스 하고 있는 프로세스의 정보를 보여준다.

# lsof /usr/sbin/proftpd 
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
proftpd 647 nobody txt REG 8,2 433516 209221 /usr/sbin/proftpd

 

2.2. lsof /tmp

지정한 디렉토리를 엑세스 하고 있는 프로세스의 정보를 보여준다.

# lsof /tmp
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
libhttpd. 27187 root 3u REG 7,0 0 13 /tmp/ZCUD5mDv1l (deleted)
libhttpd. 27318 nobody 3u REG 7,0 0 13 /tmp/ZCUD5mDv1l (deleted)
libhttpd. 27319 nobody 3u REG 7,0 0 13 /tmp/ZCUD5mDv1l (deleted)
libhttpd. 27320 nobody 3u REG 7,0 0 13 /tmp/ZCUD5mDv1l (deleted)
libhttpd. 27321 nobody 3u REG 7,0 0 13 /tmp/ZCUD5mDv1l (deleted)

 

2.3. lsof -i

모든 네트워크 연결되어 있는 프로세스와 파일을 정보를 보여준다.

# lsof -i
sshd 586 root 3u IPv4 1877 TCP *:ssh (LISTEN)
xinetd 600 root 5u IPv4 1943 TCP *:pop3 (LISTEN)
sendmail 619 root 4u IPv4 1962 TCP *:smtp (LISTEN)
proftpd 647 nobody 0u IPv4 315947 TCP *:ftp (LISTEN)
mysqld 708 mysql 3u IPv4 2652 TCP *:mysql (LISTEN)


ex)lsof -iTCP ; lsof -iUDP
tcp 나 혹은 UDP를 걸러서 볼때 사용한다.

 

2.4. lsof -c 데몬명

지정한 데몬과 연결되어 있는 프로세스와 파일을 정보를 보여준다.

# lsof -c proftpd
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
proftpd 647 nobody cwd DIR 8,3 4096 2 /
proftpd 647 nobody rtd DIR 8,3 4096 2 /
proftpd 647 nobody txt REG 8,2 433516 209221 /usr/sbin/proftpd
proftpd 647 nobody mem REG 8,3 106424 15973 /lib/ld-2.3.2.so
proftpd 647 nobody mem REG 8,3 23404 15994 /lib/libcrypt-2.3.2.so
proftpd 647 nobody mem REG 8,3 30488 17917 /lib/libpam.so.0.75
proftpd 647 nobody mem REG 8,3 1571340 95813 /lib/tls/libc-2.3.2.so
proftpd 647 nobody mem REG 8,3 14888 15996 /lib/libdl-2.3.2.so
proftpd 647 nobody mem REG 8,3 8612 17914 /lib/liblaus.so.1.0.0
proftpd 647 nobody mem REG 8,3 51908 16016 /lib/libnss_files-2.3.2.so
proftpd 647 nobody 0u IPv4 315947 TCP *:ftp (LISTEN)
proftpd 647 nobody 4r REG 8,3 3509 82811 /etc/passwd
proftpd 647 nobody 5r REG 8,3 1241 83170 /etc/group


2.5. lsof -p 프로세스ID

지정한 프로세스와 관련된 프로세스와 파일의 정보를 보여준다.

# lsof -p 1
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
init 1 root cwd DIR 8,3 4096 2 /
init 1 root rtd DIR 8,3 4096 2 /
init 1 root txt REG 8,3 27036 16204 /sbin/init
init 1 root mem REG 8,3 1571340 95813 /lib/tls/libc-2.3.2.so
init 1 root mem REG 8,3 106424 15973 /lib/ld-2.3.2.so
init 1 root 10u FIFO 8,3 71415 /dev/initctl


3. 해킹 추적

3.1. 시나리오

#lsof -i -> 기본 포트연것을 확인한다.
#lsof -p -> 프로세스를 분석한다.
#lsof /home/홈페이지 디렉토리 -> 특정디렉토리에 있는 프로세스 검사
#lsof /tmp -> 임시파일 관련 프로세스 분석
#lsof /dev -> 정규 해킹 디렉토리 분석


 

fuser  정리

#fuser 21/tcp                        ----> 포트/tcp,udp :  열린포트 pid 찾기

21/tcp:                931          

 

# fuser -cu /var 
하면 현재 /var라는 디렉토리를 사용하고 있는 유저나 데몬의 process가 열거된다... 
그 열거된 pid를 보고 어떤 데몬이 사용하고 있고 어떤 유저가 사용하고 있는지 알 수 있다.

 

# fuser -ck /var 
하면 /var라는 디렉토리를 사용하고 있는 유저나 데몬의 process id 를 모두 'kill -9' 와 같은 행동을 하게 된다.

이 명령어는 주의해서 사용하길 잘못 명령어 먹였다가 서버 리셋 해야된다.ㅋㅋ

 

fuser : 특정 파일이나 파일시스템, 포트등에서 사용중인 프로세스를 확인할 때 사용.

 

옵션정리
-a : 사용되지 있지않은 파일까지도 표시
-k : 지정된 파일과 관련된 모든 프로세스들을 KILL
-i : 프로세스를 KILL시키기 전에 사용자에게 확인
-l : 사용가능한 signal을 출력
-m : 지정한 파일이나 디렉토리가 마운트된 파일시스템에서 실행되고 있는 프로세스의 PID 출력
-n space : 지정된 공간(file, udp or tcp)내에서 검색
-s : 결과를 간략히 출력
-signal : 지정된 프로세스에 기본 signal인 SIGKILL 외에 지정된 signal을 보냄
-u : 프로세스 ID(PID)의 소유자를 보여준다.
-v : 자세한 출력모드 (프로세스의 User, PID, ACCESS, COMMAND를 보여줌)

 

1. 특정 파일을 사용하고 있는 프로세스(pid)확인
fuser /var/log/messages

 

2. 특정 파일을 사용하고 있는 프로세스(pid) 및 user 확인
fuser -u /var/log/messages

 

3. 특정 프로토콜, 포트를 사용중인 프로세스 확인
fuser -vn tcp ftp
fuser -vn tcp 1111

 

4. -k옵션을 사용하여 프로세스 kill
fuser -vn tcp ssh
fuser -kn tcp ssh
fuser -vn tcp ssh

 

 

pgrep 정리

 

[ pgrep으로 실행중인 프로세스 찾기 ]
 
♧ pgrep을 사용하여 가장 기본적인 형태로, 이름을(또는 일부) 검색.

 

▶ 기본적인 사용 예제:

# pgrep init

1

2689
 프로세스 ID를 보여줌
 
# pgrep -l init

1          init

2689   xinit
 -l 옵션 : 프로세스 이름을 보여줌
 
# pgrep -lu apache

2551    sshd

2552    bash

2803    vim
 -u 옵션 : 유저와 관련된 프로세스 찾기
 

 

▶ ps 와 pgrep 결합 사용 예:

/* sshd 및 실행에 대한 검색의 ps(간단하게) */

# ps -p `pgrep sshd`


  PID     TTY      STAT   TIME    COMMAND

  626    ?           Ss        0:00     /usr/sbin/sshd -D

 4000   ?          Ss        0:00     sshd: devanix [priv]

 4110   ?          S           0:01     sshd: devanix@pts/1

 

/* sshd 및 실행에 대한 검색의 ps(전체) */

# ps -fp $(pgrep sshd)


UID         PID      PPID   C    STIME  TTY      STAT   TIME    CMD

root         626      1         0     Aug12   ?           Ss       0:00     /usr/sbin/sshd -D

root         4000    626    0    01:59     ?           Ss       0:00     sshd: devanix [priv]

devanix   4110   4000  0    01:59     ?           S         0:01     sshd: devanix@pts/1

 


 

/* firefox 검색, 우선순위 향상 */

# sudo renice -5 $(pgrep firefox)

20522:  old  priority 0, new priority -5

20527:  old  priority 0, new priority -5
 

☞ 이러한 방법으로 입력한 프로세스 ID와 pgrep을 결합할 수 있다.




[출처] lsof , fuser, pgrep 명령어 정리|작성자 삽질맨

2012. 11. 21. 13:25

EPEL 레포지터리 설치

Contos 버젼이 최신 버젼이거나 일반적이지 않은 패키지의 경우 yum으로 설치하지 못하는 경우가 있다.

이런 경우에 좀 더 많은 패키지 설치를 가능하게 하는 EPEL repo를 추가하면 많고 다양한 패키지를 yum으로 설치할 수 있게 된다.


우선 EPEL repo 를 추가 할 수 있는 rpm 패키지를 먼저 설치한다.

다운로드 경로는 http://dl.fedoraproject.org/pub/epel/ 이며 여기에 자신의 Centos 에 맞는 rpm을 찾아 설치 하도록 한다.


Centos 6.3 64비트 버젼의 경우 rpm 패키지들은 아래 경로에서 확인 가능하다.

http://dl.fedoraproject.org/pub/epel/6/x86_64/


바로 설치를 하려면 아래 명령을 사용하자.

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm -> 버젼은 달라 질 수 있으니 주의


그 후에 yum repolist 명령으로 repo 정보를 재 설정한 후에 확인 해보면 원하는 패키지를 설치할 수 있을 것이다.

2012. 11. 21. 11:19

APM 설치옵션(메모)

mysql -------------------------------------------
mysql은 설치 편의성이나 성능면에서도 바이너리가 좋다
되도록이면 소스컴파일 하지 말고 바이너리로 설치해라
5.1 까지 옵션
./configure \
--prefix=/usr/local/mysql \
--localstatedir=/usr/local/mysql/data \
--with-unix-socket-path=/tmp/mysql.sock \
--with-client-ldflags=-all-static \
--with-mysqld-ldflags=-all-static \
--without-debug \
--enable-assembler \
--with-mysqld-user=mysql \
--with-plugins=max 또는 max-no-ndb -->모든 플러그인(엔진)사용, 또는 ndb 제외하고 다른 모든 엔진

my.cnf 관련 내용은 [여기] 참고

mysql(클라이언트만 설치) -------------------------------------------
prefix를 지정하지 않고 클라이언트만 설치할 경우 /usr/local/lib/mysql 에 라이브러리가 설치되며
/usr/local/bin 에 실행스크립트등의 파일이 설치됨
5.1 버젼까지
./configure \
--enable-thread-safe-client \
--with-charset=euckr \
--without-server \
--without-query-cache \
--without-docs \
--without-man \
--without-bench \
--without-readline \
--without-libedit
make && make install

5.5 부터(configure 가 없어지고 cmake로 바뀜)
cmake .
make mysqlclient libmysql



apache -------------------------------------------
./configure \
--prefix=/usr/local/apache \
--enable-modules=so \
--enable-rewrite \
--enable-ssl \
--enable-deflate \
--enable-expires \
--enable-headers \
--enable-info \
--enable-so \
--enable-unique-id  //mod_security 설치시 필요함

아파치 2.4 버젼에서는 apr, apr-util 이 포함되 있지 않아 별도로 다운받아 아파치 소스폴더에 추가한 후 컨피그해야 하니깐 http://mirror.apache-kr.org/apr/ 여기 있으니 다운 받도록 하자.
다운받은 소스를 압축 풀어서 /아파치소스/srclib 밑에 apr  ,apr-util 디렉토리를 만들고 집어 넣어 준다.
apr을 사용하기 위해 configure 에 
--with-included-apr 이라는 옵션을 추가 하면 srclib 밑에 소스를 찾아서 사용하고 apr, apr-util을 다른 디렉토리에 넣어 놓았다면 --with-apr=경로 이런식으로 configure 옵션을 추가한다.
그 후에 buildconf 를 실행하여 conf를 변경한 후에 configure 해야 하니 주의하자

아파치 2.4 버젼에서는 DSO 를 위하 옵션이 살짝 바뀌었다.
--enable-modules=so 가 아니라 --enable-module=so 이다. 머가 바뀌었냐고? modules 에서 s 가 빠졌다.
아파치 2.4 버젼은 옵션을 주지 않으면 prepork 로 설치 되지 않는다(ZendLoader 실행안됨)
--with-mpm=prefork 옵션을 줘서 prefork 로 설치하자

mod_defalate 오류가 나는 경우 zlib-develop 설치

modsecurity -------------------------------------------  
http://www.modsecurity.org/download/ 다운 후 압축해제.
./configure --with-apr=/usr/local/apache --with-apu=/usr/local/apache --with-apxs=/usr/local/apache/bin/apxs
make && make install 

아파치 설치시 unique-id 를 설치하지 않았다면
아파치소스폴더/modules/metadata/mod_unique_id.c 모듈을 올려줘야함

/usr/local/apache/bin/apxs -cia ./mod_unique_id.c
 
php -------------------------------------------
./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php \
--with-mysql=/usr/local/mysql \
--with-libdir=lib64 \  
--with-mysqli \
--with-pdo-mysql \
--with-apxs2=/usr/local/apache/bin/apxs \  
--with-zlib \
--with-gd \
--enable-gd-native-ttf \  
--with-jpeg-dir \  
--with-png-dir \  
--with-iconv \   
--disable-posix \
--disable-rpath \
--enable-magic-quotes \
--disable-dmalloc \
--enable-inline-optimization \
--enable-mbstring \
--enable-mbregex \   
--disable-debug \
--with-curl \
--with-ttf \  
--with-freetype-dir \
--with-mcrypt 

//필요한거 있으면 추가
--with-libexpat-dir \ 
--with-libxml-dir \ 
--enable-xml \ 
--enable-bcmath \  
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-pic \ 
--enable-ftp \  
--with-kerberos \
--with-openssl \  
--enable-wddx \  
--enable-calendar \
--enable-soap \
--enable-exif \  
--enable-shmop 
--enable-sockets \ 
--with-gmp \  

주의
--with-libdir=lib64 옵션을 지정한 경우 mysql/lib 가 아닌 mysql/lib64 에서 so 파일을 찾으므로 
잊지말고 ln -s lib lib64 소프트 링크를 생성해둬야 함

주의
error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
이런 오류가 발생 할 경우 공유라이브러리 경로 설정이 잘못 되었을 경우가 있다.
/etc/ld.so.conf.d/mysql-x86_64.conf 파일이 있는데 정작 mysql lib 경로가 /usr/lib64/mysql 로 잡혀있는데 이 경로는 yum으로 설치되었을 경우 사용되는 경로 이므로 /usr/local/mysql/lib 를 추가 하고 ldconfig 를 실행 한후에 다시 해보자

주의
mysql을 소스 설치한 후에 --with-pdo-mysql 를 할경우 mysql_config 를 찾을수 없다는 오류가 나올 수 있는데 이것은 mysql 버그로  mysql_config를 설치경로에서 찾지 않고 /usr/bin에서 찾기 때문에 발생한다
임시적으로 ln -s /usr/local/mysql/bin/mysql_config /usr/bin/mysql_config 링크를 만들어주면 된다.

https://bugs.php.net/bug.php?id=46975  

참고
윈도우나 여타의 이유로 php.ini 파일을 엉뚱한 곳에서 찾을 경우
httpd.conf 에 아래 설정을 추가하면 됨
PHPIniDir "php.ini 파일 경로"

eaccelerator -------------------------------------------
php확장 모듈들은 처음에는 configure가 없음
phpize를 실행하면 php에 맞는 configure 파일이 생성됨
 
./configure \
--enable-eaccelerator=shared \
--with-php-config=/usr/local/php/bin/php-config
make && make install

geoip -------------------------------------------
http://pecl.php.net/package/geoip 에서 파일 다운로드
phpize 실행 ->configure 생성
./configure  --with-php-config=/usr/local/bin/php-config --with-geoip=/usr/local/GeoIP
make && make install 

suhosin -------------------------------------------

http://www.hardened-php.net/suhosin/ 에서 다운로드
phpize 실행 ->configure 생성
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install

수호신 설정(나머지는 document 참고)

[Suhosin]
extension=suhosin.so
suhosin.executor.disable_eval = ON

2012. 8. 24. 14:19

nfs 간단 설정

1. 데몬 설치 확인 (nfs-util, portmap), 없으면 yum으로 설치


2. 공유목록 관리

vi /etc/exports

/home/경로    192.168.0.*(rw)


3. 공유목록 확인

exportfs -v


4. 포트맵 및 nfs 데몬 관련 rpc 포트를 고정

vi /etc/rc.d/init.d/nfslock


daemon rpc.statd "$STATDARG" 를 

daemon rpc.statd -p 4000 으로 변경


5. 사용할 포트 지정

vi /etc/sysconfig/nfs


LOCKD_TCPPORT=4001

LOCKD_UDPPORT=4001

MOUNTD_PORT=4002


6. 포트 명칭 변경(궂이 안해줘도..)

vi /etc/service

4000 ~ 4003 번까지 이름을 변경해줌


7. 포트 적용 확인

rpcinfo -p


8. 방화벽에서 포트 열어 주기

-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -s 192.168.0.0/24 -m tcp --dport 111 -j ACCEPT

-A RH-Firewall-1-INPUT -p udp -m state --state NEW -s  192.168.0.0/24 -m udp --dport 111 -j ACCEPT

-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -s  192.168.0.0/24 -m tcp --dport 2049 -j ACCEPT

-A RH-Firewall-1-INPUT -p udp -m state --state NEW -s  192.168.0.0/24 -m udp --dport 2049 -j ACCEPT

-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -s  192.168.0.0/24 -m tcp --dport 4000:4004 -j ACCEPT

-A RH-Firewall-1-INPUT -p udp -m state --state NEW -s  192.168.0.0/24 -m udp --dport 4000:4004 -j ACCEPT


9. 클라이언트에서 연결

mount -t nfs 서버아이피:/home/경로 /클라이언트경로


10. 클라이언트 fstab 에 설정

아이피:/home/경로    /클라이언트경로    nfs    defaults    1 2