'centos'에 해당되는 글 9건

  1. 2008.12.20 웹서버 구축관리 / Apache , PHP , MySQL 설치 설정
  2. 2008.12.18 DHCP 서버 설정, 운영
  3. 2008.12.16 네임서버 설치, 운영 / DNS (bind 9.3)
  4. 2008.06.23 linux - history , lastb , wtmp , lastlog
  5. 2008.06.20 linux - login , logout , messages
  6. 2008.06.19 linux - ifconfig , ip , setting
  7. 2008.06.18 linux - runlevel 수정하기
  8. 2008.06.18 linux - 설치 2
  9. 2008.06.18 linux - 설치 1
2008. 12. 20. 20:14

웹서버 구축관리 / Apache , PHP , MySQL 설치 설정


■ 아파치 서버 설정

설치전 준비 사항
패키지 준비
0. httpd
0. php
0. mysql
0. gcc 관련 패키지
0. libjpeg , libpng , freetype , gd

■ 소스 다운로드
// 아파치
www.apache.org   --> http server --> from a mirror --> unix source
# cd /usr/src
# wget
http://mirror.apache-kr.org/httpd/httpd-2.2.11.tar.gz
// php
www.php.net  --> downloads --> php 5.x.x -
# wget
http://kr2.php.net/get/php-5.2.8.tar.gz/from/this/mirror
// mysql
www.mysql.org or mysql.com  --> downloads  --> Compressed GNU TAR archive (tar.gz)
--> pick a mirror -- >
# wget
http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.30.tar.gz/from/http://mysql.byungsoo.net/
# ls -l
-rw-r--r--  1 root   root    6806786 12월 13 23:35 httpd-2.2.11.tar.gz
-rw-r--r--  1 root   root   29050568 11월 20 08:19 mysql-5.1.30.tar.gz
-rw-r--r--  1 root   root   12427411 12월  8 04:43 php-5.2.8.tar.gz

 
라이브러리, 컴파일러 확인
# yum -y install gcc cpp gcc-c++ compat-gcc-32-g77 flex
# rpm -qa gcc* cpp* compat-gcc* flex*
gcc-c++-4.1.2-42.el5
gcc-objc++-4.1.2-42.el5
gcc-objc-4.1.2-42.el5
compat-gcc-34-3.4.6-4
gcc-java-4.1.2-42.el5
flex-2.5.4a-41.fc6
cpp-4.1.2-42.el5
compat-gcc-34-g77-3.4.6-4
gcc-gfortran-4.1.2-42.el5
gcc-4.1.2-42.el5
gcc-gnat-4.1.2-42.el5

# yum -y install libjpeg-devel libpng-devl freetype-devel gd-devel
# rpm -qa libjpeg* libpng* freetype* gd-*
libpng-1.2.10-7.1.el5_0.1
libjpeg-6b-37
gd-devel-2.0.33-9.4.el5_1.1
libjpeg-devel-6b-37
freetype-devel-2.2.1-20.el5_2
freetype-2.2.1-20.el5_2
libpng-devel-1.2.10-7.1.el5_0.1

■ MySQL 설치
# tar xvfz mysql-5.1.30.tar.gz
# useradd -M -s /bin/false mysql
# ./configure \
--prefix=/usr/local/mysql \
--with-charset=utf8 \
--with-extra-charsets=all
....
MySQL has a Web site at http://www.mysql.com/ which carries details on the
latest release, upcoming features, and other information to make your
work or play with MySQL more productive. There you can also find
information about mailing lists for MySQL discussion.
Remember to check the platform specific part of the reference manual for
hints about installing MySQL on your platform. Also have a look at the
files in the Docs directory.
Thank you for choosing MySQL!
# make && make install
....
# echo $?
0
#


// 환경 설정파일 복사 , 소스 폴더내에 있다.
# cp support-files/my-large.cnf /etc/my.cnf

 

my-huge.cnf 1~2G
my-large.cnf 512M
my-medium.cnf 128M~ 256M
my-small.cnf 64M
이하
초기 샘플 파일에 대해서..
vmware상에서 구현중 메모리 512로 잡고 하지만 vmware상 문제인지 small외에 사용하면
아래 install db가 되지 않는다.
또한 mysqld 시작시 위 파일들 때문에 시작이 안된다.. 혹시 안되는 분들이 있다면
rm -f /etc/my.cnf 하고 작업을 진행 하길. 문제 해결을 위해 검색 중이나
마땅히 해결책이 보이질 않고 있음..(vmware상의 문제로 보여짐)



// 기본 DB생성
# cd /usr/local/mysql
# cd bin
# ls
# ./mysql_install_db --user=mysql
Installing MySQL system tables...
OK
Filling help tables...
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/local/bin/mysqladmin -u root password 'new-password'
/usr/local/bin/mysqladmin -u root -h fedora password 'new-password'
Alternatively you can run:
/usr/local/bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
cd /usr/local ; /usr/local/bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd /usr/local/mysql-test ; perl mysql-test-run.pl
Please report any problems with the /usr/local/bin/mysqlbug script!
The latest information about MySQL is available at http://www.mysql.com/
Support MySQL by buying support/licenses from http://shop.mysql.com/
# echo $?
0
// 디렉토리 권한 설정
#  chown -R mysql:mysql .

// 환경변수 등록
# vi ~/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin
# source ~/.bash_profile   < 로긴 과정 없이 적용 >

//자동실행 설정
# cp share/mysql/mysql.server /etc/init.d/mysqld
# chkconfig --add mysqld
# chkconfig --list mysqld

// mysqld 시작
# /etc/init.d/mysqld start
Starting MySQL.                                            [  OK  ]
# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.30 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> exit
Bye

// 암호 설정
# mysqladmin -u root password ****
# # mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.1.30 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> exit



■ APACHE 설치
# cd /usr/src
# ls
httpd-2.2.11.tar.gz
# tar xvfz httpd-2.2.11.tar.gz
# cd httpd-2.2.11
# ls
# ./configure --prefix=/usr/local/apache --enable-mods-shared=all --enable-so --enable-rewrite
// prefix ( 위치 ), enable-mods-shared=all (모든 모듈을 DSO로)
// enable-so    (DSO 모드 활성)
// enable-rewrite ( URL 재작성 모듈 활성)
# echo $?
# make && make install
# echo $?

■ 자동실행 스크립트 정의

# cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
# chkconfig --add httpd
안됨
# vi /etc/init.d/httpd
#!/bin/sh
# chkconfig: 2345 90 90
# description: init file for Apache server daemon
# processname: /usr/local/apache/bin/apachectl
# config: /usr/local/apache/conf/httpd.conf
# pidfile: /usr/lcoal/apache/logs/httpd.pid
....
# chkconfig --add httpd
# chkconfig --list httpd
httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off

■ httpd.conf  환경 설정
# vi /usr/local/apache/conf/httpd.conf
#ServerName    << 주석 해체
# /etc/init.d/httpd restart

웹브라우저에서 접속 테스트



■ PHP  설치
# cd /usr/src
# ls
         php-5.2.8.tar.gz
# tar xvzf php-5.2.8.tar.gz 
# cd php-5.2.8
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/apache/conf --disable-debug --enable-safe-mode --enable-track-vars --enable-sockets --enable-mod-charset --with-charset=utf8 --with-xml --with-language=korean --enable-mailparse --enable-calendar --enable-sysvsem=yes --enable-sysvshm=yes --enable-ftp --enable-magic-quotes --enable-gd-native-ttf --enable-url-includes --enable-trans-id --enable-inline-optimization --enable-bcmath --with-jpeg --with-png --with-zlib --with-jpeg-dir=/usr --with-png-dir=/usr/lib --with-freetype-dir=/usr --with-libxml-dir=/usr --enable-exif --with-gd --with-ttf --with-gettext --enable-sigchild --enable-mbstring
prefix ( 위치)
with-apxs2 (아파치의 apxs를 이용해 아파치에 모듈적재)
with-mysql (mysql과 연동)
with-config-file-path ( php 의 환경설정 파일인 php.ini가 생성될 위치)
이하 라이브러리 포함 위치

....
+--------------------------------------------------------------------+
| License:                                                           |
| This software is subject to the PHP License, available in this     |
| distribution in the file LICENSE.  By continuing this installation |
| process, you are bound by the terms of this license agreement.     |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point.                            |
+--------------------------------------------------------------------+
Thank you for using PHP.
Notice: Following unknown configure options were used:
--enable-track-vars
--with-charset=utf8
--with-xml
--with-language=korean
--enable-mailparse
--enable-calender
--enable-url-includes
--enable-trans-id
--with-jpeg
--with-png            << 없는 옵션일 경우 출력됨
Check './configure --help' for available options
# echo $?
0
# make && make install
# cp php.ini-dist /usr/local/apache/conf/php.ini
# vi /usr/local/apache/conf/httpd.conf
<IfModule dir_module>
    DirectoryIndex index.html index.html index.php
</IfModule>
<IfModule mime_module>
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
</IfModule>
# vi /usr/local/apache/htdocs/phpinfo.php
<? phpinfo(); ?>
# /etc/init.d/httpd restart
웹브라우저에서 확인




■ apache 환경 설정   ( # vi /usr/local/bin/apache/conf/httpd.conf )
ServerRoot "/usr/local/apache"
# 아파치 웹서버가 설치된 디렉토리

Listen 80
# 아파치가 사용할 포트번호

LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_anon_module modules/mod_authn_anon.so
# 아파치에 등록된 모듈목록

<IfModule !mpm_netware_module>
<IfModule !mpm_winnt_module>
User daemon
Group daemon
</IfModule>
</IfModule>
# 아파치 데몬은 root권한 그 자식 프로세스는 위에서 지정된 이름으로 실행된다.

ServerAdmin you@example.com
# 에러 발생시 보내질 서버관리자의 주소

DocumentRoot "/usr/local/apache/htdocs"
# 아파치서버의 웹문서가 있는 경로 설정

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>
# 해당 디렉토리 이하의 웹문서를 어떻게 제어할 것인가를 설정


-AllowOverride 는 디렉토리 인증 관련 AccessFileName과 관련

-Order   는 차단 허용에 대한 기본값 설정

<IfModule dir_module>
    DirectoryIndex index.html index.html index.php
</IfModule>
# 클라이언트가 파일이름없이 접근시 나열된 파일을 순서대로 검색하여 보여준다.

<FilesMatch "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</FilesMatch>
# 특정한 파일형식을 정규표현식으로 지정해서 해당 파일에 대한 접근 제어을 설정할때 사용

ErrorLog "logs/error_log"
# 에러로그파일 위치

LogLevel warn
# 에러로그레벨 지정

<IfModule log_config_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    <IfModule logio_module>
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>
    CustomLog "logs/access_log" common
</IfModule>
# 웹서버 로그 포멧 지정

<IfModule alias_module>
    ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"
</IfModule>
# Redirect지시어는 앞에 지정한 주소로 접속하면 뒤에 지정한 URL로 이동한다.
# Alias 지시어는 경로를 짧게 줄이거나 DocumentRoot 외에 다른곳에 있는 디렉토리 접근
# ScriptAlias 는 서버 스크립트를 포함한다.

<IfModule cgid_module>
    #Scriptsock logs/cgisock
</IfModule>
# CGI 데몬과 통신을 위해 사용할 소켓의 이름 지정

<Directory "/usr/local/apache/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>
# cgi 스크립트가 있는 디렉토리의 설정내용

DefaultType text/plain
# 웹서버가 데이터를 전송하는 문서 형식 지정, mime.types파일에 정의되지않는 형식을 표시

<IfModule mime_module>
    TypesConfig conf/mime.types
# 웹서버의 mime type을 지정한 파일을 지정
# Addtype 특정 확장자 지정
# AddEncoding 특정 확장자를 가진 파일을 특정 형식으로 인코딩
# AddHandler 특정 확장자를 가진 파일의 핸들러를 지정한다.
    #AddType application/x-gzip .tgz
    #AddEncoding x-compress .Z
    #AddEncoding x-gzip .gz .tgz
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
    #AddHandler cgi-script .cgi
    # For type maps (negotiated resources):
    #AddHandler type-map var
    #AddType text/html .shtml
    #AddOutputFilter INCLUDES .shtml
</IfModule>

#MIMEMagicFile conf/magic
# RFC 형식이 지정되어있지 않을때 파일의 내용을 통해 자동적으로 결정하게 되는데 해당 지시어를 # 통해서 conf/magic 파일을 힌트 삼아서 문서 형식을 결정

#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
# 에러 발생시 응답 페이지

#EnableMMAP off
#EnableSendfile off
# 메모리 대응 or 메모리 매핑

#Include conf/extra/httpd-mpm.conf
# 다중 처리 모듈

#Include conf/extra/httpd-multilang-errordoc.conf
# 에러메시지 다중언어 지원

#Include conf/extra/httpd-autoindex.conf
# 클라에게 보여줄 디렉토리 목록 설정
#Include conf/extra/httpd-languages.conf
# 다중 언어를 지원키 위한 설정 파일
# User home directories
#Include conf/extra/httpd-userdir.conf
# 사용자 홈 디렉토리 설정 파일
# Real-time info on requests and configuration
#Include conf/extra/httpd-info.conf
# 아파치 웹서버의 상태와 환경설정 제공 파일
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
# 가상호스트 설정파일
# Local access to the Apache HTTP Server Manual
#Include conf/extra/httpd-manual.conf
# 아파치 메뉴얼
# Distributed authoring and versioning (WebDAV)
#Include conf/extra/httpd-dav.conf
# 웹사이트 개발도구 WebDAV 지원 모듈
# Various default settings
#Include conf/extra/httpd-default.conf
# 아파치 기본 설정 파일
# Secure (SSL/TLS) connections
#Include conf/extra/httpd-ssl.conf
# 보안 소켓 레이어
#
# Note: The following must must be present to support
#       starting without SSL on platforms with no /dev/random equivalent
#       but a statically compiled-in mod_ssl.
#
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
# 보안 소켓 레이어 모듈이 Load되어질때, 인터넷을 통해 비공개문서를 전송키위해 사용


2008. 12. 18. 01:27

DHCP 서버 설정, 운영


DHCP 서버 설정, 운영

0. 설치전 준비 사항
dhcp 패키지
2장의 NIC

1. 패키지 준비
# rpm -qa | grep dhcp
dhcpv6_client-0.10-33.el5
# yum install dhcp
....
# rpm -qa | grep dhcp
dhcp-3.0.5-13.el5
#

2. NIC 카드 준비
NIC카드를 한장 추가, eth0(외부접속을 위한 ) , eth1 ( dhcp용)
# cd /etc/sysconfig/network-scripts
# ls
ifcfg-eth0
ifcfg-eht1  <<.
# vi ifcfg-eth1
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=dhcp
HWADDR=00:0c:29:25:e1:2d
NETMASK=255.255.255.0
IPADDR=192.168.10.50
gateway 설정 하지 말것
#

3. dhcpd.conf 설정

# rpm -ql dhcp
/etc/dhcpd.conf
# cat /etc/dhcpd.conf
/usr/share/doc/dhcp*/dhcpd.conf.sample 을 쓰라고 한다
# cp /usr/share/doc/dhcp*/dhcpd.conf.sample /etc/dhcpd.conf

# vi /etc/dhcpd.conf

ddns-update-style interim;
ignore client-updates;
subnet 192.168.0.0 netmask 255.255.255.0
# 내부 네트워크의 범위를 지정
{
# --- default gateway
        option routers                  192.168.0.1;
        option subnet-mask              255.255.255.0;
        option nis-domain               "domain.org";
        option domain-name              "domain.org";
        option domain-name-servers      192.168.1.1;
        option time-offset              -18000; # Eastern Standard Time
#       option ntp-servers              192.168.1.1;
#       option netbios-name-servers     192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
#       option netbios-node-type 2;
# 기본 게이트웨이의 ip에 대한 설정, 서브넷 , 네임서버 도메인, 네임서버 ip등을 설정할때 쓴다.
        range dynamic-bootp 192.168.0.128 192.168.0.254;

# dhcp ip할당 영역
        default-lease-time 21600;
        max-lease-time 43200;

# 할당 받은 ip의 사용시간과 최대 보유시간을 지정

        # we want the nameserver to appear at a fixed address
        host ns {
                next-server marvin.redhat.com;
                hardware ethernet 12:34:56:78:AB:CD;
                fixed-address 207.175.42.254;
        }

# 특별히 고정된 ip를 할당할때
}

4. 구동 시작
# /etc/rc.d/init.d/dhcpd start
dhcpd (을)를 시작 중:                                      [  OK  ]
같은 네트워크에 물린 xp , 혹은 다른 os에서
NIC ip 설정을 dhcp로 설정후 재시작



# arp -a
? (192.168.10.254) at 00:0C:29:78:7E:4C [ether] on eth0
254번 ip를 받아 간것을 확인 할 수 있다.
2008. 12. 16. 04:53

네임서버 설치, 운영 / DNS (bind 9.3)


■ CentOS 에서 네임서버 설치 , 운영

Tip .
0. 소스로 설치 할 경우
http:/www.isc.org 에서 소스 다운 받아 설치 하면 된다.

0. bind 9.2 까지는 named.conf 파일을 사용
0. bind 9.3 부터는 name.caching-nameserver.conf 사용


1. 필요 패키지


  • bind / 기본 패키지
  • bind-libs / 라이브러리
  • bind-utils / 유틸리티
  • caching-nameserver / bind운영에 필요한 환경 설정파일 모음


  • 2. 패키지 준비
    패키지 확인
    #  rpm -qa | grep bind                 
    bind-libs-9.3.3-10.el5
    ypbind-1.19-8.el5
    bind-utils-9.3.3-10.el5
    # yum install bind
    ....
    Dependencies Resolved
    =============================================================================
     Package                 Arch       Version          Repository        Size
    =============================================================================
    Installing:
     bind                    i386       30:9.3.4-6.0.2.P1.el5_2  updates           9
    58 k
    Updating for dependencies:
     bind-libs               i386       30:9.3.4-6.0.2.P1.el5_2  updates           8
    46 k
     bind-utils              i386       30:9.3.4-6.0.2.P1.el5_2  updates           1
    67 k
    Transaction Summary
    =============================================================================
    Install      1 Package(s)        
    Update       2 Package(s)        
    Remove       0 Package(s)        
    Total download size: 1.9 M
    Is this ok [y/N]: y
    ....
    Installed: bind.i386 30:9.3.4-6.0.2.P1.el5_2
    Dependency Updated: bind-libs.i386 30:9.3.4-6.0.2.P1.el5_2 bind-utils.i386 30:9.3.4-6.0.2.P1.el5_2
    Complete!
    # rpm -qa | grep bind
    bind-9.3.4-6.0.2.P1.el5_2
    bind-utils-9.3.4-6.0.2.P1.el5_2
    ypbind-1.19-8.el5
    bind-libs-9.3.4-6.0.2.P1.el5_2
    # yum install caching-nameserver
    ....
    installed: caching-nameserver.i386 30:9.3.4-6.0.2.P1.el5_2
    Complete!
    # rpm -qa | grep caching
    caching-nameserver-9.3.4-6.0.2.P1.el5_2
    #

    3. 운영을 위한 환경 설정 파일
    bind 9.3 버전 부터 name.caching-nameser.conf 파일을 사용한다.
    # vi /etc/named.caching-nameserver.conf
    // named.caching-nameserver.conf
    ...
    options {
    //    listen-on port 53 { 127.0.0.1; };
    // 기본적으로 port 53 으로 자신만이  접근 가능하게 되어있다.
    // 외부접근 가능 하게 any로 바꾼다.
          listen-on port 53 { any; };
    //        listen-on-v6 port 53 { ::1; }; 
    // ip v6 에 대한 것으로 차후 서비스를 위해 ~..주석처리.
            directory       "/var/named";
    // zone file에 대한 기본 디렉토리 설정

            dump-file       "/var/named/data/cache_dump.db";
    // 캐쉬 덤프 파일 생성 위치와 파일 이름
            statistics-file "/var/named/data/named_stats.txt";
    // 통계파일 생성 위치와 파일 이름
            memstatistics-file "/var/named/data/named_mem_stats.txt";
    // 메모리 관련 통계파일 위치 이름

            // Those options should be used carefully because they disable port
            // randomization
            // query-source    port 53;     
    query-source    port 53;   
    // 쿼리를 받아 들일 소스포트
            // query-source-v6 port 53;
    //     allow-query     { localhost; };
            allow-query     { any; };
    // 쿼리 허용할 ip 대역

    };
    logging {
            channel default_debug {
                    file "data/named.run";
                    severity dynamic;
            };
    };
    // 실행에 있어 디버깅시 참고 할 수 있는 로그파일 생성 위치
    view localhost_resolver {
    //        match-clients      { localhost; };
    //        match-destinations { localhost; };
            match-clients      { any; };
            match-destinations { any; };
    // 로컬 리졸버 허용 클라이언트 지정

            recursion yes;
            include "/etc/named.rfc1912.zones";
    };

    4. 구동 시작
    # /etc/rc.d/init.d/named start
    named를 시작 중:                                           [  OK  ]
    [root@fedora ~]# tail /var/named/data/named.run
    zone 0.in-addr.arpa/IN/localhost_resolver: loaded serial 42
    zone 0.0.127.in-addr.arpa/IN/localhost_resolver: loaded serial 1997022700
    zone 255.in-addr.arpa/IN/localhost_resolver: loaded serial 42
    zone 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN/localhost_resolver: loaded serial 1997022700
    zone localdomain/IN/localhost_resolver: loaded serial 42
    zone localhost/IN/localhost_resolver: loaded serial 42
    running
    //정상 구동되었다.
    #

    5. zone 파일 구성


    # vi /etc/named.rfc1912.zones
    // named.rfc1912.zones:
    //
    // Provided by Red Hat caching-nameserver package
    //
    // ISC BIND named zone configuration for zones recommended by
    // RFC 1912 section 4.1 : localhost TLDs and address zones
    //
    // See /usr/share/doc/bind*/sample/ for example named configuration files.
    //
    zone "." IN {
            type hint;
            file "named.ca";
    };
    ...
    zone "linux.com" IN {
            type master;
            file "linux.com.zone";
            allow-update { none; };
    };
    //추가
    # cd /var/named
    # ls
    // 기본 포멧 파일을 이용
    # cp localdoamin.zone linux.com.zone
    # vi linux.com.zone
    TTL    86400
    @               IN SOA  ns.linux.com. root.linux.com ( 
                                            2008121601      ; serial (d. adams)
                                            3H              ; refresh
                                            15M             ; retry
                                            1W              ; expiry
                                            1D )            ; minimum
                    IN NS           ns.linux.com.
                    IN MX 10        mail.linux.com.
                    IN A            192.168.10.200
    ns              IN A            192.168.10.200
    www             IN A            192.168.10.200
    mail            IN CNAME        www
    ftp             IN CNAME        @
    *               IN CNAME        @

    // 생성 후 저장

    //zone 파일과 conf 파일 체크
    # named-checkconf /etc/named.rfc1912.zones
    # named-checkconf /etc/named.caching-nameserver.conf
    # named-checkzone linux.com /var/named/linux.com.zone
    zone linux.com/IN: loaded serial 2008121601
    OK
    #

    // 모든게 정상으로 나왔다. 서버 재구동
    /etc/rc.d/init.d/named restart
    named를 정지 중:                                           [  OK  ]
    named를 시작 중:                                           [  OK  ]
    # vi /etc/resolv.conf
    search localdomain
    nameserver      192.168.10.10
    nameserver      168.126.63.1
    // 기존에 있던 nameserver외에 추가로 자신의 ip로 된 nameserver ip를 추가
    // 192.~ 대의 dns를 먼저 검색 하며 검색된 정보가 없을경우 다음 dns에게 물어 본다.
    # nslookup
    > linux.com
    Server:  [192.168.10.10]
    Address:  192.168.10.10
    Name:    linux.com
    Address:  192.168.10.100
    ...
    > ftp.linux.com
    >q
    // 잘나오는것을 확인 할 수 있다.

    6. zone file 설명
    TTL    86400
    time to live의 약자 다른 네임서버에서 읽어간 정보가 살아있는 시간이다. 초단위

    @              
    ORIGIN 의 의미 public domain을 의미 즉  @ = linux.com.

    IN
    IN 다음 의 설정을 이용

    SOA  ns.linux.com. root.linux.com
    SOA start of authority 해당 도메인의 정보를 가지고 있고 root@linux.com 이 관리자를 나타낸다.
    (  
                                           
    2008121601      ; serial (d. adams)
    해당 정보의 시리얼 보통 날짜정보 + 카운터로 표시된다.

                                         3H              ; refresh
    리프레쉬 타임 주기

                                            15M             ; retry
    M-> S로의 장애 발생시 재 접속  시간

                                            1W              ; expiry
    존파일 유효기간, 만약 Expiry 시간안에 M에서 응답을 못받을 경우 S는 데이터에 대한 유효성을 더이상 인정 하지 않겠다는뜻

                                            1D )            ; minimum
    TTL과 같은 의미 다른 서버에서 zone 데이터를 가져갔을때 그 데이터에 대한 유효기간

                    IN NS           ns.linux.com.
    // 네임서버 이름 지칭
                    IN MX 10        mail.linux.com.
    // mailserver 이름 지칭
                    IN A            192.168.10.200
    // ip 할당
    ns              IN A            192.168.10.200
    // nameserver의 ip는     ""
    www             IN A            192.168.10.200
    // www.linux.com ip할당
    mail            IN CNAME        www
    // mail server의 ip는 www의 설정을 가져온다.
    ftp             IN CNAME        @
    // ORIGIN 변수의 값을 그대로 사용
    *               IN CNAME       


    6.1 nameserver를 이용한 부하분산
    www             IN A            192.168.10.200
    www             IN A            192.168.10.201
    www             IN A            192.168.10.202
    // A 레코드 여러개 적어 부하 분산!

    2008. 6. 23. 21:25

    linux - history , lastb , wtmp , lastlog

    linux - history log , lastb , lastlog


    # last
    사용자 삽입 이미지
    last 명령어는 과거의 로그인 상황 점검을 할 수 있다.
    last 명령어는    /var/log/wtmp 에서 정보를 참조한다.
    # mv /var/log/wtmp /var/log/_wtmp
    # last
    정보 없음
    # mv /var/log/_wtmp /var/log/wtmp
    # last
    ~~


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

    # lastb
    사용자 삽입 이미지

    lastb 는 last정보와 비슷한 정보를 보여주나
    이는 과거에 잘못된 접속을 시도한 계정에 대한 정보를 보여준다.
    이  또한
    /var/log/btmp   에서 정보를 참조한다.



    # lastlog
    사용자 삽입 이미지

    이 명령어는 각 계정에 대한 마지막 로그인 정보를 보여준다.

    # history
    // 과거 사용된 명령어 목록을 보여준다.
    2008. 6. 20. 01:17

    linux - login , logout , messages

    linux - messages 변경

    linux system이 부팅 할때 주륵주륵 여러가지 메시지가 나오는것을 알 수 있다.

    근데 이거 다시 보려 해도 후다닥 지나가기때문에 보기 껄끄럽다 ㅡ.,ㅡ?

    암튼 그래서 다시 볼려면

    # dmesg
    하면 정보가 나온다. 근데 이것도 좀 많다 ......ㅡ.-'
    그땐
    # dmesg | grep eth    (부팅 메시지 중  eth 카드의 메시지를 확인 된다. )
    참고로 dmesg 는 /var/log/dmesg   에 있다! ( cat 으로 확인해봐도 된다.)

    사용자 삽입 이미지

    ctrl + alt + del 제한

    일반 사용자가 위 키를 눌르면 안된다. 고로 이를 막기 위해서
    /etc/inittab 파일을 수정해야한다.
    # vi /etc/inittab
    사용자 삽입 이미지
    32 번재 라인을 # 주석 처리 하면 된다.
    근데 이 파일은 부팅 할때 읽혀 지는 파일 이기 때문데
    리부팅 해야 한다. 하지만

    # init -q
    로 inittab file 을 다시 로드 시킬 수 있다.


    아래 메시지는 어디서 본듯한? 것일거다.
    사용자 삽입 이미지
    그렇다 로그인 화면에서 나타난 메시지다.
    첫번째꺼는 로그인 메시지이고
    두번째꺼는  telnet 등으로 원격 접속을 할떄 나오는 메시지다.
    이는 시스템 커널정보, 운영체제 정보가 노출 되는 것으로 보안상 위협이 될 수 있다.
    고로 두 파일의 내용을 없애는 것이 좋다.

    /etc/motd  
    로그인 성공 후에 나타 나는 메시지를 나타 낸다.


    2008. 6. 19. 00:52

    linux - ifconfig , ip , setting

    linux - ifconfig
    --------------------------------------------------------------------------------------
    현재 가상 머신 상황에서 설치 한 동영상을 보면 알겠지만

    vmware의 dhcp 기능을 이용하여 ip를 할당 받았다!

    이를 원하는 아이피로 바꾸어 보자!

    # ifconfig
    블라 블라 블라..

    eth0 과 lo 가 보일 것이다.
    --------------------------------------------------------------------------------------

    ip설정을 바꾸는 방법은 두가지가 있다.

    1. 현재 설정
    # ifconfig eth0 192.168.10.10 netmask 255.255.255.0 up
    # ifconfig
    바뀌어 있는것을 알 수 있다.
    간략히 설명 하자면 ifconfig으로 eth0에 대해서 ip/netmask 를 설정 하고 up을 하라는 말이다.
    up은 활성화 시키란말.
     
    2. 부팅 시 설정
    eth0에 대한 설정은
    /etc/sysconfig/network-scripts/ 폴더 내에 있다.
    # cd /etc/sysconfig/network-scripts
    # ls



    저정하고 종료
    # ping 사이트 주소 로 할것

    이상 네트워크 설정을 마무리 짓기로 한다 졸린다는 ㅡ.-;
    -------------------------------------------------------------------------------------
    정리
    현재 설정과 부팅시 설정이 있으며
    ifconfig eh0 (현재 설정, 리부팅 하면 날아감)
    netconfig(tool)
    setup(tool)로 할 수 있으며

    /etc/sysconfig/network-scripts/ifcfg-eth0 파일을 설정하여 변경한다.(부팅시 설정)
    dns설정
    /etc/resolv.conf 에서 수정 가능하다.

    2008. 6. 18. 23:30

    linux - runlevel 수정하기

    linux runlevel
    ---------------------------------------------------------------------------------
    0 level    halt모드로 시스템 정지인데, 이 모드로 해놓으면 시스템이 아예 안켜지겠지??-_-
    1 level    혼자 쓸 때
    2 level    멀티유저 용, 3 level과 비슷한데 네트워킹이 안되는 모드
    3 level    멀티유저 용, 보안상 필드에서 3으로 지정함
    4 level    사용 x
    5 level    gui mode, 그래픽 유저 인터페이스 모드, xwindow 지원
    6 level    재부팅
    ----------------------------------------------------------------------------------
    바탕화면에서 마우스 오른쪽 ' 터미널 열기 ' 선택

    사용자 삽입 이미지


    # runlevel
    N 5 현재 런레벨 5
    # vi /etc/inittab (이 파일에서 런레벨 설정 할 수 있다.)


    사용자 삽입 이미지

    이는 vi 편집기에서 inittab파일을 연 화면이며( 처음 사용하는 사람은 그대로 따라 하기 바란다.)
    /id
    키보드 -> 로 3의 위치에
    r   -> 3 을 차례로 눌르면 5에서 3으로 바뀌는것을 볼 수 있다.
    이후 esc 키 눌름
    다시 shift + ; -> 로  ' : ' 입력
    :wq - > 엔터
    그럼 해당 파일이 수정 되었다.!

    # reboot

    사용자 삽입 이미지

    자 ... 리부팅후 콘솔 창으로 로긴 된것을 알 수 있다.
    런레벨 3으로 변경 되었다!
    사용자 삽입 이미지

    참고  : xwindow를 선호 하는 사람은 다시 런레벨을 수정하거나
    # startx 라는 명령을 내려도 된다!

    2008. 6. 18. 22:04

    linux - 설치 2

    쳇.. 나름 준비해서 동영상을 찍었서 올렸는데
    이것저것 틀린 부분도 보이고 해서
    나름 맘이 속상하네요''
    아짃 실력이 없다는 변명 늘어 놓습니다!ㅋ
    가위질 환영 합니다~~





     
    2008. 6. 18. 20:28

    linux - 설치 1

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

    환경 : vmware ( 가상 머신 )
    o/s  : linux ( CentOS)

    CentOs - redhat에서 기업용 버전인 enterprize 버전을 내어 놓기 전에
                  테스트 버젼으로 배포 되는 OS이며, linux의 표준?을 지향하기 때문에 나름? 괜찮다고
                  생각 함.
    준비물       :   CentOs linux image cd or DVD
    링크 주소   :   http://www.centos.org/
                          위 사이트에서 downloads 를 클릭
    http://mirror.centos.org/centos/5/isos/
    에서 i386(32bit) 용으로 다운받음
              
    --------------------------------------------------------------------------------------
    vm setting
    ---------------------------------------------------------------------------------------
    sound, flofy 드라이브 제거
    memory   : 512 (실제 o/s의 여유가 된다면 늘려도 됨)
    hard disk ( scsi ) : 8.0
    ethernet : nat
    usb
    display  : auto detect
    processors  : 2 core
    ---------------------------------------------------------------------------------------

    ---------------------------------------------------------------------------------------
    partiton setting
    파티션 셋팅할때는 미리 자료를 찾아보길 바란다.
    용도에 따른 파티션 적용이 약간씩 틀리기 때문이다.

    http://marvel.incheon.ac.kr/~mysung/lectures/2004OS/2004linuxinstall.pdf
    http://www.superuser.co.kr/home/lecture/index.php?cateNo=1&secNo=27&theNo=&leccode=10915
    참고 하거나 직접 검색 해서 찾아보면 많은 자료가 있을것이다.
    필자는 swap 과 / 로만 설치 할것이다.
    swap - 가상 메모리 공간을 말하며 메모리의 1.5에서 2배정도로 잡아 주는 것이 좋다.
    /       - 리눅스가 설치될 영역

    사용자 삽입 이미지
    사용자 삽입 이미지

    사용자 삽입 이미지
    사용자 삽입 이미지




    사용자 삽입 이미지



    사용자 삽입 이미지

    ze  : 8  
    allocat all disk space now. -> 이걸 선택하게 되면 통짜 파일이 생선되게 된다. 좀더 빠른 성능을 기대 할 수 있다고 한다.
    split disk into 2GB       -> 말그대로 2gb로 분할 사용

    사용자 삽입 이미지



    사용자 삽입 이미지


    사용자 삽입 이미지
    사용자 삽입 이미지
    사용자 삽입 이미지
    사용자 삽입 이미지
    적당히 편집 할것
    필자는 필요 사운드 플로피 제거
    듀얼 코어 사용( 본인의 컴퓨터가 듀얼이 아닐경우 선택 하지말것, 단 듀얼 이상일경우는 선택하는것이 좋음, 쿼드 역시 듀얼로.. 아직 쿼드선택 버젼이 없는듯...)
    자 다운 받은 dvd이미지 위치를 시디롬에 심어 보자~!
    사용자 삽입 이미지


    사용자 삽입 이미지

    자 이제 셋팅이 끝났다.!!!!! 파워온을 살짝 눌러 보자
    담에 계속