Big Sur 필수 라이브러리 설치를 위해 아래 명령어를 수행합니다.
> brew install openssl
내장 Apache가 이미 실행 중인 경우 먼저 종료하고 자동 로드 스크립트를 제거해야 합니다.
> sudo apachectl stop
> sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
Brew에서 제공하는 Apache HTTPD (오픈 소스 기반 웹 서버)의 새 버전을 설치해야 합니다.
> brew install httpd
설치하면 아래와 같이 DocumentRoot와 아파치 설정 파일의 경로( /opt/homebrew/etc/httpd/httpd.conf)를 알려줍니다.
새 Apache 서버가 자동으로 시작되도록 합니다.
> brew services start httpd
http://localhost:8080 브라우저에 접속하면 "It works!"라는 간단한 헤더가 표시되어야 합니다.
이 작동하는 웹 서버를 "로컬 개발 서버"로 작동하도록 일부 구성을 변경해주어야합니다.
code 터미널 명령을 사용하여 Visual Studio Code 를 열어 파일을 편집해줍니다.
만일 code 명령어가 수행되지 않는다면 visual studio code의 command palette 에서 아래를 수행해줍니다.
✅ httpd.conf 파일의 경로를 잘 체크하고 열어줍니다.
> code /opt/homebrew/etc/httpd/httpd.conf
🛠 아파치 설정 파일에서 포트의 default 값을 8080에서 80으로 바꾸어 줍니다.
Listen 8080 => Listen 80
🛠 아파치의 DocumentRoot 가 자신의 홈 디렉토리에 있는 폴더(ex. Documents/Sites)를 가리키도록 변경해 줍니다. 바로 밑의 Directory 테그도 새 문서 루트를 가리키도록 변경해줍니다.
DocumentRoot "/usr/local/var/www" <Directory "/usr/local/var/www"> => DocumentRoot "/Users/your_user/Documents/Sites" => <Directory "/Users/your_user/Documents/Sites">
🛠 동일한 Directory블록에서 AllowOverride 설정을 다음과 같이 변경해 줍니다.
AllowOverride None => AllowOverride All
🛠 주석 처리된 mod_rewrite 를 활성화 해줍니다.
LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so
🛠 기본적으로 Apache는 사용자 daemon 및 그룹 으로 실행됩니다. 우리의 홈 디렉토리에 있는 파일에 접근 할 수 있도록 User와 Group을 변경해줍니다.
User _www Group _www => User your_user => Group staff
#ServerName www.example.com:8080 => ServerName localhost
이제 Sites (홈 디렉토리의 폴더)를 가리키는 Apache가 구성되었습니다.
apache가 가리키는 Sites 폴더를 생성하지 않았다면, 터미널 창을 열어 아래를 수행합니다.
> mkdir /Users/your_user/Documents/Sites
> cd /Users/your_user/Documents/Sites
> echo "<h1>My User Web Root</h1>" > index.html
구성 변경 사항이 적용되었는지 확인하려면 Apache를 다시 시작합니다.
> brew services stop httpd
> brew services start httpd
http://localhost:80 브라우저에 접속하면 "My User Web Root"라는 간단한 헤더가 표시되어야 합니다.
조금 전의 아파치 설정 파일(/opt/homebrew/etc/httpd/httpd.conf)에서
LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so
아래에 다음 libphp모듈을 추가합니다.
✅ libphp5.so 경로를 잘 체크해야합니다.
LoadModule php5_module /opt/homebrew/opt/php@5.6/lib/httpd/modules/libphp5.so
PHP용 디렉토리 인덱스를 명시적으로 설정해야 하므로 다음 블록을 변경해줍니다.
<IfModule dir_module> DirectoryIndex index.html </IfModule>
=>
<IfModule dir_module> DirectoryIndex index.php index.html </IfModule> <FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch>
php가 설치 되어 있지 않다면 아래 명령을 수행해줍니다.
> brew tap shivammathur/php
> brew install shivammathur/php/php@5.6
apache를 다시 실행하고 Sites 폴더 아래에 php 파일을 작성해줍니다.
> brew services stop httpd
> brew services start httpd
> cd /Users/your_user/Documents/Sites
> echo "<?php phpinfo();" > index.php
http://localhost:80 브라우저에 접속하면 phpinfo 내용이 나옵니다.
> brew install shivammathur/php/php@7.4
아파치 설정 파일(/opt/homebrew/etc/httpd/httpd.conf)에서 libphp5.so 경로를 수정
LoadModule php7_module /opt/homebrew/opt/php@7.4/lib/httpd/modules/libphp7.so
PHP 버전에 대해서도 이해가 필요할듯 하다.
PHP 5.6 2018년 12월 31일
PHP 7.0 2018년 12월 3일
PHP 7.1 2019년 12월 1일
PHP 7.2 2020년 11월 30일
PHP 7.3 2021년 12월 6일
보안 성능 지원 3가지 측면에서 PHP 버전을 업데이트 하던가
PHP 7.4 or 8.?? 버전을 써야겟구나