사용자 도구

사이트 도구


사이드바

카테고리

os:osx:웹서버-설정

맥에서의 아파치 서버 설정

관련 링크

기본 실행

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

/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/

로그파일

  • 에러: /private/var/log/apache2/error_log
  • 접근: /private/var/log/apache2/access_log

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

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

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

Option +Indexes

Directory 설정의 예시

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

유저 폴더로 웹 접속

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

10.15.3 : Catalina

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

httpd.conf

  • userdir_module 항목 주석 풀기 : LoadModule userdir_module libexec/apache2/mod_userdir.so
  • 주석 풀기 : Include /private/etc/apache2/extra/httpd-userdir.conf

extra/httpd-userdir.conf

  • Include /private/etc/apache2/users/*.conf 항목 되살리기

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

  • USER_ID 가 my_id 인 경우,
<Directory "/Users/my_id/Sites">
# Options Indexes MultiViews
AllowOverride all
Require all granted
</Directory>
  • 필요/불필요 옵션이 어떤건지 정확히는 모름.

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

  • Sites 라는 폴더 만들고 그 안에 index.html 파일 추가.
  • 파일 내용은 확인용 글자 넣어두기.

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

  • 맥의 아파치 웹 서버는 유저, 그룹 모두 _www를 사용.

그룹을 제어하는 커맨드

  • 특정 그룹에서 유저 목록 보기
sudo dscl . -read /Groups/staff GroupMembership
  • 특정 그룹에 유저 추가
sudo dscl . -append /Groups/wheel GroupMembership <user_id>

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

  • 기본은 wheel이 아파치쪽 그룹 이름. 이 그룹에 추가하자.
# 맥이라면 _www 가 http 서버의 오너
sudo dscl . -append /Groups/wheel GroupMembership _www

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

  • 유저의 기본 그룹인 staff_www 유저 아이디를 추가해줍니다.
# 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 내용을 추가

  • 여기 : /private/etc/apache2/users/(유저이름).conf
  • 또는 : /private/etc/apache2/httpd-userdir.conf

php를 사용해보자

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

  • /etc/apache2/httpd.conf 파일을 수정한다. 명령어 –> sudo vi /etc/apache2/httpd.conf
  • LoadModule php7_module libexec/apache2/libphp7.so 의 주석을 푼다.
os/osx/웹서버-설정.txt · 마지막으로 수정됨: 2022/07/01 11:48 저자 kieuns