윈도우즈 10 64비트 환경에서 아파치 웹서버 설치하는 방법입니다.

아파치는 아래 사이트에서 받을 수 있습니다.

 

아파치 웹서버 최신버전 : http://www.apachelounge.com/download/

 

 

압축을 푼다음 해야할 일

저의 경우는 아파치 설치 디렉토리가 C:\Tools\httpd-2.4.20-win64-VC14\Apache24\ 입니다.

해당 디렉토리로 설명합니다.

 

□ 환경 파일 수정( httpd.conf )

환경 파일 위치 : {아파치 설치 디렉토리}/conf

 

1. serverRoot 변경

    ServerRoot "c:/Apache24" → ServerRoot "C:/Tools/httpd-2.4.20-win64-VC14/Apache24"

 

    이때 디렉토리 기호인 \는 가급적 / 로 변경해 주세요. \는 경우에 따라 말을 안듣는 경우가 있습니다.

    또한, #ServerRoot 처럼 앞에 #이 붙어있는데 잘 아시다시피 주석이란 뜻입니다. #도 제거해 주세요.

 

2. Listen 포트 변경 (옵션)

   Listen 80 → Listen ####  ( 보통 네 자리 숫자 )

  

   Listen 포트는 필요에 따라 변경하세요. 저는 그냥 둡니다.

 

3. 컨텐츠 위치 변경

   DocumentRoot "c:/Apache24/htdocs"

   → DocumentRoot "C:/Tools/httpd-2.4.20-win64-VC14/Apache24/htdocs"

  

   아파치는 {아파치 설치 디렉토리"/htdocs 를 기본 Document root로 인식합니다.

   디폴트 설정을 설치된 디렉토리에 맞도록 수정해 줍니다.

   이때도 디렉토리 기호인 \를 / 로 변경해 줍니다.

 

3. 서버명( ServerName ) 변경

   ServerName www.example.com:80 → ServerName localhost:80

   또는

   ServerName www.example.com:80 → 127.0.0.1:80

 

   로 변경해 줍니다. 이래야 브라우저에서 http://localhost/ 를 입력해서 사용할 수 있습니다.

   ( ※ 주의! ) 이때, 뒤 80포트는 위에 Listen 포트를 변경하셨다면 반드시 일치시켜 주셔야 합니다.

 

4. document root 세부 설정 변경

   <Directory "c:/Apache24/htdocs">

      → <Directory "C:/Tools/httpd-2.4.20-win64-VC14/Apache24/htdocs">

 

   이 부분은 의외로 많이 놓치는 경우가 많습니다. 꼭 변경해 줍니다.

 

 

□ Install ( 아파치 서비스 등록 )

이제 처음으로 아파치 서버를 윈도우즈 환경에 등록하는 작업입니다.

반드시 1번은 해야 합니다. 하는 방법은 간단합니다.

 

 

{아파치 설치 디렉토리}/bin 디렉토리로 이동 후 명령 프롬프트( console ) 상에서

 

 

httpd.exe -k install

 

명령을 수행하시면 됩니다.

 

 

 

그런데 보통 이때 첫번 째 시련(?) 옵니다. 종종 아래와 유사한 메세지를 받을 수 있습니다.

 

 

 

 

윈도우즈 64비트용 아파치나 PHP를 설치할 경우 Visual C++ 재배포 가능 패키지가 필요합니다.

위 메세지는 재배포 가능 패키지를 설치해 주면 되는데요.

필요한 버전에 따라 필요한 dll 명칭이 조금씩 달라지므로 확인을 해야 합니다.

이를테면

CVRUNTIME140.dll → Visual Studio 2015 업데이트용

CVRUNTIME120.dll → Visual Studio 2012 업데이트용

 

상황에 맞도록 설치해 줍니다.

 

재배포 가능 패키지 다운로드

Visual Studio 2015 업데이트용 : https://www.microsoft.com/en-us/download/details.aspx?id=48145

Visual Studio 2012 업데이트용 : https://www.microsoft.com/ko-kr/download/details.aspx?id=30679

 

64비트 OS는 x64를 선택하고 32비트 OS는 x86을 선택합니다.

 

 

재배포 가능 패키지 설치가 끝나면 다시 콘솔 화면에서 httpd -k install 을 수행합니다.

그리고, 또한 이때 어김없이 두번 째 시련(?)이 종종 다가 옵니다.

 

 

아놔~~ 이건 멀까요. 관리자 권한( administrator )로 로그인 하지않으셨다면 해당 프로그램을 관리자 권한으로 수행할 수 없어 서비스 등록을 할 수 없다는 윈도우즈의 말씀입니다. 저는 종종 짜증이...

 

관리자 콘솔로 로그인 합니다. 관리자 콘솔인 것은 아래처럼 확인 가능합니다.

콘솔 창 상단에 관리자란 문구가 보이지요?

음, 관리자 콘솔을 어디서 실행하느냐?  아래 사이트를 방문해 보세요.

 

관리자 콘솔 띄우기 : http://slic.tistory.com/410

 

 

 

 

 관리자 콘솔에서 인스톨 명령(httpd -k install)을 다시 실행합니다.

 

 

 

서비스가 등록되었네요. 서비스 등록이 제대로 되었는 지 다시 한번 확인 합니다.

services.msc를 가만히 입력해 봤을 때 아래처럼 나오면 일단은 성공입니다.

 

 

 

 

□ 아파치 실행

두둥! 이제 실행  시켜 봅니다.

윈도우즈 콘솔 창에서 아래와 같이 입력해 봅니다.

단, 윈도우즈 10은 보안이 좀더 강합니다.

윈도우즈 10이라면 관리자 콘솔에서 수행하셔야 합니다.

 

httpd -k start

 

 

실행되면 위처럼 아무런 메세지도 나오지 않습니다. 실제 수행되었는 지 확인이 필요하다고요?

음, 의심병은 건강을 해치는 지름길입니다만,

services.msc를 실행해 보면 아래와 같이 Apache2.4 서비스가 "실행" 된 것으로 나오지요.

참고로, 서비스 창에서 아파치 실행 / 중지도 가능합니다.

  

 

이제 브라우저를 통해 테스트 해봅니다.

 

 

여기까지 왔다면 성공입니다. 이제 아파치 고고!! 하시기 바랍니다.

참고로, 아파치 종료는

 

httpd -k stop

 

입니다.

반응형

'programming > Java' 카테고리의 다른 글

윈도우즈10 64bit PHP 설치 및 아파치 연동  (0) 2016.05.22

FIFO ( First In First Out ) 방식 : 가장 먼저 입력된 데이터가 가장 먼저 출력되는 구조


#include <queue> 를 추가해야 사용할 수 있음

 

□ 메소드

 

 메소드

 내용 

 empty()

 큐가 비었는지 확인. 반환값 true : 비어있음, false : 비어있지 않음

 size()

 큐에 존재하는 원소 개수

 front()

 큐의 맨 처음 삽입( 맨 앞의 )된 원소 반환 ( 주의 : 삭제하지 않음 )

 back()

 큐의 맨 나중 삽입( 맨 뒤의 )된 원소 반환

 puch( element )

 큐의 맨 뒤에 새로운 원소 추가

 pop()

 큐의 맨 앞에 위치한 원소 삭제 ( 주의 : 반환값 void, 즉, 삭제한 원소를 반환하지 않음 )

 

queue의 경우 pop 연산이 개체 반환없이 삭제를 하므로 사용전 front 연산을 통해 개체를 참조해야 함

반응형

'programming > C&C++' 카테고리의 다른 글

STL stack  (0) 2015.06.18
MSDN Stack  (0) 2015.06.18
error C4996: 'GetVersionExA': was declared deprecated  (0) 2015.05.17

LIFO ( Last In First Out ) 방식 : 나중에 입력된 데이터가 나중에 출력되는 구조


#include <stack> 를 추가해야 사용할 수 있음



□ Method

 Method

 내용 

 empty

 stack이 비었으면 true 반환 

 size

 stack에 담긴 개체(원소) 개수 반환

 top

 stack의 맨 마지막 개체를 제거하지 않고 반환 

 push

 stack의 맨 마지막에 개체 추가

 pop

 stack의 맨 마지막 개체를 삭제. 단, 반환하지 않음


stack의 경우 pop연산이 개체 반환없이 삭제를 하므로 사용전 top연산을 통해 개체를 참조해야 함


반응형

'programming > C&C++' 카테고리의 다른 글

STL queue  (0) 2015.07.27
MSDN Stack  (0) 2015.06.18
error C4996: 'GetVersionExA': was declared deprecated  (0) 2015.05.17



□ MSDN의 Stack

  - MSDN의 stack은 표준 C++ STL 라이브러리의 stack과 다름에 유의


관련사이트 : MSDN stack


□ Method

 이름

 설명 

 Clear

 모든 개체를 제거

 Clone

 복사본 생성 

 Contains

 해당 요소가 Stack 내에 존재하는지 확인 

 CopyTo

 지정한 배열 인덱스에서 시작하여 기존 1차원 Array에 복사

 Equals

 서로 동일한 개체인지 확인 ( Object에서 상속 ) 

 Finalize

 리소스를 해제 ( Object에서 상속 )

 GetEnumerator

 IEnumerator 반환 

 GetHashCode

 기본 해시 함수로 작동 ( Object에서 상속 ) 

 GetType

 현재 인스턴스의 Type을 반환 ( Object에서 상속 )

 MemberwiseClone

 현재 Object의 단순 복사본 생성 ( Object에서 상속 ) 

 Peek

 Stack의 맨 마지막 개체를 제거하지 않고 반환 

 Pop

 Stack의 맨 마지막 개체를 제거하고 반환 

 Push

 Stack의 맨 마지막에 개체를 추가 

 Synchronized

 동기화되어 스레드로부터 안전하게 보호

 ToArray

 Stack을 새 배열( Array )에 복사 

 ToString 

 Stack을 나타내는 문자열 반환 ( Object에서 상속 )



반응형

'programming > C&C++' 카테고리의 다른 글

STL queue  (0) 2015.07.27
STL stack  (0) 2015.06.18
error C4996: 'GetVersionExA': was declared deprecated  (0) 2015.05.17

error C4996: 'GetVersionExA': was declared deprecated
error C4996
: 'GetVersionExW' was declared deprecated

 

 

1. This is because SDL check, try to disable SDL checks:

  Project Properties > Configuration Properties > C/C++ > General > SDL checks [set to No]

 

2. #pragma warning(disable: 4996)

 

 

반응형

'programming > C&C++' 카테고리의 다른 글

STL queue  (0) 2015.07.27
STL stack  (0) 2015.06.18
MSDN Stack  (0) 2015.06.18

+ Recent posts