목차
<title> 맥에서의 아파치 서버 설정 </title>
관련 링크
기본 실행
아래 파일이 있다면, 우선 기본 설정만으로 실행 가능
/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>
- 유저와 그룹을 제어하는 커맨드 설명은 osx 그룹과 멤버에 대한 것
웹서버 기본 문서 폴더 /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를 사용해보자
- 참고 : osx를 웹서버로 사용해보자를 참고
php가 기본 설정으로는 꺼져 있다고 한다.
- /etc/apache2/httpd.conf 파일을 수정한다. 명령어 –>
sudo vi /etc/apache2/httpd.conf
LoadModule php7_module libexec/apache2/libphp7.so
의 주석을 푼다.