사용자 도구

사이트 도구


os:osx:웹서버-설정

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
os:osx:웹서버-설정 [2020/03/08 18:14] kieunsos:osx:웹서버-설정 [2024/04/23 22:44] (현재) – 바깥 편집 127.0.0.1
줄 1: 줄 1:
 +<title>
 +맥에서의 아파치 서버 설정
 +</title>
 +
 +{{htmlmetatags>metatag-robots=() 
 +metatag-keywords=(맥 웹서버,osx,맥 웹서버 설정) 
 +metatag-description=(맥의 내장 웹서버를 설정하는 방법)
 +}}
 +
 +관련 링크
 +
 +| [[webapp:nginx:php_연동#디렉토리_리스팅_켜기|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 프로세스가 여러개 떠 있으면 실행 중. 뭐 아래 비슷하게 떠 있으면 오케이.
 +
 +<code>
 +$ ps -ef | grep http
 +    0  2248        3:27PM ??         0:00.32 /usr/sbin/httpd -D FOREGROUND
 +   70  2252  2248    3:27PM ??         0:00.01 /usr/sbin/httpd -D FOREGROUND
 +   70  2253  2248    3:27PM ??         0:00.01 /usr/sbin/httpd -D FOREGROUND
 +   70  2263  2248    3:33PM ??         0:00.00 /usr/sbin/httpd -D FOREGROUND
 +</code>
 +
 +웹 브라우져에서 **http://localhost** 를 입력하고 텍스트가 보이면 성공.
 +
 +====== 웹 설정 파일 ======
 +
 +설정파일
 +
 +  /etc/apache2/httpd.conf
 +
 +기본문서위치
 +
 +  /Library/WebServer/Documents/
 +
 +로그파일
 +
 +  * 에러: /private/var/log/apache2/error_log
 +  * 접근: /private/var/log/apache2/access_log
 +
 +====== 파일 목록 보이도록 : 디렉토리 리스팅 ======
 +
 +폴더,파일 목록이 보이게 하고 싶다면
 +
 +전체 설정, 개인 설정 옵션에서 아래 옵션 추가
 +
 +  Option +Indexes
 +
 +**Directory** 설정의 예시
 +<code>
 +<Directory "/Users/<User ID>/Sites">
 +Options +Indexes
 +AllowOverride all
 +Require all granted
 +</Directory>
 +</code>
 +====== 유저 폴더로 웹 접속 ======
 +
 +맥 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** 인 경우,
 +
 +<code>
 +<Directory "/Users/my_id/Sites">
 +# Options Indexes MultiViews
 +AllowOverride all
 +Require all granted
 +</Directory>
 +</code>
 +
 +  * 필요/불필요 옵션이 어떤건지 정확히는 모름.
 +
 +====유저 폴더에 웹문서용 폴더 추가====
 +
 +  * **Sites** 라는 폴더 만들고 그 안에 index.html 파일 추가.
 +  * 파일 내용은 확인용 글자 넣어두기.
 +
 +====웹서버 유저를 그룹에 추가하기====
 +
 +  * 맥의 아파치 웹 서버는 유저, 그룹 모두 **_www**를 사용.
 +
 +그룹을 제어하는 커맨드
 +
 +  * 특정 그룹에서 유저 목록 보기
 +  sudo dscl . -read /Groups/staff GroupMembership
 +
 +  * 특정 그룹에 유저 추가
 +  sudo dscl . -append /Groups/wheel GroupMembership <user_id>
 +
 +  * 유저와 그룹을 제어하는 커맨드 설명은 [[os:osx:그룹과_멤버에_대한_것]]
 +
 +웹서버 기본 문서 폴더 ''/Library/WebServer/Documents''를 사용하는 경우 
 +
 +  * 기본은 **wheel**이 아파치쪽 그룹 이름. 이 그룹에 추가하자.
 +
 +<code bash>
 +# 맥이라면 _www 가 http 서버의 오너
 +sudo dscl . -append /Groups/wheel GroupMembership _www
 +</code>
 +
 +유저 폴더 ''<루트>/~UserID''를 사용하는 경우
 +
 +  * 유저의 기본 그룹인 **staff**에 **_www** 유저 아이디를 추가해줍니다.
 +
 +<code bash>
 +# staff 그룹에 _www가 있는지 봅니다.
 +sudo dscl . -read /Groups/staff GroupMembership      
 +# 없으면 추가해줍니다.
 +sudo dscl . append /Groups/staff GroupMembership _www
 +</code>
 +
 +==== 테스트 ====
 +
 +  http://localhost/~<User ID>
 +
 +입력해서 되는지 확인
 +
 +====== 참고 ======
 +
 +참고 : [[{}https://roxxy.tistory.com/entry/MAC-OS-X-%EC%9B%B9%EA%B3%B5%EC%9C%A0-%EC%98%A8%EC%98%A4%ED%94%84-%ED%95%98%EA%B8%B0|웹 공유 설정]]
 +
 +
 +{{tag>맥_웹서버 맥용_웹서버 맥에_웹서버}}
 +
 +
 +====== 유저Dir '~' 감추기 ======
 +
 +맥에서 아파치 설정 폴더 위치 : ''/private/etc/apache2/''
 +
 +전제 : 유저Dir 이 설정되어서  %%"http://어디/~유저"%%  링크가 사용 가능 상태
 +
 +아래 코드를 넣어둔다.
 +<code>
 +Alias /(유저이름)/ "/Users/(유저이름)/Sites/"
 +</code>
 +아래의 파일 중 한 곳에 위의 Alias 내용을 추가
 +
 +  * 여기 : ''/private/etc/apache2/users/(유저이름).conf'' 
 +  * 또는 : ''/private/etc/apache2/httpd-userdir.conf''
 +
 +
 +====== php를 사용해보자 ======
 +
 +  * 참고 : [[http://melusina.tistory.com/entry/OSX%EB%A5%BC-%EC%9B%B9%EC%84%9C%EB%B2%84%EB%A1%9C-%EC%82%AC%EC%9A%A9%ED%95%B4%EB%B3%B4%EC%9E%90|osx를 웹서버로 사용해보자를 참고]]
 +
 +php가 기본 설정으로는 꺼져 있다고 한다.
 +
 +  * /etc/apache2/httpd.conf 파일을 수정한다. 명령어 --> ''sudo vi /etc/apache2/httpd.conf''
 +
 +  * ''LoadModule php7_module libexec/apache2/libphp7.so'' 의 주석을 푼다.
 +