자원을 사용하다 보면 링크를 걸어 트래픽을 가져가죠..
그것보다는 그냥 가져가는게 나을듯 한데..
막아놔도 가져갈 사람은 다 가져가니까..

nemo.pe.kr -> 자신의 도메인으로 변경
www.nemo.pe.kr -> 자신의 도메인으로 변경
아래소스를 .htaccess로 저장하시고...
웹이 시작으는 디렉토리에 놓으면 된다.
아니면 파일이 있는 장소에..

SetEnvIfNoCase Referer "http://(.*\.)?nemo.pe.kr" Access
SetEnvIfNoCase Referer "http://(.*\.)?www.nemo.pe.kr" Access
SetEnvIfNoCase Referer "^$" Access
<FilesMatch ".([bB][mM][pP]|[gG][iI][fF]|[jJ][pP].?[gG]|[pP][nN][gG])$">
order deny,allow
deny from all
allow from env=Access
</FilesMatch>
<FilesMatch ".([aA][sS][fF]|[aA][vV][iI]|[mM][pP].?[gG]|[wW][mM][vVaA]|[mM][oO][vV]|[rR][mM])$">
order deny,allow
deny from all
allow from env=Access
</FilesMatch>
<FilesMatch ".([sS][wW][fF]|[tT]|[iI][fF][fF]|[mM][pP]3|[zZ][iI][pP]|[aA][lL][zZ]|[eE][xX][eE])$">
order deny,allow
deny from all
allow from env=Access
</FilesMatch>
 
--------------------------------------
 복사방지 태그
<body oncontextmenu="return false" onselectstart="return false" ondragstart="return false">

------------------------
트래픽 방지 다른것

SetEnvIfNoCase remote_addr 55.35.75.1 bad
SetEnvIfNoCase User-Agent "^Wget" bad
SetEnvIfNoCase User-Agent "^Webzip" bad
SetEnvIfNoCase User-Agent "^EmailSiphon" bad
SetEnvIfNoCase User-Agent "^EmailWolf" bad
SetEnvIfNoCase User-Agent "^BPImageWailker" bad
Order allow,deny
Allow from all
Deny from env=bad

백신, 방화벽

 
addbib - 도서목록 형식의 데이터베이스를 만들거나, 확장
alias - 명령어 간소화하기
apropos - 관련된 명령어 찾기, 사용설명서의 키워드 검색
ar - 라이브러리 만들기, 관리
arch - 컴퓨터 종류 알기
arp - 같은 서브넷의 IP 보여주기
at - 작업 시간 정하기
atd - 계획성 있는 작업 실행하기
awk - 특정 패턴 문자 처리하기
a2p - 펄 파일로 바꾸기
badblocks - 배드 블럭 검사하기
banner - 큰 글자(배너) 만들기
basename - 경로 이름에서 마지막에 있는 이름만 출력
batch - 원하는 시간에 원하는 명령을 실해하게 하는 명령
bc - 계산기
biff - 메일 수신 소리로 확인하기
bin-mail, binmail - 예전에 사용한 전자우편 프로그램
bg - 후면작업; 배경화면 설정
bind - 키나 함수 순서 결합하기
builtin - 내부 명령어 알아보기
break - 루프 빠져나가기
cal - 달력보기
calendar - 간단한 일정표
cat - 파일 병합과 내용 보기
case - 조건 처리하기
cc - C 컴파일러
cd - 디렉토리 변경하기
cfdisk - 디스크 설정하기
chattr - 파일 속성 변경하기
checknr - nroff 또는 troff 입력 파일 검사; 오류를 보여준다
chfn - 사용자 정보 변경하기
chgrp - 파일, 디렉토리가 속했던 그룹 바꾸기
chmod - 파일 권한 바꾸기
chown - 파일 주인 바꾸기
chsh - 지정된 셸 바꾸기
cksum - CRC값을 점검한다
clear - 화면 청소하기
clock - CMOS 시각을 조정하기
cmp - 두 파일을 바이트 단위로 비교
colcrt - troff 파일의 밑줄 속성 문자 처리
colrm - 열 삭제하기
column - 가로 정렬하기
comm - 지정 두파일의 줄 단위 비교와 그 처리
command - 명령어 알아보기
compress, uncompress, zcat - 파일 압축관련 유틸리티들
continue - 루프 계속돌기
cp - 파일 복사하기
cpio - 복사본 만들기
cpp - C 언어 전처리기
crontab - cron을 관리한다
csh - C 문법과 비슷한 쉘 스크립트 문법과 기타 여러 기능이 내장된 쉘
csplit - 파일에 서식, 규칙 정하기
ctags - ex 나 vi 편집기에서 사용될 tag 파일을 만드는 명령
cut - 필요한 필드만 출력하기
date - 날짜 보기
dbx - 소스 수준의 디버거
dd - 블럭장치 읽고 쓰기
debugfs - ext2 파일 시스템 디버깅하기
declare - 변수 선언하기
deroff - nroff, troff, tbl, eqn 관련 내용 지움
df - 파일 시스템의 사용량 보기
diff - 두 파일의 차이점 비교
dirs - 디렉토리 목록 표시하기
dmesg - 부팅 메시지 보기
dnsdomainname - DNS 이름 출력
domainname - NIS 이름 출력&설정
du - 디렉토리와 파일의 용량 파악하기
dumpe2fs - 파일 시스템 정보 보기
echo - 표준 출력하기
ed, red - 기본 줄 편집기
eject - 장치 해제하기
elm - 메일 관련
enable - 내부 명령어 지정
env - 환경변수 출력하기
eqn, neqn, checkeq - 수식 표현 포멧 도구
error - 컴파일러 오류 메시지 목록
 eval  - 인수 읽기
exec - 셸 명령어 실행하기
exit - 종료하기
ex, edit, e - 줄 편집기
expand, unexpand - TAB 문자를 공백문자로 바꿈, 또는 그 반대로
expr - 인자를 수식으로 처리
export - 변수 지정하기
e2fsck - 파일 시스템 복구하기
fc - 지정된 편집기 받기
fdformat - 플로피 디스크 포맷하기
fdisk - 파티션 나누기
fg - 지정된 작업을 전면 프로세스로 시작하기
file - 파일 형식 보기
find - 파일 찾기
finger - 사용자 정보 알기
fold - 긴 줄 출력 방법 지정
fmt, fmt_mail - 간단한 문서나, 편지 포멧 도구
for - 반복 실행하기
free - 메모리 사용량 알아보기
fsck - 파일 시스템 검사하기
fstab - 파일 시스템에 대한 고정적인 정보 저장하기
ftp - 파일 전송 프로그램
fuser - 프로세스 ID 출력
gcore - 실행 중인 프로세스의 core 이미지를 구한다.
getkeycodes - 매핑 테이블 출력하기
gprof - call-graph profile data - ?를 보여줌
grep - 특정 문자(열) 검색하기
groups - 사용자의 그룹을 보여줌
gzexe - 실행 파일 압축하기
gzip - 압축하기
halt - 시스템 종료하기
hash - 기억해 두기; index 역할
head - 파일의 앞부분 출력하기
help - 도움말 보여주기
host - 호스트 정보 보기
history - 사용 명령어 목록보기
hostname - 현재 시스템 이름을 보여줌
id - 계정 정보 알기
if - 조건문 실행하기
ifconfig - 랜카드에 주소 할당하기
imake - makefile 만드는 프로그램
imolamod - 모듈 설치하기
indent - C 프로그램 소스 파일을 들여쓰기 하는 포멧 도구
inetd - 인터넷 서비스의 최상위 데몬
init - 실행 단계 정하기
install - 파일 설치
ispell - 철자법 검사하기
jobs - 수행중인 프로세스 알기
kbd_mode - 키보드 모드 출력하기
kill - 프로세스 죽이기
klogd - 커널 로그 데몬
last - 사용자가 마지막 접속 상태를 보여줌
ld, ld.so - 링크 편집기, 동적 링크 편집기
ldd - 공유 라이브러리의 의존성 알기
leave - 자신의 접속 종료 시간을 알려줌
less - more 명령의 확장
let - 정규식 표현하기
lex - 어휘 분석 프로그램 생성기
lilo - 부팅하기
lint - C 프로그램 verifier
ln - 파일의 하드, 심벌릭 링크 명령
locate - 패턴에 맞는 파일 찾기
login - 로그인하기
logger - 시스템 로그 기록하기
logname - 사용자 로그인명 보여주기
logout - 로그인 셸 종료하기
look - 시스템 디렉토리나, 정열된 목록에서 단어 찾기
lookbib - 도서목록형 데이타베이스에서 찾기
lorder - 오브젝트 라이브러리의 관계 찾기
losetup - 중복 장치 확인하기
lp, cancel - 인쇄 시작, 취소
lpd - 프린트 데몬
lpq - 인쇄 작업 상황 보기
lpr - 인쇄
lprm - 인쇄 작업 지우기
ls - 디렉토리 내용보기
lsattr - 파일 시스템의 속성 보여주기
lsdev - 하드웨어 장치 출력하기
lsmod - 모듈 정보 출력하기
mail - 메일 관련
make - 실행 파일을 만들거나, 특정 작업 파일을 만들 때 사용하는 도구
man - 매뉴얼 보기
mattrib
mbadblocks
mcd
mcopy
mdel
mdeltree
mdir
mesg - 메시지를 받을 수 있는지 확인하기
mformat
minfo
mkdir - 디렉토리 만들기
mke2fs - 파일 시스템 생성하기
mkfs - 파일 시스템 만들기
mknod - 특수 파일 만들기
mkstr - C 소스 파일을 참조로 오류 메시지 파일을 만듬.
mkswap - 스왑 영역 지정하기
mlabel
mmd
mmount
mmove
mpartition
mount - 장치 연결하기
more - 화면 단위로 출력하기
mrd
mren
mtoolstest
mtype
mutt - 메일 관련
mv - 파일 이동이나, 이름 바꾸기
mzip
nawk - 패턴 검색과 언어 처리
netstat - 현재 네트웍 상황 보기
nice - 낮은 우선권에서 명령 실행
nm - 심블 이름 목록 보기
nroff - 문서 포멧 도구
od - 8진수, 10진수, 16진수, ascii 덤프
passwd, chfn, chsh - 비밀번호, 핑거정보, 쉘 바꾸기
paste - 여러파일의 서로 관련 있는 줄 연결시키기
pidof - 실행중인 프로그램의 프로세스 ID 찾기
pine - 메일 관련
ping - 네트웍 확인하기
popd - pushd 취소
pr - 문서 파일 양식화 도구
printenv - 현재 환경 변수들의 내용과 그 값 알아보기
prof - profile 자료 보기
ps - 현재 프로세스 정보 보기
pstree - 프로세스 상관관계 알기
ptx - permuted(순열화된?, 교환된?) 색인 만들기
pwd - 현재 작업 디렉토리 보기
quota - 한 사용자에게 지정된 디스크 할당량보기
ranlib - archive를 random 라이브러리로 변화
rarp - rarp 테이블 관리하기
rcp - 리모트 카피
rcs - RCS 파일 속성 바꾸기
rcsdiff - RCS revisions 비교
rdev - 루트, 스왑장치, 램 크기, 비디오 모드를 조사하고 설정하기
rdate - 네트웍으로 시간 설정하기
reboot - 재부팅하기
rev - 한 줄의 문자열 꺼꾸로
rmmod - 모듈 지우기
readonly - 읽기 전용으로 표시하기
renice - 프로세스 우선 순위 바꾸기
reset - 터미널 초기화하기
restore - 다시 저장하기
rlogin - 리모트 로그인
rm - 파일 지우기
rmdir - 디렉토리 지우기
roffbib - 도서목록형 데이터베이스 보기 또는 양식화
route - 라우팅 테이블 추가/삭제하기
rpm - 프로그램 추가/삭제
rpm2cpio - rpm을 cpio로 변환하기
rsh - 원격으로 명령어 실행하기
rup - 로칼 머쉰의 호스트 상태 보기(RPC version)
rusers - 호스트에 로그인한 사용자 출력하기
rwall - 호스트 사용자에게 메시지 뿌리기
rwho - 현재 접속자 보기
script - 화면 갈무리
sed - stream editor
set - 변수값 설정하기
setup - 시스템 관련 설정하기
sh - 유닉스 표준 쉘
showmount - 호스트의 마운트 정보 보여주기
shutdown - 전원 끄기
 1) shutdown -r now -> now 대신에 시간을 써주면 그 만큼의 시간(분) 후에 재부팅된다. 이것은 "reboot" 명령과 같다.
 2) shutdown -h now -> now 대신에 시간을 써 주면 그 만큼의 시간(분) 후에 종료된다. 이것은 "halt" 명령과 같다.
size - 오브젝트 파일의 크기들을 보여줌
sleep - 지정한 시간 만큼 실행 보류
sort - 줄 정열과 검색
sortbib - 도서목록형 데이터베이스 정열
source - 스크립트 번역하기
spell, hashmake, spellin, hashcheck - 맞춤범 검사 - 물론 영어겠지요
split - 파일 나누기
ssh - 암호화된 원격 로그인하기
strings - 오브젝트 파일이나, 실행 파일에서 문자열 찾기
strip - 오브젝트 파일에서 심벌 테이블과 중복된 비트 삭제
stty - 터미널라인 설정 보여주기
su - super-user, 임시적으로 새 ID로 바꿈
suspend - 셸 중단하기
swapoff - 스왑 해제하기
swapon - 스왑 활성화하기
symorder - 심벌 순서 바꿈
sync - 버퍼 재설정하기
syslogd - 로그인 과정 설정하기
tabs - 터미날 tab 크기 지정
tac - 거꾸로 보기
tail - 문서 끝부분 출력하기
talk - 다른 사용자와 이야기하기
tar - 여러 파일 묶기 또는 묶긴 파일 풀기
tbl - nroff 또는 troff의 도표 작성 도구
tcpdchk - tcp wrapper 설정하기
tcpmatch - 네트웍 요청에 대해 예측하기
tee - 표준 입력으로부터 표준 출력 만들기
telnet - TELNET 프로토콜을 이용한 원격 리모트 호스트 접속
test - 주워진 환경이 참인지, 거짓인지를 돌려줌
tftp - 간단한 ftp.
time - 명령 실행 시간 계산
times - 셸에서의 사용자와 시스템 시간 출력하기
top - cpu 프로세스 상황 보여주기
touch - 파일 날짜 관련 부분을 바꿈
tr - 문자열 바꿔주기
troff - 문서 양식화 도구
true, false - 쉘 스크립트에서 사용되는 참/거짓을 리턴하는 명령
tsort - topological sort
tty - 현재 터미날 이름 보기
type - 유형 보기
ue - MICROemacs
ul - 밑줄 처리해서 보여주기
ulimit - 제한하기
umask - 매스크 모드 설정하기
umount - 장치 해제하기
unalias - 별명 제거하기
uname - 시스템 정보 보기
unexpand - 공백 문자를 탭으로 변환하기
unifdef - cpp 입력 줄에서 ifdef 부분 바꾸거나 지움
uniq - 중복되는 빈줄 지우기
units - 프로그램 변환도구
useradd - 사용자 계정 만들기
userdel - 계정 삭제하기
usermod - 사용자 계정정보 수정하기
unset - 설정 변수 해제
uptime - 시스템 부팅시간, 부하 평균 보여주기
users - 로그인된 사용자 보여주기
uucp, uulog, uuname - 시스템 간의 복사
uuencode, uudecode - 이진 파일을 아스키파일로 인코딩, 반대로 디코딩
uusend - 리모트 호스트에 파일 보내기
uux - 리모트 시스템 명령 실행
vacation - 자동으로 편지 답장하기
vgrind - grind nice program listings
vi, view, vedit - ex 바탕의 편집기
vtroff - 문서 양식화 도구
w - 현재 누가 접속해 있으며, 무엇을 하고있는지 보기
wait - 프로세스가 마치기를 기다림
wall - 모든 사용자에게 메시지 보내기
wc - 문자, 단어, 라인수 세기
whatis - 명령어의 간단한 설명보기
whereis - 찾는 명령의 실행파일, 소스, 맨페이지 경로 보여줌(패스에 해당하는 모든 디렉토리를 뒤져서 해당 명령어를 찾음)
which - 특정명령어의 위치가 어디인지를 찾아줌
while - 루프 명령어
who - 시스템에 접속되어 있는 사람만 보여줌
whoami - 현재 사용하고 있는 자신이 누군지 보여줌
write - 다른 사용자의 화면에 메시지 보내기
xargs - 명령행 인자 처리 명령
xcopy - 반복적으로 복사하기
XFree86
xstr - extract strings from C programs to implement shared strings
yacc - yet another compiler-compiler: 파싱. 형태소분석 프로그램 생성기
yes - 항상 yes만 응답하는 명령
ypchfn - NIS에서 사용하는 chfn 명령어
ypchsh - NIS에서 사용하는 chsh 명령어
yppasswd - NIS에서 사용하는 passwd 명령어
zcat - 압축 파일 보기
zcmp - 압축 파일 비교하기
zforce - 강제로 gz 만들기
zgrep - 압축 상태에서 grep 실행하기
zmore - 압축 상태에서 more 실행하기
znew - .Z 파일을 .gz로 다시 압축하기

▶ htpasswd 란?

특정 페이지를 제한하고 싶을때 홈페이지 특정 디렉토리에 패스워드 장치를 걸어 두고 특정 사용자에게 ID와 비밀번호를 발급하여 해당 디렉토리 접근시 ID와 비밀번호를 제시하여 특정 사용자만 통과할 수 있도록 하는 기능을 말합니다.

▶ .htaccess 파일 만들기


.htaccess 파일을 이용하여 가능합니다. 먼저 접근을 제어하고 싶은 디렉토리 내에 .htaccess 파일을 아래와 같은 내용으로 생성합니다 .htaccess 파일 만들기

ex) test라는 디렉토리에 특정 사용자만 접근가능하도록 하고 admin이라는 계정을 만들고
      happy라는 계정을 추가합니다.
      /home/username/test/.htaccess

------------------------------------------------------------------
  AuthName         '사용자인증연습'
  AuthType         Basic
  AuthUserFile      /home/username/test/.htpasswd
  AuthGroupFile   /dev/null
  ErrorDocument 401 '' 죄송합니다!! 당신은 정식 사용자가 아닙니다.'

  <Limit GET>
  require         valid-user
  </Limit>
------------------------------------------------------------------

.htaccess파일을 생성후 htpasswd(아파치를 설치한 디랙토리의 bin 디랙토리에 가면 있음)라는 유틸리티를 실행시켰을때 .htpasswd라는 파일이
자동으로 생성됩니다.

특정 페이지를 제한하고 싶을때 홈페이지 특정 디렉토리에 패스워드 장치를 걸어 두고 특정 사용자에게 ID와 비밀번호를 발급하여 해당 디렉토리 접근시 ID와 비밀번호를 제시하여 특정 사용자만 통과할 수 있도록 하는 기능을 말합니다.


▶ 사용자 만들기와 추가하기

1) .htaccess파일 생성후 htpasswd(아파치를 설치한 디랙토리의 bin 디랙토리에 가면 있음) 명령어를 이용하여 해당 디렉토리에 접근가능한 사용자 계정 및 패스
   워드를 생성합니다.

Usage:
     htpasswd -c .htpasswd admin [enter]
      Adding password for admin.
      New password: <비밀번호입력>
      Re-type new password: <비밀번호입력확인>

2) test사용자 계정 추가

Usage:
     htpasswd .htpasswd test [enter]
     Adding password for admin.
     New password: <비밀번호입력>
     Re-type new password: <비밀번호입력확인>

'-c' 옵션은 초기화후 새롭게 적용될때 이용되는 옵션입니다.
만약 htpasswd -c .htpasswd test 적용하게 되면 admin이 아닌 test로 리셋됩니다.

[아파치 서버 설정]

http://www.superuser.co.kr/apache/user_quote/page01.htm

cf. http://www.superuser.co.kr/unixwebhosting/htpasswd/index.htm

<Directory /home/*/public_html>
  AllowOverride FileInfo AuthConfig Limit
#    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
  <Limit GET POST OPTIONS PROPFIND>
       Order allow,deny
       Allow from all
  </Limit>
  <LimitExcept GET POST OPTIONS PROPFIND>
       Order deny,allow
       Deny from all
  </LimitExcept>
</Directory>

- 펌 -

기본적으로 설치를 할땐 mysql 및 webserver는 설치 안하고 하는것이 낮다 하지만 그렇게 하더라도 약간의 mysql 세팅이 되어

있고, apache(httpd)는 사용이 가능 할정도로 설치가 되어 있었다.

그럼 여기서 깨끝히 지우는 방법은?

간단 하다 yum 을 이용할 것이다. 우리가 설치할때 보통 페키지 설치는 yum 설치를 한다고 보면 될 것이다.

그러면 당연히 yum 을 이용해 지우는 것도 가능 한 것이다.

지우기 전에 할 것은 yum 설치에 대한 업데이트다.

yum update

위에 것을 할 시간이 있다면 해둬서 나쁠 것은 없을 것이다. 하지만 설치에 필요한 것만 할 것이라면..


# 소스 컴파일을 위한 컴파일러 및 각종 모듈 yum 설치
yum -y install gcc cpp gcc-c++ compat-gcc-32-g77 flex libjpeg-devel libpng-devel libtiff-devel freetype-devel openldap-devel pam-devel sendmail-cf vsftpd telnet-server


위에 것만 해도 무방 할 것이다. 기본적인 설치에 필요한 업데이트가 있기 때문에 위에 것을 설치 하고 시작하길 권유한다.

지금 부턴 필자가 여기 저기 뒤저서 나온 명령어들이다. 아주 간단하면서 편리하다.


# mysql 의 yum 을 이용한 삭제

yum remove mysql


위처럼 하면 mysql 에 대한 설치 파일 들이 전부 삭제된다. 중간에 y를 눌러야 한다면 눌러주자.


# apache(httpd) 의 yum 을 이용한 삭제

yum remove httpd


#아마 httpd 를 삭제 하면서 php도 같이 삭제 될 테지만, 혹시 모르니...

yum remove php


이쯤되면 알 수 있을 것이다 yum 을 이용한 삭제방법이다. 그렇다면 설치는 그것 또한 간단하다.

yum install 페키지이름

yum 을 이용하는 것은 x-window에서 페키지를 선택하고 지우는 것과 같은 효과라 보면 되겟다.


지금부턴 fedora5에서의 설치 스펙이다.


# zlib 소스 설치
cd /usr/local/src
wget http://www.zlib.net/zlib-1.2.3.tar.bz2
tar xfj zlib-1.2.3.tar.bz2
cd zlib-1.2.3
make
make install
# freetype 2 설치
글짜를 그릴 때 쓰는 라이브러리 입니다.
wget http://ftp.superuser.co.kr/pub/etc/freetype-2.1.5.tar.gz
tar xvfz freetype-2.1.5.tar.gz
cd freetype-2.1.5
./configure
make
make install

# openssl 소스 설치
cd /usr/local/src
wget http://www.openssl.org/source/openssl-0.9.8a.tar.gz
tar xfz openssl-0.9.8a.tar.gz
cd openssl-0.9.8a
./config
make
make install

# curl 소스 설치
cd /usr/local/src
wget http://curl.haxx.se/download/curl-7.15.1.tar.bz2
tar xfj curl-7.15.1.tar.bz2
cd curl-7.15.1
./configure --with-ssl
make
make install

# gd lib 설치
cd /usr/local/src
wget http://www.boutell.com/gd/http/gd-2.0.33.tar.gz
tar xfz gd-2.0.33.tar.gz
cd gd-2.0.33
./configure
make
make install

# webalizer 소스 설치
cd /usr/local/src
wget ftp://ftp.mrunix.net/pub/webalizer/webalizer-2.01-10-src.tgz
tar xfz webalizer-2.01-10-src.tgz
cd webalizer-2.01-10
./configure --with-language=korean
make
make install


위에서 나오는 make 와 make install 은따로따로 쳐야하지만 간단히 make && make install 라고 치면 한번에

설치가 될 것이다.이후에 나오느 make 와 make install 도 같은 방법으로 하면 영화의 반정도 볼정도의 시간은 날것이다.


# mysql 4.1.x 설치
cd /usr/local/src
wget http://ftp.superuser.co.kr/pub/mysql/mysql-4.1.16.tar.gz

tar xfz mysql-4.1.16.tar.gz
cd mysql-4.1.16
./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --with-charset=euckr
make
make install

/usr/local/mysql/bin/mysql_install_db
groupadd mysql
useradd -M -c MySQL_Server -d /usr/local/mysql -g mysql -s /bin/nologin mysql
chown root.mysql -R /usr/local/mysql
chown mysql.mysql -R /usr/local/mysql/data
cp /usr/local/mysql/share/mysql/my-huge.cnf /etc/my.cnf
echo "/usr/local/mysql/bin/mysqld_safe &" >> /etc/rc.local

# apache 1.3.x 설치
cd /usr/local/src
wget http://ftp.superuser.co.kr/pub/apache/apache_1.3.34.tar.gz

tar xfz apache_1.3.34.tar.gz
cd apache_1.3.34
./configure --prefix=/usr/local/apache --enable-module=so
make
make install
echo "/usr/local/apache/bin/apachectl start" >> /etc/rc.local


#freetype 소스설치후 적용하기위세 freetype 옵션추가
# php 소스 설치
cd /usr/local/src
wget http://kr.php.net/get/php-4.4.2.tar.bz2/from/this/mirror
tar xfj php-4.4.2.tar.bz2
cd php-4.4.2
./configure --with-apxs=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/apache/conf --with-zlib-dir=/usr/local --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-tiff-dir=/usr/local --with-freetype-dir=/usr/local --with-ttf --with-gd --with-openssl --with-gettext --with-kerberos --with-swf-dir=/usr/local --with-mod_charset --with-regex=php --with-curl --with-ldap --with-iconv --enable-gd-native-ttf --enable-ftp --enable-sockets --disable-debug --enable-calendar --enable-sigchild --enable-magic-quotes --enable-bcmath --enable-exif --enable-mbstring --enable-dbase --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-yp --with-jpeg-dir --with-freetype-dir
make
make install
cp php.ini-dist /usr/local/apache/conf/php.ini


그다음엔 ZendOptimizer 를 설치 했으면 하지만 ZendOptimizer 를 설치하면 자동적으로 httpd를 재기동 하기 때문에 요류가

생길 수 도 있고 httpd.conf 파일을 수정이 이룬 후에 httpd 를 작동하는 것이 낳을 것이다.


# httpd.conf 파일 수정 index.php 인식 및 홈 디렉토리 변경.

vi /usr/local/apache/conf/httpd.conf

수정
DirectoryIndex index.html index.htm index.php

DocumentRoot /home

#<Directory /home/>

- .php 파일 및 html 파일에서 php 코드 실행되게 설정하려면
AddType application/x-httpd-php .php .phtml .php3 .html .htm
AddType application/x-httpd-php-source .phps


# php 연동시킨다.이부분은 필자도 정확히 모르나 아래 것을 안하면 php 인식이 안된다.

vi /usr/local/apache/conf/mime.types
두줄 추가 (확장자는 탭키로 띄운다)
application/x-httpd-php php ph inc
application/x-httpd-php-source phps


# 아래 글은 본문을 긁어 놓은 것이다. 필자는 업로드 제안풀기와 register_globals=On 만 설정하였다.

vi /usr/local/apache/conf/php.ini
- 그림 파일 및 프래쉬 파일 로그 남기지 않게 설정
방문자 수가 많아지면 웹로그가 엄청 쌓이게 되고, 그 로그는 크기가 2G를 넘게 되면 웹페이지에 이상현상이 생깁니다. 그렇다고 로그를 안 남길 수는 없는 것이고, 이미지 파일들은 로그남기는 것에서 제외합니다.
CustomLog logs/access_log common 이렇게 되어 있는 것을 ..
SetEnvIfNoCase Request_URI (gif|png|jpg|css|js|bmp|jpeg|swf)$ IMAGE=1
CustomLog /usr/local/apache/logs/access_log common env=!IMAGE
이렇게 바꾸면^^; 쉽게 가능합니다.

- 업로드 용량 제한 풀기
# vi /usr/local/apache/conf/php.ini
기본적으로 업로드는 2M로 제한되어 있습니다. 만약 2M 이상으로 하면 여러 가지 설정들을 바꾸어 줘야 합니다. 업로드 되는 시간을 길 게 해 주어야 하고, 한번에 잡아먹을 메모리를 크게 해 주어야 합니다.
default_socket_timeout = 600
post_max_size = 20M
memory_limit = 20M
upload_max_filesize = 20M

- post, get , 쿠키 , 세션등의 변수를 일반변수로 (개인 서버용일경우 보안상 OFF 권장)
예 전에 php는 기본적으로 위 변수를 일반변수로 사용할 수 있었습니다. 하지만 보안에 취약 하기 때문에 php 설치시 기본적으로 일반변수로 사용못하게 설정합니다. 이렇게 되면 문제가 예전에 사용하던 짜여졌던 프로그램은 정상적으로 실행되지 않습니다. 보안보다는 호환성이 더 중요하죠^^;
register_globals=On 이렇게 설정합니다.


# ZendOptimizer 설치
cd /usr/local/src
wget ftp://ftp.sir.co.kr/zendoptimizer/ZendOptimizer-2.5.10a-linux-glibc21-i386.tar.gz
tar xfz ZendOptimizer-2.5.10a-linux-glibc21-i386.tar.gz
cd ZendOptimizer-2.5.10a-linux-glibc21-i386
./install.sh

php.ini 경로   -설치도중 php.ini 의 위치를 묻는 부분이 나온다. 경로만 넣으면 된다.
/usr/local/apache/conf


여기서 문제가 생길수 있다 httpd 의 작동에서 문제가 된다면.

Selinux환경이 활성화 때문이다.

Selinux활성화 상태에서 apache를 구동하는 방법은 조금 복잡.

그냥 Selinux를 비활성화 시키고 재부팅하면 정상적으로 구동된다.

먼저, 콘솔상태라면..

/etc/sysconfig/selinux 파일을 열어서

SELINUX=enforcing 부분을 아래와 같이 변경.
SELINUX=disabled

이와같이 변경한 다음에 재시작.

disabled 대신에 Permissive 라고 입력해도 된다.


현재 필자는 여기까지가 apm 셋팅의 끝이다. proftp 나 그외에 필요한 설치들이 몇가지 더 있지만.

apm 설치에 필요한것만 끌어 모아서 설치기를 써내렸습니다. 그외에 필요한 것이 있다면 같은 페이지에 fedora5 설치기를 참조

하시기 바랍니다. pfoftp 나 그외에 설치에 대한 것도 및에 자세히 나올 것입니다. 하지만 필자는 내부 서버 설치가 목적으로

서버를 설치 했기 때문에 그외에 것은 필요 하지 않아 해보지 않았습니다. 그리고 현재 위에 설치기에서 따라 치시기만 했고,

오류 없이 설치가 되었다면, 컴퓨터를 리부트 하더라도 mysql과 httpd가 떠 있어야 정상적으로 설치가 된 것입니다.

pstree | grep mysql

pstree | grep httpd

위에것을 실행했을때 tree 가 떠야 정상적으로 작동중인 것입니다.

+ Recent posts