티스토리 뷰
아파치 웹 서버 구동하기
아파치를 구동하려면 먼저 아파치를 설치해야 하지만, 맥에는 이미 기본적으로 아파치 와 php가 설치되어 있습니다. 따라서 따로 설치 과정은 필요없으며, 사용하려면 각 기능을 활성화 해주면서 필요에 따라 설정만 변경해 주면 됩니다.(mac 은 편하다.)
1. 아파치 버전 확인하기
아파치와 php가 설치되어 있다면, 각각의 버전은 다음과 같은 명령어로 확인할 수 있습니다.
$ apachectl -v
Server version: Apache/2.4.27 (Unix)
Server built: Aug 8 2017 11:40:15
$ php -v
PHP 5.6.30 (cli) (built: Aug 8 2017 12:20:45)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
위 명령을 실행해서 버전 결과가 나온다면 바로 서버를 실행해서 확인 할 수 있습니다.
만일 최신 버전으로 바꾸고 싶다면 직접 다운 받아서 설치해주면 된다.
2. 아파치 실행하기
아파치 시작하는 방법은 아래와 같습니다.
$ sudo apachectl start
아파치를 실행하려면 관리자 권한이 필요하므로 명령의 맨 앞에 sudo를 붙여줘야 합니다. 위와 같이 입력하면 비밀번호를 입력하라는 표시가 나오는데 관리자 비밀 번호를 입력하면 됩니다. 매번 sudo 붙이기 귀찮으면 $ sudo su 명령어로 root 권한으로 들어 가면 된다.
3. 아파치 실행 확인하기
아파치를 실행한 후 브라우저에서 localhost 또는 127.0.0.1로 접속하면 큰 문제가 없다면 브라우저 창에 아래와 같은 결과를 볼 수 있습니다.
이것은 브라우저가 기본(default) index 페이지를 열었기 때문입니다. 기본 index 페이지는 /Library/WebServer/Documents 폴더에 존재하는데, 이는 default로 해당 폴더가 DocumentRoot로 지정되어 있기 때문입니다. /Library/WebServer/Documents 이 경로는 자신이 원하는 경로로 바꿔주어도 상관 없다.
해당 폴더에 가면 index.html.en 파일이 있음을 확인할 수 있습니다.
httpd.conf
4. php 활성화
#LoadModule userdir_module libexec/apache2/mod_userdir.so
LoadModule alias_module libexec/apache2/mod_alias.so
#LoadModule rewrite_module libexec/apache2/mod_rewrite.so
LoadModule php5_module libexec/apache2/libphp5.so
#LoadModule perl_module libexec/apache2/mod_perl.so
LoadModule hfs_apple_module libexec/apache2/mod_hfs_apple.so
httpd.conf 에서 위에 나와 있는 부분이 주석으로 되어 있는 걸 제거하면 된다.
그리고 아파치를 재시작해준다.
$ sudo apachectl restart
5. 사용자 활성화 필요시 (
Forbidden 403, You don’t have permission to access / on this server)
$ sudo vi /etc/apache2/httpd.conf
<IfModule unixd_module>
#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
# User _www
# Group _www
User mac
Group staff
</IfModule>
$ sudo apachectl restart
6. php 활성화 확인
$ cd /Library/WebServer/Documents/
$ vi index.php
<? phpinfo() ?>