1) Apache 웹 서버
- htpasswd 명령어
- 특정 페이지를 제한하기 위해 인증을 요구하고 그 인증에 대한 관리를 하는 명령어
- 제한하고 싶은 아파치 내 디렉터리로 이동하여 .htaccess 파일을 만들어야 함
- [-c] : 지정한 디렉터리 페이지에 사용자 계정 및 패스워드를 생성
- htpasswd –c /var/www/html/.htpasswd admin
- /var/www/html/ 디렉터리에 대한 admin 계정, 패스워드를 생성
- 처음 추가 이후에는 [-c] 옵션 없이 추가함
- [-D] : 지정한 디렉터리(페이지)에 생성한 사용자 계정을 삭제 </aside>
- httpd
- [-t 또는 configtest] : 문법적 오류 확인
- [-k graceful] : 아파치 웹 서버를 재시작하지 않고, 변경된 환경 설정 파일만 다시 읽음
- [-S] : 아파치 웹 서버에 설정된 가상호스트 정보 출력
- [-M] : 아파치 웹 서버의 모듈 출력
- [-l] : 아파치 웹 서버에 컴파일되어 포함된 모듈의 목록만 출력 [-X] : 내부 디버깅 목적으로 하나의 프로세스로 실행되는 모드
- [-d serverroot] : ServerRoot 변수를 초기값으로 지정
- [-D] : IfDefind 선언에서 사용되는 이름을 정의
- [-f 설정 파일명] : 설정 파일을 지정해서 아파치 실행
- [-v] : 버전과 빌드 정보를 출력
- [-V] : 버전과 빌드 정보, 컴파일 시 셋팅 출력
2) APM
- AllowOverride AuthConfig : httpd.conf 파일에 인증할 디렉터리 관련 설정
- ServerName : 도메인명 지정
- UserDir : 일반 사용자의 웹 디렉터리를 지정
- Alias 단축디렉터리 디렉터리 : 디렉터리를 단축디렉터리로 경로를 단축
- NameVirtualHost : 하나의 IP주소를 가지고 있는 시스템에서 2개의 도메인 설정이 가능하도록 지정
- ExtendedStatus : server-status 핸들러 실행 시 On으로 설정하면 현재 처리하고 있는 자원에 대한 정보도 함께 확인 가능
- SetHandler : 핸들러 설정
- AuthType : 인증 방식
- AuthName : 인증 프롬포트에 표시될 메시지
- AuthUserFile : 사용자 이름과 암호가 저장된 파일 경로 ( ex) /usr/local/apache/conf/password )
- Require valid-user : 인증된 모든 사용자를 허용
- 주 도메인 이외에 추가로 도메인 운영을 위해 설정하는 과정
가. 관련 모듈과 환경설정 파일을 활성화
# vi httpd.conf
LoadModule vhost_alias_module modules/mod_vhost_alias.so
Include conf/extra/httpd-vhosts.conf
나. 관련 파일에서 추가 도메인에 대한 설정을 진행
# vi /usr/local/apache/conf/extra/httpd-vhosts.conf
<VirtualHost 192.168.5.13:80>
ServerAdmin admin@ihd.or.kr
DocumentRoot “/usr/local/apache/htdocs”
</VirtualHost>
- 조건 : 아파치 웹 서버는 소스 파일을 이용해서 /usr/local/apache 디렉터리에 설치되어 있음
가. 아파치 웹 서버 환경설정 파일을 vi 편집기로 불러옴
# vi /usr/local/apache/conf/httpd.conf
나. 도메인명을 www.ihd.or.kr으로 지정하고 포트 번호는 80을 사용
ServerName [www.ihd.or.kr:80](http://www.ihd.or.kr/)
다. 웹 문서가 위치하는 디렉터리의 경로는 /usr/local/apache/html로 변경함
DocumentRoot “/usr/local/apache/html”
라. 아파치 웹 서버 데몬을 실행함
/usr/local/apache/bin/apachectl start
- 개인 사용자의 홈페이지 등록과 관련된 아파치 웹 서버 환경설정 과정
가. 관련 모듈과 환경설정 파일을 활성화
# vi httpd.conf
LoadModule userdir_module modules/mod_userdir.so
Include conf/extra/httpd-userdir.conf
나. 개인 사용자들의 웹 문서가 위치하는 디렉터리를 www로 지정함
# vi /usr/local/apache/conf/extra/httpd-userdir.conf
UserDir www
- 아파치 웹 사용자 인증을 위해 설정하는 과정
가. 아파치 웹 사용자로 ihduser를 생성하고, 저장하는 파일명은 /etc/password로 지정함.
(단, /etc/password은 처음 생성하는 파일임.)
# htpasswd –c /etc/password ihduser
나. httpd.conf 파일에 인증할 디렉터리 관련 설정을 함
AllowOverride AuthConfig
다. 아파치 웹 사용자 인증 대상 디렉터리인 /usr/local/apache/htdocs에 생성할 파일명을 기입함
.htaccess
가. 도메인명을 www.ihd.or.kr으로 지정하고 포트 번호는 80번을 사용함
ServerName [www.ihd.or.kr:80](http://www.ihd.or.kr/)
나. 웹 문서가 위치하는 디렉터리의 경로는 /usr/local/apache2/htdocs로 변경함
DocumentRoot “/usr/local/apache2/htdocs”
다. 웹 디렉터리 접근 시에 인식되는 인덱스 파일의 순서를 index.html, index.htm, index.php 순으로 지정함
DirectoryIndex index.html index.htm index.php
라. 일반 사용자의 웹 디렉터리를 www로 지정함
UserDir www
- 아파치 웹 사용자 인증 및 점검하는 과정
가. ihduser라는 웹 사용자를 생성하는데, 관련 파일은 /usr/local/apache/conf/password로 생성
htpasswd –c /usr/local/apache/conf/password ihduser
나. 아파치 환경설정 파일의 문법적 오류가 있는지 여부를 점검
httpd -t 또는 service httpd configtest
다. 아파치 웹 서버를 재시작하지 않고, 변경된 환경설정 파일 정보만을 다시 읽음
httpd -k graceful 또는 service httpd graceful
- 웹서버 2.x 접근통제에 대한 설정
접근을 통제할 디렉터리는 /www/ihd/admin, 192.168.22.0 네트워크 대역의 주소를 갖는 클라이언트 접속만 허용
[root@ihd ~] # vi /etc/httpd/conf/httpd.conf
<Directory “www/ihd/admin”>
Order Deny, Allow -> 뒤에 나온 게 먼저 실행
Deny from All
Allow from 192.168.22.0/255.255.255.0 또는 192.168.22.0/24 또는 192.168.22.
</Directory>
- 에러 페이지 제공 : ErrorDocument
- 403 – 허가 거부
- 401 – 인증되지 않은 경우
- 404 – 존재하지 않는 웹 문서에 접근
'자격증 & 공부 > 리눅스마스터 1급' 카테고리의 다른 글
[리눅스마스터 1급 - 2차] NFS 서버 관리 (0) | 2024.11.12 |
---|---|
[리눅스마스터 1급 - 2차] SMB 서버 관리 (0) | 2024.11.12 |
[리눅스마스터 1급 - 2차] 시스템 백업 (0) | 2024.11.12 |
[리눅스마스터 1급 - 2차] 시스템 보안 및 관리 (0) | 2024.11.12 |
[리눅스마스터 1급 - 2차] 시스템 로그 분석 (0) | 2024.11.12 |