이 글은 주로 Windows Apache2.4 VC9(ApacheHaus)의 자세한 설치 및 구성 튜토리얼을 소개합니다. 필요한 친구는
1. Apache 다운로드
버전을 선택하고 다운로드
를 클릭하세요. Windows용 파일
버전 중 하나를 선택하세요. Windows에 해당 VC 환경이 설치되지 않은 경우 해당 VCRedistribute 버전을 선택하여 다운로드하고 설치하세요. VC9 환경이 내 컴퓨터에 이미 설치되어 있기 때문에 Apache 2.4VC9 버전을 선택했습니다. JumpLinks 아래 첫 번째 행의 버전을 클릭하면 해당 압축 패키지를 다운로드할 수 있습니다. 2. Apache 중 하나 구성 - httpd.conf압축을 푼 후 내부에 Apache22(마지막 두 자리는 다를 수 있음) 폴더를 입력하고 텍스트 편집기(ultraedit 권장)를 사용하여 httpd.conf 구성 파일을 엽니다. conf 폴더
ServerRoot 옵션을 찾아 Apache 디렉터리를 35번째 줄로 설정하고 이를 Apache 프로그램의 폴더로 변경합니다. 예:
ServerRoot "C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22"
Listen 옵션을 찾아 46번째 줄로 포트를 설정합니다. 일반적으로 다음과 같습니다. 수정하지 말고 기본 80을 사용하십시오. 서버를 시작하기 전에 포트 80이 사용되지 않았는지 확인하십시오. DocumentRoot 옵션을 찾아 서버 루트 디렉토리를 수정하십시오. 예:
DocumentRoot "F:/"
<Directory "F:/"> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.2/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None # # Controls who can get stuff from this server. # Order allow,deny Allow from all </Directory>
ScriptAlias /cgi-bin/ "C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22/cgi-bin"
<Directory "C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory>
3, Apache 2 구성--ssl 구성
이와 같이 서비스를 시작하면 일반적으로 다음과 같은 메시지 대화 상자가 나타납니다. 메시지 대화 상자:Prompt
Windows는 로컬 컴퓨터에서 Apache2.2를 시작할 수 없습니다. . 자세한 내용은 시스템 로그 파일을 참조하세요. Microsoft 이외의 서비스인 경우 공급업체에 문의하여 특정 서버 오류 코드 1을 참조하세요.
이 문제의 원인 확인: 컴퓨터를 마우스 오른쪽 버튼으로 클릭하고 관리->Windows 로그->응용 프로그램을 클릭하면 다음과 같이 표시됩니다.
이 문제는 잘못된 SSL 구성으로 인해 발생합니다. , 아래에 설명된 대로 해결책은 다음과 같습니다.
Apache 프로그램 디렉터리에서 conf/extra/httpd-ahssl.conf 파일을 열고 VirtualHost 옵션을 구성합니다. VirtualHost라는 세 가지 옵션을 모두 수정해야 합니다.
첫번째는 107라인 부근입니다.
라인 111에서 SSLCertificateKeyFile을 Apache가 있는 디렉터리/conf/ssl/server로 변경합니다. .key
112번째 줄에서 DocumentRoot를 서버의 루트 디렉터리로 변경합니다. 126번째 줄에서 CustomLog를 Apache가 있는 디렉터리/logs/ssl_request.log로 변경합니다. 변경되지 않으면 잘못된 것입니다. 일반적으로 다음 오류가 나타납니다.
다음 서비스별 오류로 인해 Apache2.2 서비스가 종료되었습니다. 기능이 올바르지 않습니다.
변경 효과:
<VirtualHost _default_:443> SSLEngine on ServerName localhost:443 SSLCertificateFile C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22/conf/ssl/server.crt SSLCertificateKeyFile C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22/conf/ssl/server.key DocumentRoot F:/ # openssl req -new > server.csr # openssl rsa -in privkey.pem -out server.key # openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 2048 <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory "/Apache22/cgi-bin"> SSLOptions +StdEnvVars </Directory> BrowserMatch "MSIE [2-5]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 CustomLog "C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22/logs/ssl_request.log" \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" </virtualhost>
위의 네 곳을 주로 변경합니다
라인 130과 152에 두 개의 다른 VirtualHost가 있으며 둘 다 위의 네 가지 옵션을 수정해야 합니다.
예:
라인 130
<VirtualHost *:443> SSLEngine on ServerName serverone.tld:443 SSLCertificateFile C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22/conf/ssl/serverone.crt SSLCertificateKeyFile C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22/conf/ssl/serverone.key DocumentRoot F:/ # openssl req -new > serverone.csr # openssl rsa -in privkey.pem -out serverone.key # openssl x509 -in serverone.csr -out serverone.crt -req -signkey serverone.key -days 2048 <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory "/Apache22/cgi-bin"> SSLOptions +StdEnvVars </Directory> BrowserMatch "MSIE [2-5]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 CustomLog "C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22/logs/ssl_request.log" \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" env=HTTPS </virtualhost>
152행
<VirtualHost *:443> SSLEngine on ServerName servertwo.tld:443 SSLCertificateFile C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22/conf/ssl/servertwo.crt SSLCertificateKeyFile C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22/conf/ssl/servertwo.key DocumentRoot F:/ # openssl req -new > servertwo.csr # openssl rsa -in privkey.pem -out servertwo.key # openssl x509 -in servertwo.csr -out servertwo.crt -req -signkey servertwo.key -days 2048 <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory "/Apache22/cgi-bin"> SSLOptions +StdEnvVars </Directory> BrowserMatch "MSIE [2-5]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 CustomLog "C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22/ssl_request.log" \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" </virtualhost>
관리자 권한으로
Apache 프로그램 폴더 아래의 bin 폴더에 들어가서 httpd -k install을 입력하여 완료합니다. 아파치 서비스 설치. 그런 다음 bin 디렉터리에서 ApacheMonitor.exe를 두 번 클릭하고 오른쪽에 있는 시작을 클릭하여 서버를 시작합니다(정상인 경우 아래와 같이).테스트해 보세요.
5, 기타
Apache HTTP 서버 제거:
bin 디렉토리를 관리자로 입력하고 httpd -k uninstall을 사용하여 서비스를 제거합니다.
httpd -w -n "Apache2" -k start 명령을 사용하여 시작합니다. 오류 분석을 용이하게 하기 위해 시작하는 동안 서버에 로그가 표시됩니다.
위 내용은 Windows Apache2.4 VC9(ApacheHaus) 설치 튜토리얼에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!