카테고리 보관: ‘ 코드

정규표현식

출처: PHPschool

[#M_ more.. | less.. |

Learning to Use Regular Expressions by Example

현재 제가 작업하고 있는 사이트는 폼을 통한 유저입력에 많은 의존을 하고 있고 모든 데이터는 데이터베이스로 보내기 전에
검사해야합니다. 처음에는 PHP3의 정규 표현식 함수를 사용하면 된다는 건 알고 있었지만 어떻게 정규표현식을 작성해야 할지
몰랐습니다. 제가 필요로 했던 것은 뭔가 예제가 될만한 것이었죠. (물론 처음으로 본 것은 PHP3 매뉴얼과 POSIX
1002.3 스펙이었죠 하지만 예제가 없어서 별 도움이 되질 못했습니다) 덧 붙여 말하자면 정규표현식에 대한 좋은 글을 웹에서
찾기란 정말 어려웠습니다. 전 경험과 시행착오로 점점 그것에 대해 알게 되었고 별거 아님을 깨달았습니다. 그래서 이 글에서
문법에 대한 직접적인 설명을 하고 금액 입력과 email 주소 문자열을 을 검사하는 정규표현식을 작성하는 단계를 설명하려합니다.

- Basic Syntax of Regular Expressions (정규표현식의 기본 문법)

먼저 특수문자 '^'와 '$'를 살펴봅시다. 이 문자의 역할은 문자열의 시작과 끝을 의미합니다. 다음과 같은 해당 예를 들 수 있습니다.

"^The": "The"로 시작하는 문자열
"of despair$": "of despair"로 끝나는 문자열
"^abc$": "abc"로 시작하고 "abc"로 끝나는 문자열 ("abc" 라는 문자열도 해당됨)
"notice": "notice"가 들어 있는 문자열

마지막 예제에서 보듯이 이 두 개의 특수문자가 없는 패턴은 검사대상이 되는 문자열에 어떤 위치에서든지 들어 있음 의미합니다.

특수문자로는 '*', '+', '?'도 있습니다. 이 문자들은 어떤 문자의 반복에 관한 지정을 해주는 문자입니다. 각각 '0또는 그 이상', '1또는 그 이상', '0또는 1'을 의미합니다. 여기에 몇 가지 예제가 있습니다.

"ab*": a뒤에 0 이상의 b가 있는 문자열 ("a", "ab", "abbb", 등);
"ab+": 위와 동일 하지만 최소한 하나 이상의 b가 있어야 함 ("ab", "abbb", 등);
"ab?": b가 하나 있을 수도 있고 없을 수도 있음 (ab 또는 a)
"a?b+$": a가 있을 수도 있고 없을 수도 있으며 그뒤에 하나 이상의 b로 끝나는 문자열

{ }를 사용하면 반복되는 수를 영역으로 지정할 수 있습니다.

"ab{2}": a뒤에 2개의 b가 있는 문자열 ("abb");
"ab{2,}": a뒤에 최소한 2개 이상의 b가 있는 문자열 ("abb", "abbbb", 등.);
"ab{3,5}": a뒤에 3개에서 5개 사이의 b가 있는 문자열 ("abbb", "abbbb", 또는 "abbbbb").

{ }를 사용할 대는 반드시 첫 번째 숫자는 적어야 됨을 유의합니다. [1]

하지만 []안에서는 특수문자가 모두 효력을 읽게 되기 때문에 이 법칙을 벗어남을 기억하세요 []안에서는 백슬레쉬를 포함한 모든
특수문자들이 그 힘을 읽습니다 (예> “[*+?{}.]“는 말그대로 ‘*’, ”, ‘+’, ‘?’, ‘{‘, ‘}’,
‘.’ 문자를 의미합니다. 그리고 regex man 페이지에 나오듯이 ‘]’문자 자체를 포함하려면 문자들 리스트의 첫 번째에
위치시킵니다(‘^’가 있으면 ‘^’뒤에). ‘-’를 포함하려면 첫 번째 또는 마지막 문자로 지정하고 ‘-’문자가 영역의 경계
(예> a에서 -까지)일 경우 영역지정 문자의 두 번째 경계로 지정([a--])합니다.

완벽한 설명을 하려면 대조 순서(collating sequences), 문자 클래스(character classes), 동일
클래스(equivalence classes)에 대해서도 다루어야 하지만 이 글에서는 별 상관관계가 없기 때문에 regex man
페이지를 참고하도록 합니다.

-Validating Money Strings (금액 문자열 검사하기)

ok 이제 우리는 여기서 배운 것을 뭔가 실질적인 것에 적용 시켜봅시다. 사용자가 입력한 금액을 검사하는 정규표현식에 대해
알아봅니다. 금액은 “10000.00″ 와 “10,000.00″, 와, 센트 없이, “10000″ 와 “10,000″ 이렇게
4가지 방법으로 사용됩니다. (역자주 : 달러와 센트 군요 蝁,.蝁)

다음 정규표현식을 기초로 시작해 봅시다.

^[1-9][0-9]*$

이 정규표현식은 0으로 시작하지 않는 어떠한 수인지를 검사합니다. 하지만 “0″도 통과되지 못합니다. 그래서 다음과 같이 수정합니다.

^(0|[1-9][0-9]*)$

말로 표현하면 “0 이거나 0으로 시작하지 않는 수”입니다. 이제 수 앞에 -부호도 사용할 수 있게 수정해 봅니다.

^(0|-?[1-9][0-9]*)$

이 뜻은 “0 이거나 -이 있을 수 있는 수이고 이 수는 0으로 시작하지 않는다”입니다. 이제 좀 느슨하게 하고 유저가 0으로
시작하는 수도 입력할 수 있도록 해봅니다. 금액에 필요없는 -부호도 없애버립니다. 그리고 선택사항인 소수점 부분 패턴도 넣어서
다음 정규표현식이 나옵니다.

^[0-9]+(.[0-9]+)?$

하이라이트된 부분은 소수점(.)이 항상 최소한 하나이상의 수와 붙어 있어야 함을 의미합니다. 그러므로 예를 들면 “10.”은 통과되지 못하고 “10″ 과 “10.2″는 통과합니다.

^[0-9]+(.[0-9]{2})?$

이제 소수점 뒤에 반드시 2개의 수가 붙어 있어야 합니다. 이게 너무 심하다 싶으면 다음과 같이 해서

^[0-9]+(.[0-9]{1,2})?$

소수점 뒤에 하나의 숫자만 올 수도 있게 합니다. 이제 1000단위를 구분하는 ‘,’를 표현해 봅니다.

^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$

“1~3개의 숫자와 그 뒤에 ‘,’와 3개의 숫자로 이루어진 부분이 0개 또는 그 이상이 붙어 있는 패턴”. 쉽죠? 이제 ‘,’도 선택사항(옵션:option)으로 만들어 봅니다.

^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$

이게 전부입니다. 여기서 ‘+’를 ‘*’로 바꾸면 빈 문자열도 통과되는 패턴이 됩니다. 함수호출할 때 백슬래쉬 문자
escape하는 것 (역자 : /를 //로) 잊지 마세요. 일단 문자열이 검사되어 지면 str_replace(“,” , “” ,
$money) 함수로 ‘,’를 없애버리고 double로 형 변환을 해서 산술연산에도 사용할 수 있게 합니다.

- Validating E-mail Addresses (E-mail 주소 검사하기)

이제 e-mail 주소를 살펴봅시다. e-mail주소는 3부분으로 구성됩니다. : user 명(@왼쪽편에 있는 모든 것),
‘@’, 그리고 서버명(나머지 부분들) user명은 대문자 또는 소문자와 숫자, ‘.’ ‘-’, ‘_’로 구성됩니다. ‘_’를
제외하면 서버명도 마찬가지입니다. user 명은 .으로 시작하거나 끝나지 않습니다. domain명도 마찬가지입니다. 또한 .이
연속으로 있을 수도 없고 . 사이에는 최소한 하나 이상의 문자가 있어야 합니다. 이제 user명 부분을 검사하는 정규표현식을
만들어 봅시다.

^[_a-zA-Z0-9-]+$

이 정규표현식은 아직 .을 지원하지 않습니다. 다음과 같이 수정합니다.

^[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*$

말로 하면 “최소한 하나의 유효한 문자(valid character)와 그 뒤에 .과 유효문자들로 구성된 부분이 0또는 그 이상이 있는 패턴”입니다.

좀 간단하게 하기 위해 이 정규표현식을 ereg()대신에 eregi()함수에 사용합니다. eregi()함수는 대소문자를 구분하지
않기 때문에 “a-z”와 “A-Z”같이 두 개의 영역을 지정하지 않아도 되는 이점이 있습니다.(둘 중 어떤 것이라도 상관없음)

^[_a-z0-9-]+(.[_a-z0-9-]+)*$

서버명의 경우 ‘_’만 제외하고는 동일합니다.
^[a-z0-9-]+(.[a-z0-9-]+)*$

이제 ‘@’를 중심으로 서로 붙여서 다음과 같이 만들어 냅니다.

^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$

- 기타 사용

Extracting Parts of a String (문자열의 일부분 잘라내기)

ereg()와 eregi()함수는 문자열에서 패턴에 해당되는 부분을 잘라내는 기능이 있습니다. (메뉴얼 참고) 예를 들면 path/URL 문자열에서 파일명을 잘라내고 싶은 경우 다음과 같은 코드가 필요할 것입니다.

ereg(“([^/]*)$”, $pathOrUrl, $regs);
echo $regs[1];

Advanced Replacing (치환의 발전된 형태)

ereg_replace() 와 eregi_replace()는 아주 유용한 함수입니다. 문자열에 있는 모든 문자를 ‘,’로
구분한다고 가정해 봅시다. 다음과 같이 할 수 있습니다. (역자 : trim()함수는 문자열의 앞과 뒤에 있는 공백문자를 모두
제거하는 함수)

ereg_replace(“[ nrt]+”, “,”, trim($str));

- Some exercises (연습문제)

여기 당신을 좀 바쁘게 할 만한 것들이 있습니다 (^^;)

1. 여기 나온 email 검사 정규표현식의 서버 부분을 최소한 두 개의 이름으로 구성되어야 하게 수정하시오 (hint : 단 하나의 문자만 변경하면 됨)
2. trim()기능을 하는 ereg_replace()함수호출을 하시오
3. ‘#’, ‘@’, ‘&’, ‘%’를 ‘~’로 수정하는 ereg_replace()함수호출을 하시오

Have fun!

출처 : www,phpbuilder.com
원문 : Dario F. Gomes ([email protected]) 1999/06/16
번역 : 허련호 ([email protected]) 2001/01/30_M#]

  1. O) "{0,2}", (X) "{,2}"). 또한 '*', '+', '?'는 각각 "{0,}", "{1,}", "{0,1}"와 같습니다.

    이제 ()를 사용해서 하나의 문자가 아닌 여러 문자를 지정하는 방법을 알아봅니다.

    "a(bc)*": a 뒤에 "bc"가 0또는 그이상의 수만큼 있는 문자열
    "a(bc){1,5}": a 뒤에 "bc."가 1에서 5번 들어 있는 문자열

    또 다른 특수문자로는 OR 연산을 하는 '|'를 들 수 있습니다.

    "hi|hello": "hi"나 "hello"가 들어 있는 문자열
    "(b|cd)ef": "bef" 또는 "cdef"
    "(a|b)*c": a와 b가 섞여서 여러번 나타나고 그뒤에 c가 붙어있는 패턴

    '.' (period)는 어떤 한 문자를 의미합니다.

    "a.[0-9]“: a뒤에 한 문자와 숫자가 붙어 있는 패턴
    “^.{3}$”: 3문자로만 되어 있는 문자열

    []표현은 문자열의 해당 위치에 사용될 수 있는 문자를 표현하는데 사용합니다.

    “[ab]“: a또는 b (“a|b”와 동일한 표현);
    “[a-d]“: 소문자 ‘a’에서 ‘d’까지 (“a|b|c|d”또는 “[abcd]“와 동일);
    “^[a-zA-Z]“: 영문자로 시작하는 문자열
    “[0-9]%”: % 문자 앞에 하나의 문자가 붙어 있는 패턴
    “,[a-zA-Z0-9]$”: 영문자, 숫자로 끝나는 문자열 패턴

    []에서 ‘^’를 표현의 가장 처음에 사용하면 나타나서는 안 되는 문자를 지정할 수 있습니다. (예> “%[^a-zA-Z]%” 두 % 사이에 영문자가 없는 패턴)

    “^.[$()|*+?{"같은 특수 문자는 백슬레쉬('')를 사용해서 escape될 수 있습니다( 역자 주 : escape 이란
    다른 말로 literal로 탈출한다라고 할 수 있습니다 즉 특수문자로 인식되지 않고 일반 문자로 인식되게 합니다). 사용하는
    관점에서 보면 백슬레쉬도 PHP3의 문자열에서 escape되어야 하기 때문에 예를 들어 "($|?[0-9]+”같은 정규표현식은
    ereg(“($|?[0-9]+”, $str) 와 같이 사용됩니다 (이 표현식은 무얼 검사하는 걸까요? ^^;(이건 역자가 한
    말이 아닙니다 []

Fedora Core 3 설치

출처: 리눅스포털

간단하게 정리한 것

[#M_more..|less..| 배포판 구하기


주 배포 사이트는 http://fedora.redhat.com
미러링 사이트는,http://ftp.kreonet.re.kr/pub/Linux/fedora/core/3/
이밖에  리눅스 포털 http://www.superuser.co.kr/

1. Fedora Core 3 설치시작

씨디로 부팅했을 때 뜨는 화면

사용자 삽입 이미지


위 화면은 CD를 어떤 모드로 부팅할 것인가를 선택하는 화면
여기서 F2키를 누르면 보다 자세한 항목들을 볼 수 있으며, 복구, 메모리 검사, 설치 등의 모드가 있습니다.
마우스를 사용하지 않고 키보드만을 사용하여 좀더 빠르게 설치하도록 하기 위해 text 모드로 들어갑니다.
boot : 이 부분에서 "text"라로 입력합니다.

사용자 삽입 이미지

skip

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


사용자 삽입 이미지


디스크 파티션 나누는 부분입니다.

PC용도로 사용한다면, 자동 파티션을 사용해도 무관하지만,
서버 용도로 사용하기 위해서는 수동으로 파티션을 나눠야 하며, Druid를 선택합니다.

사용자 삽입 이미지


새로운 디스크라면, 디스크에 파티션 테이블이 없으며, 위와같은 경고 메시지가 나오게 됩니다.
혹시 리눅스에서 지원되지 않는 파티션 테이블이 있는 경우도 이런 메시지가 나타납니다.
"YES"를 눌러 넘어갑니다.

사용자 삽입 이미지


? 루트(/) 파티션
? 스왑(swap) 파티션

루트(/) 파티션은 윈도우에서와 같이 운영체제(OS)가 설치되는 최상위 파티션이며 그 하단에 각각의 디렉터리 및 파일들이
생성된다. 윈도우에서는 'Documents and Settings', 'Program Files', 'WINNT' 등의
디렉터리들이 생성되는것과 같이 리눅스에서는 /boot, /var, /root, /home, /backup 등의 디렉터리들이
생성되게 된다.

리눅스에서는 루트(/) 아래의 각각의 디렉토리들을 별도 파티션으로 설정이 가능한다. 서버 시스템에는 보안성 향상과 관리의 편의를 위하여 주요 디렉터리를 별도의 파티션으로 구현하기도 한다.

스왑(swap) 파티션은 하드디스크의 별도 파티션을 가상메모리 공간(물리적 메모리의 한계치를 극복하기위한
공간)으로 할당하여 사용한다.

※ 참고
가상 메모리가 별도의 고정된 파티션에서 사용됨으로써 보다 안정적이고 효과적인 메모리 관리가 가능한다.

※ 그림설명

종류

기본 서버 또는 Name 서버

설명

가장 간단한 설치 방법이며 기초적인 설치 방법이다.
파티션은 기본파티션(/)과 가상 메모리용 파티션(swap)으로 설치한다.
권장용량: /는 전체용량중 98%, Swap은 전체용량중 2% 할당을 권장한다.

예제

/ : 79G, swap : 1G


종류

Web 서버

설명

Web 서비스만을 위한 서버구축인 경우 /usr/local/apache/htdocs, /var/www/html, /home과 같은 곳의 공간이 많이 필요한다.
이는 web서비스를 하는 apache의 환경설정을 어떻게 하느냐에 따라 달라 질수 있는 문제이므로 apache 설정부분을 좀 더 참고하시도록 하자
본 문서는 SULinux의 APM_install-tools을 이용한 Web 서버 구축이므로 /usr/local/apache/htdocs나 /home 공간을 확보하는 것으로 하겠다.
권장용량 : /는 전체용량의 12%, /home은 전체용량의 55%, /usr은 전체용량의 31% 할당하는 것을 권장한다.

예제

/ : 10G, /home :44G G, /usr : 25G, Swap : 1G


종류

Mail 서버

설명

Mail 서버로만으로 서버를 구축 할 경우 /var/spool, /home에 데이터가
주로 저장 되지만, 메일 솔루션을 사용하게 될 경우 DBMS가 어디에 설치되는지에 따라 달라 질수 있다.
본 문서는 기본 메일 서비스를 위한 설정이므로 솔루션을관련 사항은 제외하겠다. 권장용량 : /는 전체 용량의 12%, /home은 전체용량의 37%, /var은 전체용량의 48%를 할당하기를 권장한다.

예제

/ : 10G, /home : 30G, /var : 39G, Swap : 1G


종류

FTP 서버

설명

FTP 서버는 활용용도에 따라 일반계정 접속용인지 익명접속자용인지에 따라 구분 될 수 있다. 일반계정별 접속용이라면 /home 용량을 크게 익명접속자용이라면 /var/ftp 용량을 크게 잡아야 한다.
권장용량 : /는 전체용량의 12%, /home은 전체용량의 43%, /var/ftp은 전체용량의 43% 를 할당하는 것을 권장한다.

예제

/ : 10G, /home : 35G, /var : 34G, Swap : 1G


종류

DB 서버

설명

DB 서버 구축은 어떤 DBMS를 구축하는지에 따라 또는 어떤 용도로 사용하는지에 따라 천차만별이다.
본 문서에서는 별도의 DB 공간(보통 새로운 Application 설치시 사용하는 /usr/local공간을 사용)을 만들어 그곳을 할당하는 것으로 설명하겠다.
권장용량 : /는 전체용량의 18%, /usr/local은 전체용량의80 %를 할당하는 것을 권장한다.

예제

/:15G, /usr/local : 64G, Swap : 1G


종류

Web/Mail/FTP/DB/Name 서버

설명

소호용 서버나 개인적 활용서버들은 대부분 이와 같은 형태를 가지고 있을 거라 생각한다. 이와 같은 서버들은 기본서버 또는 Name서버의 파티션과 같이 기본적인 파티션으로 서비스를 할 수도 있다.
하지만 서버 확장이나 데이터 이전 기타 상황에 대쳐이기 위해서는 유동성 있는 파티션 용량 분배가 있어야 할 것이다.
기본적인 설치를 한다는 전제조건하에서
권장 용량 : /는 전체용량의 11%, /usr는 전체용량의 18%, /var는 전체용량의 18%, /home는 전체용량의 37%를 할당하는 것을 권장한다.

예제

/ : 9G, /usr : 15G, /var : 15G, /home : 30G, Swap : 1G


사용자 삽입 이미지


처음 /boot 파티션을 생성합니다. /boot 파티션은 커널 이미지를 보관하는 곳입니다. 15M면 아주 충분하지만, 항상 여유를 생각해서 최대 100M로 잡아 줍니다.

※ 그림설명

메뉴

설명 및 옵션

예제

마운트할 지점

디렉토리 경로를 설정

/

파일시스템 유형

파일시스템의 유형을 선택
옵션)
ext2, ext3, physical volum (LVM), software RAID, swap, vfat

ext3

할당 가능한 드라이브

하드디스크 종류 및 순서를 나타냄

[*]sda

용량(MB)

설정하고자는 용량을 MB단위로 작성
옵션)
- 고정용량
- 다음의 용량까지 모두 채움(MB)
- 최대 가능한 용량으로 채움

1000MB(1GB)로 설정
[*]고정용량선택

첫번째(primery) 파티션으로 함

파티션의 첫번째에 설정하도록함

선택하지 않음



사용자 삽입 이미지


다음은 swap입니다. 스왑은 메모리가 부족하거나 메모리에서 너무 오랫동안 사용되지 않는 내용을 저장하기 위함 입니다.
서버는 항상 일을 하는 프로세스들만 모여 있기에 이 스왑에 무언가 저장이 된다면, 메모리
부족으로 판단합니다. 하지만, 아주 심각한 경우를 대비해서 1G 정도는 swap으로 할당합니다.
이 스왑은 물리적 메모리의 2배를 할당하는 것이 대부분입니다.
하지만, 메모리가 2G 라면, 4G 의 용량을 못 쓰게 되니 비효율적이란 생각으로 이렇게 나눴습니다.

사용자 삽입 이미지


테스트로 사용한 장비는 146G의 스카시 장비입니다. 여기서 반을 잘라 /backup으로 할당합니다.
서버를 오랫동안 운영하다보면, 얼마만큼 백업이 중요하다는 사실을 알게 됩니다.

사용자 삽입 이미지


/ 파티션은 특별하게 잡지 않은 디렉토리들이 사용하는 파티션입니다.
8G 정도 잡으면, 로그를 남기고, mail, 메일큐등 기타 데이터 저장에 충분한 용량입니다.

사용자 삽입 이미지


/home 파티션은 사용자의 홈페이지, 사용자 데이터를 보관하기 위함입니다. 대부분 이 파티션
용량을 가장 많이 잡습니다. /home 용량은 남은 용량을 모두 선택할 수 있게
“Fill all available space”를 선택합니다.

사용자 삽입 이미지


/usr/local 파티션은 컴파일 설치하는 대부분의 소스가 저장되는 곳입니다.
이 파티션에 db 데이터와 apache, mysql 등을 저장하기 위함입니다.
8G 정도면 충분합니다. 만약 DB데이터가 많다면, 다른 디스크에 확장하시기 바랍니다.
위와같이 파티션을 다 잡았다면, [OK] F12키를 눌러 다음 화면으로 넘어갑니다.
만약 수정할 것이 있으면, F3 키를 눌러 수정 하시기 바랍니다.

사용자 삽입 이미지


부트 로더를 선택하는 부분입니다.
예전에는 LILO와 GRUB를 선택했으나, 요즘 대부분의 배포판은 GRUB만 지원합니다.

사용자 삽입 이미지


부트로더의 옵션값을 넣는 부분입니다. 특별한 경우가 아니면 사용하지 않습니다.

사용자 삽입 이미지


부트로드 GRUB의 비밀번호를 넣는 부분입니다.

사용자 삽입 이미지


위 그림은 부트로더의 기본 부팅 파티션을 의미합니다.
특별한 경우가 아니면 그냥 F12키를 눌러 넘어 갑니다.

사용자 삽입 이미지


부트로더를 설치할 곳을 선택합니다. 대부분 MBR에 설치해야 합니다.
다른곳에 설치하면 부팅이 안되니 꼭 MBR에 설치합니다.

사용자 삽입 이미지


네트워크 설정부분입니다. 대부분 서버는 고정 ip를 부여하며, DHCP는 사용하지 않습니다.
DHCP옵션을 빼고, 아래의 ip설정부부에 서버의 고정 ip를 넣어줍니다.
아래의 netmask부분도 알고 있는 값으로 설정합니다.

사용자 삽입 이미지


게이트 웨이, DNS 서버를 설정하는 부분입니다.

사용자 삽입 이미지


호스트 이름을 설정하는 부분입니다.
이 호스트 이름은 외부의 도메인과 아무런 상관이 없으니, 사용하고 싶은것으로 넣습니다.
설치후에 hostname 등의 명령어로 변경 가능합니다.

사용자 삽입 이미지


방화벽 설정 부분입니다.
리눅스에서는 기본적으로 iptables 라는 방화벽을 제공합니다.
이 방화벽은 막강한 기능을 가지고 있지만, 개념을 정확하게 인지하기 전에는 불편하다고 느낄 수 있습니다.
“Enable firewall”을 선택하고, Customize를 선택하여 방화벽을 설정합니다.

사용자 삽입 이미지


방화벽 상세 설정으로
SSH : 22번 포트
WEB : 80, 443포트
FTP : 21, 20 번 포트
SMTP : 25번 포트
를 오픈합니다. 서비스에 필요한 포트는 이 외에도, 110(pop3), 53(dns) 등이 필요합니다.
위와같이 설정하고 OK를 누르면 아래와 같은 화면이 나타나며, OK를 눌러 넘어갑니다.

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


이 부분은 SELinux를 설정하는 부분입니다. SELinux 는 커널의 모듈로 존재하여, 커널 수준의 보안을 제공합니다. 현재
리눅스에서 제공하는 보안(사용자 접근제어, iptables를 통한 네트워크 제어)보다 향상된 프로세스단위 보안을 제공합니다.
여러가지 정의된 규칙이 있으며, 이 부분에 대한 확실한 이해가 없는한 사용하지 않는것이 좋습니다.

사용자 삽입 이미지


사용할 언어는 한국어(Korean)을 선택합니다.

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


root 비밀번호를 설정합니다. 적어도 6자 이상 설정합니다.
너무 쉬운것은 사용하지 마세요~.

사용자 삽입 이미지


vi의 확장기능을 사용하며, nedit, joe등의 에디터를 사용할 수 있습니다.
다음 패키지들이 설치됩니다.

          joe          nedit          vim-X11          vim-enhanced
사용자 삽입 이미지
 메일 서버(Sendmail)을 사용하기 위해서 이 그룹을 선택합니다. 다음과 같은 패키지들이 기본 설치됩니다. cyrus-imapd cyrus-imapd-murder cyrus-imapd-nntp cyrus-imapd-utils dovecot mailman perl-Cyrus postfix sendmail sendmail-cf spamassassin squirrelmail
사용자 삽입 이미지
 DNS(bind), FTP서버(vsftpd)를 설치하기 위해서 위 그룹을 선택합니다. 다음과 같은 패키지들이 기본 설치됩니다. dns-server bind bind-chroot caching-nameserver ftp-server vsftpd
사용자 삽입 이미지
다음과 같은 패키지들이 기본 설치됩니다. development-tools ElectricFence autoconf automake automake14 automake15 automake16 automake17 binutils bison byacc cdecl cproto cscope ctags cvs ddd dejagnu diffstat dmalloc doxygen elfutils expect flex gcc gcc-c++ gcc-c++-ppc32 gcc-g77 gcc-gnat gcc-java gcc-objc gcc-ppc32 gdb gettext indent libtool ltrace make memprof memtest86+ nasm oprofile patchutils perl-Crypt-SSLeay perl-LDAP perl-XML-Dumper perl-XML-Encoding perl-XML-Grove perl-XML-LibXML perl-XML-LibXML-Common perl-XML-NamespaceSupport perl-XML-Parser perl-XML-SAX perl-XML-Twig pfmon pkgconfig pmake pstack python-ldap rcs redhat-rpm-config rpm-build splint strace subversion texinfo valgrind valgrind-callgrind development-libs(의존 패키지 그룹) boost-devel bzip2-devel curl-devel cyrus-sasl-devel db4-devel db4-utils dbus-devel dialog expat-devel gdbm-devel gmp-devel gpm-devel hesiod-devel krb5-devel krbafs-devel kudzu-devel libacl-devel libattr-devel libcap-devel libogg-devel libselinux-devel libtermcap-devel libusb-devel libuser-devel libvorbis-devel libxml2-devel lockdev-devel ncurses-devel newt-devel openldap-devel openssl-devel pam-devel pciutils-devel python-devel readline-devel rpm-devel slang-devel swig zlib-devel
사용자 삽입 이미지
개발도구와, 예전버전과 호환되는 개발 도구 그룹을 선택합니다. 다음과 같은 패키지들이 기본 설치됩니다. legacy-software-development compat-gcc compat-gcc-295 compat-gcc-296 compat-gcc-32 compat-gcc-c++ compat-gcc-c++-32 compat-libstdc++ compat-libstdc++-295 compat-libstdc++-296 compat-libstdc++-32 compat-libstdc++-devel
사용자 삽입 이미지
설치를 시작하며, 설치된 패키지 리스트는 /root/install.log 파일에 기록된다고 합니다 install.log 파일은 설치된 패키지와, 설치 가능한 패키지 리스트를 확인할 수 있습니다
사용자 삽입 이미지
선택한 그룹의 패키지들을 설치하기 위해서는 시디 3장이 필요하다고 합니다 모두 준비가 되었다면, continue를 눌러 설치를 진행합니다.
사용자 삽입 이미지
위와같이 패키지를 설치하게 됩니다.
사용자 삽입 이미지
첫번째 CD의 패키지를 설치하고, 2번째 시디를 요구합니다. 3번째 CD도 이와같이 넣습니다.
사용자 삽입 이미지
설치가 다 되었다면, 위 화면과 같이 리부팅 하라고 메시지가 뜨게 됩니다. 설치과정 중에 Alt+F1, F2, F3, F4, F5 을 눌러 설치되는 상황을 확인 할 수 있습니다.

_M#]

페이지 18 of 19« First...10...1516171819