Linux 서비스의 httpd 기본 설정 상세 설명

9417 단어
현재 주류 의 오픈 소스 웹 서버 소프트웨어 는 httpd (Apache), lighttpd, nginx, thttpd 등 이 있 으 며, httpd 는 지금까지 사용량 이 많은 웹 서버 로 현재 httpd 의 전 세계 점유 율 은 47% 안팎 으로 집계 되 었 으 며, 다소 떨 어 졌 지만 두 가 지 를 가장 많이 사용 하고 있 으 며, 웹 서버 사용률 을 통계 하 는 사 이 트 는:http://news.netcraft.com/
자, 쓸데없는 소리 하지 말고 httpd 의 기본 설정 을 소개 합 시다!
기본 소개
1. 버 전
httpd-1.3
httpd-2.0
httpd-2.2
httpd-2.4
지금까지 최신 버 전 은 httpd - 2.4.6 이 었 지만 시스템 자체 RPM 패키지 에 설 치 된 httpd - 2.2.15 버 전 을 사 용 했 습 니 다. 최신 버 전 설정 은 다 를 수 있 습 니 다.
2. 모델:
고도 모듈 화: DSO
MPM:Multipath Processing Module    #다 중 처리 모듈
prefork: 한 번 에 한 프로 세 스 가 요청 에 응답 합 니 다.
   worker: 하나의 프로 세 스 가 여러 스 레 드 를 만 들 고 하나의 스 레 드 가 요청 에 응답 합 니 다.
   이벤트: 이벤트 구동 을 기반 으로 한 프로 세 스 가 여러 요청 에 응답 합 니 다.
3. 설치
여기 바로 rpm 패키지 가 설치 되 어 있 습 니 다. CD 에 소프트웨어 패키지 가 있 습 니 다.
yum install httpd
4. httpd 설치 후 기본 정보
   서비스 스 크 립 트: / etc / rc. d / init. d / httpd
   실행 디 렉 터 리: / etc / httpd /
   프로필: / etc / httpd / conf
       주 프로필: / etc / httpd / conf / httpd. conf
       확장 설정: / etc / httpd / conf. d / *. conf
   socket:http:80/tcp,https:443/tcp
   웹 페이지 파일 디 렉 터 리 (DocumentRoot): / var / www / html
   CGI:/var/www/cgi-bin/
   기본 홈 페이지 파일: / var / www / html / index. html
5. 주 프로필 구조
   전역 설정: 메 인 서버 나 가상 호스트 에 효과 가 있 고 일부 기능 은 서버 자체 작업 속성 입 니 다.
   홈 서버 설정: 홈 페이지 속성
   가상 서버: 가상 호스트 및 속성 정의
6. 테스트 설정 및 보기 명령
   사 용 했 어
service httpd configtest        #             
httpd -t                         #  
httpd -l                        #                
httpd -D DUMP_MODULES           #          
service httpd reload            #        
service httpd restart           #  httpd  

메모: 프로필 을 수정 한 후 프로필 을 다시 불 러 오고 서버 감청 포트 를 수정 한 후 서 비 스 를 다시 시작 해 야 합 니 다.
기본 설정
따뜻 한 알림: httpd 의 작업 속성 을 설정 할 때 명령 은 대소 문 자 를 구분 하지 않 지만 약 속 된 습관 이 있 습 니 다. 단어의 이니셜 대문자;명령 의 값 은 대소 문 자 를 구분 할 수 있 습 니 다.어떤 명령 은 여러 번 반복 해서 사용 할 수 있다.
1. 감청 포트 설정:
   Listen [IP:]PORT
Listen 172.16.3.1: 80
2. 선택 한 MPM 속성 설정
기본 값 으로 prefork 모델 설치

StartServers       8        #             
MinSpareServers    5        #       
MaxSpareServers   20        #       
ServerLimit      256        #               
MaxClients       256        #           
MaxRequestsPerChild  4000   #             

worker 모델: worker 모델 을 지원 하려 면 / etc / sysconfig / httpd 를 설정 하고 다음 줄 을 열 어야 합 니 다.
HTTPD=/usr/sbin/httpd.worker

StartServers         4        #            
MaxClients         300        #         
MinSpareThreads     25        #       
MaxSpareThreads     75        #       
ThreadsPerChild     25        #          
MaxRequestsPerChild  0     

3. 서버 지원 keep - alive 설정 (긴 연결)
KeepAlive {On|Off}          #       
KeepAliveTimeout 2          #       
MaxKeepAliveRequests 50     #            

4. 로드 모듈 설정
# LoadModule foo_module modules/mod_foo.so
#
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_alias_module modules/mod_authn_alias.so

5. 사이트 루트 디 렉 터 리 설정
DocumentRoot "/var/www/html"    #        
     #            

                #            

6. 페이지 파일 의 접근 속성 설정

    Options
    Indexes         #          ,    
    FollowSymLinks  #         
    SymLinksifOwnerMatch #      ,       apache           
    ExecCGI:        #      CGI  ;
    All
    None

7. 클 라 이언 트 기반 접근 제어
           

Order    #  allow deny       ;          :                       :
Order allow,deny
Allow from all    #       

    172.16.0.0/16  ,    172.16.3.1  

Order allow,deny
Deny from 172.16.3.1        #    IP  
Allow from 172.16.0.0/16    #        

8. userdir 개인 사이트

    # UserDir is disabled by default since it can confirm the presence
    # of a username on the system (depending on home directory
    # permissions).
    #
    #UserDir disabled        #    
    #
    # To enable requests to /~user/ to serve the user's public_html
    # directory, remove the "UserDir disabled" line above, and uncomment
    # the following line instead:
    #
    UserDir public_html    #    

프로필 을 다시 불 러 온 후 사용:http://HOST/~username/
    예 를 들 면:http://172.16.3.1/~centos/
9. 기본 홈 페이지 정의
DirectoryIndex index.php index.jsp index.html

10. 로그 기능 설정
로 그 는 두 가지 종류 가 있 습 니 다. 접근 로그 (형식 사용자 정의), 오류 로그 입 니 다.
    :
    ErrorLog "/path/to/error_log_file"   
    :
    CustomLog "/path/to/custom_log_file" logformat
        :{combined|common|agent}
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
%h              #   
%l              #
%u              #   
%t              #       
%r              #        ,  
%s              #
%b              #       
%{Foobar}i      #            
%{User-Agent}i  #    

11. 지원 하 는 문자 집합
AddDefaultCharset UTF-8

12. 경로 별명
사이트 의 실제 디 렉 터 리 를 숨 길 수 있 습 니 다.
Alias /test/ "/www/test/"            #    
         #             
    Options None
    AllowOverride None
    Order allow,deny
    Allow from 172.16.0.0/16

13. 스 크 립 트 경로 별명
서버 에 있 는 스 크 립 트 프로그램 을 호출 하지만 웹 사이트 디 렉 터 리 에 스 크 립 트 를 두 고 싶 지 않 습 니 다.
ScriptAlias /cgi-bin/ "/www/cgi-bin/"     #  cgi      
# vi /wwww/cgi-bin/test.sh                #       
#!/bin/bash
#cat << EOF
Content-Type:text/html
                                 #                  

The hostname is: `hostname`.              #          
The timeis: `date`.                       #    
EOF
테스트: 스 크 립 트 가 실 행 된 결 과 를 보 여 줍 니 다.
14. 사용자 접근 제어 기반
사이트 나 사이트 의 특정한 경로 가 권한 을 수 여 받 은 사용자 에 게 만 접근 하려 고 할 때 사용자 기반 접근 통 제 를 사용 할 수 있 습 니 다.
htpasswd 명령 을 사용 하여 사용자 계 정 파일 을 만 듭 니 다.
htpasswd
    -c  #     -c     ,            
    -m  #      MD5     
    -s  #      SHA     
    -p  #       
    -d  #      
    -e  #      
  :
# htpasswd -c -m /etc/httpd/conf/.htpass  tom
                              
# htpasswd -m /etc/httpd/conf/.htpass jerry
#             -c   ,            

(1) 사용자 계 정 파일 만 들 기
# htpasswd -c -m /etc/httpd/conf/.htpass  tom
(2) 주 프로필 수정
# vi /etc/httpd/conf/httpd.con
DocumentRoot "/www/html"    #         /www/html

Optins Indexes
AllowOverride AuthConfig
AuthName "Oaly for employees."    #      ,    
AuthType Basic                    #    
AuthUserFile /etc/httpd/conf/.htpass    #      
Require valid-user                #     

Require 접근 할 수 있 는 사용 자 를 지정 합 니 다. 한 사용 자 를 지정 할 수 있 습 니 다. 사용자 이름 을 직접 쓰 면 됩 니 다. 사용자 이름 은 여러 개의 빈 칸 으로 나 눌 수 있 고 모든 사용 자 를 지정 하면 valid - user 를 사용 할 수 있 습 니 다.
15. 가상 호스트 설정
(1) 주석 홈 서버, 가상 호스트 추가
# DocumentRoot "/www/html"         #        
NameVirtualHost 172.16.3.1:80      #      

     DocumentRoot /www/web1        #          
     ServerName web1.lyd.com       #   


     DocumentRoot /www/web2
     ServerName web2.lyd.com

(2) 가상 호스트 에 테스트 파일 제공
mkdir /www/web{1,2}
echo web1.lyd.com > /www/web1/index.html
echo web2.lyd.com > /www/web2/index.html

(3) 설정 이 끝 난 후 httpd - t 로 설정 파일 에 오류 가 있 는 지 테스트 합 니 다.
(4) 서비스 재 부팅 httpd restart
(5) 검증, 검증 클 라 이언 트 의 hosts 파일 수정,
윈도 우즈 클 라 이언 트
시작 -- > 실행 -- > "c: \ windows \ system 32 \ drivers \ etc \ hosts" 를 입력 하여 메모 장 으로 열 고 다음 줄 을 추가 하 십시오.
172.16.3.1web1.lyd.com
172.16.3.1web2.lyd.com
16. 설정 지원 https
(1) httpd 지원 ssl 모듈 설치
yum install mod_ssl -y
(2) 자체 건설 CA
# cd /etc/pki/CA  
# (umask 077; openssl genrsa -out private/cakey.pem 2048)
# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 365

(3) 비밀 키 생 성
cd /etc/httpd/conf/
mkdir ssl
cd ssl
(umask 077; openssl genrsa -out httpd.key 1024)

(4) 인증서 생 성 신청
openssl req -new -key httpd.key -out httpd.csr

(5) ca 서명 증서
openssl ca -in httpd.csr -out httpd.crt -days 365

(6) httpd 의 ssl 프로필 수정
   vi /etc/httpd/conf.d/ssl.conf

DocumentRoot "/www/web1"
ServerName www.lyd.com
SSLCertificateFile /etc/httpd/conf/ssl/httpd.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl/httpd.key

(7) 클 라 이언 트 가 신뢰 할 수 있 는 인증서 서버 에 ca 인증 서 를 가 져 오고 검증 합 니 다.
자주 사용 하 는 설정 은 기본적으로 이 정도 입 니 다. 누락 되 거나 잘못된 점 이 있 으 면 비판 과 지적 을 환영 합 니 다!
다음으로 전송:https://blog.51cto.com/liyandong/1282225

좋은 웹페이지 즐겨찾기