본문 바로가기

자격증/리눅스 1급 - 필기 기록

[ 리눅스 1급 요약 ] - 네트워크 서비스 1

728x90
반응형


1. 다음 중 리눅스에서 사용 가능한 웹 브라우저로 틀린 것은 ?

 

1️⃣ Firefox

2️⃣ Safari

3️⃣ Opera

4️⃣ Chrome

 

더보기

2️⃣ Safari

 

 웹 브라우저 ( Web browser )

 

웹 브라우저는 웹서버와 통신하면서 HTML 문서나 파일을 연동하고 출력하는 응용 프로그램을 말한다.

웹 서버와 통신하면서 HTML 문서나 파일을 연동하고 출력하는 응용 프로그램을 말한다.

브라우저는 웹 서버와 HTTP 프로토콜로 통신하고 웹 페이지들은 주소처럼 이용되는

URL (Uniform Resouce Locator ) 로 접근하게 된다.

주요 프로그램에는 마이크로소프트의 인터넷 익스플로러, 애플의 사파리 등이 있고,

리눅스에서는 넷스케이프, 갈레온, 컹커러, 모질라 등 다양한 종류가 존재했으나,

현재에는 Firefox, Opera, Chrome 등이 많이 사용되고 있다.

 

p-507

 


2. 다음 중  "Not Found" 에 해당하는 HTTP 코드로 알맞은 것은 ?

 

1️⃣ 401

2️⃣ 402

3️⃣ 403

4️⃣ 404

 

더보기

4️⃣ 404

 

HTTP 서버는 클라이언트의 요청에 대한 응답으로 HTTP 프로토콜 버전, 상태 코드, 데이터 등을 전송한다.

특히 요청에 대한 상태코드를 전송하는데, HTTP 규약에 정의되어 있다.

 


3. 다음은 운영 중인 웹 서버의 버전을 알아보는 과정이다. ( ? ) 안에 들어갈 HTTP 요청 메소드로 알맞은 것은 ?

 

[posein@www~]$ telnet www.posein.org 80 
( ? ) /HTTP1.1/

 

1️⃣ GET

2️⃣ POST

3️⃣ PUT

4️⃣ HEAD

 

더보기

1️⃣ GET

 

telnet  명령을 이용하여 운영 중인 서버의 80 번 포트로 접속한 뒤에

'GET/' 라고 입력하면 해당 웹 서버의 정보를 알 수 있다.

 

 


4. 다음 중 아파치 웹 서버에 대한 설명으로 틀린 것은 ?

 

1️⃣ 리눅스 및 유닉스 계열만 지원하는 웹 서버 프로그램이다.

2️⃣ 소스가 공개되어 있는 공개 소프트웨어이다.

3️⃣ PHP, JSP 등 다양한 웹 프로그래밍 언어를 지원한다.

4️⃣ 멀티 스레딩을 지원한다.

 

더보기

1️⃣ 리눅스 및 유닉스 계열만 지원하는 웹 서버 프로그램이다.

 

 웹 서버 설치의 개요

 

전 세계적으로 가장 많이 사용되는 웹서버는 Apache HTTP 서버이다.

Apache 는 초기의 웹서버인 NCSA 의 웹 서버인 NCSA httpd  를 기반으로 패치해서 만들었다.

소스가 공개되어 있는 무료 소프트웨어로 Solaria, FreeBSD, Linux 와 같은

유닉스 계열에서 뿐만 아니라 Novell, Networtk, OS X, Microsoft Window 등도 지원한다.

 

 


5. 다음 중 아파치 웹 서버 2.x 버전에 대한 설명으로 알맞은 것은 ?

 

1️⃣ PHP 는 동적 모듈로만 지원한다.

2️⃣ GPL 라이선스 기반으로 배포된다.

3️⃣ 소스가 공개되어 있지 않다.

4️⃣ 멀티스레딩만 지원한다.

 

더보기

1️⃣ PHP 는 동적 모듈로만 지원한다.

 

 Apache HTTP 서버와 PHP

 

웹 서버 프로그램인 아파치는 HTML  문서를 보여주는 역할을 하고 ( 정적 ) ,

PHP 는 C 언어 같은 특별한 언어적 구조를 가지고 있다.

아파치 서버에 PHP 문서가 해석될 수 있도록 장착하는 것을 모듈이라고 부르는데,

아파치에 PHP 모듈로 장착하는 방법은 크게 두 가지가 있다.

하나는 정적 모듈로 장착하는 것이고, 또 다른 하나는 동적 모듈로 지원하는 것이다.

아파치에 정적 모듈로 PHP 를 장착하면 PHP 가 아파치에 완전히 고정되므로 처리속도가 빠르다.

사용자가 많고 PHP 가 많이 사용되면 정적 모듈로 장착하는 것이 좋다.

이러한 정적 모듈의 단점으로는 아파치나 PHP 업데이트 시에 두 가지 프로그램을 다시 설치해야 한다.

동적 모듈은 보통 DSO ( Dynamic Shared Object ) 라고 하는데,

사용자의 요청이 있을 때 해당 프로세스에 포함되는 방식이다.

 

 


6. 다음에서 설명하는 아파치 웹 서버의 MPM ( Multi-Processing Module) 으로 가장 알맞은 것은 ?

 

초기에 시작하는 프로세스의 개수를 지정하고
페이지 요청이 들어오면 스레드로 처리하는 방식이다.
보통 프로세스 당 처리하는 개수를 지정하고,
지정된 스레드의 수를 초과할 경우에 새로운 지식 프로세스를
생성하여 처리한다.

 

1️⃣ prefork

2️⃣ worker

3️⃣ BeOS

4️⃣ OS/2

 

더보기

2️⃣ worker

 

아파치 2.x  버전이 기존의 1.3 버전과의 가장 큰 차이점은 멀티스레딩의 지원이다.

기존의 아파치 1.3 버전에서는 클라이언트 요청 하나를 하나의 프로세스가 담당하는

프로세스 기반의 동작 방식이었다.

이 방식은 웹 서버의 접속자 수가 많아지면 처리를 위한 프로세스의 수도 같이 증가하는 문제점이 있었다.

아파치 2.x 버전에서는 스레드 기능을 추가하였는데,

스레드는 하나의 프로세스가 다수의 클라이언트 요청을 처리하는 방법이다.

아파치에서는 이러한 방식은 MPM ( Multi Processing Module ) 이라고 부른다.

아파치 2.x 에서는 기존의 1.3 의 한계인 확장성에 초첨을 두고,

이에 대한 해결 방법으로 하이브리드 웹 서버를 표방하였다.

기존의 프로세스 방식과 스레드를 혼용한 것으로 하나의 프로세스가 제공해주지 못하던

신뢰성을 스레드 개념을 도입하여 문제를 해결하였다.

MPM  은 predork, woeker, perchild, WinNT, BeOS, Netware, OS/2 등 다양한 모듈을 제공하는데,

현재 많이 사용하는 방식은 prefork 와 worker 이다.

 

 prefork 

아파치 1.3 프로세스 모듈과 같은 방법으로 각 요청에 프로레스가 매핑되어 서비스 요청이 많게 되면

프로세스의 수가 증가하게 된다.

프로세스를 제어하는 부모 프로세스는 클라이언트의 요청이 들어올 경우를 대비해

대기하고 있다가 자식 프로세스의 생성여부를 관리하는 방식이다.

 

 worker 

초기에 시작하는 프로세스의 개수를 지정하고, 페이지 요청이 들어오면 스레드로 처리하는 방식이다,

보통 프로세스 당 처리하는 스레드의 개수를 지정하고,

지정된 스레드 수를 초과할 경우에 새로운 자식 프로세스를 생성하여 처리하는 방식이다.

 


7. 아파치 소스 파일을 설치하기 전에 검증하려고 한다. 다음 ( ? ) 안에 들어갈 명령으로 알맞은 것은 ?

 

# ( ? ) httpd-2.4.46.tar.bz2

 

1️⃣ md5

2️⃣ sha256sum

3️⃣ md5crypt

4️⃣ md5check

 

더보기

2️⃣ sha256sum

 

 소스 파일 검증

 

소스 파일을 다운로드 할 때 살펴보면, 파일 링크 옆에  PGP, MD5, SHA1 등의 클릭 메뉴가 보인다.

이것은 해당 알고리즘을 이용해서 생성한 일종의 코드값으로

해당 사이트에서 배포한 파일임을 증명하는 방법으로 이용된다.

이 코드 값은 생성 시간 등과도 연관이 있어서 압축을 풀고

그대로 다시 묶는다고 해도 코드 값이 바뀌도록 되어있다.

이 코드의 역할을 공식 사이트에서 배포한 파일 이라는 의미도 있지만,

정상적으로 다운로드 되었는지도 확인 할 수 있으므로 검증해보는 것이 좋다.

리눅스에서는 sha1sum, md5sum, sha256sum 등의 명령으로 검증이 가능하다

516

 

 


8. 다음 중 MySQL 을 소스 설치하기 위해서 반드시 필요한 프로그램으로 알맞은 것은 ?

 

1️⃣ automake

2️⃣ cmake

3️⃣ autoconf

4️⃣ pacemaker

 

더보기

2️⃣ cmake

 

Apache 와 PHP 소스는 전통적인 방법인 'configure -> make -> make install' 방법을 사용하지만

MySql 은  'cmake -> make install' 방법을 사용한다.

 

CentOS 7 기반으로 configure 나 cmake 작업 시에 라이브러리 관련 오류 메세지로 설치가 안될 수 있다.

이 경우에는 관련 패키지를 먼저 설치해야 한다.

 

515

 


9. 다음은 MySQL 을 소스 파일로 설치하는 과정이다. ( ? ) 안에 들어갈 명령으로 알맞은 것은 ?

 

# tar zxvf mysql-5.7.31.tar.gz
# cd mysql-5.7.31
# ( ? )
# make install

 

1️⃣ cmake

2️⃣ cmake .

3️⃣ ./configure

4️⃣ ./configure .

 

더보기

2️⃣ cmake .

 

 MySQL 5.7 설치 과정

 

1. MySQL 데몬 정지

기존에 MySql 또는 Mariadb 서버를 운영 중이라면 해당 데몬을 중지 시킨다.

# killall mysqld

 

2. 이전 버전의 MySQL 검색 및 삭제

소스 파일로 설치한 경우에는 설치된 소스 파일의 경로를 삭제하고, rpm 으로 설치된 경우에만 검색해서 삭제한다.

CentOS 7 버전에서는 Mariadb 가 기본 설치되어 있으므로 관련 패키지를 검색해서 제거한다.

-- 검색 예
# rpm -qa | grep maria

-- 제거 예
# rpm -e mariadb --nodeps
# rpm -e mariadb-server --nodeps
# rpm -e mariadb-libs --nodeps

 

3. 소스 파일의 압축 해제

# tar zxvf mysql-boost-5.7.31.tar.gz

 

4. 압축 해제 후 생성된 디렉터리로 이동

cd mysql-5.7.31

 

5. 환경 설정 및 컴파일

기본 설정값으로 환경 설정을 하는데, C++ 소스 라이브러리인 Boost 관련 옵션만 지정하고 컴파일 한다.

# cmake . -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/src/mysql-5.7.31/boost

 

6. 설치 진행

# make install

 

7. 기본 관리 데이베이스 생성

MySql 의 기본 관리 데이터 베이스인 mysql 등을 설치하는 작업을 해야 한다.

mysql 설치 후 반드시 한 번은 실행해야 하는데,

5.7.5 버전부터는 /usr/local/mysql/bin/mysqld 명령을 사용한다.

이 명령을 실행하면  /usr/local/mysql/ data 디렉터리가 생성되고

이 디렉터리 안에 데이터베이스 관련 주요 정보들이 저장된다.

# cd /usr/local/mysql/bin
# ./mysqld --initialize --user=root

 

8. mysql 데몬 실행

참고로 데몬을 실행 명령에서 오류가 발생하는 경우에는

mysql-libs 와 같은 관련 패키지 제거 여부를 확인해야 한다.

만약 관련 패키지가 존재한다면 제거한 후 재부팅을 해야 하고

7번 작업인 'mysqld --initialize --user=root' 명령부터 다시 해야한다.

# /usr/local/mysql/bin/mysqld_safe --user=root &

 

9. 클라이언트 프로그램을 이용하여 mysql 서버에 접근

mysql  서버에 접속하기 위해서는 /usr/local/mysql/bin/mysql 명령을 사용하는데,

옵션 -p 뒤에 설정된 패스워드를 덧붙혀서 실행하면 된다.

임시 패스워드에 특수 문자가 포함되는 경우가 많으므로 ' ' 로 묶는것이 좋다.

# /usr/local/mysql/bin/mysql -p 'password'

 

10. MySql root 의 패스워드 변경

다음과 같이 'alert user' 구문 사용 후에 'flush privileges' 명령을 사용해서 권한 정보를 갱신하면 된다.

mysql> alert user 'root@localhost' identified by 'password';
mysql> flush privileges

 

 


10. 다음 중 MySQL 5.7.31 버전을 설치한 후에 기본 데이터베이스를 생성할 때 사용하는 명령으로 알맞은 것은 ?

 

1️⃣ mysql_install_db

2️⃣ mysqld_install_db

3️⃣ mysql

4️⃣ mysqld

 

더보기

4️⃣ mysqld

 

 MySQL 5.7 설치 과정

 

1. MySQL 데몬 정지

기존에 MySql 또는 Mariadb 서버를 운영 중이라면 해당 데몬을 중지 시킨다.

# killall mysqld

 

2. 이전 버전의 MySQL 검색 및 삭제

소스 파일로 설치한 경우에는 설치된 소스 파일의 경로를 삭제하고, rpm 으로 설치된 경우에만 검색해서 삭제한다.

CentOS 7 버전에서는 Mariadb 가 기본 설치되어 있으므로 관련 패키지를 검색해서 제거한다.

-- 검색 예
# rpm -qa | grep maria

-- 제거 예
# rpm -e mariadb --nodeps
# rpm -e mariadb-server --nodeps
# rpm -e mariadb-libs --nodeps

 

3. 소스 파일의 압축 해제

# tar zxvf mysql-boost-5.7.31.tar.gz

 

4. 압축 해제 후 생성된 디렉터리로 이동

cd mysql-5.7.31

 

5. 환경 설정 및 컴파일

기본 설정값으로 환경 설정을 하는데, C++ 소스 라이브러리인 Boost 관련 옵션만 지정하고 컴파일 한다.

# cmake . -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/src/mysql-5.7.31/boost

 

6. 설치 진행

# make install

 

7. 기본 관리 데이베이스 생성

MySql 의 기본 관리 데이터 베이스인 mysql 등을 설치하는 작업을 해야 한다.

mysql 설치 후 반드시 한 번은 실행해야 하는데,

5.7.5 버전부터는 /usr/local/mysql/bin/mysqld 명령을 사용한다.

이 명령을 실행하면  /usr/local/mysql/ data 디렉터리가 생성되고

이 디렉터리 안에 데이터베이스 관련 주요 정보들이 저장된다.

# cd /usr/local/mysql/bin
# ./mysqld --initialize --user=root

 

8. mysql 데몬 실행

참고로 데몬을 실행 명령에서 오류가 발생하는 경우에는

mysql-libs 와 같은 관련 패키지 제거 여부를 확인해야 한다.

만약 관련 패키지가 존재한다면 제거한 후 재부팅을 해야 하고

7번 작업인 'mysqld --initialize --user=root' 명령부터 다시 해야한다.

# /usr/local/mysql/bin/mysqld_safe --user=root &

 

9. 클라이언트 프로그램을 이용하여 mysql 서버에 접근

mysql  서버에 접속하기 위해서는 /usr/local/mysql/bin/mysql 명령을 사용하는데,

옵션 -p 뒤에 설정된 패스워드를 덧붙혀서 실행하면 된다.

임시 패스워드에 특수 문자가 포함되는 경우가 많으므로 ' ' 로 묶는것이 좋다.

# /usr/local/mysql/bin/mysql -p 'password'

 

10. MySql root 의 패스워드 변경

다음과 같이 'alert user' 구문 사용 후에 'flush privileges' 명령을 사용해서 권한 정보를 갱신하면 된다.

mysql> alert user 'root@localhost' identified by 'password';
mysql> flush privileges

 


 

11. 다음 중 MySQL 설치한 후에 관련 데몬을 실행하는 명령으로 알맞은 것은 ?

 

1️⃣ mysql

2️⃣ mysql_db

3️⃣ mysql_safe

4️⃣ mysqld_safe 

 

더보기

4️⃣ mysqld_safe

 

 MySQL 5.7 설치 과정

 

1. MySQL 데몬 정지

기존에 MySql 또는 Mariadb 서버를 운영 중이라면 해당 데몬을 중지 시킨다.

# killall mysqld

 

2. 이전 버전의 MySQL 검색 및 삭제

소스 파일로 설치한 경우에는 설치된 소스 파일의 경로를 삭제하고, rpm 으로 설치된 경우에만 검색해서 삭제한다.

CentOS 7 버전에서는 Mariadb 가 기본 설치되어 있으므로 관련 패키지를 검색해서 제거한다.

-- 검색 예
# rpm -qa | grep maria

-- 제거 예
# rpm -e mariadb --nodeps
# rpm -e mariadb-server --nodeps
# rpm -e mariadb-libs --nodeps

 

3. 소스 파일의 압축 해제

# tar zxvf mysql-boost-5.7.31.tar.gz

 

4. 압축 해제 후 생성된 디렉터리로 이동

cd mysql-5.7.31

 

5. 환경 설정 및 컴파일

기본 설정값으로 환경 설정을 하는데, C++ 소스 라이브러리인 Boost 관련 옵션만 지정하고 컴파일 한다.

# cmake . -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/src/mysql-5.7.31/boost

 

6. 설치 진행

# make install

 

7. 기본 관리 데이베이스 생성

MySql 의 기본 관리 데이터 베이스인 mysql 등을 설치하는 작업을 해야 한다.

mysql 설치 후 반드시 한 번은 실행해야 하는데,

5.7.5 버전부터는 /usr/local/mysql/bin/mysqld 명령을 사용한다.

이 명령을 실행하면  /usr/local/mysql/ data 디렉터리가 생성되고

이 디렉터리 안에 데이터베이스 관련 주요 정보들이 저장된다.

# cd /usr/local/mysql/bin
# ./mysqld --initialize --user=root

 

8. mysql 데몬 실행

참고로 데몬을 실행 명령에서 오류가 발생하는 경우에는

mysql-libs 와 같은 관련 패키지 제거 여부를 확인해야 한다.

만약 관련 패키지가 존재한다면 제거한 후 재부팅을 해야 하고

7번 작업인 'mysqld --initialize --user=root' 명령부터 다시 해야한다.

# /usr/local/mysql/bin/mysqld_safe --user=root &

 

9. 클라이언트 프로그램을 이용하여 mysql 서버에 접근

mysql  서버에 접속하기 위해서는 /usr/local/mysql/bin/mysql 명령을 사용하는데,

옵션 -p 뒤에 설정된 패스워드를 덧붙혀서 실행하면 된다.

임시 패스워드에 특수 문자가 포함되는 경우가 많으므로 ' ' 로 묶는것이 좋다.

# /usr/local/mysql/bin/mysql -p 'password'

 

10. MySql root 의 패스워드 변경

다음과 같이 'alert user' 구문 사용 후에 'flush privileges' 명령을 사용해서 권한 정보를 갱신하면 된다.

mysql> alert user 'root@localhost' identified by 'password';
mysql> flush privileges

 

 


12. 아파치 웹 서버 설정할 때 관련 모듈은 전부 동적 모듈로 설치하도록 지정하려고 한다. 다음 중 관련된 configure 옵션으로 알맞은 것은 ?

 

1️⃣ --enable-module

2️⃣ --enable-mod

3️⃣ --enable-mods

4️⃣ --enable-mods-shared

 

더보기

4️⃣ --enable-mods-shared

 

 

 


13. 다음 중 PHP 설치시 아파치 데몬에 동적 모듈로 로딩되도록 하기 위해 경로를 설정하는 명령으로 알맞은 것은 ?

 

1️⃣ ab

2️⃣ apxs

3️⃣ httpd

4️⃣ apachectl

 

더보기

2️⃣ apxs

 

PHP 설치 - 환경설정

 

# ./configure --with-apx2=/usr/local/apache/bin/apxs
--with-config-file-path=/usr/local/apache/conf
--with-mysqli=/usr/local/mysql/bin/mysql_config
--with-pdo-mysql=/usr/local/mysql

 

apxs

 

 --with-apxs2  는  PHP 가 아파치데몬에 DSO 모듈로 로딩되도록 하기

위해서 관련 실행 명령어인 apxs 의 위치를 지정하는 것이고, 

--with-config-file-path 는 php/ini 경로를 지정하는 옵션으로

php 설치가 끝난 후에 해당 디렉터리내에  php.ini 를 복사해두어야 한다.

 

525

 


14. 다음은 PHP 설치 후 httpd.conf  에 php 파일이 해석하도록 지정하는 과정이다. ( ? ) 안에 들어갈 내용으로 알맞은 것은 ?

 

# vi http.conf
AddType application/( ㄱ ) .htm .html .php
AddType application/( ㄴ ) .phps

 

1️⃣ ㄱ : httpd-php , ㄴ : httpd-php-source

2️⃣ ㄱ : html , ㄴ : source

3️⃣ ㄱ : html-php , ㄴ : httpd-php-source

4️⃣ ㄱ : x-httpd-php , ㄴ : x-httpd-php-source

 

더보기

4️⃣ ㄱ : x-httpd-php , ㄴ : x-httpd-php-source

 

 PHP 설치 - httpd.conf 파일 설정

 

아파치 웹 서버가 php 확장자를 가진 파일을 해석할 수 있도록 하기 위해

AddType 설정이 등록되는 mime_module 영역에 다음의 2줄을 추가해야 한다.

 

# vi http.conf
AddType application/x-httpd-php .htm .html .php
AddType application/x-httpd-php-source .phps

 

525

 


15. 다음은 PHP 설치 후 httpd.conf 에 php 관련 설정을 확인하는 과정이다.

( ? ) 안에 들어갈 내용으로 알맞은 것은 ?

 

# vi httpd.conf
LoadModule php7_module module/(?)

 

1️⃣ php7.so

2️⃣ php7lib.so

3️⃣ libphp7.so

4️⃣ libphp.so

 

더보기

3️⃣ libphp7.so

 

✅ PHP 와의 연동 확인

 

Apache, Mysql, PHP를 연동하여 설치하였을 경우 가장 먼저 확인해야 할 부분이 Apache와 PHP 의 연동 여부이다.

PHP 가 제대로 설치되었는지 여부를 확인하는 방법은 3단계를 거쳐 확인할 수 있다.

 

먼저 php 모듈이 설치되었는지를 확인하는 것이다.

 php 동적 모듈 파일명은  libphp7.so 이고, /usr/local/apache/modules 디렉터리에서 확인한다.

 

두번째는 httpd.conf 파일에 libphp7.so 파일이 존재하지 않거나,

httpd.conf 파일에 관련 성정이 생성되지 않았다면 php 를 재설치해야 한다.

 

526

 


16. 다음 httpd.conf 의 항목 중 웹 문서가 위치하는 디렉터리를 지정하는 항목으로 알맞은 것은 ?

 

1️⃣ ServerRoot

2️⃣ ServerAdmin

3️⃣ AdminRoot

4️⃣ DocumentRoot

 

더보기

4️⃣ DocumentRoot

 

DocumentRoot

 

웹 문서가 위치하는 디렉터리를 나타낸다.

DocumentRoot "/usr/local/apache/htdocs"

 

531

 


17. 다음 httpd.conf 의 <Directory> 태그 옵션 중 심볼릭 링크의 사용을 허가할 때 사용하는 항목으로 알맞은 것은 ?

 

1️⃣ SymLinks

2️⃣ Indexes

3️⃣ FollowLinks

4️⃣ FollowSymLinks

 

더보기

4️⃣ FollowSymLinks

 

 <Directory> 태그 옵션

 

FollwSymLinks

디렉터리의 심볼릭 링크를 사용을 허용

 

532


18. 다음 ( ? ) 안에 들어갈 내용으로 알맞은 것은 ?

 

일반 사용자들이 개인 홈페이지를 이용하도록 설정하려면
( ㄱ ) 파일에서 ( ㄴ ) 항목을 설정하면 된다.

 

1️⃣ ㄱ : httpd-user.conf , ㄴ : User

2️⃣ ㄱ : httpd-userdir.conf , ㄴ : UserDir

3️⃣ ㄱ : httpd-userdir.conf , ㄴ : User

4️⃣ ㄱ : httpd-user.conf , ㄴ : UserDir

 

더보기

2️⃣ ㄱ : httpd-userdir.conf , ㄴ : UserDir

 

httpd-userdir.conf

 

사용자들이 개인 홈페이지를 이용하려고 할 때 사용하는 파일로 외부 클라이언트들이

접근할 때는 계정 앞에  ~(tilde) 를 붙힌다.

예를 들면, 웹 서버의 도메인이 www.posein.org 이고사용자 계정이 posein 이면 http://www.posein.org/~posein 으로 접근하면 된다.

참고로 이 파일을 사용하려면 httpd.conf 파일에서 2가지 두 부분을 활성화 해야한다.

LoadModule 항목에서 mod_userdir.so 와 Include 항목에서 httpd-userdir.conf 이다.

 

UserDir public_html

 

웹 문서를 위치시킬 디렉터리 명을 지정하는 부분이다.

기본적으로 public_html 으로 설정되어 있는데, 개인 홈페이지를 운영하기 위해서는

용자의 홈 디렉터리 내에 이 디렉터리를 생성하고

index.html 등과 같은 문서를 이 디렉터리 안에 위치시켜야 한다.

예를 들면, posein 사용자의 홈 디렉터리가 /home/posein 이라면 

/home/posein/public_html 디렉터리를 생성한 뒤에 웹 페이지 문서를 이 디렉터리 내에 위치시켜야 한다.

참고로 사용자의 홈 디렉터리에 접근하려면 접근 권한이 있어야하므로

'chmod 755 ~' 와 같이 명령을 수행해야 한다.

또한 UserDir 설정에서 public_html 을 www 등과 같이 디렉터리 이름을 변경했다면

아파치 데몬을 다시 시작해야 한다.

 

<Directory /home/*/public_html >
	AllowOverride FileInfo AuthConfig Limit Indexes
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludeNoExec
    Require method GET POST OPTIONS
</Directory>

 536


19. 다음 아파치 웹 관련 파일 중 IP 주소 하나에 여러 도메인을 운영하기 위해 설정하는 파일로 알맞은 것은 ?

 

1️⃣ httpd-autoindex.conf

2️⃣ httpd-userdir.conf

3️⃣ httpd-mpm.conf

4️⃣ httpd-vhosts.conf

 

더보기

4️⃣ httpd-vhosts.conf

 

httpd-vhosts.conf

IP 주소 하나에 여러 도메인을 사용하는 버추얼 호스트 설정할 때 사용하는 파일이다.

* 부분에 웹 서버로 사용중인 IP 주소를 설정하고 항목에 맞게 기입하면 된다.

 

<VirtualHost *:80> 
    ServerName ww1.devkuma.com 
    ServerAdmin binsoo@google.com 
    DocumentRoot "${SRVROOT}/htdocs-ww1" 
    CustomLog logs/ww1.access.log common 
    ErrorLog logs/ww1.error.log 
</VirtualHost> 

<VirtualHost *:80> 
    ServerName ww2.devkuma.com 
    ServerAdmin binsoo@google.com 
    DocumentRoot "${SRVROOT}/htdocs-ww2" 
    CustomLog logs/ww2.access.log common 
    ErrorLog logs/ww2.error.log 
</VirtualHost>

537

 


20. 다음 ( ? ) 안에 들어갈 옵션으로 알맞은 것은 ?

 

# /usr/local/apache/bin/httpd ( ? )
Syntax OK

 

1️⃣ -f

2️⃣ -t

3️⃣ -s

4️⃣ -l

 

더보기

2️⃣ -t

 

httpd 옵션

-t

httpd.conf 파일의 문법적 오류를 검사한다.


-s

설정되어 있는 가상호스트를 출력한다.


-l

정적 컴파일된 모듈에 대한 목록을 출력한다.


-k

httpd 데몬에 시그널을 보내는 옵션


-M

정적 컴파일 모듈과 공유 모듈을 전부 출력한다.

 

547


21. 다음은 httpd.conf 파일의 문법적 오류를 점검하는 과정이다. ( ? ) 에 들어갈 말은 ?

 

# /usr/local/apache/bin/apachectl ( ? )
Syntax OK

 

1️⃣ config

2️⃣ configtest

3️⃣ syntax

4️⃣ check

 

더보기

2️⃣ configtest

 

apachectl command

 

스크립트 파일은 아파치 웹 서버를 소스 설치하면 apachectl이라는 데몬 실행 제어 스크립트를 이용하여 

실행 및 제어를 할 수 있다. 

apachectl은 httpd 명령어를 기반으로 하므로 이 명령어의 옵션을 그대로 사용할 수 있다.

configtest : httpd.conf 파일의 문법적 오류를 검사한다.
help : 도움말 출력.
start : 데몬을 시작.
stop : 데몬을 종료.
restart : 아파치 데몬을 재시작.
reload :  아파치 데몬을 재시작하지 않고 환경설정 파일을 다시 읽어 들인다.
graceful : 웹 서버 연결된 접속을 차단하지 않고 httpd.conf의 설정을 다시 읽어들인다.
graceful-stop : 웹 서버에 연결된 접속은 차단하지 않고, httpd 데몬을 중지시킨다.
status, fullstatus : 웹서버의 상태를 간단히 또는 전체적으로 출력한다.

 

548

 


22. 다음에 열거된 WAS 프로그램 중 나머지 셋과 다른 종류인 것은 ?

 

1️⃣ WebLogic

2️⃣ Zend Server

3️⃣ JBoss

4️⃣ WebSphere

 

더보기

2️⃣ Zend Server

 

JavaEE 표준 기반의 WAS 에서 동작하는 프로그램 언어는 JAVA 이고

일반적으로 웹 모듈은 자바 서블릿 또는 JSP 로 구성되며

비지니스 모듈은 EJB 로 구성한다.

비JAVA  기반의 WAS 에는 닷넷 기반의 닷넷 애플리케이션 서버, PHP 기반의 Zend Server 가 있다.

 

Zend Server

Zend Server는 PHP 기반의 WAS이며 나머지는 JAVA 기반의 WAS이다.

 

560

 


23. 다음 설명과 관련 있는 httpd.conf 의 항목으로 알맞은 것은 ?

 

여러 웹 문서 파일 중에 처음으로 인식하는 파일을
start.html으로 변경하려고 한다.

 

1️⃣ ServerRoot

2️⃣ DocumentRoot

3️⃣ DirectoryIndex

4️⃣ IndexRoot

 

더보기

3️⃣ DirectoryIndex

 

DirectoryIndex

여러 웹문서 중에 처음으로 인식하는 인덱스 문서를 지정하는 부분이다. 

기본값으로 index.html이 설정되어 있고 추가로 index.html, index.php를 적어주면 된다. 

특별히 변경할 이유가 없으면 기본 설정값만 사용해도 된다.


예 ) DirectoryIndex index.html index.html index.php index.php7

 


24. 다음 중 아파치 사용자 인증 파일을 생성하고 관리해주는 명령으로 알맞은 것은 ?

 

1️⃣ ab

2️⃣ apxs

3️⃣ chpasswd

4️⃣ htpasswd

 

더보기

4️⃣ htpasswd

 

아파치 사용자 인증파일을 생성하고 관리해주는 명령이다.

htpasswd
-c : 사용자 계정 파일을 생성할 때 사용하는 옵션으로 계정 생성할 때 한 번은 반드시 사용해야 한다.

 

554

 


25. 다음의 PHP 소스 파일이 정상적으로 실행되게 하기 위해 php.ini 파일을 수정하려고 한다. 다음 중 관련 항목 및 설정값으로 알맞은 것은 ?

 

<?
    phpinfo();
?>

 

1️⃣ short_open_tag = On

2️⃣ short_open_tag = Off

3️⃣ open_short_tag = On

4️⃣ open_short_tag = Off

 

더보기

1️⃣ short_open_tag = On

 

PHP 5.3 버전부터는 php 파일 작성 시에 <?php ~ ?> 의 형식으로 작업해야 한다.

PHP 관련 환경 설정 파일인 php.ini 를 이용해서 <? ~ ?> 으로 간단하게 바꿀 수 있다.

 

[절차]
가. php.ini 파일을 편집기를 사용하여 연다.
예) $ vi /usr/local/apache/conf/php.ini


나. short_open_tag = Off로 설정된 부분에서 Off 값을 On으로 바꾼다.


다. 아파치 웹 서버를 시작한다.
예) $ /usr/local/apache/bin/apachectl restart

 

527

 


26. 다음에 열거된 데이터베이스 프로그램 중 나머지 셋과 다른 종류인 것은 ?

 

1️⃣ MySQL

2️⃣ PostgreSQL

3️⃣ MongoDB

4️⃣ MariaDB

 

더보기

3️⃣ MongoDB

 

[주요 프로그램]
관계형 데이터베이스 : MariaDB, PostgreSQL, Oracle
NoSQL : MongoDB
JSP : Apache Tomcat

 


27. 다음 중 https 프로토콜이 사용하는 포트 번호로 알맞은 것은 ?

 

1️⃣ 8080

2️⃣ 8000

3️⃣ 8001

4️⃣ 443

 

더보기

4️⃣ 443

 

웹 서버에서 SSL을 이용하게 되면 http의 기본 포트인 80번 이외에 추가로

443번 포트를 사용하는 https 프로토콜을 이용하게 된다.

 

561

 


28. 다음 중 인증 관련 서비스와 가장 거리가 먼 것은 ?

 

1️⃣ NIS

2️⃣ LDAP

3️⃣ Active Directory

4️⃣ NFS

 

더보기

4️⃣ NFS

 

네트워크 기반의 인증서비스를 쉽게 설명하면 하나의 서버에 사용자 관련 정보를 저장하고

나머지 다수에 다른 서버에 사용자 암호, 그룹 정보등을 제공하는 서비스를 말한다.

 

현재 많이 사용하는 프로그램으로는 NIS, LDAP 등이 있고

마이크로소프트 윈도우용으로 사용도는 액티브 디렉터리(Active Directory)가 있다.

 

562

 


29. 다음 설명으로 알맞은 것은 ?

 

1980 년대 중반 Sun Microsystems 에서
개발한 프로토콜로 하나의 서버에 등록된
사용자계정, 암호, 그룹정보 등을 공유하여 
다른 시스템에 제공하는 서비스를 말한다.

 

1️⃣ NIS

2️⃣ LDAP

3️⃣ Active Directory

4️⃣ NFS

 

더보기

1️⃣ NIS

 

NIS(Network Information Service)

 

1980 년 중반 Sun Microsystems 사에서는 두 가지 프로토콜을 개발하였는데,

하나는 NFS 이고 또다른 하나는 NIS 이다.

 

NIS 는 네트워크 기반으로 여러 가지 정보를 제공해주는 서비스를 말한다.

다수의 서버를 운영하고 있고, 각각의 서버에 로그인이 필요한 경우

사용자는 모든 서버에 사용자 계정 및 암호를 가지고 있어야 한다.

 

NIS 는 하나의 서버에 등록된 사용자 계정, 암호, 그룹 정보 등을 공유하려 다른 시스템에 제공하는 서비스를 말한다.

 

562

 


30. 다음 설명으로 알맞은 것은 ?

 

IP 프로토콜을 기반으로 사용자, 시스템, 네트워크, 서비스 정보 등의 디렉터리 정보를 공유할 수 있다.
디렉터리는 논리, 계급 등을 기준으로 조직화 되어 있고
비슷한 특성을 가진 객체들의 모임이다.

 

1️⃣ NIS

2️⃣ NFS

3️⃣ SAMBA

4️⃣ LDAP

 

더보기

4️⃣ LDAP

 

LDAP(Lightweight Directory Access Protocol)

DAP(Directory Access Protocol) 기반으로 만들어진 디렉터리 데이터베이스에 접속하기 위한 통신규약이다.

DAP는 OSI 프로토콜 스택에서 작동되고 컴퓨터 자원을 많이 사용하는 단점이 있어서

이러한 문제를 보완하기 위해 등장하였다.

LDAP는 IP 프로토콜 기반으로 사용자, 시스템, 네트워크, 서비스 정보 등의 디렉터리정보를 공유할 수 있다.

 

LDAP는 일반적으로 RDBMS에 비해서 검색 속도가 빨라서, 읽기 위주의 검색 서비스에서 

상당히 좋은 성능을 발휘한다. 

예를 들면 사용자 로그인 처리, 전화번호 조회, 도서 정보 조회 등에 매우 유용하다.

그러나 자주 변경되는 정보의 경우에는 RDBMS를 사용하는 것이 좋다.

 

562


 

728x90
반응형