포럼 내용이 있는 곳으로 건너뜀

사과나무 이야기 마당

Mac 사용자 정보 교류 마당 - AppleTree forums for Korean Mac users

로그인하지 않으셨습니다. 로그인 또는 가입해 주세요.

이곳은 Mac 관련 유용한 정보들을 모아 많은 분과 함께 공유하기 위해 운영되고 있습니다. 잠깐 들르시는 나그네라도 자유롭게 글을 올리시고 의견을 나누실 수 있습니다.

새 댓글 작성

새 댓글 작성

새 댓글을 작성합니다.

사용 가능: BBCode 이미지 그림 문자

양식을 전송하기 전에 (필수)라고 표시된 모든 항목을 입력해야만 합니다.

손님인 경우 필수로 요구되는 정보


필수 정보
글 설정 선택사항

글타래 내용 (최신 글 먼저)

9

OS X 10.8 버전에선 과거 시스템 환경 설정의 공유 항목에 있던 '웹 공유(Web Sharing)' 기능을 키고 끄는 스위치가 없어졌다고 하네요. 하지만, Apache(2.2.22)는 기존 위치에 그대로 설치되어 있기는 합니다.

그래서 Apache를 키거나 꺼줄 땐 터미널에서 명령만 내리면 되는데, 과거처럼 시스템 환경 설정에서 이 작업을 해주는 Web Sharing.prefPane을 설치해서 사용할 수도 있네요.

더불어, OS X 10.8에서 Apache, MySQL, PHP 설치 관련 참고 문서입니다.
Install and configure Apache, MySQL, PHP and phpMyAdmin on OSX 10.8 Mountain Lion.

8

Mac OS X 10.6.5에선 Apache 2.2.15 버전이 설치되어 있습니다.

7

Apache 2.2.11 버전이 배포되었습니다. 아래는 갱신된 Mac OS X 10.5의 Universal Binary 용 configure line입니다.

CFLAGS="-arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk" \
./configure \
--prefix=/usr/local/apache2 \
--enable-mods-shared=all \
--enable-proxy-balancer \
--enable-proxy-ajp \
--enable-proxy-http \
--enable-proxy-ftp \
--enable-proxy-connect \
--enable-proxy \
--enable-ssl \
--enable-so

6

Leopard에서는 기본적으로 Apache 2.2.6 버전이 /etc/apache2/ 경로에 설치되어 있어서, 번거롭게 일일이 컴파일해서 설치할 필요가 없게 되었군요.

이젠 간단하게 환경 설정의 공유 항목에서 단추 하나로 아파치 2 서버를 키고 끌 수 있게 되었습니다. 참고로 웹 문서의 root 경로는 httpd.conf에 설정되어 있듯이 /Library/WebServer/Documents/로 지정되어 있습니다. :thumbup:

5

Apache에서 기본 제공하고 있는 icon들은 만들어진 지 너무 오래라 별로 예쁘질 않죠.
그래서, 어떤 한 사용자가 이것을 대치하려고 자신이 만들 예쁜 아이콘들을 공개하였습니다. (아이콘 맛보기) cool

저도 잽싸게 내려받아서 바로 적용해 주었답니다. big_smile

4

다음은 새로 갱신된 Apache 2.2.4를 위한 일반 Mac OS X Universal Binary 용 configure line입니다.

CFLAGS="-arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk" \
./configure \
--prefix=/usr/local/apache2 \
--with-included-apr \
--enable-mods-shared=all \
--enable-proxy-balancer \
--enable-proxy-ajp \
--enable-proxy-http \
--enable-proxy-ftp \
--enable-proxy-connect \
--enable-proxy \
--enable-ssl \
--enable-so

이번 Apache HTTP server 버전에는 새로운 버전의 Apache Portable Runtime (APR)이 추가되어서, 위에서처럼 꼭 --with-included-apr 설정을 해주어야만 오류없이 빌드할 수 있답니다.

3

직접 빌드한 Apache 2를 시스템 환경 설정의 공유 항목에서 실행시키고 끄기

이번에 소개할 요령은, 앞에서 소개된 Apache 바이너리와 같이, 손수 빌드(build)한 Apache 2의 실행 환경을 Mac OS X에 기본 설치된 Apache 1.3.x 버전과 동일하게 만들어서, 손쉽게 시스템 환경 설정의 공유 항목에서 실행시키고 끌 수 있게 하는 방법입니다. 이렇게 해 놓으면, 시스템의 재시동 후에도 특정 시동 항목이나 LaunchDaemon의 설정 없이도 Apache가 자동적으로 실행될 수 있도록 만들 수도 있답니다.

먼저 Apache2의 httpd.conf 파일을 열고 httpd의 실행 권한을 다음과 같이 바꾸어 줍니다.

User www
Group www

다음에, PidFile을 다음과 같이 Mac OS X에 기본 설치된 Apache의 것에 설정되어 있는 값과 같게 해줍니다.

<IfModule !mpm_netware_module>
    PidFile /private/var/run/httpd.pid
</IfModule>

그리고, 기본 Apache 1.3.x 버전의 /usr/sbin/apachectl 파일을 apachectl-1.3이라는 이름으로 바꾸어 따로 남겨놓고, 심볼릭 링크(symbolic link)를 사용해서 원래의 것은 Apache 2의 것으로 대체되도록 합니다.

sudo mv /usr/sbin/apachectl /usr/sbin/apachectl-1.3
ln -s <path to apache2>/bin/apachectl /usr/sbin/apachectl

여기서, <path to apache2> 대신에, 실제 Apache 2가 설치되어 있는 경로를 입력해 주어야 합니다. (주로 /usr/local/apache2)

이렇게 하면, Mac OS X에 기본 설치된 Apache 1.3.x 버전과 거의 비슷한 환경을 구현해 놓게 되면서, 시스템 환경 설정의 공유 항목에서 Apache 2를 키고 끌 수 있게 됩니다.

덤으로, Mac OS X에서는 주기적(주간) 일정으로 비대해진 Apache의 log 파일들을 정리(rotate)하게 되는데, 손수 빌드해서 설치한 Apache 2의 log 파일들을 정리하도록 만들려면 /privat/etc/periodic/weekly/500.weekly에 위치한 주간 실행 shell 스크립트 파일을 열고, httpd log 파일 정리 부분을 다음과 같이 바꾸어 줍니다.

echo ""
printf %s "Rotating httpd log files:"
cd /usr/local/apache2/logs/
for i in access_log error_log; do
    if [ -f "${i}" ]; then
    printf %s " $i"
    if [ -x /usr/bin/gzip ]; then gzext=".gz"; else gzext=""; fi
    if [ -f "${i}.3${gzext}" ]; then mv -f "${i}.3${gzext}" "${i}.4${gzext}"; fi
    if [ -f "${i}.2${gzext}" ]; then mv -f "${i}.2${gzext}" "${i}.3${gzext}"; fi
    if [ -f "${i}.1${gzext}" ]; then mv -f "${i}.1${gzext}" "${i}.2${gzext}"; fi
    if [ -f "${i}.0${gzext}" ]; then mv -f "${i}.0${gzext}" "${i}.1${gzext}"; fi
    if [ -f "${i}" ]; then mv -f "${i}" "${i}.0" && if [ -x /usr/bin/gzip ]; then gzip -9 "${i}.0"; fi; fi
    touch "${i}" && chmod 644 "${i}" && chown root:admin "${i}"
    fi
done
if [ -f /private/var/run/httpd.pid ]; then /usr/local/apache2/bin/apachectl restart; fi
echo ""

위에서, /usr/local/apache2/ 부분은 자신이 설치한 Apache 2의 경로에 맞게 고쳐주어야 합니다.

그리고, Mac OS X에 설치된 Apache는 시스템 특성상 Finder에서 생성된 .DS_Store 파일들을 그대로 전달하게 되면서 보안상의 위험을 노출할 수도 있기 때문에, Apache의 httpd.conf 파일에 있는 .htaccess 파일들을 감추어 주는 설정 부분을 다음과 같이 바꾸어 주어야 합니다.

#
# The following lines prevent .htaccess and .htpasswd files from being 
# viewed by Web clients. 
#
#### For Mac OS X Server: Note the method used to deny access to these
#### files so that files on case-insensitive HFS+ volumes are protected.
#### Also note that .DS_Store files created by the Finder are denied here.
#### (Consider adding .FBCIndex files)
#### (Note: Denying .DS_S* may interfere with Finder WebDAV operation)
#
<Files ~ "^\.([Hh][Tt]|[Dd][Ss]_[Ss])">
    Order allow,deny
    Deny from all
    Satisfy All
</Files>

이렇게 하면, 안전하고 Mac OS X의 환경과도 잘 어울리는 Apache 2 서버를 얻게 된답니다. wink

2

Marc Liyanage씨의 Blog에 가면 Universal Binary로 컴파일되어 있는 Apache 2.2.3를 받을 수 있군요.
간단하게 /usr/local/ 디렉토리에 압축을 풀어놓기만 하면 바로 쓸 수 있습니다.

더불어, Mac에서의 Apache 2와 관련해서 알아두면 도움이 될 만한 환경 설정 요령들

1

Complete Apache 2에 Apache 2.0.55를 심어넣어 갱신해 주기

현재, 많은 사용자들을 가지고 있는 Complete Apache는 2.0.52를 마지막으로 갱신된 지가 오래되었지만, 아래와 같은 방법을 사용하면, Apache 2.0.55 버전으로 갱신해서 계속 사용할 수 있답니다.

먼저, Apache HTTP Server 2.0.55 source를 내려받습니다.

압축을 풀고, 폴더 속에 있는 config.layout 파일을 열어서 끝에 다음과 같은 내용을 추가합니다.

<Layout ServLog> 
prefix: /Library/Apache2 
exec_prefix: ${prefix} 
bindir: ${exec_prefix}/bin 
sbindir: ${exec_prefix}/bin 
libdir: ${exec_prefix}/lib 
libexecdir: ${exec_prefix}/modules 
mandir: ${prefix}/man 
sysconfdir: ${prefix}/conf 
datadir: ${prefix} 
installbuilddir: ${datadir}/build 
errordir: ${datadir}/error 
iconsdir: ${datadir}/icons 
htdocsdir: ${datadir}/htdocs 
manualdir: ${datadir}/manual 
cgidir: ${datadir}/cgi-bin 
includedir: ${prefix}/include 
localstatedir: ${prefix} 
runtimedir: ${localstatedir}/logs 
logfiledir: ${localstatedir}/logs 
proxycachedir: ${localstatedir}/proxy 
</Layout>

저장한 후에, 터미널을 열고 httpd-2.0.54 디렉토리로 이동하고 다음과 같이 컴파일(compile)합니다.(물론, 실행 전에 꼭 Apache 서버를 꺼주어야 합니다):

./configure --enable-layout=ServLog --enable-mods-shared=all --with-ssl=/usr --with-mpm=prefork --enable-ssl --enable-dav --enable-cache --enable-proxy --enable-shared --disable-static --disable-unique-id --disable-ipv6 --enable-logio --enable-deflate --with-ldap --with-ldap-include=/usr/include --with-ldap-lib=/usr/lib --enable-ldap --enable-auth-ldap --enable-cgi --enable-cgid --enable-suexec

설정이 끝나면, 다음을 입력:

make

이렇게 해서, 정상적으로 컴파일이 완료되면, 다음 명령으로 Apache를 설치합니다:

sudo make install

이렇게 해서, 2.0.55버전으로 갱신된 Apache 서버를 정상적으로 계속 사용하실 수 있답니다.

Apache의 이후 버전들도 비슷하게 적용될 수 있습니다만, Apache 2.2 버전의 새로운 기능들을 맛보기 위해 갱신하려면 PHP의 경우도 PHP 5.1.1로 갱신해 주어야 합니다.

덧붙여, Complete Apache 2를 위한 PHP 5 설치 요령은 이곳을 참고.



Mac으로 운영됩니다