TIL*

mac에서 php 로컬 개발 환경 세팅하기

mnmhbbb 2022. 4. 27. 21:41

구글에 검색하면 나오는 여러 개발자 분들의 포스팅을 참조해서 시도

Monterey에는 apache가 기본으로 설치되어 있다.
httpd -v

Monterey에는 php가 없기 때문에 설치부터 하기
나는 현재 7.4버전이 필요해서 7.4 설치

brew install shivammathur/php/php@8.0
brew install php@7.4
brew link --overwrite --force php@7.4
echo 'export PATH="/opt/homebrew/opt/php@7.4/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/opt/homebrew/opt/php@7.4/sbin:$PATH"' >> ~/.zshrc

php -v 확인

이제 apache 서버를 실행해보자.

sudo apachectl start

# 아파치 서버 중지하려면
sudo apachectl stop

http://localhost/ 에 접속해보면 It works! 가 보일 것이다.

 

이제 환경설정을 수정할 차례
왜냐면 내가 작업할 코드들을 확인할 수 있도록 경로를 수정하는 등 작업이 필요함
httpd.conf 파일을 찾아서 수정하자.
httpd.conf 파일 열기

sudo vi /etc/apache2/httpd.conf

:123 으로 123줄로 이동할 수 있다.
/ 입력하여 단어를 검색할 수 있고 다음단어 n / 이전단어 N
/DocumentRoot
i 명령어로 경로 부분 수정 후 esc
DocumentRoot "Users/mhbaek/dev"
<Directory "Users/mhbaek/dev"

apache 서버가 php 모듈을 사용하겠다는 옵션을 활성화해야 함
/libphp 검색

을 해야하는데 없다???? 엥???

 

 

그래서이번엔 이 글을 참조해서 다시 시도!
기본으로 설치된 apache 말고
homebrew에서 apache를 설치해서 시도해보기로.

sudo apachectl stop
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
brew install httpd
brew services start httpd

그러면 아파치 서버가 연결된 것을 확인할 수 있다.

이때 httpd -t 명령어를 입력하면 httpd.conf에 어떤 에러가 있는지 확인할 수 있다는 것을 알게 되었다.

brew install httpd 하면 터미널에서 설치된 아파치 환경설정 파일 경로를 알려주는데,
여기에서 cmd + 경로 클릭하면 vscode에서 열린다.
code /opt/homebrew/etc/httpd/httpd.conf 명령어를 입력해도 동일하게 동작함.

참고로 이번에 brew로 설치한 아파치는 위 경로, opt/homebrew/etc/httpd/httpd.conf
기존에 설치되어 있던 아파치는 private/etc/apache2/httpd.conf

vscode에 열어서 수정하고, source /opt/homebrew/etc/httpd/httpd.conf 명령어를 입력해서
수정한 파일을 바로 적용한다.

cd /Users/mhbaek/dev
echo "<h1>My User Web Root</h1>" > index.html
brew services restart httpd

 

드디어!

httpd.conf 추가수정
(https://velog.io/@diduya/macOS%EC%97%90-Homebrew%EB%A1%9C-Apache-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0)

LoadModule alias_module lib/httpd/modules/mod_alias.so
LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so

# 아래 내용 추가
LoadModule php7_module /opt/homebrew/opt/php@7.4/lib/httpd/modules/libphp7.so

source /opt/homebrew/etc/httpd/httpd.conf
brew services restart httpd

echo "<?php phpinfo();" > index.php

다시 localhost 로 들어가보면, 

그리고 루트 디렉토리에 index.html, index.php가 생긴 것을 확인할 수 있다.

 

+)
brew list
brew를 통해 설치할 수 있는 패키지 목록

brew search 패키지명
설치 가능한 패키지 확인

brew tap 패키지명
저장소 만들기

brew doctor
문제가 있으면 보여줌

 

 

출처: 
https://shallwestudy.tistory.com/13

https://velog.io/@msi753/%EB%A7%A5%EB%B6%81%EC%9C%BC%EB%A1%9C-AMP-%EA%B0%9C%EB%B0%9C-%ED%99%98%EA%B2%BD-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0

https://any-ting.tistory.com/86

https://velog.io/@diduya/macOS%EC%97%90-Homebrew%EB%A1%9C-Apache-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0

https://velog.io/@timcodejs/PHP-MacOS%EC%97%90%EC%84%9C-PHP-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0