-------------------------------------------------------------------------------
◎ Apache 웹서버 환경설정


현재 아파치가 설치되어 있는 곳의 conf라는 디렉토리를 보면 httpd.conf라는 파일이 있슴다.
일단 이 파일을 vi편집기로 열어놓세요 아파치웹서버의 환경설정은 이 파일안에서 다함다.
그럼 순서대로 나열하고 중요한부분은 해석하고 사용법을 알아보겠슴다.

ServerType -standalone : 요청이 들어오기전 항상 응답할 준비가 되어있음 (대부분 사용, 빠름)
-inet : 요청이 들어오면 응답 (속도 떨어짐) 장점 : 메모리 적게사용

PidFile /var/run/httpd.pid : 아파치웹서버 PS id 정보가 여기에 저장

ResourceCondig conf/srm.conf : #으로 주석처리

AccessConfig conf/access.conf : #으로 주석처리

Timeout 300 : 요청이 들어왔을 때 300초까지 응답해줌 변경시에는 숫자만 바꿔주면 됨다

KeepAliv On : 홈페이지 접속한 상태를 계속 유지하면서 빠른시간내에 메뉴를 클릭(15초 횟수:100번) 

MaxKeepAliveRequests 100

KeepAliveTimeout 15

MinSpareServers 6 : 첨 실행되는 PS 개수 10개 줄어드는거 최소 6개 가장많이 늘어나는거 64 (메모리땜시 설정)

MaxSpareServers 64

StartServers 10

MaxClients 150 // 클라이언트 접속할수 있는 수

MaxRequestsPerChild // 자식PS가 100번정도 요청을 받고 사용하고 다시 삭제(ps 오랫동안 존재하면 보안상 문제)

Listen 3000 // 일반사용자 사용가능

User nobody // 권한을 주지않음으로 시스템 보안 유지

Group nobody

ServerAdmin root@localhost // 웹서버 문제가 생겼을 때 정보를 받을수 있는 멜주소 

ServerName new.host.name // DNS에 등록되어있는 호스트명 /etc/host 에 등록된 호스트명
IP Address 입력해도 됨

DocumentRoot // 홈페이지 내용 저장 디렉토리

UserDir public_html // 유저 디렉토리

DirectoryIndex // 시작페이지 파일이름 지정(순서대로)

AccessFileName .htaccess // 웹상에서 인증화면 뜸.. 

ThpesConfig /etc/mime.types // 아파치에서 적용하는 확장자 정의(ex 쇽웨이브정의)

HostNameLookups off // on 으로 되어있으면 클라이언트의 네임서버까지 추적(시간이 오래걸림)

ErrorLog // 아파치 에러메세지 디렉토리

LogLevel warn // warn(중간)뿐만아니라 debug notice 등등 있음 (로그메세지의 양)

ScriptAlias /cgi-bin/ "/home/httpd/cgi-bin/" //별칭정의

AddType application/x-httpd-php3 .php3 // 확장자 추가

AddHandler cgi-script .cgi // cgi 사용시 이부분의 주석을 풀어주어야 함

AddType text/html .shtml

AddType text/html .htm

버추얼호스트 설정방법(중요)

하나의 서버에 여러게 도메인 사용이 가능하다

NameVirtualHost 202.31.150.148 // 아파치웹서버에 아이피 어드레스


ServerAdmin webmaster@abc.co.kr //문제발생시 받을수 있는 주소
DocumentRoot /home/abc // 밑의 서버네임 홈페이지가 존재하는 위치
ServerName www.abc.co.kr
ErrorLog logs/abc.co.kr-error_log // 위 도메인에 문제가 생겼을 경우 저장되는 경위 (보통 안만듬) 
/var/log 에 있음
CustomLog logs/abc.co.kr-access_log common // 이것도 보통 안만듬


사용예.. (300~400개 정도 사용가능함)

NameVirtualHost 211.171.255.78



..





..



◎ 아파치 환경설정 두 번째..

//루트 디렉토리 이하의 디렉토리 환경설정 ex) 

Options All : MultiView를 제외한 모든부분 허가
ExecCGI : cgi 허가
FollowSymLinks : 심볼링크로 설정된 파일에 대해 원본을 찾아서 제공
Includes : server side include 서버가 이전하면 홈페이지의 주소를 변경하여야함 그러나 주소가 
입력된 파일하나만 수정해서 바꾸지 않아도 됨
IncludesNOEXEC : ssi를 지원하면서 cgi만 거부(보안상)
Indexes : 디렉토리 보여줌
None : 모든 옵션 불허
MultiViews : 홈페이지안에 영국어 한국어 중국어 세계의 언어가 있으면 특정 옵션을 사용하여 
나라마다 언어를 자동으로 제공, 이미지 이름이 동일한 경우 선택적으로 보여줌
SymLinksIfOwnerMatch : 심볼링크로 설정된 파일에 대해서 원본과 링크파일의 소유자가 
동일한 경우 원본만 보여줌

AllowOverride All : 모든 것을 허가
AuthConfig : 사용자 인증과 관련된 명령을 디렉토리 단위로 사용가능케 함 
FileInfo : 파일정보 표시 가능
Limit : 사용자의 접근을 제한할수 있음 아이피나 도메인을 이용해서..
None : 접근제한기능을 사용하지 않음
Options : 접근제한설정을 사용가능하게 지시


간단히 예를 들자면...

Options ExecCGI Indexes 
AllowOverride None

이렇게 하면 /home이라는 디렉토리에 CGI를 적용하고 웹상에서 index파일이 없을 때 해당디렉토리의 
파일이나 디렉토리를 보여주고 접근제한기능을 사용하지 않는다는 뜻이죠..

SSI (SERVER SIDE INCLUDE)를 설정해보자

ssi를 설치하면 웹상에서 텔넷명령을 실행할 수 있다. ex) 
- 단점 : 아파치 웹서버에 부담을 줄수 있다


Options All ExecCGIInclude IncludesNOEXEC Indexes


SSI를 설정하고나서 문서를 작성할 때 
// 파일의 수정일 표기
// 파일의 크기 표기
// food 파일내용을 삽입

이제 SSI 서비스를 받아보자

(SSI : 웹상에서 어떤 일을 첨부할수 있고 웹상에서 텔넷명령 실행가능)


최종수정일: 
파일의크기: 







ssi를 서비스하면 웹상에서 위와같은 서비스를 받을수 있다
그렇나 아파치 웹서버에 부담을 준당..

인증서비스(htaccess) 
다음은 home 디렉토리에 인증서비스를 하는 요령이다.


Options Includes ExecCGI // cgi 사용가능
AllowOverride ALL //.htaccess를 사용가능케 함


이제 public_html 밑에 인증서비스를 한다

.htaccess라는 파일 생성
Options All 
AuthType "Basic" // 인증방식을 베이직으로
AuthName "Administrator" // 인증화면 사용주체
AuthUserFile /home/wawacampus/public_html/.htpasswd //계정하과 비번이 있는 파일


require valid-user // AuthUserfile에 있는 사용자만 접근가능
allow from IP주소 (그사람은 허용함)
deny from all (모든 사람은 거부하고 특정한 IP주소만 허용)


.htpasswd 파일 생성방법

#> htpasswd -c .htpasswd person

두 번째부터는 -c 옵션은 사용하지 않음


혹시 틀린부분이 있다거나 하시면 아낌없는 질타를 바랍니다. - Leopit

'Server' 카테고리의 다른 글

쉘다루기/쉘의 종류  (0) 2017.01.06
DISK Quota 설정하기  (0) 2017.01.06
/etc/alias 사용법  (0) 2017.01.06
FTP Command  (0) 2017.01.06
sendmail.cf  (0) 2017.01.06

+ Recent posts