m1) Homebrew로 Apache, php설치하기

Monteray 에서 php가 제거 되었으므로  homebrew 로 php를 설치하고 설정해준다

참고:  https://getgrav.org/blog/macos-monterey-apache-multiple-php-versions

 

macOS 12.0 Monterey Apache Setup: Multiple PHP Versions

Grav is a Modern, Crazy Fast, Ridiculously Easy and Amazingly Powerful Flat-File CMS.

getgrav.org

 

 

# 참고
# xcode-select --install # XCode Command Line Tools
# 홈브루 설치
# /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
# 홈브루 환경변수
# .bashrc or .zshrc
	# eval "$(/opt/homebrew/bin/brew shellenv)"


~ brew install openssl # openssl 설치

~ apachectl stop # 아파치 종료
# 아파치 자동실행 중지
~ sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null

# httpd 설치
~ brew install httpd

# httpd 확인
~ brew services start httpd
~ curl localhost

# 참고
# 에러 로그 확인방법
vi /opt/homebrew/var/log/httpd/error_log##ㅇㄹㅁ

# VScode 설치 (옵션) 
~ brew install --cask visual-studio-code
# code symbolic link
# ln -s /Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/code /opt/homebrew/bin/code

# httpd.conf 설정
# orginal conf backup
~ cp /opt/homebrew/etc/httpd/httpd.conf /opt/homebrew/etc/httpd/httpd.conf.ori
# conf 편집
~ vi /opt/homebrew/etc/httpd/httpd.conf
# or
~ code /opt/homebrew/etc/httpd/httpd.conf
	# Listen 8080
    Listen 80
    # DocumentRoot "/opt/homebrew/var/www"
    DocumentRoot "/Users/$USER/Sites"
    # AllowOverride None
    AllowOverride All
    # LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so
    LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so
    # User _www
	# Group _www
    User $USER
	Group staff
    #ServerName www.example.com:8080
    ServerName localhost
    
# Root dir & index.html 생성
~ mkdir ~/Sites
~ echo "<h1>My User Web Root</h1>" > ~/Sites/index.html
~ brew services restart httpd
~ curl localhost # 확인
    
# error log 삭제
~ rm -Rf /opt/homebrew/var/log/httpd/*

# php 섶치 & 설정
~ brew install shivammathur/php/php@7.4
# php 변경
~ brew unlink php && brew link --overwrite --force php@7.4
# php 버전확인
~ php -v
# httpd.conf 수정
~ vi /opt/homebrew/etc/httpd/httpd.conf
	# LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so 밑에 추가한다
	LoadModule php7_module /opt/homebrew/opt/php@7.4/lib/httpd/modules/libphp7.so  
	# 아래 부분을 찾아서 수정
    # <IfModule dir_module>
    #	DirectoryIndex index.html
	# </IfModule>    
    <IfModule dir_module>
  	  DirectoryIndex index.php index.html
	</IfModule>

	<FilesMatch \.php$>
    	SetHandler application/x-httpd-php
	</FilesMatch>
    
~ brew services restart httpd

# root에 test파일 info.php 생성
~ echo "<?php phpinfo();" > ~/S~ites/info.php
# 확인
~ curl localhost/info.php

# 참고 httpd 설정확인
~ brew info httpd
# httpd.conf 문법(syntax) 확인
~ httpd -t

Comment