목차

<title> 맥에서의 아파치 서버 설정 </title>

관련 링크

NGINX 디렉토리 리스팅 켜기

기본 실행

아래 파일이 있다면, 우선 기본 설정만으로 실행 가능

/usr/sbin/apachectl

/System/Library/LaunchDaemons/org.apache.httpd.plist 요 데몬 파일을 켜고 끄는 스크립트.

시작

sudo apachectl start

종료

sudo apachectl stop

재시작

sudo apachectl restart

실행 확인

ps -ef | grep http

http 프로세스가 여러개 떠 있으면 실행 중. 뭐 아래 비슷하게 떠 있으면 오케이.

$ ps -ef | grep http
    0  2248     1   0  3:27PM ??         0:00.32 /usr/sbin/httpd -D FOREGROUND
   70  2252  2248   0  3:27PM ??         0:00.01 /usr/sbin/httpd -D FOREGROUND
   70  2253  2248   0  3:27PM ??         0:00.01 /usr/sbin/httpd -D FOREGROUND
   70  2263  2248   0  3:33PM ??         0:00.00 /usr/sbin/httpd -D FOREGROUND

웹 브라우져에서 http://localhost 를 입력하고 텍스트가 보이면 성공.

웹 설정 파일

설정파일

/etc/apache2/httpd.conf

기본문서위치

/Library/WebServer/Documents/

로그파일

파일 목록 보이도록 : 디렉토리 리스팅

폴더,파일 목록이 보이게 하고 싶다면

전체 설정, 개인 설정 옵션에서 아래 옵션 추가

Option +Indexes

Directory 설정의 예시

<Directory "/Users/<User ID>/Sites">
Options +Indexes
AllowOverride all
Require all granted
</Directory>

유저 폴더로 웹 접속

OS 마다 설정이 달라서 버젼 명시 필요

10.15.3 : Catalina

유저 폴더에 관련된 모듈 다시 켜기 (주석 풀기)

httpd.conf

extra/httpd-userdir.conf

파일 추가: users/<USER_ID>.conf

<Directory "/Users/my_id/Sites">
# Options Indexes MultiViews
AllowOverride all
Require all granted
</Directory>

유저 폴더에 웹문서용 폴더 추가

웹서버 유저를 그룹에 추가하기

그룹을 제어하는 커맨드

sudo dscl . -read /Groups/staff GroupMembership

sudo dscl . -append /Groups/wheel GroupMembership <user_id>

웹서버 기본 문서 폴더 /Library/WebServer/Documents를 사용하는 경우

# 맥이라면 _www 가 http 서버의 오너
sudo dscl . -append /Groups/wheel GroupMembership _www

유저 폴더 <루트>/~UserID를 사용하는 경우

# staff 그룹에 _www가 있는지 봅니다.
sudo dscl . -read /Groups/staff GroupMembership      
# 없으면 추가해줍니다.
sudo dscl . append /Groups/staff GroupMembership _www

테스트

http://localhost/~<User ID>

입력해서 되는지 확인

참고

참고 : 웹 공유 설정

맥_웹서버 맥용_웹서버 맥에_웹서버

유저Dir '~' 감추기

맥에서 아파치 설정 폴더 위치 : /private/etc/apache2/

전제 : 유저Dir 이 설정되어서 "http://어디/~유저" 링크가 사용 가능 상태

아래 코드를 넣어둔다.

Alias /(유저이름)/ "/Users/(유저이름)/Sites/"

아래의 파일 중 한 곳에 위의 Alias 내용을 추가

php를 사용해보자

php가 기본 설정으로는 꺼져 있다고 한다.