< Redhatt9..0 셋팅법 > Redhat9.0 배포판이준비되면, CD를넣고부팅한다. CD로부팅하는방법은모두다알것이다. 만약안된다면, CMOS를건드린다. CMOS에들어가는방법은부팅이될때, 대부분 F2 키또는 Del 키를누르면들어간다. 그리고첫번째부팅할장치를 CD-ROM으로 2번째부팅장치를 HDD로한다. 1번디스크를넣고부팅하면처음보는화면은다음과같다. 위와같은화면에서 text를입력해준다. 시간이지나버리면그래픽모드로들어가기때문에빨리입력해야한다. 나는설치를 TEXT모드로할것이다. Linux 서버는특별한경우를제외하고는마우스를사용하지않는다. 그래서연결을하지않는다. 마우스가없으면 TEXT모드로밖에설치할수없기때문에 TEXT모드를선호하다.
다음은 CD로설치하기때문에이런화면이나온다. 처음 CD를구워서설치하는것이라면하번쯤테스트하고다음부터설치할때는 SKIP로넘어간다. ( 테스트하면시간이좀걸릴것이다 여기서 TEST 를누르면테스트하게된다. 위그림은테스트하는그림이다. 다운로드잘 ~~ 받아서 CD를잘구웠다면위와같이 PASS했다는메시지가나올것이다. 어떤경우는잘받아서잘구웠는데도실패가나오는경우도있다. CD-ROM 드라이버가꾸지면그럴경우도있다.
CD는총 3장이다. 이걸다테스트하려면 TEST를또눌러서계속테스트를하고테스트가끝났다면, Continue를눌러서설치화면으로넘어간다. 환영한다는메시지가나오는데 OK 를누르던지 F12 키를눌러서넘어간다. 위와같이언어를선택하게된다. 여기서선택한언어는설치할때나타나는언어이다. TEXT모드에서는한국어를지원하지않는다. 그래서그냥영어로한다
키보드를선택하는데그냥기본값으로둔다. 별다른것없다. 마우스선택화면인데, 앞에서말했듯특별한경우가아니면서버에서는마우스가필요없다. 그래서마우스가만약설치되었다하더라도 No-mouse를선택해서설치하지않는다. 설치타입을선택하는데 Custom 을선택한다.
그래야지선택하면서설치할수있다. RH9(Redhat9) 에서는 Fdisk 로파티션잡는것이안보인다. 그래서 Disk Druid 를사용할 것이다. 서버에서파티션을잘나눠야지성능및보안, 안정성을유지할수있기때문에 " 자동 " 으로나누는것은바람직하지못하다. 파티션나누는프로그램을선택하면다음과같이경고가나오는데주의해라는말이다 자이제파티션을나눈다. /dev/sda 라고나오는데 sda는스카시고 hda 이렇게나오는것은 IDE 방식이겠죠또다르게나오는것은 RAID이구 ~~ 이런것들은파티션나누는데상
관없다 Add를선택하거나, F2를선택하면새로운파티션을생성할수있다. 위옵션중 check for bad blocks를선택하여시간이올래걸리더라도 bad blocks를채킹하고설치하는것이좋다. 파티션을나누는데는아주아주조심스럽고, 생각을많이하고나눠야한다. 다음과같이정리한다. 1. /boot 파티션 : 부팅이미지가들어가는곳이다. 일반적으로 128M 정도면충분하다. 2. /home 파티션 : 홈페이지데이터가들어갈장소이다. 많으면좋다. 3. /usr/local 파티션 : 나는여기다가 db 및 web서버를설치할것이다. 5G 정도잡을것이다. 이렇게잡는이유는프로그램을설치하더라도 200M 정도이고, db 데이터는최대 2G 정도이다. db 로그는남기지않을것이며, 아파치로그가 2G까지쌓이는데이렇게까지보관할필요없다. 그래서 5G 로잡았다. 물론공간이충분하다면 8G 잡아두된다 4. /backup 파티션 : 백업을할파티션인데총디스크용량의 3/5 정도는잡아둔다. 5. swap : 스왑파티션은 1G만잡는다. 메모리의 2배를잡는것이일반적이지만, 스왑을쓰게되면시스템이넘느려지기때문에스왑을적게잡고, 필요하다면메모리를증설하는게현명한방법이다. 6. / : 루트파티션은 /etc, /var 등이들어간다. 따로잡아두좋지만너무복잡한것은싫어서이다. 용량은정당히 ~ 3G 정도 ~~ 꼭, 따로잡아야하는파티션은위와같다. 이파티션에대한견해는많으니다른문서를참고해서잡아두된다. 예 ) 40G 라면, /boot 128M, /usr/local 5G, swap: 1G, /backup 13G, /:3G, /home 나머지 16G 정도
파티션을잘나누었다면, 이제부트로드를설정한다. LILO 보다발전한 GRUB 를쓴다. 위부분은부트로드옵션인데. 특별한경우가아니면필요없으므로넘어간다. 이부분은 GRUB 부트로드에패스워드를넣는부분인데.. 서버에는패스워드가너무너무많다. 그래서이부분은그냥설정하지않았으면한다. 꼭필요하다면입력하고, 꼭기억해두어야한다. 비밀번호를잃어버리면낭패를당하기때문이다. 난비밀번호를설정하지않겠
다. 이제브트로드의레벨을설정하는부분입니다. 뭐그렇게설정할것은없습니다. F12를눌러넘어간다. 자이부분은중요하다. 멀티부팅을한다고 First sector of boot partition을선택하는사람이있는데... 꼭 MBR을선택해야한다. 멀티부팅을하더라도 MBR을선택해라. win 2k과같이설치할때도 MBR을선택해야한다. 기본이 MBR이니 F12키를눌러넘어간다. 네트웍카드가있고, 드라이버가잡혔다면위와같이나올꺼에요, 하지만네트웍카드도있고, 드라이브도잡히는데선을뽑으면잡히고꽂은상태에서는안잡히는보드가있더군요. Inter STL2 보드에요. 그보드는설치후에렌드라이버를구해서설치해주면됩니다. 간략하게설명하면, Use bootp/dhcp 는대부분서버에서는고정 ip를사용하기때문에사용하지않습니다. 그리구다음 Activate on boot 는부팅할때렌을올려야하기때문에채
크해주시구요, 다른정보들은모두다아실것으로생각하구넘어갑니다 이제방화벽설치하는부분인데. 기본적으로위와같이 Customize 와 Medium을선택하여기본포트만열도다닫습니다. 여기서선택을해주는데 SSH, HTTP, Mail, FTP를기본적으로설정합니다. Telnet은너무취약해서쓰지않겠습니다. 이렇게설정해두두고마음바뀌면 iptables를안쓸수도있죠
이젠 OK 하고방화벽설정을마무리합니다. 언어를선택하느데기본적으로영어는설정되어있고, 한국어를선택하고 OK 를합니다. 기본언어선택에서한글을선택해야지여러곳에서문제가생기지않습니다. 꼭선택해주고 OK
Time Zone 에서한국이니까아시아서울을선택합니다. 그리고 OK 이제 root 비밀번호를넣는다. 기본적으로 6 자이상입력해야한다. 6 자를입력하고 OK 그냥기본으로두고넘어간다. F12누루고.. 서버를알면더알겠지만. 설치단계에서알필요는없다모든걸따지면서설치하면너무오래걸린다. 이제설치할패키지를선택하는데. 그림을잘보구똑같이선택해주기바란다. 물론. 다르게설치해도상관없지만앞으로계속설치문서를만들것인데기본이되기때문에곤란한
경우가생길수도있기때문이다. 이렇게선택하고나면, 1,231M 가된다앞에서도언급했지만절대적인것은아니지만, 추천
하는패키지들이다. 그리구마지막으로 select individual packages 를선택한다. 여기서 kernel-smp를선택한다. 이부분은 2개이상의 cpu를가진서버에서쓰는커널인데. 2개가아니라면할필요는없다 이제모든설정은끝나고설치를한다. OK
파티션에배드블락점검을설정하였다면배드블락채킹을할것이다. < 보안설정및서비스별운영 > 1. 불필요한서비스를내린다. #netstat an grep LISTEN ; 서비스포트확인 setup명령으로불필요한서비스를내린다. 2. su 명령어의사용제한설정 #vi /etc/pam.d/su auth required /lib/security/pam_wheel.so allow group=wheel : 윗내용추가 #vi /etc/passwd wheel:x:10:root,elim elim이라는계정만 su권한을가질수있음. 3. ssh2 소스컴파일 #cd /usr/local/src ; 디렉토리이동 #wget ftp://ftp.sogang.ac.kr/pub/ssh/ssh-3.2.9.1.tar.gz ; 윗명령어로파일다운받는다. #tar xvzf ssh-3.2.9.1.tar.gz ; 압축을풀어줌 #cd ssh-3.2.9.1 ; 압축을풀어준디렉토리로이동 #./configure ; 컨피그설정 #make ; 컴파일 #make install ; 인스톨 #vi /etc/ssh2/sshd2_config AllowUsers elim #elim계정만 ssh2접속가능 PermitRootLogin no #root로 ssh2 접속안됨
; 윗부분과같이설정한다. #vi /etc/rc.local ##########sshd############ /usr/local/sbin/sshd ; 재부팅되었을때 sshd을시작하기위해추가해줌 cf)rpm e openssh-x.x.x ;rpm qa grep ssh 명령어로 rpm버전 openssh-x.x.x를확인할수있다. 4. ncftp 셋팅 #cd /usr/local/src ; 디렉토리이동 #wget ftp://rpmfind.net/linux/redhat/9/en/os/i386/redhat/rpms/ncftp-3.1.5-4.i386.rpm ; 윗명령어로파일을다운받는다. #rpm Uvh ncftp-3.1.5-4.i386.rpm ; 윗명령어로파일인스톨 5. logwatch 설정 #vi /etc/log.d/scripts/logwatch.pl $Config{'mailto'} = "root"; ; 시스템의로그파일들을 root@ 도메인계정으로메일을보내줌 #vi /etc/aliases server: rlwjf@elim.net root: server@elim.net ; 위같이 /etc/aliases을설정하면로그파일내용이 rlwjf@elim.net으로메일을발송함. 6. /etc/cronttab파일수정 #vi /etc/crontab MAILTO=server@club4u.com ; 윗부분을추가하여크론에관계된모든정보들이 rlwjf@elim.net으로메일을방송함 7. /etc/passwd파일수정 #vi /etc/passwd root:x:0:0:ns.club4u.com:/root:/bin/bash ; 시스템이메일을보낼시주석부분이보낸사람이름으로나타남
8. timeserver 설정 #crontab e ###########################timet setting####################### 00 01 * * * /usr/bin/rdate -s time.bora.net && /sbin/clock w ; 윗명령어로타임서버를설정함. 9. 로그인정보수정및리눅스버전정보숨기기 #vi /etc/motd #vi /etc/issue #vi /etc/issue.net #vi /etc/redhat-release ================== for login user ====================== It will be punished for illegal login to this system. It is saved for login information in another system. ; 윗내용을추가함 10. chkrootkit 파일시스템체크설치 #cd /usr/local/src ; 디렉토리이동 #wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz ; 윗명령어로파일다운받는다. #tar xvzf chkrootkit.tar.gz ; 압축을풀어줌 #cd chkrootkit ; 압축푼디렉토리로이동 #make sense ; 컴파일 #/usr/local/src/chkrootkit/chkrootkit ; 윗명령어로실행함
11. TBSD 포트스캔감지프로그램셋팅 #cd /usr/local/src ; 디렉토리이동 #wget http://www.securitymap.net/stm/tools/ids/tbsd-1.17.tar.gz ; 윗명령어로파일다운받는다. #tar xvzf tbsd-x.y.tar.gz ; 압축을푼다. #cd tbsd-x.y ; 압축푼디렉토리로이동 #tar xvzf libpcap-0.4.tar.gz ; 압축을푼다. #cd libpcap-0.4 ; 압축푼디렉토리로이동 #./configure #make #cd.. ; 한단위윗디렉토리로이동 #./configure #make #cp src/tbsd.conf.dist src/tbsd.conf # 파일이름변경 #make install #vi /usr/local/tbsd/bin/tbsd.daily MAILTO=server@club4u.com ; 메일주소변경 #vi /usr/local/tbsd/bin/report MAILTO=server@club4u.com ; 메일주소변경 #crontab e ###########################tbsd setting######################## 0 0 * * * /usr/local/tbsd/bin/tbsd.daily ;crontab에추가함
12. 일일시스템점검스크립트작성 #vi /etc/cron.daily/check.sh #!/bin/sh echo "##### 금일날짜 #####" > fileaccess-info.txt /bin/date >> fileaccess-info.txt echo "" >> fileaccess-info.txt echo "##### 접속자정보 #####" >> fileaccess-info.txt /usr/bin/last >> fileaccess-info.txt echo "" >> fileaccess-info.txt echo "" >> fileaccess-info.txt echo "" >> fileaccess-info.txt echo "##### 마지막접속자정보 #####" >> fileaccess-info.txt /usr/bin/lastlog grep -v " 한번도 " >> fileaccess-info.txt echo "" >> fileaccess-info.txt echo "" >> fileaccess-info.txt echo "" >> fileaccess-info.txt echo "##### 열림포트정보 #####" >> fileaccess-info.txt /bin/netstat -an grep LISTEN >> fileaccess-info.txt echo "" >> fileaccess-info.txt echo "" >> fileaccess-info.txt echo "" >> fileaccess-info.txt echo "##### 파일용량 Check#####" >> fileaccess-info.txt /bin/df h >> fileaccess-info.txt echo "" >> fileaccess-info.txt echo "" >> fileaccess-info.txt echo "" >> fileaccess-info.txt echo "##### 파일시스템체크 (chkrootkit)#####" >> fileaccess-info.txt /home/rlwjf/security/chkrootkit >> fileaccess-info.txt echo "" >> fileaccess-info.txt echo "" >> fileaccess-info.txt echo "" >> fileaccess-info.txt echo "##### 파일시스템체크 (tripwire)#####" >> fileaccess-info.txt /usr/sbin/tripwire --check >> fileaccess-info.txt /bin/cat fileaccess-info.txt mail -s "access infomation of ns.club4u.com" server@club4u.com #chmod 700 /etc/cron.daily/check.sh
13. 백업스크립트작성 [msp1] #vi /etc/cron.daily/backup.sh #!/bin/bash export today="`date '+%Y-%m-%d'`" backup_dir="/backup/msp1" ## 백업보관일 backup_count="2" ##2일이상인백업데이터삭제 dirlists=`/bin/ls -t $backup_dir 2> /dev/null` i=1 for dir in $dirlists ; do if [ "$i" -ge $backup_count ] ; then /bin/rm -rf "$backup_dir/$dir" fi i=$(($i+1)) done ## 디렉토리생성 /bin/mkdir -p ${backup_dir}/$today cd ${backup_dir}/$today ##home 디렉토리및중요한데이터백업 dirlists=`/bin/ls -t /home/test 2>/dev/null` for dir in $dirlists ; do tar cvfpz /${backup_dir}/$today/$dir.tar.gz /home/test/$dir done tar cvfpz ${backup_dir}/$today/mail.tar.gz /var/spool/mail ## 다른서버로백업 /usr/bin/ncftpput -R -u elim -p dleodud 211.174.176.40./ ${backup_dir}/$today/* ## 링크를만들어준다 rm -rf /backup/today ln -s ${backup_dir}/$today /backup/today #chmod 700 /etc/cron.daily/backup.sh # root만실행가능하게함.
[msp2] #vi /etc/cron.daily/mainbackup.sh #!/bin/bash export today="`date '+%Y-%m-%d'`" backup_dir1="/backup/msp1" backup_dir2="/backup/msp2" ## 백업보관일 backup_count="2" ##2 일이상인백업데이터삭제 dirlists1=`/bin/ls -t $backup_dir1 2>/dev/null` dirlists2=`/bin/ls -t $backup_dir2 2>/dev/null` ##2일이상인 msp1데이터삭제 i=1 for dir in $dirlists1 ; do if [ "$i" -ge $backup_count ] ; then /bin/rm -rf "$backup_dir1/$dir" fi i=$(($i+1)) done ##2일이상인 msp2데이터삭제 i=1 for dir in $dirlists2 ; do if [ "$i" -ge $backup_count ] ; then /bin/rm -rf "$backup_dir2/$dir" fi i=$(($i+1)) done ##msp1 디렉토리생성 /bin/mkdir -p ${backup_dir1}/$today cd ${backup_dir1}/$today
##msp1 데이터백업 /bin/mv /home/elim/* $backup_dir1/$today/ ##msp2 디렉토리생성 /bin/mkdir -p ${backup_dir2}/$today cd ${backup_dir2}/$today ##msp2 home 디렉토리및중요한데이터백업 dirlists=`/bin/ls -t /home 2>/dev/null` for dir in $dirlists ; do tar cvfpz ${backup_dir2}/$today/$dir.tar.gz /home/$dir done tar cvfpz ${backup_dir2}/$today/mail.tar.gz /var/spool/mail ## 링크를만들어준다 rm -rf /backup/today1 rm -rf /backup/today2 ln -s ${backup_dir1}/$today /backup/today1 ln -s ${backup_dir2}/$today /backup/today2 #chmod 700 /etc/cron.daily/mainbackup.sh ;root만실행가능하게함 14. apm 셋팅 [mysql 셋팅 ] 1. 유저생성 #useradd mysql 2.mysql 계정로그인못하게함 #vi /etc/passwd mysql:x:501:501::/home/mysql:/sbin/nologin 3. 컴파일 #./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data -- with-charset=euc_kr cf)mysql-5.0.0-alpha로가면선 --with-charset=euckr붙여서해주어야됨
#make #make install 4. 설정 #cd scripts #./mysql_install_db #chown -R root:mysql /usr/local/mysql/ #chown -R mysql data/ #cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld #ln -s /etc/init.d/mysqld /etc/rc3.d/s91mysqld #/usr/local/mysql/bin/mysqladmin u root password 16강 ;mysql 루트암호설정 5. mysql실행 #/etc/init.d/mysqld [apache 셋팅 ] 1. 컴파일 #./configure --prefix=/etc/apache2 --enable-modules=so,shared #make #make install 2. 데몬설정 #vi /etc/apache2/conf/httpd.conf #cp /etc/apche2/bin/apachectl /etc/init.d/httpd #ln -s /etc/init.d/httpd /etc/rc3.d/s92httpd 3.httpd.conf 설정 1) 네임서버설정 ServerName 서버아이피및도메인 2) 루트디렉토리설정 <Directory "/etc/apache2/htdocs"> indexes 삭제
3) 디렉토리 index 설정 DirectoryIndex index.html index.htm index.shtml index.php index.php4 index.php3 index.jsp index.phtml index.cgi 4) 연결확장설정 DefaultType text/plain AddType application/x-httpd-php.php.html.php4.php3.inc.ph.htm AddType application/x-httpd-php-source.phps 5) 다른곳에 CGI 설정시주석처리 #ScriptAlias /cgi-bin/ "/etc/apache2/cgi-bin/" 6) 한글언어설정 #AddDefaultCharset ISO-8859-1 AddDefaultCharset EUC-KR DefaultLanguage ko 7)Options 중 ExecCGI 추가시아래부분주석제거 AddHandler cgi-script.cgi 8) 가상호스트설정시셋팅 NameVirtualHost 서버아이피 9) 가상호스트설정 <VirtualHost 211.174.177.19> Options ExecCGI IncludesNoExec ServerAdmin rlwjf@club4u.com DocumentRoot /home/customer/public_html ServerName msp.club4u.com </VirtualHost> #mkdir /home/customer/public_html/ ; 홈디렉토리생성
[php셋팅] 1. 컴퍼일 #./configure --with-apxs2=/etc/apache2/bin/apxs --with-mysql --withlanguage=korean --with-charset=euc_kr #make #make install #cp php.ini-dist /usr/local/lib/php.ini 2. 설정 #vi /usr/local/lib/php.ini register_globals = Off ==>On 으로변경 [Zend Optimizer 셋팅 ] 1. 파일다운 www.zend.com 에서다운받을수있다. 2. 압축을푼다. #tar xvzf ZendOptimizer-2[1].5.2-Linux_glibc21-i386.tar.gz #cd ZendOptimizer-2[1].5.2-Linux_glibc21-i386 3. 실행실행시순서는아래와같다 #./install ok ==> 엔터 : 환영한다는메세지출력 exit==> 엔터 :license내용출력 yes ==> 엔터 :license 동의 /usr/local/zend ==> 엔터 :Zend설치위치 /usr/local/lib ==> 엔터 :php.ini 위치 /etc/apache2/bin==> 엔터 :apchectl 위치 4. apache재시작 #/etc/init.d/http restart 5. 테스트 #vi /etc/apache2/htdocs/test.php <? phpinfo();?>
< Liinux 를이용한서버및네트워크관리 > #Log Server 구축 1. Client Switch 설정 configure syslog add 211.174.177.19 local5 info 2. Client Server 설정 #vi /etc/syslogd.conf *.info;mail.none;authpriv.none;cron.none @211.174.177.19 ; 윗부분을추가해줌 ; 선언한정보를 211.174.177.19로로그정보를보내라는뜻임 #/etc/init.d/syslog restart ;syslogd을업데이트해줌 3. Server 설정 #vi /etc/syslogd.conf local5.*;*.info;mail.none;news.none;authpriv.none;cron.none @211.174.176.11 ; 윗부분을추가해줌
; 선언한정보를 211.174.176.11로로그정보를보내라는뜻임 #/etc/init.d/syslog stop ;syslog 데몬을중지함. #/sbin/syslogd -r -h -m0 ; r 옵션을주어리모트의로그를받겠다는뜻임 4. KIWILOG 프로그램설치 1) 파일을아래사이트에서다운받는다. http://www.kiwisyslog.com/software_downloads.htm 2) 프로그램을인스톨한다. 3) 데몬을실행시키면아래와같은로그가쌓일것이다.
< Liinux 를이용한서버및네트워크관리 > #SMS Server 구축 #mkdir p /home/customer/public_html/msp ; 디렉토리생성 #cd /home/customer/public_html/msp ; 디렉토리이동 #wget ftp://211.174.177.19/download/msp/sms.tar.gz ;sms파일을다운받는다. #tar xvzf sms.tar.gz ; 압축을풀어줌 #vi /home/customer/public_html/index.html <!-- frames --> <title> Monitoring Center </title> <frameset cols="300, 1*"> <frame name="menu" src="http://211.174.177.19/msp/menu.html" marginwidth="5" marginheight="0" scrolling="auto" frameborder="1"> <frame name="body" src="http://211.174.177.19/msp/smokeping/htdocs/smokeping.cgi"
marginwidth="10" marginheight="0" scrolling="auto" frameborder="0"> </frameset> ;index.html 파일을만들어줌 #chmod 700 system_check_* ; 루트만실행할수있게만들어줌 #./system_check_init ; 초기파일을생성해주기위해실행 #./system_check_main ;sms실행파일실행 #crontab e ###########################msp###################################### 02 04 * * * /home/customer/public_html/msp/system_check_main 2> /dev/null 1> /dev/null ; 크론에추가시켜줌확인 http://211.174.177.19 <SMOKEPIING 셋팅법 > INSTALL http://people.ee.ethz.ch/~oetiker/webtools/smokeping/docs/index.en.html ; 스모크핑도움말참조 프로그램을먼저설치한다. 1. Perl 5.6.1 이상 A. #cd /usr/local/src B. #wget ftp://speakeasy.rpmfind.net/linux/redhat/9/en/os/i386/redhat/rpms/perl- 5.8.0-88.i386.rpm => RedHat을기준으로관리및개발도구를추가하면자동설치되어있다. C. #rpm Uvh perl-5.8.0-88.i386.rpm 2. RRDtool (/usr/local/src) A. #wget http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/pub/rrdtool-1.0.45.tar.gz B. #gzip d rrdtool-1.0.45.tar.gz
C. #tar xvf rrdtool-1.0.45.tar D. #cd rrdtool-1.0.45 E. #./configure F. #make G. #make install 3. Fping (/usr/local/src) A. #wget http://people.ee.ethz.ch/~oetiker/webtools/smokeping/pub/fping- 2.4b2_to.tar.gz B. #gzip d fping-2.4b2_to.tar.gz C. #tar xvf fping-2.4b2_to.tar D. #cd fping-2.4b2_to E. #./configure F. #make G. #make install 4. Echoping (/usr/local/src) A. #wget ftp://ftp.internatif.org/pub/unix/echoping/echoping-5.0.1.tar.gz B. #gzip d echoping-5.0.1.tar.gz C. #tar xvf echoping-5.0.1.tar D. #cd echoping-5.0.1 E. #./configure F. #make G. #make install 5. SpeedCGI (/usr/local/src) ( 참고설치해도되고안해도되는선택사항 ) A. #wget http://daemoninc.com/speedycgi/cgi-speedycgi-2.21/binaries/redhat- 7.3-speedycgi-2.21-1.i386.rpm B. # wget http://daemoninc.com/speedycgi/cgi-speedycgi-2.21/binaries/redhat- 7.3-speedycgi-apache1-2.21-1.i386.rpm C. rpm Uvh RedHat-7.3-speedycgi-2.21-1.i386.rpm D. rpm Uvh RedHat-7.3-speedycgi-apache1-2.21-1.i386.rpm 6. smokeping (/smokeping)
A. #useradd smokeping B. #cd /etc C. #cd /user/local/src D. #wget http://people.ee.ethz.ch/~oetiker/webtools/smokeping/pub/smokeping- 1.22.tar.gz #tar xvzf smokeping-1.23.tar.gz E. #mv smokeping-1.23 /home/customer/public_html/smokeping/ F. #cd /home/customer/public_html/smokeping/ CONFIGURE 지금부터수정해야할부분을점검하겠습니다. 1. bin/smokeping (/smokeping) A. #pwd (/smokeping 확인 ) B. #cd bin C. #cp smokeping.dist smokeping ( 실행예제파일을복사해서수정준비 ) D. #find / -name perl print (Perl 실행파일위치확인 ) E. #find / -name rrdtool print (rrdtool perl 모듈위치를확인 ) F. #find / -name config print (smokeping config 파일의위치를확인 ) G. #vi smokeping ( 위에서찾은폴더명으로다음의내용위치변경 ) #!/usr/bin/perl w use lib qw(/usr/local/rrdtool-1.0.45/lib/perl); use lib qw(/home/customer/public_html/smokeping/lib); Smokeping::main("/home/customer/public_html/smokeping/etc/config"); 2. htdocs/smokeping.cgi (/smokeping) A. #cp /smokeping/htdocs/smokeping.cgi.dist /smokeping/smokeping.cgi #vi smokeping.cgi ( 다음사항을수정한다.) #!/usr/bin/perl w use lib qw(/usr/local/rrdtool-1.0.45/lib/perl); use lib qw(/home/customer/public_html/smokeping/lib); Smokeping::cgi("/home/customer/public_html/smokeping/etc/config");
3. etc/config (/smokeping) A. #cd etc B. #cp config.dist config C. #vi config ( 다음사항을변경한다.) => owner = Elim Admin contact = root@club4u.com mailhost = mail.club4u.com sendmail = /usr/lib/sendmail imgcache = /home/customer/public_html/smokeping imgurl = http://211.174.177.19/smokeping/ datadir = /smokeping/var piddir = /smokeping/var cgiurl = http://211.174.177.19/smokeping/htdocs/smokeping.cgi smokemail = /smokeping/etc/smokemail D. 기타대상 IP는밑에서다시설명한다. 4. etc/basepage.html, smokemail (/smokeping) A. #cd etc B. #cp basepage.html.dist basepage.html C. #cp smokemail.dist smokemail 5. etc/config 대상 IP 설정하기 (/smokeping) A. #cd etc B. #vi config ( 다음내용부분을수정한다.) => + 는최상위메뉴, ++ 2차, +++ 3차, ++++ 4차형식으로만들어진다. binary = /usr/local/sbin/fping + Atom-network( 최상의메뉴 ) menu = Atom-Network title = Kangnam Network Status
++ Atom-BackBone menu = Atom-Core-Switch title = Atom-Core-Switch +++ main menu = main title = main Connectivity host = 211.174.177.1 +++ DNS menu = DNS title = DNS Connectivity host = 211.174.176.10 *)mkdir /smokeping/var ; 꼭 var 를만들어줌 /smokeping에서다음명령실행 #chwon R smokeping:smokeping /smokeping #chmod R 777 /smokeping chmod -R 777 var/ RUNNING SMOKEPING./bin/smokeping => 실행명령 ( 대몬으로실행된다.) 다음과같은형식으로리스타트시킬수있다../bin/smokeping restart 기타설정 1. 웹에서화면만보이고 permition deny 가나올경우다음과같이조정한다. apache httpd.conf 설정
#ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/" # 주석처리함 AddHandler cgi-script.cgi.pl # 주석을풀어줌디렉토리설정 <Directory /smokeping> AllowOverride FileInfo AuthConfig Limit Options ExecCGI IncludesNoExec Order allow,deny Allow from 211.174.176.0/255.255.255.192 # Allow from all </Directory> 가상호스트설정시 <VirtualHost 211.174.177.10> options Execcgi ServerAdmin root@eidc.co.kr DocumentRoot /smokeping ServerName smokeping.eidc.co.kr </VirtualHost>