os/mac

맥에서 아파치 설정하기

cz 2013. 10. 18. 10:29

---- 아래 글은 http://blog.hansune.com/435 을 캡쳐한 글입니다. -----

아파치 설정하기

위 사이트에 자세히 설명되어 있다. 간단히 나열해 보면,,

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

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


1. 아파치 활성화

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






2. DNS 조작으로 가상호스트 추가하기

  • 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


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

<Directory "/Users/username/Sites/">
    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 *:80>
    ServerName test.local
    DocumentRoot /Users/username/Sites/test.local
</VirtualHost>

 



서브 디렉토리 접근하기

제로보드를 설치해보려고 압축을 풀었는데, 접근이 제한되어 있어서 안된다능.. 터미널에서 접근권한을 설정하는 방법을 검색해보고 해봤지만 여전히 안 되었다. 그런데 마운틴 라이온(Mountain Lion) 에서는 서브 디렉토리 접근을 위해서는 FollowSymLinks 를 추가해야 했다. 사용자 설정 파일을 열어서 Options 줄에 추가하자.

Options Indexes MultiViews FollowSymLinks 
. 
. 
. 
.