Fedora(페도라) 메일서버 구축(dovecot) 이용
 
 
새로 설치한 페도라코어4에 dovecot을 이용해서 메일서버를 구현하는 방법입니다.
메일서버를 구축하기 위한 필수패키지는 sendmail, sendmailcf 와 오늘 얘기할 dovecot이 페도라서버에 설치되어 있어야 한다.
dovecot 공식홈페이지 : http://www.dovecot.org
dovecot은 예전에 사용하던 imap을 대체하는 새로운 메일데몬으로 기존의 IMAP에 비해 보안이 향상되었다.

한방에 한꺼번에 설치하려면
yum -y install sendmail sendmailcf dovecot 명령으로 해결된다.
이제 센드메일을 설정할 차례이다.
/etc/mail/sendmail.cf 내용중
Cwlocalhost 를 Cw자신의도메인네임명으로 수정한다.
ex) Cwmydomain.com
/etc/mail/access 에 도메인네임을 추가한다.
mydomain.com       RELAY
수정한 후에는 makemap hash /etc/mail/access < /etc/mail/access명령을 수행한후에 센드메일을 재시작해야 수정된 내용이 적용된다.
이제 메일사용자에게 메일내용을 보여주는 dovecot 데몬의 설정화일을 변경한다.
 
/etc/dovecot.conf 화일 변경
 
protocal = pop3 pop3s imap imaps 수정
imap_listen = [::],pop3_listen = [::] 부분을
imap_listen = *, pop3_listen = * 으로 수정
imapslisten = [::],pop3s_listen = [::] 부분을
imaps_listen = *, pop3s_listen = * 으로 수정
[::]는 ipv6 프로토콜을 의미하며 우리는 ipv4를 사용하므로 *로 바꿔준다.
ssl_disable = no 주석제거
login_executable = /usr/libexec/dovecopt/imap_login 주석제거
login_user = dovecot 주석제거
login_executable = /usr/libexec/dovecopt/pop3_login 주석제거
#mail_extra_groups = mail_extra_groups = mail 수정
imap_executable = /usr/libexec/dovecot/imap 주석제거
pop3_executable = /usr/libexec/dovecot/pop3 주석제거
auth_executable = /usr/libexec/dovecot/auth 주석제거
위와 같이 수정한다.
 
이후, 페도라코어의 방화벽을 셋팅한다.
/etc/sysconfig/system-config-securitylevel 로 콘솔에서 직접 수정할수 있다.
추가로 53Ltcp, 53:upd, 25:tcp, 110:tcp, 143:tcp, 995:tcp, 993:tcp 포트를 열어준다.
 
dovecot 사용시 selinux를 꺼야 제대로 실행됩니다.
설정화일 : /etc/selinux/config 화일 disabled해주면 됩니다.
 
- 발췌 -

'웹/서버' 카테고리의 다른 글

제로보드XE 1.0 정식버전 나왔다  (3) 2008.02.29
오늘은 제로보드XE로 bbs를 바꿔보다  (2) 2007.12.22
sendmail 설정  (0) 2007.12.21
vsftpd.conf  (0) 2007.12.21
웹 추천 컬러값(색상코드표) 정리  (0) 2007.10.21
- 펌 -

1) /etc/sendmail.cw 작성
이곳에는 메일 계정에 사용할 도메인을 추가시킨다.
ex)
aaa.co.kr
ns.aaaco.kr
www.aaa.co.kr

2) /etc/sendmail.cf 작성
이곳에서는 메일 계정에 사용할 도메인을 인식시켜주고 각각의 메일이 가는 경로를
지정하여 주는 스크립트 루트도 관리를 한다.

##################
# local info #
##################

Cwlocalhost
# file containing names of hosts for which we receive email
Fw/etc/sendmail.cw

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

# Virtual user table (maps incoming users)
Kvirtuser btree /etc/domainaliases.db

# Access list database (for spam stopping)
Kaccess hash -o /etc/mail/access

이런식으로 작성을 한다.

]#vi /etc/mail/access 를 열어 자신의 IP를 RELAY 시킨다.
211.61.185 Relay

그런다음 sendmail을 제 시작한다.
/etc/rc.d/init.d/sendmail restart

3) 이메일 계정추가시 업데이트를 시켜주는 스크립트를 작성한다.
]#/usr/local/bin/domainaliases 화일을 편집한다.

#! /bin/sh
echo Updated the file 'domainaliases.db'
makemap btree /etc/domainaliases.db < /etc/domainaliases

편집후 chmod 755 domainaliases

다음으로는 /etc/ 밑에 두개의 화일을 작성한다.
touch domainaliases
touch domainaliases.db

사용 또는 서비스할 이메일과 이메일 계정을 연결시킨다.
]# vi /etc/domainaliases
aaa@aaa.com aaa
bbb@bbb.com webmaster@blackstar.co.kr
.......

작성후 데이타 베이스를 업데이크 시켜준다.
]#/usr/local/bin/domainaliases


여기까지하면 SMTP 설정은 모두 끝났다.
다음은 메일 계정으로 날라온 메일을 로컬로 받아볼수 있게하는 프로토콜인
POP3 를 설치하도록 하자.

4) qpopper를 다운 받자
http://www.eudora/qpopper 에서 다운을 받을 수 있다.

]#tar xvf qpopper3.1.tar
]#cd qpopper3.1
]#./configure --enable-specialauth)
]#make
이때 만들어진 popper/popper 를 /usr/sbin/로 이동
]# vi /etc/services
pop-3 110/tcp 의 주석해제
]# vi /etc/inetd.conf
pop-3 stream tcp nowait root /usr/sbin/popper popper -s
]#/etc/rc.d/init.d/inetd restart

마지막으로 reboot 또는 /usr/sbin/popper 를 실행한다.
POP3 가 정상적으로 실행되는지 테스트 해본다.

]# telnet localhost 110
>user xxx
>pass xxx

이상이 없으면 모든것이 정상적으로 된것이다.

이제 아웃룩이나 아웃룩 익스프레스같은 MUA (Mail user agent)를 이용하여 메일을
보내고 받아보자.

모든것이 잘 되면 성공
sFTP 에 접속하는 일반적은 경우는
vsftpd.conf 를 수정하는 것이겠다.

그러나, 정상적으로 수정 했는데,
OOPS 만 나오면 문제가 잘 해결되지 않는다.
이유는 SELinux 때문에 그렇다.
문제라고 하기보다는 보안을 위해서 겠지~~~
(몇번 같은 문제로 고생했다.)

일단, "500 OOPS: cannot change directory" 이와
같은 Message가 나오면서 접속이 끊기는 현상은
FTP Directory에 대한 접근 권한 때문이다.

"setsebool -P ftp_home_dir=1"

이렇게 하면, ftp directory에 대한 접근을 허가 하게된다.
"-P"는 Rebooting 될더라도 값을 저장하여,
정상적으로 동작 하도록 한다.
 
##### VSFTP (Very Secure FTP Daemon)

vsftp 는 보안 부분을 특히 강조한 데몬으로 Redhat, Suse, Open-BSD 에서 기본 FTP 로 채택하고 있으며
보안, 빠른 퍼모먼스, 안정성을 주요 특징으로 소개하고 있고 그 성능도 여느 ftp 서버 보다 탁월하다.
또한 config 파일의 설정 문법도 아주 간단해서 FTP 서버 관리를 쉽게 할 수 있다.


*** 주요 기능
- 가상 IP 별 별도의 환경 설정 기능 (설정 파일의 listen_address= 이용)
- 가상 사용자 설정, 강력한 사용자설정
- 전송 대역폭 지정
- PAM 지원 (버전 1.2.0부터는 PAM을 통한 wtmp에 로긴 로그를 남김)
- xferlog 표준 로그 파일보다 상세한 자체 로그 파일 형식 지원
- Standalone 방식과 inetd (xinetd)를 통한 운영 모두 지원
- IP별 다른 환경 파일 지정 기능 (tcp_wrappers와 함께 사용할 때)


### Tips ### ::: ★★★

- ssh 터널링을 사용하여 vsftp 접속시 Bad IP Deny 나오면 pasv_promiscuous=YES 을 추가하라.

*** 접속에러
- 반드시 ftp 유저의 홈디렉토리의 권한을 root.root 로 셋팅해야 익명접속이 문제없이 된다.
- /vsr/ftp/pub 폴더의 권한을 777 로 바꾸면 접속이 안된다.
vs가 Very Secure 의 약자이다. 쉽게 얘기해서 보안이 강화된 ftp 다. /var/ftp/pub 디렉토리에
모든 권한을 풀어주게 되면 보안상 위험하기 때문에 vsftpd 에서는 접속을 막도록 설정되어 있다.


500 OOPS: cannot open chroot() user list file 에러
vsftpd.chroot_list 주석제거시 해당 파일이 없으면 발생한다.
500 OOPS: cannot change directory:/var/ftp
/var/ftp 디렉토리를 생성해 주면 된다.
550 Permission denied.
write 권한이 없는 경우 발생하는 에러이다. (write_enable=YES 로 지정)


*** 접속자 확인
vsftpd v1.2.0 이상부터 PAM 을 통해 wtmp 에 로그를 남기므로 last 로 접속여부를 확인할 수 있다.
ftpwho 형태의 명령은 없으며 다음 명령어 등으로 확인할 수 있다.
# ps -ef|grep vsftpd
# fuser -v ftp/tcp


*** SELINUX
# setsebool -P ftp_home_dir 1
페도라 코어 4 까실때 SELinux 로 설정했다면 디폴트로 사용자의 home 디렉토리에 쓰기를 막아놓는다.
SELinux 설정에서 FTP 부분을 변경하자.
# service vsftpd restart
home 디렉토리의 읽고쓰기를 1(True)로 변경하시고 vsftpd 를 재시작.

# setsebool -P ftpd_disable_trans 1
FTP 에 관하여 SELinux 정책을 아예 적용하지 않는 옵션을 설정



#####
##### Install ###

http://vsftpd.beasts.org/
ftp://vsftpd.beasts.org/users/cevans/


*** 설치
# tar xvfz vsftpd-1.2.0.tar.gz
# cd vsftpd-1.2.0

# vi logging.c
/* str_replace_unprintable(p_str, '?'); */
vsftpd는 출력할 수 없다고 판단하는 ASCII 코드 31 이하, 128~159, 177 문자를 ? 로 바꿔서 저장한다.
한글 파일명을 전송할 때 로그에 ???? 로 남지않도록 str_replace_unprintable(p_str, '?'); 를 주석처리

# vi builddefs.h
tcp_wrappers 접속제어를 사용하려면
#undef VSF_BUILD_TCPWRAPPERS -> #define VSF_BUILD_TCPWRAPPERS 로 바꾼다.

# mkdir /usr/local/sbin /usr/local/man/man{5,8}
# make
# make install
생성된 vsftpd 파일이 /usr/local/sbin 에 복사된다.
man 페이지가 /usr/local/man/man5, /usr/local/man/man8 로 복사
inet 모드로 운영할 때 사용할 vsftpd 파일도 /etc/xinetd.d 디렉토리에 복사가 된다.

# cp vsftpd.conf /etc
# cp install_dir/RedHat/vsftpd.pam /etc/pam.d/ftp
local 계정 사용자들의 로그인 인증을 위해 설치 디렉토리안의 RedHat 안에 있는
vsftpd.pam 파일을 /etc/pam.d 디렉토리에 ftp 라는 이름으로 복사


### 환경설정 ###

# vi /etc/vsftpd.conf

# mkdir /usr/share/empty
VSFTP 는 empty 라는 디렉토리를 필요로 한다. 기본구성은 /usr/share/empty 다.


*** 사용자 생성
- VSFTP 를 운영하기 위해서는 nobody 사용자가 필요
# usradd -M nobody
# grep nobody /etc/passwd
nobody:x:99:99:Nobody:/:/bin/bash

- Anonymous FTP 에서 사용할 ftp 계정 생성
# mkdir /var/ftp
# useradd -d /var/ftp ftp
# chown root.root /var/ftp
반드시 ftp 유저의 홈디렉토리의 권한을 root.root 로 셋팅해야 익명접속이 문제없이 된다.
# chmod og-w /var/ftp


*** 접속제한
# vi /etc/pam.d/vsftpd
auth required /lib/security/pam_listfile.so
item=user sense=deny file=/etc/ftpusers onerr=succeed <==(1)
auth required /lib/security/pam_pwdb.so shadow nullok
auth required /lib/security/pam_shells.so
account required /lib/security/pam_pwdb.so
session required /lib/security/pam_pwdb.so

이 파일은 /etc/ftpusers에 등록된 유저명은 접근을 하지 못하게 하는 것이다. (sense=deny)
ftpusers 파일이 없다면 생성해 주면 된다. (/etc/passwd 파일을 참조해 작성하면 된다)

# vi /etc/ftpusers
FTP 접속을 허용하지 않을 ID를 등록한다. (또는 vsftpd.ftpusers)
- /var/log/messages에 다음과 같은 로그가 남는다.
Aug 16 22:21:52 truefeel vsftpd: PAM-listfile: Refused user xxxxxxxx for service vsftpd


*** etc
# vi /etc/xinetd.d/vsftp ::: disable = yes
# /etc/rc.d/init.d/xinetd restart
# /usr/local/sbin/vsftpd &



#####
##### vsftpd.conf ###


*** 기본 설정
ftpd_banner=Welcome to acsecret FTP service.
FTP 서버 접속할 때 로긴 메시지 (default=버전번호). 한글 사용 가능
dirmessage_enable=YES 새로운 디렉토리에 들어갔을 때 뿌려줄 환경 메시지를 저장한 파일명

listen=YES Standalone 으로 운영할 때 listen=YES.
connect_from_port_20=YES Standalone 일때 포트 변경을 원할 경우 설정.
listen_port=2121 기본 포트외 다른 포트를 사용한다. vsftpd 서버를 재실행한다.


*** 서버 동작
idle_session_timeout=600 (default=300초). 클라이언트에서 아무런 명령이 없을경우
세션을 끝낼 때까지의 대기시간.
data_connection_timeout=120 (default=60초). data connection 을 끊을 대기 시간.
ls_recurse_enable=YES 디렉토리 내용 출력시 캐쉬 사용여부.
(클라언트 ftp 접속 프로그램 에서도 지정 가능)
pam_service_name=vsftpd PAM 파일명을 지정 (설치할 때 /etc/pam.d/vsftpd 명으로 복사함)


*** 접속 권한
local_enable=YES (default = NO). 로컬 계정 사용자의 접속 허용 여부
anonymous_enable=YES (default = YES). anonymous 사용자의 접속 허용 여부
userlist_enable=YES /etc/vsftpd.user_list 에 있는 사용자에 대해 접근을 허가 설정.

- 익명접속
nopriv_user=ftp
no_priv_user=ftp 익명(anonymous) 로그인시, 앨리어싱될 유저명 기입.

deny_email_enable=YES 익명 접속시 패스워드에 일반 이메일 주소를 거부 여부
(vsftpd.banned_emails에 지정된 이메일 주소만 허용)
banned_email_file=/etc/vsftpd.banned_emails

- chroot
chroot_local_user=YES (default=NO). 접속시 로컬 사용자의 홈디렉토리를 /로 변경
사용자의 홈디렉토리를 벗어나지 못하도록 제한하기 위한 설정. 제한이 필요할 경우
YES 로 바꾼 후 제한할 사용자 ID 를 chroot_list_file= 에 설정한 파일에 지정한다

chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
접속시 사용자 홈디렉토리를 /로 변경할 사용자 목록 허용. chroot 제한(적용)이 필요할 경우
YES 로 바꾼후 제한을 적용할 사용자 ID 를 chroot_list_file= 에 설정한 파일에 지정한다.

주의할 것은 chroot_local_user=YES 와 chroot_list_enable=YES 를 함께 사용할 경우
/etc/vsftpd.chroot_list에 포함된 사용자 ID 만 제한없이 홈디렉토리를 벗어날 수 있다. (반대로 작용)


*** 화일 권한
local_umask=022 (default = 077). 로컬 계정 사용자용 umask
write_enable=YES (defualt = NO). write 명령어 허용 여부

ascii_upload_enable=YES ASCII 파일 업로드 가능.
ascii_download_enable=YES ASCII 파일 다운로드 가능

- 익명사용자
anon_upload_enable=YES (default = NO). anonymous 사용자가 파일을 업로드 할수 있는지 여부
허용시 업로드 할수있는 디렉토리를 생성해 주어야 한다.
anon_mkdir_write_enable=YES (default = NO). anonymous 사용자의 디렉토리 생성 허용 여부

chown_upload=YES 익명유저가 업로드한 파일의 소유권을 자동변경.
chwon_username=acsecret 소유권을 변경하기 원하는 유저명으로 기입


*** log
session_support=YES wtmp 에 로그 남기기 (YES 로 해야만 last 명령어로 접속 여부 확인 가능)

xferlog_file=/var/log/vsftpd.log 파일 전송 로그 파일명
xferlog_enable=YES (default=YES). 파일 전송 로그를 남길 것인지 여부
xferlog_std_format=YES (defalut=YES). xferlog 표준 포맷으로 로그를 남길지 여부
xferlog 표준 포맷은 로그인, 디렉토리 생성등의 로그를 남기지 않지만
vsftpd 스타일 로그는 이를 포함한 보다 상세한 로그를 남긴다

- vsftpd 스타일 로그 예
Sun Jul 12 01:38:32 2003 [pid 31200] CONNECT: Client "127.0.0.1"
Sun Jul 12 01:38:34 2003 [pid 31199] [truefeel] FAIL LOGIN: Client "127.0.0.1"


### 필요한 설정을 추가 ###

- pasv mode
pasv_enable=NO 사무실에서 공유기를 통해서 접속을 하는데 ls 등이 자주 먹통이 되면 설정.
pasv_promiscuous=YES
pasv_min_port=30000
pasv_max_port=30999

- 가상유저
guest_enable=YES
guest_username=virftp 가상 유저의 실제 할당 계정
user_sub_token=$USER 서로 다른 홈 디렉토리를 부여하기 위해 셋팅
local_root=/home/virftp/$USER
virftp_use_local_privs=YES 설정하지 않으면 기본 적으로 anonymous 의 권한을 가지고
화일을 생성하지 못한다.

- xinetd 를 통하지 않고 standalone으로 동작할 때만 사용 가능)
max_clients=100 최대 접속자 수
max_per_ip=3 IP 당 접속 수


*** 전송속도 제한 (0은 제한없음, 단위는 초당 bytes)
local_max_rate=200000 계정 사용자의 전송량 제한
anon_max_rate=100000 anonymous 사용자의 전송속도 제한
trans_chunk_size=0 지정한 byte 단위로 나눠서 전송 저장한다. 0은 vsftpd 가 알아서 판단한다.
v1.1.3 이상에서 trans_chunk_size 옵션이 있다.

anonymous 사용자와 일반 계정 사용자로 나눠서 bandwidth 를 설정 하도록 옵션을 제공한다.
이 설정은 전송되는 상황을 더 쉽게 파악할수 있도록 해준다.
anon_max_rate=10000, trans_chunk_size=0 로 설정하여 chunk size 를 vsftpd 가 판단하도록 한다.

vsftpd 는 chunk size 를 제한한 rate(10000) 보다 큰 50000 byte 가 적당하다고 판단했다면
1~4 초 사이에는 전송된 파일 크기는 0 으로 표시될 것이다.
5 초가 되어야 파일 크기는 50000 으로 보일 것이다. (5초 이후에도 마찬가지다)

이때 trans_chunk_size=5000 으로 했다면 전송된 파일 크기를 바로바로 확인할 수 있다.
size 는 최소 4096~65536 의 값을 설정해야 적용이 된다.

- proftpd 의 RateReadFreeBytes 와 RateReadHardBPS 같은 역할을 하는 옵션은 없다.
RateReadFreeBytes bandwidth 제한 없이 전송할 수 파일 크기
RateReadHardBPS RateReadFreeBytes 보다 파일이 클때, 위의 지정한 파일크기 까지는 제한없이 전송.
그 다음 크기부터는 제한한 bandwidth로 파일 전송



#####
##### 가상유저 서비스 ###

가상유저 FTP 란 로컬 시스템에 실제로 존재하지 않는 유저로 FTP 로그인을 허락하고 운영하는 환경이다.
로컬 시스템에 계정을 추가하지 않고도 FTP 만을 위한 사용자를 추가, 삭제할 수 있는 FTP 시스템이다.
사용자 들에게 FTP 만 제공해야 될때 아주 유용하게 사용할 수 있다.


*** 가상유저 데이터베이스 생성
FTP 가상유저를 생성하기 위해 가상유저와 패스워드가 담긴 DB 파일을 만들어야 되는데
간단히 사용자 ID 와 비밀번호가 입력된 텍스트 파일을 db_load 유틸을 이용해
DB 포맷으로 변환해 줌으로써 가상유저가 사용할 사용자 DB 파일을 만들수 있다.
홀수줄은 FTP 가상유저 ID 가 되고 짝수줄은 바로 윗줄에 명시된 FTP 가상유저의 비밀번호가 된다.

# cat vir_user.txt
myid
1234

DB 포멧으로 변환하기 위해 db_load 유틸을 사용하는데 db4-utils 이라는 RPM 패키지에 포함되어 있다.
db_load 유틸을 설치하지 않았으면 db4-utils RPM 패키지를 다운받아 설치하라.
/etc 디렉토리안에 넣고, root 이외의 사용자는 파일을 볼수없게 퍼미션을 600 으로 변경

# db_load -T -t hash -f vir_user.txt ~/vsftpd_login.db
# mv ~/vsftpd_login.db /etc/
# chmod 600 /etc/vsftpd_login.db
# ls -l
-rw------- 1 root rootl 12288 10월 27 16:39 /etc/vsftpd_login.db


*** 사용자 인증에 사용할 PAM 파일 생성
이제 가상 유저들의 ID와 비밀번호가 정확한지 체크한후 FTP 로그인을 허락하기 위한 PAM 을 만들 것이다.

# vi /etc/pam.d/vsftpd
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login account required \
/lib/security/pam_userdb.so db=/etc/vsftpd_login


*** 가상유저 계정 생성과 가상유저들이 사용할 디렉토리 생성
virftp 계정을 가상 유저들의 실제 계정으로 추가하고
/home/virftp 디렉토리를 가상 FTP의 홈디렉토리로 지정을 할 것이다.

# useradd -d /home/virftp virftp
# cp /etc/hosts /home/virftp/
# chown virftp.virftp hosts
# ls -l
drwx------ 4 virftp virftp 4096 10월 27 16:39 /home/virftp
-rw-r--r-- 1 virftp virftp 146 10월 27 16:39 /home/virftp/hosts


*** 가상 FTP 환경설정 파일 세팅
이제 마지막으로 가상 FTP 를 사용하기 위한 환경설정 파일을 작성할 것이다.
vsftpd_vitual.conf 라는 파일에 다음의 내용을 넣어 /etc 디렉토리에 생성하라.

listen=YES standalone 모드로 설정하기 위해
listen_port=2121 listen_port 를 추가하고 vsftpd 서버를 재실행한다
#connect_from_port_20=YES

local_enable=YES 가상 유저도 로컬사용자 이다.
anonymous_enable=NO 익명접속 막음
chroot_local_user=YES 홈 디렉토리 이외는 접속 불능
write_enable=YES 화일 생성 가능
local_umask=022
xferlog_enable=YES 접속 로그 생성
xferlog_file=/var/log/vsftpd.log
pam_service_name=vsftpd pam 화일 이름
pasv_min_port=30000
pasv_max_port=30999

guest_enable=YES 반드시 ok
guest_username=virftp 가상 유저의 실제 할당 계정
user_sub_token=$USER 서로 다른 홈 디렉토리를 부여하기 위해 셋팅
local_root=/home/virftp/$USER

virftp_use_local_privs=YES 설정하지 않으면 기본 적으로 anonymous 의 권한을 가지고
화일을 생성하지 못한다.
dirmessage_enable=YES


*** 위와같이 설정이 되었다면 /home/virftp 에 가상유저별 홈디렉토리를 생성해야한다.
# mkdir /home/virftp/{myid,yourid}
# chown virftp.virftp /home/virftp/*
# ls -l /home/virftp/
-rw-r--r-- 1 virftp virftp 146 10월 27 16:39 hosts
drw-r-xr-x 1 virftp virftp 4096 10월 27 16:39 myid
drw-r-xr-x 1 virftp virftp 4096 10월 27 16:39 yourid


*** vsftpd 실행
가상유저 FTP 를 운영하기 위해서는 vsftpd 를 Standalone 방식으로 작동시켜야 된다.
vsftpd 실행시에 /etc/vsftpd_virftp.conf 파일을 환경설정 파일로 지정하자.
# ftp localhost
user :
passwd :
도스에 이어 윈도우즈만을 사용하다가 리눅스에 접근하다..ㅡㅡㅋ

1. 페도라 인스톨시
파티션 분할후 프로그램은 사용자 설정으로 하여 서버에 해당하는 모든 항목을 체크후 인스톨한다, 사용하지 않는 게임 뉴스서버등이 있는면 체크를 해제

2. 인스톨후 업데이트
yum install mysql-server or yum install mysql
yum install php-mysql or yum install php
위의 두가지 항목을 인스톨하고 ntsysv 명령후 mysqld, httpd를 선택한다.. 그리고 일단 부팅을 다시한다. 걍 안전을 위하여

3. GD를 사용하기 위하여
yum install php-gd 를 실행하면 알아서 주루룩.. OK

4. 위의 yum을 사용하여 인스톨시 중간에 끊기는가는 살펴야 한다.. 어떨때 보면 하다가 말아서.. 그냥 넘어가면 실로 고생.. 왜안될까하고 ㅡ,ㅡ; 다시 실행해 주면 된다..

5. 게시판 사용을 위한 DB생성을 해야한다
루트로 간다
* 기존 인터넷에 많이 찾아보았던 여러가지의 명령과 권한설정을 생략해도 된다.. 이런거 보면서 하다가 실로 더고생..ㅡ,ㅡ;
mysql 명령을 실행하면 >가 나온다
그럼 한번 만들어 볼까.. 뭐가 있는지 한번 보자..
1) show databases;
몇개의 디비가 보인다.. mysql도..
2) use mysql;
3) create database 디비명;
4) insert into user (host,user,password) values ('localhost','유저명',password('패스워드'));
5) insert into db values ('%','디비명','유저명','y','y',.............'y'); 요기서 나의 디비는 'y'가 17개 이다
6) flush priveliges;
7) show databases; 확인을 하면 생성이 된것이 보인다
8) quit;

5. 이제 디비 설정까지 끝났으면 php.ini와 httpd.conf를 설정, 원하는 게시판에서 인스톨시 유저명, 디비명, 패스워드를 입력하면 OK (db 생성 전에 해도됨)
httpd.conf 설정이 변경되었으면 service httpd restart 한번 실행해줌..

6. 나의 도메인과 무료 DDNS를 서버에 연결하여 즐거운 인터넷이 시작된다..

--- 이상 몸으로 느낀 페도라 설치 간단 정리 ---

+ Recent posts