BacGyber's Tricks

'php'에 해당되는 글 1건

  1. Apache 세팅 및 PHP 7.2 설치 on MacOS

Apache 세팅 및 PHP 7.2 설치 on MacOS

□ Tech (Software)

apache 와 php (7.2버젼) 세팅을 최근에 했는데 해당 내용 정리해봅니다.


구글링으로 여러 페이지를 참고해서 진행했습니다.


제가 진행한 방법은.... 약간의 시행착오로 인한 꼼수가 담긴 방법이라

Best Practice 는 아니나 또 나름 편한 장점이 있습니다.


바로 그대로 따라하시지 말고 진행된 Step 을 간단히 훑으신후 

저와 똑같이 하셔도 좋고

아님 제가 언급한 조금 다른 방향으로 진행하시는것이 좋을것 같습니다.


◈ brew install php72 --with-httpd


php72 와 httpd 를 이렇게 설치했습니다.


그런데 어느 순간부터 아파치의 httpd config 위치가 꼬이기 시작했습니다.


apachectl -V 로 확인하면 brew로 세팅된 /usr/local 쪽으로 나오는데

실제 참고한 httpd.conf 는 /private/etc 쪽을 보더군요.



그 이유는 아파치 데몬에서 강제 시작시키는 아파치 설정은 원래대로였기 때문에 그랬던거 같은데

해당 부분만 바로 잡아 진행하시는 것이 가장 좋은 방법 같습니다.


즉 자동실행되지 않게 하고... 데몬 등의 부분에서 모두 brew 에서 설치한 쪽으로 바라보게 해야겠죠.


이 글들이 좋으니 참고가 되실겁니다.


http://lukearmstrong.co.uk/2016/12/setup-apache-mysql-php-homebrew-macos-sierra/


https://gist.github.com/DragonBe/0faebe58deced34744953e3bf6afbec7




그런데... 저는 그렇게 진행하지 않았습니다. 

제 방법은 베스트안이 아닐수도 있지만... 저처럼 진행하시는 것도 나쁘지는 않은거 같습니다.


왜냐면...

저는 리눅스 init demon 설정같은것은 해본적은 있으나 익숙하진 않은데요. 

저와 비슷하신 분이라면 오히려 제 방법이 더 편한 장점이 있습니다. 



제가 진행한 방법 (현재 단계 포함해서 적습니다)



1) brew를 이용한 php7 및 httpd 설치


2) brew --with-httpd 로 생성되었던 아파치 모듈 libphp7.so 를 별도 위치에 백업


3) brew uninstall


brew uninstall httpd

brew uninstall php72


4) 아파치는 맥의 기본 경로쪽으로 세팅


5) php7 설치 


6) Apache - PHP7 연동



자 그럼 다음 내용을 계속 보시죠.

주요 내용 위주로 언급했습니다. (글을 날려먹어서;;)

저처럼 진행하지 않더라도 참고가 되실수 있는 내용들이 포함은 되어 있습니다.


◈ Apache 세팅

원래 MacOs 기본 아파치 쪽에 세팅했습니다.


Apache config 위치 : /private/etc/apache2/httpd.conf


* 아파치 설정파일 위치는 httpd -V 커맨드로 확인 가능합니다.



* 사용자별 세팅


Document Root 를 직접 수정해서 써도 되겠지만...

권장 가이드대로... 사용자별 세팅을 진행해보았습니다.


급하게 하다보면 실수가 있으니 꼼꼼히 하나씩 하시는게 좋을거 같습니다.

실수를 바로 잡는데 이 글이 도움이 되었습니다. 아주 잘 정리해주셨더라구요.


https://xho95.github.io/macos/apache/webserver/mod_wsgi/2016/10/02/Apache-WebServer.html



◈ PHP 설치, 연동

* 주요 커맨드




* PHP 연동 세팅 - /etc/apache2/httpd.conf


php5모듈은 계속 주석처리해두고

php7모듈 라인을 하나 추가했습니다.  


모듈은 위에서 언급한대로... 앞단계에서 생성된 so 파일을  복사를 하여

별도 경로를 만들어 넣어두었습니다.



* OS 보안 (SIP) 때문에 /usr/libexec 에 복사할수 없어서 /usr/local/libexec 경로 생성하여 하위에 복사했음



* PHP 연동 세팅 - /etc/apache2/other/php7.conf


기존에 있던 php5.conf 를 카피해 php7.conf 를 생성후 약간 수정했습니다.

파일 내용 전체를 담아둡니다. 



이렇게 진행하시는게 귀찮으면 그냥 httpd.conf 파일의 해당 부분을 편집하셔도 됩니다...




* php 연동 참고




◈ 그 외 메모

* source ~/.profile 이후 echo $PATH 를 하니 변경한 패쓰가 인식되지 않는것이 좀 이상했습니다.

새로 터미널 창을 오픈하니 적용이 되어있더군요.



* MacOS Sierra 에서 기본 쉘은 bash 네요.

zsh 가독성이 좋다고 한거 같은데... 담에 봐서 사용해봐야겠습니다.



* 아마도 익숙하실apache 기동 관련 커맨드



* test.php. ( //Users/사용자명/Sites )



http:/localhost/~UserName/test.php


캡쳐 사진은 유저 세팅이 아닌... 아파치 루트 계정 Document Root 쪽에 만들어 테스트했을때 캡쳐했던 겁니다.

혹시나 사진에 보이는 url 보고 헷갈리실까봐 말씀드립니다. 



http:/localhost/~UserName

접속시엔 index.html 의  It Works! 가 보입니다.