Apache 서버 설치 및 구성. 윈도우에 아파치 설치하기

Linux에 웹 서버 설치:

  • Ubuntu가 있는 경우 "Ubuntu 16.10에 PHP 7, MariaDB/MySQL 및 phpMyAdmin(LAMP)을 사용하여 Apache 웹 서버를 설치하는 방법" 기사가 적합합니다.
  • Arch Linux가 있는 경우 "Arch Linux/BlackArch에 LAMP(Linux, Apache, MySQL/MariaDB, PHP7 및 phpMyAdmin) 설치" 기사가 적합합니다.

로컬 서버매우 유용한 도구. 웹마스터, PHP 프로그래머, 침투 테스터에게 확실히 유용할 것입니다. 에 포함된 모든 프로그램 일반적인 설치웹 서버는 무료이며 모두 열려 있습니다. 원천. 로컬 웹 서버는 최소한의 리소스를 소모하며, 실제로 설치 및 구성이 전혀 어렵지 않습니다.

이 가이드는 설치 방법을 보여줍니다 로컬 웹 서버기성품 어셈블리를 사용하지 않고. 이 방법에는 장점이 있습니다. 이들 중 가장 중요한 것은 다음과 같습니다. 가장 많이 사용할 수 있는 기회 최신 버전소프트웨어.

지침을 정확히 따르면 모든 것이 효과가 있습니다! Windows XP 사용자를 제외하고 - 이 기능이 마음에 드시면 운영 체제, 그런 다음 특별 지침이 만들어졌습니다.

Windows 10에서의 설치 예를 보여드리겠지만, 다른 윈도우 버전, 그런 다음 이것이 당신을 귀찮게하지 않도록하십시오. 절차는 어디에서나 동일합니다. 프로그램의 버전을 작성할 때 최신(최신)을 다운로드합니다. 읽고 있는 시점에 새 버전이 나오면 다운로드하십시오.

설치 단계:

다음과 같이 유용할 수도 있습니다.

1. 준비(서버에 포함된 프로그램 다운로드, 서버 구조 생성)

다음이 필요합니다.

  • 아파치(직접 웹 서버)
  • PHP- 근무 환경 PHP 프로그램(거의 모든 웹사이트에서 필요)
  • MySQL– 데이터베이스 관리 시스템(대부분의 웹사이트에서 필요)
  • phpMyAdmin- 매우 편리한 도구데이터베이스 관리용

Apache 개발자의 공식 웹사이트는 httpd.apache.org 입니다. 이 사이트에서 Apache를 다운로드할 수 있습니다. 하지만 공식 버전이전 컴파일러를 사용하여 빌드했기 때문에 새 버전의 PHP에서는 작동하지 않습니다. PHP 작성자는 apachelounge.com/download에서 Apache를 권장합니다. 따라서 이 지침에서는 apachelounge.com/download 사이트에서 Apache를 다운로드합니다.

64비트 버전의 Windows가 있는 경우 구성 요소의 64비트 및 32비트 버전을 모두 선택할 수 있습니다. 주요 규칙은 모든 구성 요소의 비트 깊이가 동일해야 한다는 것입니다. 32비트 버전의 Windows가 있는 경우 모든 구성 요소는 32비트여야 합니다. 이것은 PHP로 작성된 phpMyAdmin에는 적용되지 않습니다. PHP 프로그램의 경우 비트 수 개념이 적용되지 않습니다.

MySQL의 무료 버전은 MySQL 커뮤니티 서버. 페이지에서 다운로드할 수 있습니다. 같은 페이지에 실행 가능한 설치 프로그램이 있지만 ZIP 파일을 다운로드하는 것이 좋습니다. 다운로드 페이지에서 등록하거나 기존 계정- 그러나 그렇게 할 필요는 없습니다. 링크를 클릭하십시오 " 아니요, 다운로드를 시작하세요.". 비트에주의하십시오.

C++ 재배포 가능 파일도 필요합니다. 비주얼 스튜디오 2017 즉. Visual Studio 2017(또는 다른 이후 버전)용 Visual C++ 재배포 가능 패키지는 공식 Microsoft 웹 사이트 링크(64비트 버전용 직접 다운로드 링크, 32비트 버전용 직접 다운로드 링크)에서 다운로드할 수 있습니다. 이 파일은 웹 서버에 필요합니다. 그리고 MySQL에는 Visual Studio 2015용 Visual C++ 재배포 가능 패키지가 필요합니다. 에서 다운로드할 수 있습니다.

그래서 다음 파일을 다운로드했습니다.

  • httpd-2.4.29-Win64-VC15.zip
  • PHP-7.2.0-Win32-VC15-x64.zip
  • mysql-8.0.11-winx64.zip
  • phpMyAdmin-4.7.6-all-languages.zip
  • vc_redist.x64.exe
  • vcredist_x64.exe

파일 설치 vc_redist.x64.exe그리고 vcredist_x64.exe.

2. 웹 서버의 구조 생성

서버의 디렉토리 구조를 만들어 봅시다. 주요 아이디어는 데이터베이스에서 실행 파일과 사이트 파일을 분리하는 것입니다. 백업을 포함한 서버 유지 관리에 편리합니다.

디스크의 루트에서 씨:\디렉토리를 생성 섬기는 사람. 이 디렉터리에서 2개의 하위 디렉터리를 만듭니다. 큰 상자(실행 파일의 경우) 및 데이터.

디렉토리로 이동 데이터거기에 하위 폴더를 만들고 디비(데이터베이스용) 및 htdocs(웹사이트용).

디렉토리로 이동 C:\서버\데이터\DB\거기에 빈 폴더를 만듭니다. 데이터.

3. 아파치 2.4 설치

다운로드한 아카이브의 내용(더 정확하게는 디렉토리만 아파치24), 압축을 풉니다 C:\서버\bin\.

디렉토리로 이동 c:\서버\bin\Apache24\conf\그리고 파일을 열어 httpd.conf모든 텍스트 편집기.

그 안에서 우리는 여러 줄을 교체해야 합니다.

SRVROOT "c:/Apache24" 정의

SRVROOT "c:/Server/bin/Apache24" 정의

#서버이름 www.example.com:80

서버 이름 로컬 호스트

DocumentRoot "$(SRVROOT)/htdocs"

DocumentRoot "c:/서버/데이터/htdocs/"

디렉토리 인덱스 index.html

DirectoryIndex index.php index.html index.htm

# AllowOverride는 .htaccess 파일에 배치할 수 있는 지시문을 제어합니다. # "All", "None" 또는 키워드 조합일 수 있습니다. # AllowOverride FileInfo AuthConfig Limit # AllowOverride 없음

# AllowOverride는 .htaccess 파일에 배치할 수 있는 지시문을 제어합니다. # "All", "None" 또는 키워드 조합이 될 수 있습니다. # AllowOverride FileInfo AuthConfig Limit # AllowOverride All

#LoadModule rewrite_module 모듈/mod_rewrite.so

LoadModule rewrite_module 모듈/mod_rewrite.so

파일을 저장하고 닫습니다. 이제 Apache 설정이 완료되었습니다! 수정된 각 지시문에 대한 설명은 이 페이지에서 찾을 수 있습니다.

열려 있는 명령줄(이는 Win + X 키를 동시에 눌러 수행할 수 있습니다.) 거기에서 선택 윈도우 파워쉘(관리자) 및 복사:

C:\Server\bin\Apache24\bin\httpd.exe -k 설치

Apache에 대한 방화벽의 요청이 있으면 허용을 클릭합니다.

이제 명령줄에 다음을 입력합니다.

C:\Server\bin\Apache24\bin\httpd.exe -k 시작

그리고 엔터를 누릅니다.

사용자 이름으로 root를 입력합니다. 암호 필드를 비워 둡니다. 모든 것이 올바르게 완료되면 모든 것이 다음과 같아야 합니다.

7. 서버 사용 및 데이터 백업

카탈로그에서 c:\서버\데이터\htdocs\폴더와 파일을 만듭니다. 예를 들면 다음과 같습니다.

c:\Server\data\htdocs\test\ajax.php - 이 파일은 각각 http://localhost/test/ajax.php 등에서 사용할 수 있습니다.

모든 사이트 및 데이터베이스의 전체 백업을 생성하려면 디렉토리를 복사하기만 하면 됩니다. C:\서버\데이터\.

모듈을 업데이트하기 전에 폴더를 백업하십시오. 큰 상자- 문제가 발생하면 이전 버전으로 쉽게 롤백할 수 있습니다.

~에 재설치서버 또는 업데이트 시 구성 파일을 재구성해야 합니다. 이러한 파일의 복사본이 있으면 프로세스를 크게 가속화할 수 있습니다. 다음 파일을 백업하는 것이 좋습니다.

  • c:\서버\bin\Apache24\conf\httpd.conf
  • c:\서버\bin\mysql-8.0\my.ini
  • c:\서버\bin\PHP\php.ini
  • c:\서버\데이터\htdocs\phpMyAdmin\config.inc.php

모든 설정이 저장됩니다.

8. 추가 PHP 설정

PHP는 현재 매우 강력하고 유연하며 사용자 친화적인 도구입니다. 에 로컬 컴퓨터이를 통해 웹 페이지 생성과 반드시 ​​관련이 없는 다양한 작업을 해결할 수 있습니다. 특별한 작업을 해결할 때 설정에 설정된 제한 사항에 부딪힐 수 있습니다. 이러한 설정은 php.ini 파일(c:\Server\bin\PHP\php.ini)에 포함되어 있습니다.

memory_limit = 128M

확립하다 최대 금액스크립트가 사용할 수 있는 메모리

Post_max_size = 8M

전송할 때 허용되는 최대 데이터 양을 설정합니다. POST 방식

;default_charset = "UTF-8"

인코딩을 설정합니다(기본적으로 행은 주석 처리됨).

Upload_max_filesize = 2M

서버에 업로드되는 파일의 최대 크기입니다. 처음에는 2MB의 매우 작은 크기로 설정되었습니다. 예를 들어, phpMyAdmin에서 데이터베이스를 로드할 때 이 설정 항목이 변경될 때까지 2MB 이상의 파일을 로드할 수 없습니다.

Max_file_uploads = 20

한 번에 업로드할 수 있는 최대 파일 수

Max_execution_time = 30

하나의 스크립트에 대한 최대 실행 시간

이러한 설정을 변경할 필요는 없지만 알고 있으면 유용합니다.

9. phpMyAdmin 추가 설정

우리는 이미 phpMyAdmin을 구성했으며 대부분의 기본 기능으로 충분합니다. 그러나 에 시작 페이지 phpMyAdmin 비문이 있습니다: "phpMyAdmin의 추가 기능이 완전히 구성되지 않았고 일부 기능이 비활성화되었습니다."

새로운 기능은 다음과 같습니다.

  • (관련) 테이블 간의 관계를 표시합니다.
  • 테이블에 대한 정보 추가(버전 2.3.0부터 관련 키 위로 커서를 이동할 때 툴팁에 표시될 열을 특수 테이블 'table_info'에서 설명할 수 있음);
  • PDF 스키마 생성(버전 2.3.0부터 phpMyAdmin에서 생성 가능 PDF 페이지, 테이블 간의 관계 표시);
  • 열 주석 표시(버전 2.3.0부터 각 테이블에 대한 각 열을 설명하는 주석을 작성할 수 있습니다. 그리고 "인쇄 미리보기"에서 볼 수 있습니다. 버전 2.5.0부터 주석이 사용됩니다. 자신의 페이지테이블 및 보기 모드에서 열(속성 테이블) 위에 도구 설명으로 표시되거나 보기 모드에서 테이블 머리글에 포함됩니다. 테이블 덤프에도 표시될 수 있음);
  • 북마크 생성(버전 2.2.0부터 phpMyAdmin은 사용자가 쿼리를 북마크할 수 있도록 합니다. 이것은 자주 사용하는 쿼리에 유용할 수 있습니다);
  • SQL 쿼리 기록(버전 2.5.0부터 모든 쿼리 기록을 저장할 수 있습니다. SQL 쿼리, phpMyAdmin 인터페이스를 통해 만들어짐);
  • 디자이너(버전 2.10.0부터 디자이너 도구를 사용할 수 있으며 이를 통해 테이블 ​​간의 관계를 시각적으로 관리할 수 있음)
  • 최근에 사용한 테이블에 대한 정보;
  • 자주 사용하는 테이블의 인터페이스 사용자 정의
  • 추적(버전 3.3.x부터 추적 메커니즘을 사용할 수 있습니다. 각 SQL 명령 phpMyAdmin에 의해 실행되었습니다. 데이터 조작 기록 및 명령 기록이 지원됩니다. 활성화하면 테이블 버전을 만들 수 있습니다);
  • 사용자 설정(버전 3.4.x부터 phpMyAdmin을 사용하면 사용자가 대부분의 설정을 설정하고 데이터베이스에 저장할 수 있음)
  • 사용자 정의 메뉴(버전 4.1.0부터 할당된 메뉴 항목에만 액세스할 수 있는 사용자 그룹을 생성할 수 있습니다. 사용자는 그룹에 할당될 수 있으며 자신의 그룹에서 사용할 수 있는 메뉴 항목만 볼 수 있음)
  • 탐색 항목 숨기기/표시(버전 4.1.0부터 탐색 트리에서 항목을 숨기거나 표시할 수 있음)
  • 다른 사람

이제 다음을 설정할 것입니다. 추가 기능충분히. http://localhost/phpmyadmin/chk_rel.php로 이동하여 "데이터베이스 생성"을 클릭합니다. 그 후에는 모든 새로운 기능이 활성화됩니다.

새로운 기능의 일부 스크린샷:

1) 디자이너

2) 추적

10. 메일 스텁 설치

C:\Server\bin\ 디렉터리에 Sendmail이라는 새 디렉터리를 만듭니다. 이제 이 디렉토리에서 다음 내용으로 sendmail.php 파일을 만듭니다.

#!/usr/bin/env PHP

PHP 구성 파일을 엽니다. 여기에 있습니다. C:\서버\bin\PHP\php.ini. 그리고 거기에 한 줄을 추가합니다.

Sendmail_path = "C:\Server\bin\PHP\php.exe C:\Server\bin\Sendmail\sendmail.php --dir C:\Server\bin\Sendmail\emails"

파일을 저장하고 서버를 다시 시작하십시오. 좋습니다. 이제 보낸 모든 이메일이 디렉토리에 저장됩니다. C:\Server\bin\Sendmail\emails\

편지에는 확장자가 있습니다. .eml예를 들어 프로그램에서 열 수 있습니다. 천둥새. 또는 일반 텍스트 편집기.

11. Windows에서 PATH에 PHP 디렉토리 추가하기

이것이 완료되지 않으면 php_curl.dll, php_intl.dll, php_ldap.dll, php_pdo_pgsql.dll 및 php_pgsql.dll을 포함한 일부 PHP 모듈에 문제가 있을 수 있습니다. 적어도 서버가 시작될 때마다 다음이 로그에 나타납니다.

PHP 경고: PHP 시작: 동적 라이브러리 "C:\\Server\\bin\\PHP\\ext\\php_curl.dll"을 로드할 수 없습니다. - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\ xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\ xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\ xbf\xbd\xef\xbf\xbd.\r\n in unknown on line 0 PHP 경고: PHP 시작: 동적 라이브러리 "C:\\Server\\bin\\PHP\\ext\\php_intl.dll을 로드할 수 없습니다. " - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef \xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n in unknown on line 0 PHP 경고: PHP 시작: 동적 라이브러리를 로드할 수 없습니다 " C:\\서버\\bin\\PHP\\ext\\php_ldap.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\ xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xb d\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\ xef\xbf\xbd\xef\xbf\xbd.\r\n in unknown on line 0 PHP 경고: PHP 시작: 동적 라이브러리 "C:\\Server\\bin\\PHP\\ext\\php_pdo_pgsql을 로드할 수 없습니다. .dll" - \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf \xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n in unknown on line 0 PHP 경고: PHP 시작: 동적 로드 불가 라이브러리 "C:\\Server\\bin\\PHP\\ext\\php_pgsql.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\ xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\ xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd. \r\n 0행의 알 수 없음

이러한 경고를 피하려면 시스템 환경 변수에 PHP 경로를 추가해야 합니다.

시작 버튼(또는 Windows 10에서는 무엇이라고 부릅니까?)을 클릭하고 " 시스템 환경 변수 변경"하고 해당 설정 창을 엽니다.

거기 클릭 " 환경 변수»:

창에서 " 시스템 변수» 찾아 클릭 를 누른 다음 " 변화»:

항목을 맨 위로 이동:

모든 창을 닫고 변경 사항을 저장합니다.

서버를 다시 시작합니다.

12. 정지, 트래픽 속도 저하 및/또는 서버 오류 비동기 AcceptEx 실패

로드가 없는 서버가 "정지"된 경우 - 다시 시작할 때까지 웹 페이지가 표시되지 않으며 서버 로그에 Asynchronous AcceptEx 실패 오류가 있습니다.

AH00455: Apache/2.4.9(Win64) PHP/5.5.13 구성됨 - 정상 작동 재개 AH00456: Apache Lounge VC11 서버 빌드: 2014년 3월 16일 12:42:59 AH00094: 명령줄: "c:\\Server\\ bin\\Apache24\\bin\\httpd.exe -d C:/Server/bin/Apache24" AH00418: 상위: 생성된 하위 프로세스 4952 AH00354: 하위: 64개의 작업자 스레드를 시작합니다. (OS 64) 지정된 네트워크 이름을 더 이상 사용할 수 없습니다. : AH00341: winnt_accept: 비동기 AcceptEx가 실패했습니다. (OS 64) 지정된 네트워크 이름을 더 이상 사용할 수 없습니다. : AH00341: winnt_accept: 비동기 AcceptEx가 실패했습니다. (OS 64) 지정된 네트워크 이름을 더 이상 사용할 수 없습니다. : AH00341: winnt_accept: 비동기 AcceptEx가 실패했습니다. (OS 64) 지정된 네트워크 이름을 더 이상 사용할 수 없습니다. : AH00341: winnt_accept: 비동기 AcceptEx가 실패했습니다. (OS 64) 지정된 네트워크 이름을 더 이상 사용할 수 없습니다. : AH00341: winnt_accept: 비동기 AcceptEx가 실패했습니다. (OS 64) 지정된 네트워크 이름을 더 이상 사용할 수 없습니다. : AH00341: winnt_accept: 비동기 AcceptEx가 실패했습니다.

그런 다음 Apache 구성 파일에 다음을 추가합니다.

AcceptFilter http 없음 AcceptFilter https 없음 EnableSendfile 끄기 EnableMMAP 끄기

13. Windows의 Apache Web Server에서 cURL 설정

cURL이 무엇인지 모른다면 필요하지 않습니다. 저것들. 이 단계를 건너뛰어도 됩니다.

cURL은 매우 많은 수의 프로토콜을 사용하여 원격 서버와 통신할 수 있게 해주는 콘솔 유틸리티입니다. cURL은 쿠키를 사용할 수 있으며 인증을 지원합니다. 웹 응용 프로그램에 cURL이 필요한 경우 종속 항목에 지정해야 합니다. 많은 인기 있는 응용 프로그램에는 cURL이 필요하지 않습니다. 예를 들어 phpMyAdmin 및 WordPress는 cURL을 설정할 필요가 없습니다.

cURL이 잘못 구성된 경우 오류가 발생합니다.

치명적인 오류: 정의되지 않은 함수 curl_multi_init() 호출 ...

curl 오류: SSL 인증서 문제: 로컬 발급자 인증서를 가져올 수 없습니다.

cURL이 Windows의 Apache에서 작동하려면 다음이 필요합니다.

1) PATH(시스템 환경 변수)에 PHP 디렉토리를 추가해야 합니다. 이 작업을 수행하는 방법은 바로 위에 설명되어 있습니다.

2) 파일에서 C:\서버\bin\PHP\php.ini행의 주석을 제거해야 합니다. 확장자=컬

이것은 일반적으로 필요하지 않지만 원하는 경우 서버의 바이너리(실행 가능) 파일의 백업 복사본을 만들 수 있습니다. 이 모든 파일은 폴더에 있습니다 C:\서버\bin\. 이들은 Apache, MySQL 및 PHP입니다. 서버 작동을 담당하지만 공식 사이트에서 언제든지 다운로드하여 재구성할 수 있는 프로그램.

백업하려면(예: 서버를 업데이트하기 전에) 서비스를 중지합니다.

C:\Server\bin\Apache24\bin\httpd.exe -k net stop mysql 중지

그리고 폴더를 안전한 장소에 복사하십시오 C:\서버\bin\.

그건 그렇고, 당신은 전체 서버를 복사할 수 있습니다. 폴더 C:\서버\- 이 경우 실행 파일과 데이터(데이터베이스, 사이트)의 백업 복사본을 동시에 얻을 수 있습니다.

복사가 완료되면 서비스를 다시 시작합니다.

C:\Server\bin\Apache24\bin\httpd.exe -k net start mysql 시작

15. 서버 업데이트

웹 서버를 구성하는 모든 구성 요소는 활발히 개발되고 정기적으로 새 버전이 출시됩니다. 새 버전이 출시되면 하나의 구성요소(예: PHP)를 업데이트하거나 한 번에 여러 개를 업데이트할 수 있습니다.

서버 제거

더 이상 서버가 필요하지 않은 경우, 또는 다시 설치하려면 서비스를 중지하고 명령줄에서 실행하여 자동 시작에서 제거하십시오.

C:\Server\bin\Apache24\bin\httpd.exe -k stop c:\Server\bin\Apache24\bin\httpd.exe -k net stop mysql 제거 c:\Server\bin\mysql-8.0\bin\ mysqld --제거

서버 파일을 삭제하려면 폴더를 삭제하세요. C:\서버\. 주의, 모든 데이터베이스와 사이트가 제거됩니다.

Windows에서 Apache 웹 서버가 해킹되지 않도록 보호하는 방법

PHP(버전 선택 가능), MySQL 및 phpMyAdmin 사용. 이 사이트는 응답 및 자격을 갖춘 기술 지원, 클릭 한 번으로 WordPress 및 기타 웹 응용 프로그램 설치, 1년 결제 시 선물, 무료 사이트 이전 등의 사이트에서 호스팅됩니다. 호스팅 주문 시 + 1개월 무료(프로모션 코드 b33e0e2f).

앤듀

2016-12-05T17:32:10+00:00

2017-10-16T18:32:08+00:00

5986

이 기사에서는 Windows용 Apache 배포판의 최신 버전 찾기 및 가져오기, 빌드 디렉토리 구조, 시작하기 전에 Apache 구성, http 및 https 연결 테스트, Windows 시스템 서비스로 Apache 설치. 기사의 스크린캐스트와 지침에 따라 Windows에서 본격적인 Apache WEB 서버를 독립적으로 구성하고 웹 개발 및 사이트 호스팅에 사용할 수 있습니다.

Windows의 아파치

아파치- 가장 일반적인 편물많은 호스팅 및 플랫폼에서 사용되며, 중소 프로젝트 및 WEB 사이트의 역할을 완벽하게 수행하는 서버입니다. 같은 길, 아파치거의 모든 호스팅 제공업체에서 지원하며 이미 사전 구성된 사용자에게 제공되는 경우가 많습니다. 아파치오픈 소스이며 사용 요금이 필요하지 않으며 다음과 매우 잘 결합됩니다. PHP프로그래밍 언어, CMS로 작성된 사이트 PHP, 내장된 지원 및 통합을 통해 PHP, 왜냐하면 아파치, 주로 반동을 위한 것 동적콘텐츠. 긴 협력 아파치그리고 PHP무리를 만든다 편물프로그래밍 언어가 있는 Apache 서버 PHP디버깅되고 오랜 시간 테스트를 거친 웹 애플리케이션을 위한 고도로 사용자 정의 가능한 플랫폼 PHP. 꽤 큰 많은 편물프로젝트는 Apache를 다음과 함께 사용합니다. PHP CMS. 특히 끌리는 아파치뛰어난 유연성 및 기능과 결합된 접근성 및 단순성, 구성 및 작동에 대한 방대한 양의 문서 및 예제가 있습니다.

하지만 아파치에 주로 사용 유닉스그리고 리눅스동일한 성공과 기능 손실 없이 시스템에서 사용할 수 있습니다. . 두 가지 모두에 대해 Windows에서 Apache를 사용할 수 있습니다. 편물개발 및 사이트의 본격적인 호스팅을 위해 PHP CMS. 하지만 제 생각에는 가장 편리하게 사용할 수 있는 아파치이끄는 사람들 PHP웹 개발 및 테스트 CMS와 동시에 작동 . 예를 들어 지속적으로 작업하는 경우 하지만 PHP CMS에서 사이트를 배포하고 테스트해야 합니다. 예를 들어, 워드프레스, 줌라또는 이이.

이러한 경우 다음과 같은 몇 가지 선택 사항이 있습니다.

  • 가상 기기 VM와 함께 리눅스, 배포 시간 및 시스템 리소스 소비 측면에서 비용이 많이 듭니다.
  • 다양한 어셈블리 Win+AMP;
  • 필요한 모든 구성 요소를 직접 설치하십시오. 아파치, MySQL, PHP켜진 것처럼 설정 리눅스.
  • 더 많은 옵션은 이 문서를 참조하십시오. " "

가상 머신 사용 리눅스이것은 매우 좋은 옵션이지만 항상 편리한 것은 아닙니다. 그 자체로, 일하는 VM, 시스템에서 리소스를 가져오고 하드웨어가 약하면 브레이크가 발생하여 작업에 편안함을 더하지 않습니다. 또한 완전히 구성해야 합니다. 리눅스VM어떻게 편물섬기는 사람. 그러나 PC가 이 옵션을 사용할 만큼 충분히 강력하다면 이 접근 방식이 여전히 최상의 솔루션이 될 것입니다.

기성품 어셈블리 사용 옵션 Win+AMP또한 흠이 없는 것은 아니다. 이러한 어셈블리의 주요 단점은 다음을 제공한다는 것입니다. 나의구성 시스템 아파치, MySQL그리고 PHP, 이는 종종 일반적인 설정 접근 방식과 매우 다릅니다. 아파치진짜에 리눅스섬기는 사람. 따라서 이러한 어셈블리는 Apache 구성에서 약간의 완화를 제공하는 것처럼 보이지만 실제로는 WEB 서버 구성에 대한 표준 접근 방식을 훨씬 더 혼란스럽게 만들고 깨뜨립니다. 기성품 어셈블리의 또 다른 단점 Win+AMP-이 어셈블리 개발자의 사이트에 대한 첨부 파일이며 추가 구성 요소를 받기 위해 등록해야 하고 때로는 지불하거나 광고를 견뎌야 합니다. 그리고 가장 중요한 것은 그러한 어셈블리로 작업할 때 설정에 대한 올바른 아이디어를 얻기가 어렵다는 것입니다. 아파치, MySQL그리고 PHP, 실제처럼 리눅스섬기는 사람. 따라서 조정이 필요한 경우 아파치및 기타 구성 요소 램프진짜에 리눅스서버를 설정하고 구성하기 위한 올바른 방법과 접근 방식을 다시 배워야 합니다. 아파치및 기타 구성 요소 램프구성 파일을 변경하여.

이러한 어셈블리의 구성 시스템을 조사하고 싶지 않지만 구성하고 사용하려는 경우 수행할 작업 편물섬기는 사람 아파치에 수행되는 것과 정확히 동일한 방식으로 리눅스서버, 즉 구성 파일을 편집할 때 정확하고 자연스러운 접근 방식을 사용하십시오. 함께 일하고 싶은 상황입니다. 아파치에 정확히 동일 리눅스, 독립, 별도 설치 아파치특히 이것이 매우 쉽고 표준적으로 수행되고 설정이 on과 정확히 동일하게 수행되기 때문에 유용하고 편리할 것입니다. 리눅스섬기는 사람.

어떻게 추가하다 지원하다 PHP스크립트 프로세서로 아파치우분투또는 기사에서 자세히 Windows에 PHP7 설치장에서 환경.

Windows의 포터블 아파치

아파치아래의 공식 빌드를 제공하지 않습니다. , 하지만 서버 소스가 있고 어셈블리를 만들고 게시하는 사람들이 있습니다. 편물서버 아파치운영 체제용 . 이 기사의 예에서는 이러한 어셈블리를 얻는 데 사용할 것입니다. 아파치~을 위한 웹사이트: Apache Haus - Windows에서 Apache 서버 및 모듈을 위한 위치, 무료 다운로드 어셈블리 호스팅 아파치~을 위한 다운로드 페이지에서 .

보안 목적과 바이러스 및 트로이 목마로 인한 시스템 감염을 방지하려면 공식 출처에서만 배포판을 다운로드하는 것이 좋습니다. 또한 우선권을 줘 지퍼아카이브 수동설치. 그리고 이 경우에도 최신 바이러스 백신으로 다운로드한 파일을 확인하십시오. 내 경험에 따르면 네트워크가 종종 다음과 같은 형식으로 배포판을 제공하는 것을 보았습니다. .exe포함하는 아카이브 바이러스또는 트로이 목마.

사이트 선택 아파치 하우스 다운로드유통 제공자로서 아파치, 나는 다음과 같은 이유로 우연히 그것을하지 않았습니다.

  • 첫째, 이 사이트는 사이트 자체의 권장 사이트 목록에 있으므로 신뢰성이 높아집니다.
  • 둘째, 유통 아파치로 공급 지퍼각각의 아카이브에 바이러스 및 트로이 목마를 쉽게 확인할 수 있으며 이러한 설치의 안전성을 확인할 수 있습니다.

이 문서의 예제에서는 어셈블리를 설치합니다. 아파치 2.4.23 x64, 다음이 포함됩니다. OpenSSL 1.0.2j, nghttp 1.15.0, Zlib 1.2.8(mod_deflate), PCRE 8.39, APR 1.5.2, APR-Util 1.5.4, IPv6 및 TLS SNI 사용운영 체제에 Windows7x64. 이 어셈블리는 다음을 사용하여 만들어졌습니다. 비주얼 스튜디오 2015패키지 사용 VC14 - Visual C++ 2015 x64 재배포 가능 패키지, 시스템에 설치해야 합니다. 구성품 VC14, 일반적으로 이미 시스템에 있지만 설치되지 않은 경우 공식 웹 사이트에서 설치를 위해 VC14를 다운로드할 수 있습니다. 마이크로소프트링크 : .

1단계 Apache 배포 배포

Apache 설치 디렉토리 선택

집회 아파치 2.4.23 x64~에서 아파치 하우스에 공급 지퍼아카이브 및 ~ 아니다 Windows 설치 프로그램이 있으므로 이식 가능한 것으로 간주됩니다( 가지고 다닐 수 있는 ) 분포 변형 아파치. 가지고 다닐 수 있는버전에는 여러 가지 편의 기능이 있으며 파일 시스템의 모든 디렉토리에 배포를 배치하고 필요에 따라 Apache 실행을 독립적으로 구성할 수 있습니다.

배포권한 추천 아파치디렉토리를 선택하십시오. KO기호 및 ~ 아니다공백이 있을 것이므로 이 길이 될 것이다 아파치 WEB 서버의 홈 디렉토리를 지정하는 ServerRoot 지시어의 값.

이 기사와 스크린캐스트의 예에서 배포 아파치디렉토리로 확장됩니다 "Z:\WebDevelopment\Apache24"따라서 ServerRoot 지시문은 "Z:/WebDevelopment/Apache24" 로 정의됩니다.

ServerRoot 지시어의 경로 값 형식은 다음과 같습니다.

  • 슬래시 및 단일 슬래시;
  • 후행 슬래시가 없습니다.
  • 공백이 있는 경우 경로는 따옴표( "경로_to"),
  • Linux에서 값은 대소문자를 구분합니다.

아파치 배포 구조

집회 아파치 2.4.23 x64~에서 아파치 하우스다음과 같은 디렉토리 구조를 가지고 있습니다:

|아파치24 ........... Apache 홈 디렉토리 - ServerRoot |-- 큰 상자..................Apache 바이너리 디렉토리| `-- ... | `--ApacheMonitor.exe... Apache를 Windows 서비스로 관리하는 모니터 프로그램| `--httpd.exe........... Apache 웹 서버 기본 실행 파일 | `-- ... |-- cgi-bin.......CGI 프로그램의 핸들러 디렉토리 |-- 회의 ..........아파치 구성 디렉토리 | `-- 추가의....httpd.conf에 포함된 추가 Apache 구성이 있는 디렉토리| | `--httpd-ahssl.conf | | `--httpd-autoindex.conf | | `-- httpd-dav.conf | | `--httpd-default.conf | | `--httpd-deflate.conf | | `--httpd-info.conf | | `--httpd-languages.conf | | `-- httpd-manual.conf | | `-- httpd-mpm.conf | | `-- httpd-multilang-errordoc.conf | | `--httpd-proxy-html.conf | | `-- httpd-ssl.conf | | `-- httpd-userdir.conf | | `--httpd-vhosts.conf | `-- 원래의........참조용으로 빌드에 추가된 Apache 소스 구성 디렉토리 | `-- SSL.............SSL 인증서 디렉토리 | `-- charset.conv....인코딩 설정 구성, httpd.conf에 연결됨 | `-- httpd.conf ......Apache Haus의 이 어셈블리에 있는 기본 Apache 구성 | `-- 마법...........mime_magic 모듈용 스크립트 구성 | `-- 마임 유형......구성 설정 MIME 유형 | `-- openssl.cnf.....OpenSSL 구성 |-- 오류................Apache 오류 페이지 구성 디렉토리 |-- htdocs...............Apache Haus의 문서가 있는 기본 디렉토리 및 호스트 |-- 아이콘................아이콘이 있는 디렉토리 |-- 포함..............Apache 서비스 스크립트 디렉토리 |-- 라이브러리..................보조 라이브러리 디렉토리 |-- 로그.................아파치 로그 파일 디렉토리 |-- 모듈..............아파치 모듈 디렉토리|-- ABOUT_APACHE.txt |-- CHANGES.txt |-- INSTALL.txt |-- LICENSE.txt |-- NOTICE.txt |-- OPENSSL-NEWS.txt |-- OPENSSL-README.txt |-- 읽어보기 .txt |-- readme_first.html...... zip 아카이브의 루트에 있는 Apache Haus의 간략한 도움말

이 어셈블리 아파치 2.4.23 x64~에서 아파치 하우스~을 위한 웹 서버의 완전한 배포판이며 웹 서버로서의 Apache의 전체 작동에 필요한 모든 실행 파일 및 구성 파일이 포함되어 있습니다. https사이. 따라서 이 어셈블리를 설치하고 구성하면 모든 모듈이 포함된 완전한 Apache 웹 서버를 얻을 수 있습니다. 이 웹 서버는 개발 및 테스트뿐만 아니라 .

지퍼이 어셈블리의 아카이브도 첨부 파일입니다 readme_first.html, 이 어셈블리의 구성 요소 및 해당 버전에 대한 간략한 설명이 포함되어 있습니다. 또한 이 파일에는 다음의 간단한 지침이 포함되어 있습니다. 아파치 하우스설치를 위해 아파치, VC14, Apache를 시스템 서비스로 설치하고 필요한 링크를 제공합니다.

2단계 아파치 구성

모든 웹 서버 구성 파일 아파치이 어셈블리의 디렉토리에 있습니다. /Apache24/conf. 기본 구성 파일은 /Apache24/conf/httpd.conf.

성공적인 출시를 위해 아파치, 에서 하나의 설정만 하면 됩니다. httpd.conf server config, 38행에서 지시문을 지정합니다. 서버루트, 설치의 홈 디렉토리 경로를 지정합니다. 아파치.

ServerRoot 지정

이 문서의 예에서 ServerRoot 지시문은 다음과 같습니다.

SRVROOT "Z:/WebDevelopment/Apache24" 정의 서버루트"$(SRVROOT)"

여기에서 httpd.conf연습 서버루트직접적으로 수행되지 않고 변수의 정의를 통해 SRVROOT. 편리한 방법이기 때문에 설정 초기에 경로를 한 번 설정하면 이 변수를 통해 설정의 올바른 위치에 자동으로 적용됩니다.

설치 후 서버루트지시 편물섬기는 사람 아파치성공적으로 실행할 수 있으며 기본 문서 페이지가 표시됩니다. 로컬 호스트. 기타 모든 구성 설정 아파치이미 선택 사항이며 필요에 따라 다릅니다.

구성 세부 정보 아파치기사 "" 및 ""에서 볼 수 있습니다. 왜냐하면. 모든 논리, 구성 방법 및 지시문 값은 이 경우 구성과 동일합니다. 아파치, 곧 리눅스.

3단계 수동으로 Apache 시작

기본 실행 파일 편물서버 아파치파일이다 Apache24\bin\httpd.exe. 각기, 아파치파일을 클릭하여 프로세스로 시작할 수 있습니다. httpd.exe또는 이 파일을 실행하는 명령을 실행하십시오. 콘솔, 이는 동등할 것입니다.

실행하려면 아파치명령줄에서 , 탐색기에서 파일이 있는 디렉토리로 이동합니다. Apache24\bin\httpd.exe그리고 키를 누르고 있으면 옮기다, 마우스 오른쪽 버튼을 클릭하고 " 명령 창 열기". 그런 다음 명령줄 cmd.exe서버 바이너리가 있는 이 디렉토리에서 이미 시작되며 명령에 파일의 전체 경로를 포함할 필요가 없습니다. httpd.exe, 그리고 확장자를 가진 파일 자체만 지정하는 것으로 충분할 것입니다. 다른 위치에서 콘솔을 시작한 경우 아래 명령에 파일의 전체 경로를 포함하십시오. httpd.exe.

Apache를 시작하려면 콘솔에 명령을 입력해야 합니다.

- 폴더에 있는 경우 실행 가능한아파치 파일 httpd.exe:

>httpd.exe

또는 당신이 있다면 밖의아파치 실행 폴더 httpd.exe, 다음 명령에서 지정 가득한실행 경로 아파치:

>Z:\WebDevelopment\Apache24\ bin\httpd.exe

이 명령이 실행됩니다 편물서버 아파치, 콘솔이 유지되는 동안 발사그리고 명령줄 창에서 사라지다명령 프롬프트를 기호로 > . 이러한 명령을 실행할 때 명령줄이 닫히면 일부 문제로 인해 아파치가 시작되지 않은 것입니다. 실수구성에서 이를 위해 기본 로그 파일을 참조하십시오. 아파치.

개시하다 아파치명령줄 창에서 수동으로 어느 간단한 명령으로 파일 시스템 위치:

저것들. 설치 디렉토리를 참조하지 않고 아파치파일의 전체 경로를 지정하지 않고 httpd.exe, 시스템 변수에 등록해야 합니다. 실행 파일이 있는 디렉토리 경로 아파치, 즉. 변수에 추가 다음과 같은 줄:

;Z:\WebDevelopment\Apache24\bin

변수에 추가하는 방법 실행 파일이 있는 폴더의 경로는 문서에 자세히 설명되어 있습니다. Windows에서 PHP를 호스팅하는 STEP 2에서 Windows에 PHP7 설치하기예를 들어 PHP.

만약 아파치시작한 다음 작업 관리자에서 파일 이름이 있는 두 개의 활성 프로세스가 있습니다. httpd.exe그리고 그들에 대한 설명 " 아파치 HTTP 서버". 이것은 실제로 작동합니다. 편물섬기는 사람 아파치. 우리가 보는 것 프로세스 httpd.exe- 이것은 정상입니다. 이것은 아파치 모듈입니다. 다중 처리 (MPM ) 운영 체제의 경우 기본적으로 . 실행되는 단일 제어 프로세스를 사용합니다. 어린이차례로 생성하는 프로세스 스트림요청을 처리합니다.

문제가 발생하여 서버가 시작되지 않으면 읽으십시오. 오류 로그, 다음 디렉토리에 있습니다. Apache24\로그

을 위한 정류장 아파치위에서 설명한 대로 수동으로 시작하려면 다음으로 돌아가야 합니다. 콘솔(열린 명령 프롬프트 창으로) 키 조합을 누릅니다. Ctrl+C, 부재로 표시된 대로 몇 초 후에 서버가 중지됩니다. httpd.exe프로세스 Windows 작업 관리자명령 프롬프트 창에 커서가 다시 나타납니다( 징후 > ) 명령 입력을 기다리고 있습니다. 때때로 명령줄이 "멈춤"이 발생합니다. 이 경우 Ctrl + C를 다시 누르고 명령 입력 커서가 나타나지 않으면 입력하다. 단축키를 사용하는 경우 Ctrl+C멈출 수 없다 아파치콘솔에서 닫다명령 프롬프트 창과 서버가 중지됩니다. 당신은 또한 멈출 수 있습니다 아파치프로세스를 종료하여 httpd.exe안에 Windows 작업 관리자이전 중지 방법이 작동하지 않는 경우.

htdocs\index.html

지금 언제 편물섬기는 사람 아파치시작되면 기본값을 참조할 수 있습니다. HTML에 구성된 페이지 httpd.conf기본 호스트로, 물리적으로 디렉토리에 위치 Apache24\htdocs\index.html.

Apache를 테스트하려면 브라우저의 주소 표시줄에 다음 주소를 입력하십시오.

http://localhost

서버가 실행 중이면 기본 시작 페이지가 표시됩니다. 편물서버 아파치~에서 아파치 하우스비문과 함께 효과가있다, 모든 것이 잘 진행되었음을 나타냅니다. 아파치완전히 작동합니다.

HTTPS 연결을 확인하려면 다음 웹 브라우저로 이동하십시오.

https://localhost

브라우저는 이 인증서를 사용하기 위해 확인을 요청할 것입니다. 이 인증서를 사용하려면 수동으로 활성화해야 합니다. 어셈블리에 포함된 인증서는 테스트용입니다. https연결 및 자체 서명되므로 처음에는 브라우저에서 거부되며 사용 승인이 필요합니다. 브라우저에 허용된 인증서에 인증서를 추가하면 시작 페이지가 다시 열립니다. 아파치, 그러나 연결은 이미 다음으로 안전합니다. https사용하는 프로토콜 SSL암호화.

4단계 Apache를 Windows 서비스로 설치하기

위의 시작 및 중지 방법 편물서버 아파치훌륭하게 작동하며 실행 파일에 대한 바로 가기를 만들어 성공적으로 사용할 수 있습니다. httpd.exe또는 서면으로 .박쥐서버를 시작하고 중지하는 명령이 있는 파일. 하지만, 사용하는 것이 더 편리할 것입니다. 아파치어떻게 전신 서비스 , 시작 및 중지할 수 있습니다. 아파치자동, 반자동 및 수동 모드에서. 이러한 작업을 위해 관리 유틸리티를 사용할 수 있습니다. 아파치이 배포판에 포함된 서비스 아파치. 아파치모니터.exe이것은 시스템 트레이에 매달려 있고 Apache 서비스를 시작 및 중지하고 상태를 모니터링할 수 있도록 하는 창 프로그램인 작은 유틸리티입니다. 이 접근 방식은 Apache 웹 서버를 시스템 서비스로 사용하는 데 약간의 편의를 제공합니다. . 따라서 Apache를 Windows 시스템 서비스로 설치하기 위해 다음 단계를 수행합니다.

사용 가능한 Apache 명령 목록을 보려면 콘솔에 다음을 입력하십시오.

>Z:\WebDevelopment\Apache24\bin\httpd 도움말

또는, Apache 바이너리 디렉토리에 있는 동안:

>httpd -h

콘솔에 표시됩니다 짧은 돕다사용 가능 아파치 명령어및 해당 구문:

>httpd -h 사용법: httpd [-D 이름] [-d 디렉토리] [-f 파일] [-C "지시어"] [-c "지시어"] [-w] [-k 시작|다시 시작|중지|종료 ] [-n 서비스 이름] [-k 설치|구성|제거] [-n 서비스 이름] [-v] [-V] [-h] [-l] [-L] [-t] [-T] [- S] [-X] 옵션: -D 이름: 지시문에서 사용할 이름 정의 -d 디렉토리: 대체 초기 ServerRoot 지정 -f 파일: ​​대체 ServerConfigFile 지정 -C "지시어": 구성 파일을 읽기 전에 지시문 처리 -c "directive": 구성 파일을 읽은 후 지시문을 처리합니다. -n name: 서비스 이름을 설정하고 해당 ServerConfigFile 및 ServerRoot를 사용합니다. -k start: Apache를 시작하도록 지시합니다. -k restart: Apache를 실행하여 정상적인 재시작을 수행하도록 지시합니다. -k stop|shutdown: tell Apache를 실행하여 종료 -k 설치: Apache 서비스 설치 -k config: 시작 변경 Apache 서비스 옵션 -k 제거: Apache 서비스 제거 -w: 오류 발생 시 콘솔 창 열기 -e 레벨: 레벨의 시작 오류 표시 (LogLevel 참조) -E 파일: 시작 로그 파일에 대한 오류 -v: 버전 번호 표시 -V: 컴파일 설정 표시 -h: 사용 가능한 명령줄 옵션 나열(이 페이지) -l: 모듈에서 컴파일된 목록 -L: 사용 가능한 구성 지시자 나열 -t -D DUMP_VHOSTS: 구문 분석된 vhost 표시 설정 -t -D DUMP_RUN_CFG: 구문 분석된 실행 설정 표시 -S: -t -D DUMP_VHOSTS -D DUMP_RUN_CFG -t -D DUMP_MODULES: 로드된 모든 모듈 표시 -M: -t -D DUMP_MODULES -t -D에 대한 동의어 DUMP_INCLUDES: 포함된 모든 구성 파일 표시 -t: 구성 파일에 대한 구문 검사 실행 -T: DocumentRoot(s) 검사 없이 시작 -X: 디버그 모드(하나의 작업자만, 분리하지 않음)

을 위한 설치

>Z:\WebDevelopment\Apache24\bin\httpd.exe -k 설치

을 위한 제거 Apache를 Windows 시스템 서비스로 사용하려면 콘솔에서 다음 명령을 실행해야 합니다.

>Z:\WebDevelopment\Apache24\bin\httpd.exe -k 제거

설치 후 아파치시스템 서비스로 모든 Windows 서비스에 대해 표준 방식으로 작동하도록 이 서비스를 구성할 수 있습니다. Microsoft 관리 콘솔- 스냅 서비스.msc그것을 실행 cmd.exe명령:

>서비스.msc

또는 다른 표준 방법 사용:

  • 시작 메뉴, 검색창에 입력 서비스.msc Enter 키를 누릅니다.
  • 단축키 누르기 승+R, 다이얼 서비스.msc Enter 키를 누릅니다.
  • 도중에 창 인터페이스를 통해: 시작 -> 제어판 -> 관리 도구 -> 서비스

설치된 서비스 아파치가질 것이다:

  • 제목: 아파치2.4;
  • 설명: Apache/2.4.23(Win64) OpenSSL/1.0.2j;
  • 시작 유형: 자동으로.

필요한 서비스 시작 옵션을 표준 방식으로 구성합니다.

또한 서비스를 관리하기 위해 아파치2.4서버 배포 키트에서 위에서 설명한 프로그램을 사용할 수 있습니다. Apache24\bin\ApacheMonitor.exe. 이렇게 하려면 지정된 파일을 실행하십시오. 아파치모니터.exe시작하거나 중지하는 데 사용 아파치프로그램 창의 버튼. 최소화하면 이 프로그램이 시스템 트레이에 서비스 상태 아이콘으로 "중단"됩니다. 아파치거기에서 호출할 수 있습니다.

이에 가지고 다닐 수 있는설치 아파치~에서 지퍼아카이브가 완료되면 개별 설정으로 진행할 수 있습니다. 편물서버 및 가상 호스트.

이 섹션에서는 다음을 다룰 것입니다. 아파치 http 서버가 작동하는 방식. 물론 Windows에 Apache를 설치하여 시작하겠습니다. 대부분의 호스트는 Apache를 웹 서버로 사용하므로 모든 웹마스터는 이 서버로 작업하는 기본 사항을 알아야 합니다.

이번 포스팅에서는 웹서버가 무엇인지 이해하고, 아파치 서버의 몇 가지 기능과 Windows를 실행하는 컴퓨터에 설치하고, 마지막으로 아파치 설치 시 발생할 수 있는 오류에 대해 알아보겠습니다. Windows 7 이상에서 .

Apache 웹 서버는 무엇이며 무엇을 위한 것입니까?

우리는 인터넷에서의 상호작용이 참조 모델에 의해 완전히 설명될 수 있다는 것을 알고 있습니다. 웹 개발자에게는 참조 모델의 6단계와 7단계에 있는 프로토콜과 기술이 가장 큰 관심을 받습니다. 일곱 번째 수준의 모든 프로토콜 중에서 가장 관심이 있는 것은 클라이언트-서버 아키텍처를 기반으로 합니다.

다음과 같이 했습니다. C 드라이브의 루트에 Server 폴더를 만들고 그 안에 apache, tmp, www, log, php라는 네 개의 폴더를 더 만들었습니다. 이 설명서에서 모든 폴더가 사용되는 것은 아닙니다. 이 모든 것이 아래 그림에 나와 있습니다.

www 폴더에서 다음 내용으로 Index.html이라는 간단한 폴더를 만들었습니다.

결제 페이지

작동 중인 아파치



< ! DOCTYPE html >

< html lang = "ru-RU" >

< head >

< meta charset = "UTF-8" >

< title >결제 페이지< / title >

< link rel = "stylesheet" type = "text/css" href = "style.css" / >

< / head >

< body >

< h1 >작동 중인 아파치< / h1 >

< / body >

< / html >

이 문서에는 하나만 있고 Apache 웹 서버 설치가 완료된 후 열 수 있다면 모든 것이 제대로 된 것입니다. 웹 서버를 추가로 설치하려면 .

(다른 기사에서 Apache 2.4.34의 매개변수 구성에 대해 읽을 수 있습니다.)

Windows에서 Apache 설치 문제

Windows에 Apache 웹 서버를 설치할 때의 가장 큰 문제점은 배포 초기 설치 후 전체 패키지(실행 프로그램, 구성 파일, 서버 로그 파일 및 웹 페이지 호스팅을 위한 파일 영역)가 한 곳에 위치한다는 것입니다. 이는 다음과 같은 이유로 제품의 정상적인 작동을 방해합니다.

  • 접근권한의 차별화. 실행 파일은 변경되지 않은 상태로 유지되어야 하고 구성 파일은 웹 서버 관리자가 관리해야 하며 웹 페이지 파일 영역은 개발자와 사이트 관리자가 액세스해야 합니다. "Program Files" 폴더에 대한 권한은 수정할 필요가 없는 소프트웨어 패키지의 실행 가능한 모듈이 포함되어 있다는 가정 하에 구성됩니다.
  • 어수선한 시스템 폴더. Windows 운영 체제의 "Program Files" 폴더는 처음에 실행 파일만 포함하도록 설계되었습니다. 이는 상대적 지속성을 가정하여 시스템 관리자가 크기를 선택하는 별도의 볼륨에 있을 수 있습니다. 확실히 아무도 이 폴더가 사용자 데이터, 이미지 갤러리 및 사이트의 파일 아카이브를 저장할 것이라고 예상하지 않습니다.

따라서 Windows에서 Apache 설치는 두 단계로 수행해야 합니다.

  1. 선택한 폴더에 소프트웨어 패키지의 초기 설치.
  2. 웹 서버의 파일 영역 배치 최적화 및 해당 구성 변경.

Apache 구성 파일을 수정할 때 항상 다음 사항을 기억해야 합니다. "슬래시" 문자는 파일 및 폴더의 경로 구분 기호로 사용해야 합니다., Unix 및 Linux 운영 체제에서와 같이 Windows에서와 같은 "백슬래시"가 아닙니다.

초기 설치

설치하려면 Windows XP SP3 이상이 필요합니다(이 레거시 버전에는 VC9 또는 VC10 컴파일러로 구축된 웹 서버가 필요함). Apache의 최신 빌드는 Windows 2000 운영 체제를 지원하지 않습니다.

Windows용 Apache 배포 패키지는 Apache Lounge(문서가 있는 버전 2.4만 해당) 또는 Apache Haus(문서가 없는 버전 2.4 및 2.2)의 두 "공식" 공급업체 중 하나에서 다운로드할 수 있습니다. 배포 키트 공급업체의 의도에 따라 C: 드라이브의 루트에 압축을 풀어야 하는 ZIP 아카이브입니다.

우리는 여전히 웹 서버 파일 구조의 배치를 최적화할 것이기 때문에 초기 설치는 웹 서버 실행 모듈(exe-, lib-, so-files 및 변경될 수 있음). 이것은 "Program Files" 시스템 폴더이거나 시스템 관리자가 선택한 다른 폴더일 수 있습니다.

초기 설치 후 파일이 있는 폴더를 "기본" 폴더에서 디스크의 다른 위치로 이동해야 합니다. 이 폴더는 "이념적으로" 웹 서버에 속하지 않고 웹 사이트에 속합니다. 명확성을 위해 배포판의 압축을 풀면 모든 구성 요소가 "C:\Program Files\Apache24" 폴더에 있고 웹 사이트는 "D:\www" 폴더에 있다고 가정합니다.

파일 영역 레이아웃 최적화

설치 직후 Apache 소프트웨어 패키지의 폴더 구조는 다음과 같습니다.

Bin - 웹 서버 실행 파일.
cgi-bin— 웹 사이트 CGI 스크립트.
회의- 웹 서버 구성 파일.
error - HTTP 프로토콜 오류 페이지.
htdocs- 웹 사이트의 파일 영역(즉, 웹 사이트가 여기에 위치).
아이콘 - 웹 서버 아이콘
include - VC 컴파일러로 웹 서버를 구축할 때 필요한 헤더 파일(h-files)을 포함합니다.
lib - 웹 서버 라이브러리 파일.
로그- 웹 서버의 로그.
매뉴얼 - HTML 형식의 문서.
모듈 — 웹 서버의 추가 프로그램 모듈(so-files).

위에 나열된 폴더 중 4개(cgi-bin, conf, htdocs 및 logs)는 웹 서버 기본 폴더에 속하지 않습니다. 웹 사이트의 작업 폴더인 "D:\www"로 복사해야 합니다. 원래 폴더는 삭제할 수 있지만 웹 서버 설정 중에 문제가 발생하는 경우 초기 상황을 복원하는 데 필요할 수 있습니다. 반면에 같은 위치에 그대로 두면 웹 서버의 불완전한 구성으로 인해 원하는 폴더가 아닌 이러한 폴더가 사용되는 경우가 발생할 수 있습니다. 따라서 복사한 후에는 각각 cgi-bin.0, conf.0, htdocs.0 및 logs.0으로 이름을 변경하는 것이 좋습니다.

새 파일 구조로 조정

이제 구성 파일 "D:\www\conf\httpd.conf"의 매개변수에 웹 서버의 실제 파일 구조를 반영할 수 있습니다.

  1. 서버루트"C:/프로그램 파일/Apache24" # 웹 서버의 기본 폴더 경로
  2. PID 파일"D:/www/logs/httpd.pid" # 웹 서버의 프로세스 ID
  3. 문서 루트"D:/www/htdocs" # 웹사이트가 호스팅되는 곳입니다.
  4. <예배 규칙서"디:/www/ htdocs"> # 웹 사이트 폴더 속성

  5. 오류 기록"D:/www/logs/error.log" # 웹 서버 오류 로그
  6. 커스텀로그"D:/www/logs/access.log" 공통 # 웹 서버 활동 로그
  7. ScriptAlias ​​​​/cgi-bin/"D:/www/cgi-bin/" # 서버 CGI 스크립트 폴더
  8. <예배 규칙서"디:/www/ cgi-bin"> # 서버 스크립트 폴더 속성

  9. 유형 구성 D:/www/conf/mime.types # MIME 유형에 대한 설명
  10. 포함"D:/www/conf/extra/ httpd-manual.conf" # 첨부 문서에 대한 설정

2단계에서 PidFile 매개변수가 있는 행을 구성 파일에 추가해야 합니다. 이 매개변수는 참조 구성 파일에 없기 때문입니다. 나머지 매개변수는 이미 구성 파일에 있습니다. 매개변수가 포함된 행을 찾아 원래 폴더 경로를 새 것으로 바꿔야 합니다.

포인트 10에서는 "http://localhost:8080/manual" 링크를 통해 HTML 문서에 액세스할 수 있도록 하려면 Include 매개변수로 해당 행의 주석 처리를 제거하고 포함된 구성 파일에 대한 새 경로를 지정해야 한다고 가정합니다. 그러나 문서의 위치도 변경되었으므로 3단계와 8단계와 유사하게 "D:\www\conf\extra\httpd-manual.conf" 파일을 추가로 변경해야 합니다.

  1. 별칭 일치^/manual(?:/(?:da|de|en|es|fr|ja|ko|pt-br|ru|tr|zh-cn))?(/.*)?$ "C:/프로그램 파일/Apache24/ 수동$1"
  2. <예배 규칙서"C:/프로그램 파일/Apache24/ 수동">

서버 시작 및 설정 확인

웹 서버의 파일 구조를 변경했으므로 다음 명령을 사용하여 서버 실행 모듈을 시작해야 합니다(bat 또는 cmd 파일에 쓸 수 있음): "C:\Program Files\Apache24\bin\httpd.exe " -w -f "D: \www\conf\httpd.conf" -d "C:\Program Files\Apache24\."

사용자 정의 응용 프로그램 모드에서 실행되는 Apache(즉, 방금 표시된 명령줄로 실행)는 +[C] 키 조합으로 중지할 수 있습니다. 문제가 있는 경우 다음 명령을 사용할 수 있습니다. taskkill /f /IM httpd.exe

Apache를 서비스로 설치하려면 "C:\Program Files\Apache24\bin\httpd.exe" 명령을 실행하십시오. -k 설치-f "D:\www\conf\httpd.conf" -d "C:\Program Files\Apache24\."

Apache 웹 서버 서비스 시작 및 중지는 "C:\Program Files\Apache24\bin\httpd.exe" 명령으로 수행됩니다. -k 시작및 "C:\Program Files\Apache24\bin\httpd.exe" -k 중지각기.

"C:\Program Files\Apache24\bin\httpd.exe" 명령을 사용하여 Windows 서비스 목록에서 Apache를 제거할 수 있습니다. -k 제거

웹 서버의 올바른 설치 및 초기 구성을 확인하려면 웹 브라우저에 "http://localhost:80/" URL을 입력합니다. 모든 것이 올바르게 완료되면 "작동합니다!"라는 텍스트가 포함된 페이지가 열립니다.

HTML 형식의 관련 문서가 설치된 경우 "http://localhost:80/manual/"에서 사용할 수 있어야 합니다.

Apache는 "D:\www\conf\access.log" 파일에 사이트에 대한 액세스를 기록합니다. 서버 문제에 대한 정보는 "D:\www\conf\error.log" 파일에 기록됩니다. 분석은 CGI 스크립트 실행을 구성할 때 특히 유용할 수 있습니다.

추가 설정

위에 나열된 설정 외에도 서버가 클라이언트 연결을 수락할 네트워크 인터페이스 설정(IP 주소 및 TCP 포트 번호)을 설정하는 Listen 매개변수의 값을 확인해야 합니다. 단독 웹 개발자가 Apache를 사용하는 경우 다음 구성이 권장될 수 있습니다.

듣다 127.0.0.1:8080 # 네트워크 인터페이스 매개변수

TCP 포트 번호는 컴퓨터에 설치된 다른 소프트웨어와 충돌하지 않아야 합니다. 예를 들어 표준 HTTP 포트 80은 종종 Skype 클라이언트에서 사용됩니다. 네트워크에서 서버를 공유하려면 웹 서버가 설치된 컴퓨터의 올바른 IP 주소 또는 네트워크 이름을 지정해야 합니다.

Apache 웹 서버는 PHP 및 Perl과 같은 서버 측 스크립팅 언어용 인터프리터와 함께 가장 자주 사용됩니다. 웹 사이트에서 PHP 스크립트를 사용하려면(PHP가 C:\PHP5 폴더에 설치되어 있다고 가정) 구성 파일 "D:\www\conf\httpd.conf"에 다음 줄을 추가해야 합니다.

  1. 로드 모듈 php5_module" C:/PHP5/php5apache2_2.dll"
  2. AddType 응용 프로그램/x-httpd-php .php
  3. PHPIniDir "C:/PHP5"

PHP5 폴더에는 php.ini-development 파일(서버가 웹 사이트 개발에 사용되는 경우) 또는 php.ini-production(이것이 실제 웹 섬기는 사람). PHP 모듈이 필요한 모든 동적 라이브러리를 찾으려면 Windows 환경의 PATH 변수에 C:\PHP5 폴더의 경로를 지정해야 합니다.

Perl 서버 측 CGI 스크립트는 두 가지 조건에서 이미 실행 중이어야 합니다.

  1. Perl 인터프리터가 이 컴퓨터에 설치되어 있습니다.
  2. 스크립트 파일의 첫 번째 줄은 Perl 인터프리터의 경로를 올바르게 지정합니다(예: #!C:/PERL/bin/perl.exe -w).

확인하려면 브라우저에 URL(http://localhost:8080/cgi-bin/printenv.pl)을 입력하면 됩니다. 이전에 단락 2에 따라 printenv.pl 스크립트의 첫 번째 줄을 수정했습니다.

Windows에서 Apache 웹 서버를 설정하는 나머지 뉘앙스는 이 기사의 범위를 벗어납니다.

웹 서버는 64비트 Windows 플랫폼에 설치됩니다. 기업의 서버 1c도 64비트, 플랫폼 버전 8.3.10.2561입니다.

  • Apache를 설치하려는 첫 번째 시도는 XAMPP를 사용하는 것이었습니다. 기술 부족으로 인해 "이륙"하지 않았습니다.
  • 계속은 IIS에서 이루어졌습니다. 여기에 기업의 1c 서버의 32비트 웹 확장을 설치하기로 결정한 1c 인포베이스의 출시로 어려움이 있었지만 64비트 플랫폼만 설치하는 것으로 버티고 싶었다. IIS와 버그 논의
  • 기사의 설명에 따르면 Apache 2.2를 설치했는데 웹서버가 실수로 시작되지 않았다

Apache 2.4에서는 마침내 모든 것이 해결되었습니다.

설치 단계에 대한 설명입니다.

1단계. 배포판 다운로드

4단계: Windows 환경 변수 경로 변경.

경로 환경 변수에서 Apache 실행 파일 C:\Apache24\bin의 경로를 추가합니다.

이 단계를 수행한 Windows Server 2008 R2 및 Windows 7에서 바탕 화면 아이콘 컴퓨터 - 시스템 속성 - 고급 시스템 설정 - 환경 변수를 통해

5단계. C++ 구성 요소 설치

이렇게 하려면 이전에 다운로드한 VC_redist.x64 파일을 실행합니다.

Windows 7 Professional 및 Windows Server 2008 R2에 설치했습니다.

7-ke의 vc 라이브러리는 C:\Windows\SysWOW64 폴더에, Server 2008에서는 C:\Windows\System32 폴더에 설치되었지만 두 시스템 모두 64비트인 것을 확인했습니다.

결과적으로 웹 서버의 작동에는 영향을 미치지 않습니다.

Windows 7에서는 운영 체제를 재부팅해야 했지만 Windows Server 2008에서는 그렇지 않았습니다.

6단계 Apache를 서비스로 설치

관리자 권한 Start-Run-cmd로 명령 패널을 시작하고 폴더를 C:\Apache24\bin으로 변경하고 실행합니다.

httpd.exe -k 설치

서비스 목록 - 시작 - 관리 도구 - 서비스 - Apache 2.4 서비스 - 실행을 찾고 시작 유형을 설정합니다.

이제 웹 서버 설치가 완료되었습니다..

다음 단계는 처음에 링크한 게시물에 잘 설명되어 있습니다.

  • 웹 서버가 실행 중인지 확인 - 브라우저에서 http://localhost를 가리키고 작동하는지 확인하십시오!
  • 다른 컴퓨터에서 액세스할 수 있도록 방화벽 설정
  • 정보 기반의 출판. 여기에서 게시 후 웹 서버 다시 시작에 대한 질문에 대답할 때 자동 다시 시작이 발생하지 않고 웹 서버를 수동으로 다시 시작해야 한다는 것을 알았습니다.

웹 클라이언트를 사용하는 동안 오류가 발생했습니다.

링크를 더블 클릭하여 목록에서 개체를 열 때 나타납니다. 해결 방법은 상황에 맞는 메뉴에서 개체를 여는 것입니다.