proftpd 서버 디폴트 루트 제한

proftpd로 ftp 서비스를 해줄때, 사용자들이 자신의 계정 디렉토리만
억세스하게 설정하려면 proftpd.conf
(보통 /etc 나 /etc/proftpd/conf) 에

DefaultRoot ~

를 추가 해줍니다.

-------------------------------------------------------

/home/user/public_html
일경우
ftp 접속하면 바로 public_html 폴더로 접속,상위 디렉토리로 이동못하게 막으려면

DefaultRoot ~/public_html
로 하면 됩니다.
그러면 ftp 접속후 바로 public_html 폴더로 들어가며 상위로는 못가죠.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2005/04/28 13:22 2005/04/28 13:22
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/232

사용자 홈에 디렉토리 자동 생성

가끔 사용자를 추가하면 자동으로 디렉토리가 생기기를 원할때가 있다.

웹서버의 사용자 홈디렉토리가 그것인데, 일반적으로 아파치에서는 [$HOME]/public_html/ 에 index.html 파일이 있으면 그것을 사용자 웹루트로 인식한다.

서버 관리자가 이 디렉토리를 자동으로 생성되게 하려면

/etc/skel 디렉토리 아래에 public_html이라는 이름의 디렉토리를 만들어 두면 된다.

만약 index.html 이라는 파일을 같이 넣어 두면 그것이 사용자의 메인 디렉토리가 된다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2005/04/28 11:45 2005/04/28 11:45
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/231

### Section 3: Virtual Hosts
#
# VirtualHost: If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn\'t need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
#
# for further details before you try to setup virtual hosts.
#
# You may use the command line option \'-S\' to verify your virtual host
# configuration.

#
# Use name-based virtual hosting.
#
NameVirtualHost 아이피주소

//---- 주석을 제거하고 아이피주소를 설정하면 됩니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2005/04/28 10:05 2005/04/28 10:05
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/230

mysql 사용자 계정

//--- 사용자 계정 추가 DB 연결

grant all privileges on database.* to user_name@localhost identified by \'user_pw\'
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2005/03/11 13:06 2005/03/11 13:06
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/229

find / -used 2 -exec ls -l {}\\;

수퍼유저코리아의 리눅스 실무명령어 바이블에 실려있는

지정된 날짜이후에 변경된 화일을 찾는 방법입니다

어떤화일때문에 용량이 늘어난건지 찾으면 되겠네요.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2005/02/16 11:32 2005/02/16 11:32
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/228

자주쓰는 명령어

공사중에 로그인 막기
시스템을 공사중일 때, root 이외의 다른 사용자를 로그인 못하게 해야 할 때가 있죠?
그럴 때는, /etc/nologin 이라는 파일을 만들어,
공사중 또는 Under Construction이라는 공지를 넣으면 됩니다.

크기가 가장 큰 파일, 디렉토리 찾기
가장 큰 디렉토리를 찾으려면,
du -S | sort -n

cf) 솔라리스의 경우
du -sk `ls -1 | grep \'/$\'`|sort +n

가장 큰 파일을 찾으려면,
s -lR | sort +4n

디스크 Full발생시 쓸모없는 파일 제거
오브젝트파일만 제거하는 예제
find . -name \'*.o\' -print -exec rm -f {} \\;

실행파일들 출력
find . -type f -perm +u+x -print

find의 일반적인 용례
name 파일명 지정한 파일명에 해당하는 파일을 검색
메타문자를 사용할 경우 파일명을 \'\'기호 내에 기입

-size 파일 크기 지정된 크기의 파일을 검색. 크기는 블록 단위, 1 블록 = 512 바이트
-mtime 숫자 지정된 날짜 이전에 수정된 파일을 검색
-ctime 숫자 가장 최근에 변경된 것이 지정된 날짜 전인 파일 검색
-user 사용자명 지정된 사용자 수용의 파일 검색
-print 검색 결과를 화면에 표시
-atime 숫자 지정된 날짜 이전에 접근 된 파일을 검색
-perm 접근권한 지정

-type 파일 유형 지정된 유형의 파일을 검색
b: 블록 특수 파일
c: 문자 특수 파일
d: 디렉토리
f: 일반파일
: 링크파일
p: 파이프 파일

-exec 명령어 {} \\;
실행 결과를 입력 파일로 받아들여 명령어 실행.
명령어의 끝은 \\;
{} : 현재 경로명으로 대치

현재 디렉토리의 크기만을 파악할때
[root@dev2 local]# du -c -h --max-depth=0 *
6.4M apache
35M bin
43M dns
1.7M doc
42k etc
1.0k games
42k geektalkd
1.1M gnuws
1.1M include
41k info
19M jakarta-tomcat-3.2.3
0 jre
15M jre118_v3
25M lib
62k libexec
1011k man
1.3M mm.mysql.jdbc-1.2c
937k sbin
3.8M share
1.8M shoutcast-1-8-3-linux-glibc6
5.2M ssl
159M total

시스템 정보 감추기
/etc/inetd.conf 파일을 열어서,
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h


어떤 프로세스가 메모리를 가장 많이 잡아먹고 있는지 알아내기
ps -aux | sort +4n
또는
ps -aux | sort +5n

FTP로 들어온 사용자 확인하기
ftpwho
ftpcount


원하지 않는 사용자 죽이기
[root@dream /root]# skill -KILL sunny
위의 명령을 내리면 sunny 라는 사용자를 완전히 추방시킬수 있습니다.
그런데 이렇게 완전히 추방시키는게 아니구, 특정 터미널에 접속해있는 사용자만 추방시켜야 할 때도 있겠죠?
그럴때는

[root@dream /root]# skill -KILL -v pts/14
이런식으로 하면 된다 그럼 pts/14 에 연결되어 있는 사용자가 죽게 됩니다.

ess 결과를 vi로 보기
ess상태에서 v를 누르면 바로 vi로 감


vi에서 블럭 설정하기
alt+v 하면, 라인 단위로 블럭 설정을 할 수 있으며, 해제 하시려면 Esc를 누르면 됩니다.

또한 ctl+v를 하시면, 블럭 단위로 블럭을 설정하실 수 있습니다.

블럭을 설정 하신 뒤,

삭제를 하려면 x
복사를 하려면 y
붙여넣기는 p

man 페이지 프린트하기
vi에 대한 매뉴얼을 ps(postscript파일)로 저장
man -t vi > vi.ps

man 페이지를 일반파일로 갈무리하려면 man vi | col -b > aa.txt

ping 무시하기
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all

동시에 여러개의 하위 디렉토리 만들기
mkdir -p music/koreanmusic/ost

리로 다시 살리기
boot : vmlinuz root=/dev/hda6

특정 사용자 ftp 접근 막기
/etc/ftpusers 파일에 로그인 네임을 추가하면 됩니다.

X 윈도우에서 TV보기
리눅스에서 TV보기 위해서는 드라이버 파일과 TV를 보는 프로그램이 필요합니다.
이 글에서는 미지 리눅스 OS에 탑재된 bttv 칩셋을 사용하는 TV 카드를 기준으로 설명합 니다.
만일 커널을 새로 컴파일 하실 분은 반드시 Character devices -> Video For Linux -> BT848 Video For Linux 항목을 모듈화 시키거나 커널에 포함하십시오.

TV 카드를 리눅스에 인식시키기 위해서 /etc/conf.modules 파일에 다음과 같은 내용을 삽입하고 컴퓨터를 다시 시작합니다.

alias char-major-81 bttv

# 필립스 튜너의 경우 pre-install bttv modprobe -k tuner

# 알프스 튜너의 경우 pre-install bttv modprobe -k tuner type=9

이제 kwintv나 xawtv 등의 TV 시청 프로그램으로 TV를 볼 수 있습니다.
만약 TV 장치를 찾지 못하는 오류가 있다면 bttv driver 디렉토리에 포함된 MAKEDEV 를 실행하십시오.

s라는 파일이 포함된 rpm패키지 찾기
일단 ls의 절대경로를 알아야 한다. which ls
which로 알아낸 ls의 절대경로로 rpm질의를 한다.rpm -qf /bin/ls
[root@piruks /etc]# which ls
/bin/ls
[root@piruks /etc]# rpm -qf /bin/ls
fileutils-4.0i-2mz

현재 rpm패키지의 의존패키지
rpm -qR 패키지명

현재 디렉토리크기
du -h --max-depth=1 .

바로 이전 디렉토리로 가기
cd -

프로세스명으로 프로세스 죽이기
[리눅스]
killall 프로세스명
kill -9 `pidof 프로세스명`

하드웨어 시계맞추기
배포본을 설치하고 나면 시간이 맞지 않는 경우가 많다.
간단히 어느정도 정확한 시간을 설정하는 방법이다.
[root@dev /down]# rdate -s time.kriss.re.kr
[root@dev /down]# clock -w

원격에서 리모트서버의 X application실행시
X윈도 app를 실행할때 다음과 같은 에러가 나면 조치
[kang@dev /home/kang] xclock
Xlib: connection to \"211.222.186.170:0.0\" refused by server
Xlib: Client is not authorized to connect to Server
Error: Can\'t open display: 211.222.186.170:0.0

export DISPLAY=211.222.186.170:0
xhost +211.222.186.170

파일내 문자열 치환
mysql에 replace라는 프로그램이 딸려있다.

현재 디렉토리내 모든 파일에서 a를 b로 변경
replace a b -- *

현재 디렉토리내 모든 파일에서 a는 b로, b는 a로 변경
replace a b b a -- *

하위 디렉토리를 포함하여 위의 작업을 할때
replace a b -- `find . -type f -name \'*\' -print`
or
find . -type f -name \'*\' -exec replace a b -- {} \\;

PERL로 한다면 다음과 같이 해도 된다.
find . -type f -name \'*\' -exec perl -pi -e \'s/a/b/g\' {} \\;

ex)
find . -type f -name \'*.html\' -exec /usr/local/mysql/bin/replace myunggyu@orgio.net kang@dbakorea.pe.kr -- {} \\;

ISO이미지 만들기
/down/Disk1 디렉토리의 내용을 Linux9i_1.iso라는 ISO이미지파일로 만든다.
mkisofs -r -o Linux9i_1.iso /down/Disk3

위에서 만들어진 Linux9i_1.iso파일을 레코더로 구울때
cdrecord -v -isosize speed=12 dev=0,0 Linux9i_1.iso

XMMS에서 한글출력
메뉴중 옵션-선택사항-폰트\'에 다음과 같이 지정
옵션: 폰트셋 사용하기(멀티바이트 지원설정) 체크
연주목록에 다음과 같이 설정
-adobe-helvetica-bold-r-*-*-10-*, -baekmuk-gulimbdf-medium-r-normal-*-*-120-*-*-m-*-ksc5601.1987-0

기본창- X폰트사용 체크 하고 다음과 같이 설정
-adobe-helvetica-medium-r-*-*-8-*, -baekmuk-gulimbdf-medium-r-normal-*-*-120-*-*-m-*-ksc5601.1987-0

ISO파일 처리
CD이미지(ISO 9660) 만들기
dd if=/dev/cdrom of=ora817.iso
or
mkisofs -R -V Oracle817 -o ora817.iso /dev/cdrom

CD이미지(ISO 9660) 마운트
mount -r -t iso9660 -o loop ora817.iso /mnt/iso

CD이미지(ISO 9660) 굽기
cdrecord -scanbus로 가능한 dev파악
cdrecord -v -eject speed=12 dev=0,0,0 ora817.iso


file: 파일의 종류와 정보를 알려준다.

[kang@ns work]$ file signal_reset.c
signal_reset.c: C program text

[kang@ns work]$ file signal_reset
signal_reset: ELF 32-bit LSB executable, Intel 80386, version 1, dynamically linked (uses shared libs), not stripped


stat: Unix system함수인 stat(fstat)가 가지는 정보를 보여주기 위해 명령어로 구현되어진 것

[kang@ns work]$ stat signal_reset.c
File: \"signal_reset.c\"
Size: 175 Filetype: Regular File
Mode: (0664/-rw-rw-r--) Uid: ( 512/ kang) Gid: ( 512/ kang)
Device: 3,7 Inode: 96199 Links: 1
Access: Wed Oct 18 21:12:01 2000(00000.00:01:33)
Modify: Wed Oct 18 21:11:43 2000(00000.00:01:51)
Change: Wed Oct 18 21:11:43 2000(00000.00:01:51)

[kang@ns work]$ stat signal_reset
File: \"signal_reset\"
Size: 11991 Filetype: Regular File
Mode: (0775/-rwxrwxr-x) Uid: ( 512/ kang) Gid: ( 512/ kang)
Device: 3,7 Inode: 96198 Links: 1
Access: Wed Oct 18 21:12:06 2000(00000.00:01:30)
Modify: Wed Oct 18 21:11:50 2000(00000.00:01:46)
Change: Wed Oct 18 21:11:50 2000(00000.00:01:46)


reset: 키보드설정 reset(? 매뉴얼에도 없다. 잘모르겠다.)

[kang@ns work]$ reset
Erase is delete.
Kill is control-U (^U).
Interrupt is control-C (^C).

whatis : whatis데이터베이스에서 완전한 단어를 검색한다.
ex) whatis ls whereis

apropos : whatis데이터베이스에서 문자열을 검색한다. man -k와 같다.
ex) apropos socket

whereis : 바이너리,소스,매뉴얼 파일의 위치 출력
ex) whereis cp

cal : 달력 출력
ex) cal 2004 : 2004년 달력 출력
cal 5 2004 : 2004년 5월 달력 출력

tty : 자신이 사용하는 터미널명을 출력. kill명령으로 해당 터미널유저를 처리할때 쓰도록..




쉘에서...

?은 한문자를 의미
*은 모든 문자를 의미

s dbakorea[0-9] : dbakorea0 ~ dbakorea9
s dbakorea[09] : dbakorea0, dbakorea9


SORT
[kang@dbakorea test]$ cat sort.dat
aaa,강명규,관리자
ccc,홍길동,도둑놈
bbb,강감찬,장군
ddd,임꺽정,도적놈
[kang@dbakorea test]$ sort sort.dat
aaa,강명규,관리자
bbb,강감찬,장군
ccc,홍길동,도둑놈
ddd,임꺽정,도적놈
[kang@dbakorea test]$ sort -t , +1 sort.dat 2번째 컬럼을 기준으로 정렬. -t는 필드구분자로 콤마 지정
bbb,강감찬,장군
aaa,강명규,관리자
ddd,임꺽정,도적놈
ccc,홍길동,도둑놈

대소문자 변환
[kang@dbakorea test]$ tr \"[a-z]\" \"[A-Z]\" < sort.dat
AAA,강명규,관리자
CCC,홍길동,도둑놈
BBB,강감찬,장군
DDD,임꺽정,도적놈

PASTE
[kang@dbakorea test]$ cat > paste.data1
홍길동
이순신
김유신
[kang@dbakorea test]$ cat > paste.data2
부산
서울
대구
[kang@dbakorea test]$ paste paste.data1 paste.data2
홍길동 부산
이순신 서울
김유신 대구
[kang@dbakorea test]$ paste -d\"\\n\" paste.data1 paste.data2
홍길동
부산
이순신
서울
김유신
대구
[kang@dbakorea test]$ paste -s -d\"::\\n\" paste.data1
홍길동:이순신:김유신
[kang@dbakorea test]$

JOIN : DBMS의 조인기능과 유사
[kang@dbakorea test]$ cat > join.data1
maddog:강명규
gildong:홍길동
superman:슈퍼맨
batman:배트맨
[kang@dbakorea test]$ cat > join.data2
maddog:DBA
maddog:Programmer
superman:Hero
batman:American Hero
[kang@dbakorea test]$ join -j1 1 -j2 1 -t: join.data1 join.data2
maddog:강명규:DBA
maddog:강명규:Programmer
superman:슈퍼맨:Hero
[kang@dbakorea test]$


SPLIT
[kang@dbakorea test]$ split -100000 wf_cleaner_20040418.log wf_cleaner_
[kang@dbakorea test]$ ls -l
총 322816
-rw-r--r-- 1 sky other 82509153 4월 21일 16:15 wf_cleaner_20040418.log
-rw-r--r-- 1 sky other 4817168 4월 21일 16:16 wf_cleaner_aa
-rw-r--r-- 1 sky other 4826953 4월 21일 16:16 wf_cleaner_ab
-rw-r--r-- 1 sky other 4819016 4월 21일 16:16 wf_cleaner_ac
-rw-r--r-- 1 sky other 4818664 4월 21일 16:16 wf_cleaner_ad
-rw-r--r-- 1 sky other 4815234 4월 21일 16:16 wf_cleaner_ae
-rw-r--r-- 1 sky other 4826339 4월 21일 16:16 wf_cleaner_af
-rw-r--r-- 1 sky other 4822263 4월 21일 16:16 wf_cleaner_ag
-rw-r--r-- 1 sky other 4814657 4월 21일 16:16 wf_cleaner_ah
-rw-r--r-- 1 sky other 4816299 4월 21일 16:16 wf_cleaner_ai
-rw-r--r-- 1 sky other 4817442 4월 21일 16:16 wf_cleaner_aj
-rw-r--r-- 1 sky other 4807225 4월 21일 16:16 wf_cleaner_ak
-rw-r--r-- 1 sky other 4816881 4월 21일 16:16 wf_cleaner_al
-rw-r--r-- 1 sky other 4805557 4월 21일 16:16 wf_cleaner_am
-rw-r--r-- 1 sky other 4824945 4월 21일 16:16 wf_cleaner_an
-rw-r--r-- 1 sky other 4800172 4월 21일 16:16 wf_cleaner_ao
-rw-r--r-- 1 sky other 4813110 4월 21일 16:16 wf_cleaner_ap
-rw-r--r-- 1 sky other 4795892 4월 21일 16:16 wf_cleaner_aq
-rw-r--r-- 1 sky other 651336 4월 21일 16:16 wf_cleaner_ar
[kang@dbakorea test]$ cat wf_cleaner_a[a-r] > wf_cleaner_orig
[kang@dbakorea test]$

CUT : 컬럼단위 필터링 cf) grep은 행단위 필터링
필드,문자단위로 컬럼 출력
[kang@dbakorea test]$ cat sort.data
aaa,강명규,관리자
ccc,홍길동,도둑놈
bbb,강감찬,장군
ddd,임꺽정,도적놈
[kang@dbakorea test]$ cut -f1,3 -d , sort.data 1,3번째 필드만 출력. 필드구분자는 콤마
aaa,관리자
ccc,도둑놈
bbb,장군
ddd,도적놈
[kang@dbakorea test]$ cut -c5-7 sort.data 5~7컬럼값 출력
강명규
홍길동
강감찬
임꺽정


EGREP
grep과 달리 Regular Expression을 지원한다.

b : 일치되는 행의 블록 번호 출력
c : 문자열을 포함하는 행수 출력
h : 파일 이름을 출력하지 않음
i : 대소문자를 구별하지 않음
: 문자열을 포함하는 파일 이름만 출력
n : 일치되는 행번호를 함께 출력
s : 오류가 발생할 경우에만 메시지 출력
v : 일치되지 않는 행만 출력
w : 문자열이 하나의 단어인 경우만 검색(grep만 가능)
e 표현식 : 정규 표현식이 - 문자로 시작할 때 유용
e 문자열 : fgrep에서만 사용, 문자열은 단순 문자열을 의미
f 파일명 : 검색문자열을 파일명으로 부터 받아들임

^ : 행의 시작
$ : 행의 끝
. : 임의의 한문자
[] : []속에 표현되는 문자 중 임의의 한 문자
* : * 앞의 정규표현식이 0회 이상 나타남
+ : + 앞의 정규표현식이 1회 이상 나타남(egrep에서만 가능)
? : ? 앞의 정규표현식이 0 또는 1회 나타남(egrep에서만 가능)
\\ : 메타문자의 의미 제거(예 : \'\\*\'는 *문자를 의미)
| : 문자열간의 OR연산자(egrep에서만 가능)
() : 정규 표현식을 둘러 쌈(egrep에서만 가능)

[kang@dbakorea test]$ cat sort.data
aaa,강명규,관리자
ccc,홍길동,도둑놈
bbb,강감찬,장군
ddd,임꺽정,도적놈
[kang@dbakorea test]$ egrep \'강명규|강감찬\' sort.data
aaa,강명규,관리자
bbb,강감찬,장군

This article comes from dbakorea.pe.kr (Leave this line as is)
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2005/02/11 16:29 2005/02/11 16:29
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/227

telnet 포트를 막고 서비스를 사용하지 않는다



/etc/services 에서 관련부분을 주석처리한다



또는



/etc/xinetd.d/telnet 을 열어보면 disable = yes 로 설정한다

그리고

/etc/rc.d/init.d/xinetd restart 하여 데몬을 재시작한다





참고) 기본

ftp 포트 21

telnet 포트 23

ssh 포트 22

http 포트 80

pop 포트 110

smtp 포트 25

등등



1024 밑으론 허접한 서비스들이 많다
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/12/28 11:10 2004/12/28 11:10
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/226

apache_1.3.27 + php + mysql 설치 #2

31. http://www.boutell.com/gd/http/ 에서 gd 2.0.7을 다운 받는다.

32. gd 설치
shell>tar xvzf gd-2.0.9.tar.gz
shell>cd gd-2.0.9
shell>./configure
만일 ttf(트루타입폰트 부분)에서 에러가 계속 발생한다면 Makefile에서 -lttf 제거하거나 rpm으로 ttf
패키지를 설치하면 됨.
shell>make
shell>make install

33. 아파치 설정
shell>./configure --prefix=/usr/local/apache

34. PHP 설정

35. PHP설치
shell>./configure
--with-apache=../apache_1.3.27
--with-config-file-path=/usr/local/apache/conf
--with-mysql=/usr/local/mysql
--with-jpeg-dir=/usr/local/lib
--with-png-dir=/usr/local/lib
--with-gif-dir=/usr/local/lib
--with-zlib-dir=/usr/local/lib
--with-gd=/usr/local/gd
--with-freetype-dir=/usr/local/include/freetype2
--with-zlib
--with-ming=/usr/lib
--with-tiff-dir=/usr/local/lib
--with-pdflib=/usr/local
--with-cpdflib
--with-openssl
--with-gettext
--with-kerberos
--with-swf=/usr/local/swf
--with-mm
--with-mhash=/usr/local/lib
--with-mcrypt=/usr/local/lib
--with-mod_charset
--with-language=korean
--with-charset=euc_kr
--with-regex=php
--with-curl
--with-ldap
--with-xml
--enable-gd-native-ttf
--enable-ftp
--enable-sockets
--disable-debug
--enable-sysvsem
--enable-sysvshm
--enable-shmop
--enable-track-vars
--enable-freetype-4bit-antialias-hack
--enable-calendar
--enable-sigchild
--enable-magic-quotes
--enable-trans-sid
--enable-inline-optimization
--enable-bcmath

shell>make
shell>make install

36. 아파치 설치

shell>./configure
--prefix=/usr/local/apache
--activate-module=src/modules/php4/libphp4.a
--enable-module=php4
--enable-shared=max
--enable-rule=SHARED_CORE
--enable-module=so

shell>make
shell>make install

37. Zend Optimizer 설치
과거에는 php.ini 파일을 수정했으나 현재는 압축을 푼후 설치 스크립트를 이용해 바로 설치가 가능
하다.

38. 아파치 환경설정
shell>vi /usr/local/apache/conf/httpd.conf //환경설정파일 편집

39. 부팅시 실행되게 설정

shell>cp -p /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd
shell>cp -p /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysqld
shell>cd /etc/rc.d/rc3.d
shell>ln -s /etc/rc.d/init.d/httpd S85httpd
shell>ln -s /etc/rc.d/init.d/mysqld S97mysqld

shell>ntsysv 명령으로 mysql, httpd 활성화

기타사항 : 위 다운로드 사이트들은 모두 제가 직접 확인해보고, 다운로드 가능한 사이트들로만 올렸
습니다.
내용을 최대한 간단히 했는데, 초보자분들을 위해 좀더 자세한 메뉴얼을 준비중입니다.
기타 문의사항은 아래 홈페이지로 해주십시오.

from 럭스

문의 :
홈페이지 - http://lux.woto.net
E-MAIL - luxfree@hanmail.net
MSN - luxfree@hotmail.com


크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/11/10 14:18 2004/11/10 14:18
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/225

CVS 설치 하기

Project managing with CVS .. part I

1. installation

설치는 redhat 기반에서 rpm으로 설치를 설명한다. 타 OS에서는
http://www.cvshome.org/downloads.html 에서 다운로드를 받아서 compile하
면 된다.

Redhat 에서는 cvs rpm file 을 설치를 하면 된다. 보통 배포본에서 기본으
로 제공 한다. 일단 rpm -q cvs 명령으로 설치가 되어 있는지 확인을 한다.
설치가 되어 있으면 버젼이 print 될 것이고 설치가 되어 있지 않으면 아무
런 정보도 나오지 않는다. 설치가 되어 있지 않을 경우에는 redhat cd에 있
는 RPMS directory에서 cvs-version.i386.rpm file을 설치하도록 한다.

rpm -Uhv cvs-version.i386.rpm

으로 하면 된다.

2. CVS 초기화 하기

일단 CVS data 를 놓아둘 디렉토리를 만든다. 보통 /home/cvs 로 많이들 한
다. mkdir /home/cvs 명령으로 /home/cvs directory 를 생성한 후에 다음의
명령을 실행 한다.

[root@bbowoo /home]$ cvs -d /home/cvs init

-d는 저장소의 위치를 나타내며 init는 cvs를 초기화 하라는 CVS 명령어 이
다. 이 명령을 실행하고 나면 /home/cvs/CVSROOT 라는 directory 가 생성이
된다. 이 디렉토리에는 각종 CVS의 설정들이 들어가 있다.

3. 기본 설정 준비

일단 cvs 를 운영하기 위해서는 cvs 를 이용할 계정을 생성해야 한다.
CVS는 일반 계정으로 로그인을 할수도 있지만 그것 보다는 CVS를 이용할 계정
을 하나 만들어 놓고선 CVS passwd file을 이용하여 alias user를 만들어서 사
용을 하는 것이 더욱 좋다.

[root@bbowoo /home]$ adduser cvs -d /home/cvs -s /bin/false

group file을 편집한 후에 다음의 명령을 실행하도록 한다.

[root@bbowoo /home]$ chgrp -R cvs /home/cvs
[root@bbowoo /home]$ chmod -R g+w /home/cvs

4. 원격에서 로그인 할수 있도록 cvs daemon 띄우기

이 부분은 3가지의 방법이 있으나 여기서는 direct access가 가능한 pserver
mode만을 다룬다. 이 외에도 rsh, ssh를 이용한 방법이 있다. pserver mode
를 이용하기 위해서는 inetd.conf 에서 셋팅을 해 줘야한다.
일단 /etc/service 에서 다음의 내용이 있는지 확인을 한다.

Hanterm - cat /etc/services

[root@bbuwoo /etc]$ cat /etc/services
.. 생략 ..
cvspserver 2401/tcp # CVS client/server operations
cvspserver 2401/udp # CVS client/server operations
.. 생략 ..
[root@bbuwoo /etc]$




없으면 추가해 주도록 한다. 그리고 나서 /etc/inetd.conf 에서 다음의
라인을 넣어 준다.


Hanterm - cat /etc/inetd.conf
[root@bbuwoo /etc]$ cat /etc/inetd.conf
.. 생략 ..
# CVS server setting
cvspserver stream tcp nowait root /usr/bin/cvs
cvs -f --allow-root=/home/cvs pserver
[root@bbuwoo /etc]$


위의 설정중 /usr/bin/cvs 에서의 는 한줄로 쓰라는것을 의미한다. 공백
문자들은 모두 tab으로 띄워준다. 다음 inetd를 재시작 하도록 한다.

[root@bbowoo /home]$ killall -HUP inetd


크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/11/02 20:31 2004/11/02 20:31
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/224

1. httpd.conf를 수정한다.

먼저 /usr/local/apache/conf/httpd.conf에서
디렉터리에 대한 옵션 부분에 보시면
AllowOverride None으로 되어 있으면 AllowOverride All로 바꾸줍니다.
# AccessFileName .htaccess줄이 주석줄로 되어 있으면 주석도 풀어줍니다.


2. .htaccess파일을 만든다.

인증을 받고 싶은 디렉토리로 가서 vi로 아래와 같은 파일을 만들어야 합니다.

======================================================
AuthType Basic
AuthName pbi12
AuthUserFile /home/pbi12/public_html/pds/.htpasswd
require user pbi12
======================================================
이 내용을 .htaccess로 저장해줍니다.
여기서 name과 아래 3번에서 생성할 .htpasswd 파일의 경로를
자신의 환경대로 바꾸어 줍니다.
그리고 마지막에 중요한게 require 인데,
여기서는 유저 한명씩 할때 처리 방법입니다.
user 인 pbi12 한명을 넣은 것이죠.
아래 나오는 부분에서 유저를 생성하게 되는데 그 유저를 여기다가 넣어서
쓸 수 있는 것입니다. 더 추가 할 때에는 pbi12 다음에 한칸 띄고 나서
다른 유저 이름을 적으시면 됩니다.


3. .htpasswd파일을 만든다.

암호파일(.htpasswd)은 암호화되어서 저장이 되므로 그냥 텍스트로 입력해서는 안되구요,
/usr/local/apache/bin에 있는 htpasswd라는 프로그램을 이용해서 만드는데,

shell# /usr/local/apache/bin/htpasswd -c /home/pbi12/public_html/pds/.htpasswd pbi12

이것은 htpasswd 를 해서 -c 새파일을 만드는데, pbi12의 디렉터리에 .htpasswd로 생성하며,
pbi12라는 유저를 추가한다는 것입니다.
이렇게 형식으로 치면 암호를 넣으라고 나오는데 여기에 암호를 적어 넣으면 성공입니다^^;
(이때 -c 옵션은 처음 넣을때만 하면되며 그 다음 부터 추가할때는 필요가 없습니다.
그 다음에도 -c 옵션을 추가하면 이전 것(.htpasswd)은 지워버리고 새로 작성되므로 추가 하실때에
는 그냥 -c 옵션 없이 다른 유저를 추가하시면 됩니다.)

그러면 .htpasswd의 파일이 아래와 같이 생성되어진다.
pbi12:NoWPewwtesgrTR


4. 아파치를 재시작합니다.

# /usr/local/apache/bin/apachectl restart


5. 종료!

이렇게 되면 자신이 .htaccess 를 넣은 곳을 웹에서 접속하게 되면 아파치 인증창이 뜨게
됩니다. 자신이 만든 유저 정보를 치고 들어가면 접속이 되는 것이구요~


보통 사용하실 분들은 여기까지만 보셔두 상관없습니다.

아래에는 그룹으로 지정하고 싶으신 분을 위한 코너입니다^^;


ADD1. 그룹으로 아파치 인증을 만들때에...

유저를 추가하는 것과 크게 다른 점은 없습니다.
하지만, .htaccess파일을 만들때에

======================================================
AuthType Basic
AuthName pbi12
AuthUserFile /home/pbi12/public_html/pds/.htpasswd
AuthGroupFile /home/pbi12/public_html/pds/.group
require group admin
======================================================

이렇게 바뀌어야 합니다.
그룹을 참조할 파일을 추가 해주는 것입니다.
그리고 require에서는 group 을 admin 그룹으로 할때 저런식으로 해주는 것입니다.
admin 그룹을 만드는 법을 알아보겠습니다.


ADD2. 그룹 참조 파일 생성하기...

이 부분은 별로 어렵지 않습니다.
유저를 생성하고 나면 그 내용을 참조해서 그룹으로 묶어 주는 것이기 때문입니다.
.group 파일안에다가

===================
admin: pbi12 pds
===================

위의 가운데 한줄입니다.
저렇게 넣어주면 admin 이라는 그룹안에 pbi12 라는 유저와 pds 라는 유저를 묶으겠다는 말이 됩니
다. 그러면 admin 그룹을 사용할 수 있는 것이죠.

마지막으로 말씀 드리고 싶은 것은 .htpasswd 라는 파일과 .group 파일의 이름은 여러분 마음대로
바꾸셔도 상관없다는 점 말하고 끝내겠습니다.
아참! .htaccess 파일은 사용하고자 하는 위치에 저 이름 그대로 사용하셔야 하는 점 혼동 마시구요
~
그럼 아파치 인증을 마치겠습니다.


※ 이강좌에 대한 질문하고 싶으시거나 다른 문서들을 원하시면, http://linuxnew.com 과
http://pknowhow.com 을 들려 주십시요~

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/11/02 18:39 2004/11/02 18:39
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/223

« Previous : 1 : ... 2 : 3 : 4 : 5 : 6 : 7 : 8 : 9 : 10 : ... 22 : Next »

블로그 이미지

- 홍반장

Archives

Recent Trackbacks

Calendar

«   2024/11   »
          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
Statistics Graph

Site Stats

Total hits:
236229
Today:
698
Yesterday:
195