맥(Mac)에서 로컬 서버 구동시키는 방법(php, apache)
php파일을 로컬에서 웹서버로 실행시키려면 몇 가지 세팅이 필요하다.
목차
- 아파치(apache), php 버전 확인하기
- 아파치 실행하기
- php파일을 웹으로 띄우기
- 폴더(디렉토리) 접근 권한 해제
- 아파치 재시작
1. 아파치(apache), php 버전 확인하기
터미널, 명령프롬프트에 아래와 같이 입력해보고 존재하지 않으면 다운받고 진행하자. (아파치, php)
$ apachectl -v
$ php -v
현재 상태) 맥북으로 아파치 2.4.41, php 7.3.11버전을 사용하고 있음
2. 아파치 실행하기
$ sudo apachectl start
로컬호스트를 웹에 검색하면 It works! 라고 뜨는 것을 확인할 수 있다.
3. php파일을 웹으로 띄우기
3-1. 웹서버 환경 주석 해제
경로) /etc/apache2/httpd.conf
# Virtual hosts
Include /private/etc/apache2/extra/httpd-vhosts.conf
LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so
3-2. 가상 호스트(virtual host : vhost) 파일 추가
경로) /etc/apache2/extra/httpd-vhosts.conf
<VirtualHost *:80>
ServerName www.demo.com
ServerAlias www.demo.com
DocumentRoot "/Users/demo-src"
# ErrorLog "/private/var/log/apache2/abc.com-error_log"
# CustomLog "/private/var/log/apache2/abc.com-access_log" common
# ServerAdmin demo@gmail.com
</VirtualHost>
- ServerName : 웹에 접속할 도메인 설정
- ServerALias : ServerName의 별명으로 ServerALias로 접근하면 ServerName으로 인식된다.
- DocumentRoot : 로컬에 있는 소스코드 주소
위와 같이 설정을 하면 www.demo.com을 웹에 검색했을 때 /Users/demo-src의 경로를 가르키게 된다.
3-3. 맥에서 Hosts파일을 쉽게 관리해보자
hosts 응용프로그램을 다운받자
+ 버튼을 누르고 ip: 127.0.0.1 hostname: www.demo.com 과 같이 입력하면 저절로 매핑이 되고
쉽고 간단하게 체크박스로 활성 유무를 지정할 수 있다.
4. 폴더(디렉토리) 접근 권한 해제
경로) /etc/apache2/httpd.conf
<Directory />
AllowOverride none
Require all denied
</Directory>
<Directory /Users/demo-src>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Require all denied 때문에 접근이 안 되기 때문에 웹사이트에 호스트를 입력하면
Forbidden
You don't have permission to access / on this server
라고 나올 것이다.
<Directory />
AllowOverride none
Require all denied
</Directory>
Require all denied 밑에
<Directory /Users/demo-src> <- 설정한 경로 입력
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
디렉토리를 추가해서 권한을 추가한다.
5. 아파치 재시작
$ sudo apachectl restart
http://www.demo.com/을 검색하면 로컬에 위치한 파일이 실행된다.
'웹 > HTML & CSS' 카테고리의 다른 글
맥에서 vscode 자동완성 단축키 (0) | 2021.01.05 |
---|---|
em rem 차이 (0) | 2020.09.04 |
[favicon] 파비콘 만드는 방법 - 파비콘 총정리! (0) | 2020.07.02 |
multiline truncation with pure CSS :: css만으로 말줄임표를 해보자 (0) | 2020.06.16 |
::before ::after content에 대해 쌉 이해 가능 (0) | 2020.06.14 |
댓글