apachectl -v  // 아파치 설치 확인

맥에서는 최신 버전의 OS인 경우 기본적으로 시스템에 아파치가 설치되어 있다고 하는데 사용하는 맥이 오래되어서 혹시 하고 확인을 해보니 역시나 설치가 안되어 있었음.

 

https://www.javatpoint.com/how-to-install-apache-on-mac

여길 참고해서 apache 웹 서버 설치 시작

 

'we first need to update the index of homebrew package installer.'
일단 homebrew package를 업데이트해야하는 모양인듯? 일단 설치.

$brew update​

 

Install apache 2.0

The homebrew package installer can be used to install Apache 2.0 on MacOS. The installer installs the Apache HTTP server on the location /usr/local/Cellar/httpd .

homebrew package를 통해서 아파치 설치가 가능하고 또 디렉토리가 /usr/local/Cellar/httpd라고 하는 것 같은데 일단 설치를 해보자.

 

아파치를 설치하고 난 후에 웹 브라우저에서 http://localhost에 접속했을 때 It works!라는 문구가 뜨는 화면이 나오면 아파치 웹 서버가 정상적으로 실행된 것이라고 함.

아파치 웹 서버가 정상적으로 실행된 화면

 

이렇게 딱 마무리 됐으면 좋았을텐데 당연히 안됐음.... 처음에 뭐라고 주르륵 뜨긴했는데 httpd가 already running이라길래 실행됐다는건가 싶어서 localhost에 접속을 했는데 It works 화면이 떴다가 새로고침하면 또 연결 안됐다가 뭔가 문제가 있는 것 같았음... 

AH00558?? Set the 'ServerName'?

 

오류를 보니 뭔가 도메인 이름에 문제가 있으니 ServerName을 지정해주라는 내용인듯?했고 일단 구글에 검색하면서 chat gpt에 물어보니 아파치 웹 서버를 시작할 때 발생하는 오류인데 ServerName이 설정되어 있지 않아서 생기는 오류라고 함.

 

해결 방법은 아파치가 설치되어 있는 디렉토리에 있는 conf 파일에 ServerName을 찾아서 주석을 해제하고 이름을 지정해주면 된다고 함.

(+ 해결 방법을 찾다가 ServerName은 위치에 상관없이 conf파일 안에만 ServerName localhost를 추가해주면 된다고 하는데 해보니까 나는 안됐다...여러 위치로 옮겨봤는데도 안됐다.... 왜....?)

아파치가 설치되어 있는 디렉토리

여담으로 conf파일 명이 apache2.conf인 경우도 있고 나처럼 httpd.conf인 경우가 있어서 알아보니 운영체제에 따라서 달라지는 것이라고 한다.

리눅스는 apache2.conf로 mac은 httpd.conf로 배치하는 경우가 많다고 함.

 

ServerName 주석 처리 해체 후 서버이름은 localhost로 지정해줬음

설정 완료 후 다시 다시 아파치 서버를 실행시켜보고 설정 사항 적용해 웹 서버 재로드 명령어도 실행시켜봤는데 여전히 AH00558오류가 떴음.... 구글에 검색을 해봐도 대부분의 해결방법이 위와 같아서 도저히 해결이 안되던 차에 나랑 비슷한 상황에 처한 분을 발견...

 

stack overflow Question

까막눈 영어로 쭉 읽다보니 아파치 서버가 2개여서 충돌한듯 했고 brew install httpd 명령어를 실행하고나서 brew uninstall httpd 명령어를 실행하니 Error가 없어졌다는 것 같다는 걸로 이해함.

(크롬으로 번역하면 뭔가 개떡같이 번역되지만 대충 찰떡같이 알아들을만은 했음)

 

+ 추후에 chat gpt에 물어본 결과

더보기

시스템과 함께 제공된 Apache와 Homebrew를 사용하여 설치한 Apache 2개의 설치가 있었습니다. brew install httpd 명령으로 Homebrew를 통해 설치한 Apache와 시스템에 이미 설치되어 있는 Apache 2개의 웹 서버가 병행 실행되었습니다.

 

문제를 해결하기 위해 brew uninstall httpd 명령을 실행하여 Homebrew를 통해 설치한 Apache를 제거했습니다.

이로 인해 2개의 아파치 웹 서버 중 Homebrew를 통해 설치한 웹 서버가 제거되고 시스템에 기본적으로 제공되는 아파치 웹 서버만 남게 되었습니다.

 

Apache를 2번 설치한 상태에서는 2개의 웹 서버가 서로 충돌하거나 설정이 서로 간섭하는 문제가 발생할 수 있습니다.

하나의 웹 서버만 실행되도록 하기 위해 불필요한 설치를 제거한 것입니다. 설치한 Apache 충돌을 방지하기 위해 하나의 서버만 사용하는 것이 중요합니다.

 

이제 Homebrew 설치한 Apache 제거하고 시스템에서 제공하는 Apache 사용하므로 오류 메시지도 사라지고 Apache 서버가 정상적으로 작동할 것입니다.

 

brew install httpd 명령어 실행하니 이미 설치되어 있다고 reinstall 했다길래 다시 아파치를 실행해보니 여전히 같은 오류가 발생했다.

이번에는 uninstall httpd 명령어를 실행했더니 실행은 성공한거 같았고 일부 파일은 제거가 안된듯 했음.

그리고나서 다시 아파치를 실행시켜보니 아무런 문구가 뜨지 않았고 http://localhost에 접속하니까 It works 화면이 떴고 아파치 웹 서버 실행이 정상적으로 된 걸 확인 할 수 있었음.

1시간 넘게 걸려 찾은 해결책...

 

 

 

<MacOS Apache 명령어>

# Apache 웹 서버 시작
sudo apachectl start

# Apache 웹 서버 재시작
sudo apachectl restart

# Apache 웹 서버 중지
sudo apachectl stop

# Apache 웹 서버 재로드 (설정 파일 변경 사항 적용)
sudo apachectl graceful

 

 

 

 

 

'공부' 카테고리의 다른 글

Ngrok 로컬 서버 실행  (0) 2023.08.07
Tomcat 수동 배포  (0) 2023.08.07
디렉토리에서 파일 생성(/Libary/Webserver/Documents)  (0) 2023.07.18

+ Recent posts