아파치 설정하기

아파치는 맥에 포함되어 있지만, 기본적으로 활성화 되어 있지 않다.

활성화 하는 방법은 시스템 환경설정 - 공유 에서 "웹 공유" 를 체크하면 된다. 그런데 본인꺼 (Mountain Lion)에는 보이지 않는다. 그렇다면 터미널을 이용하면 된다. 아니.. 처음부터 터미널만 이용하면 될 것 같다.

1. 아파치 활성화

  • 터미널에서 sudo apachectl start
  • 브라우저에서 http://localhost/ 를 열어서, It works! 라는 글이 나오면 성공.
  • 기본 로컬호스트는 사용자 폴더의 Sites 폴더를 가르킨다. 간혹, /Library/WebServer/Documents 로 되어있는 경우도 있다. 이는 아파치 설정파일을 보면 된다능. 만약 그런 경우 사용자 폴더의 Sites 로 루트를 변경하고 싶다면, httpd.conf (/etc/apache2/)파일을 열어 2군데를 수정한다. 아래 예시처럼 DocumentRoot 라는 부분과 그 살짝 아래 부분에 경로를 바꿔준다.





2. 가상호스트 이름 추가하기

  • cd / 로 가장 상위 폴더로 이동
  • sudo nano /etc/hosts 로 호스트 파일을 연다.
  • 원하는 도메인을 새로운 행에 추가한다. 예) 127.0.0.1  test.local

3. 가상 호스트에 해당하는 폴더 만들기

아래와 같이 가상호스트의 홈으로 지정하려는 폴더를 만들거나 기존 폴더를 활용한다. 여기서는 Sites 폴더 아래 새로운 폴더를 만든다. 그리고 index.html 파일을 만든다.

cd ~/Sites 

mkdir test.local 

cd test.local 

echo "this is test.local" > index.html



4. 가상 호스트 설정 만들기

  • 위에서 만든 폴더로 가상 도메인이 설정되도록 해야 한다. /etc/apache2/users/ 폴더에 자신의 계정과 같은 파일이 존재해야 한다.
  • sudo nano /etc/apache2/users/brownsoo.conf 를 치면 아래 내용이 기본으로 있다.(없다면 그냥 만든다. brownsoo 는 내 계정이름이다)
<Directory "/Users/username/Sites/">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>


  • 아래와 같이 내용을 수정한다.
NameVirtualHost *:80

<Directory "/Users/brownsoo/Sites/">
    Options Indexes MultiViews Includes
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

<VirtualHost *:80>
    ServerName test.local
    DocumentRoot /Users/brownsoo/Sites/test.local
</VirtualHost>


  • 저장한 다음. 아파치를 재시작한다.

sudo apachectl graceful 



업데이트 사항

10.9 Mavericks 부터 가상호스트 설정을 별도 파일로 관리하는 것으로 바뀐듯 하다. 여기를 참고하기 바란다. 요약하자면,,
  • 아파치 설정파일을 열어 아래 주석을 풀어준다.
  • Include /private/etc/apache2/extra/httpd-vhosts.conf
  • 가상호스트 설정 파일 (/etc/apache2/extra/httpd-vhosts.conf)을 열어 아래 내용처럼 추가한다.
<VirtualHost *:80>
    ServerName test.local
    DocumentRoot "/Users/brownsoo/Sites/test.local"

    <Directory "/Users/brownsoo/Sites/test.local">
        Options Indexes MultiViews Includes
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>


5. http://test.local/ 를 브라우저로 확인한다.

* 이제 필요한 만큼 사이트를 추가해서 사용하면 된다능~





PHP 활성화 하기

1. php 활성화를 위해 아파치 설정파일을 연다. sudo nano /etc/apache2/httpd.conf

2. LoadModule php5_module이란 글로 시작하는 부분을 찾아서 # 을 제거해준다.

3. 아파치를 재시작한다.

4. 테스트 php 파일을 작성해서 테스트 해보자.

cd ~/Sites/test.local 

echo "<?php phpinfo(); ?>" > index.php



맥에 PHP 까지 기본으로 있다니, 정말 좋다. 그리고 SSI 도 있다니, 위 사이트를 참고하기 바란다. 우홋!

참고 : http://www.studiotips.net/docs/tips_sql/mysql/phpmyadmin.html



SSI 설정하기

SSI 를 활성화 시켜야 일반적인 웹사이트를 볼 수 있더라구요. 결과적으로 아래 방법까지 해놔야 플래시 임베딩도 잘되고,, 스크립트도 잘 돌아간다.

아파치 설정파일 /etc/apache2/httpd.conf 을 열어서 mime_module 부근에 있는 아래 문장을 주석해제한다.

#AddType text/html .shtml 

#AddOutputFilter INCLUDES .shtml
 


그리고 사용자 설정파일 (/etc/apache2/users/brownsoo.conf) 을 열어서 아래처럼 내용 추가한다.

NameVirtualHost *:80


    Options Indexes MultiViews Includes
    AllowOverride All
    Order allow,deny
    Allow from all

    AddType text/html .shtml .html
    AddOutputFilter INCLUDES .shtml .html

    AddType application/x-httpd-php .html



    ServerName test.local
    DocumentRoot /Users/username/Sites/test.local



* Mavericks 이후 버전이라면, 설정파일(/etc/apache2/extra/httpd-vhosts.conf)에서 이렇게 되겠다.
<VirtualHost *:80>
    ServerName test.local
    DocumentRoot "/Users/brownsoo/Sites/test.local"

    <Directory "/Users/brownsoo/Sites/test.local">
        Options Indexes MultiViews Includes
        AllowOverride All
        Order allow,deny
        Allow from all

        AddType text/html .shtml .html
        AddOutputFilter INCLUDES .shtml .html

        AddType application/x-httpd-php .html
    </Directory>
</VirtualHost>




서브 디렉토리 접근하기

제로보드를 설치해보려고 압축을 풀었는데, 접근이 제한되어 있어서 안된다능.. 터미널에서 접근권한을 설정하는 방법을 검색해보고 해봤지만 여전히 안 되었다. 해결 방법은 FollowSymLinks 를 추가해야 했다. 사용자 설정 파일을 열어서 Directory 태그 안에 추가하자.

Options Indexes MultiViews FollowSymLinks 




요세미티 버전이상이라면, 이것도 추가한다.

Require all granted 




아래 사이트들에 자세히 설명되어 있다.

http://www.456bereastreet.com/archive/201104/apache_with_virtual_hosts_php_and_ssi_on_mac_os_x_106/

Add custom hostname to Apache on OSX 10.9 Mavericks




+ Recent posts