{{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 프로세스가 여러개 떠 있으면 실행 중. 뭐 아래 비슷하게 떠 있으면 오케이. $ 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** 설정의 예시 /Sites"> Options +Indexes AllowOverride all Require all granted ====== 유저 폴더로 웹 접속 ====== 맥 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/.conf** * USER_ID 가 **my_id** 인 경우, # Options Indexes MultiViews AllowOverride all Require all granted * 필요/불필요 옵션이 어떤건지 정확히는 모름. ====유저 폴더에 웹문서용 폴더 추가==== * **Sites** 라는 폴더 만들고 그 안에 index.html 파일 추가. * 파일 내용은 확인용 글자 넣어두기. ====웹서버 유저를 그룹에 추가하기==== * 맥의 아파치 웹 서버는 유저, 그룹 모두 **_www**를 사용. 그룹을 제어하는 커맨드 * 특정 그룹에서 유저 목록 보기 sudo dscl . -read /Groups/staff GroupMembership * 특정 그룹에 유저 추가 sudo dscl . -append /Groups/wheel GroupMembership * 유저와 그룹을 제어하는 커맨드 설명은 [[os: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/~ 입력해서 되는지 확인 ====== 참고 ====== 참고 : [[{}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://어디/~유저"%% 링크가 사용 가능 상태 아래 코드를 넣어둔다. Alias /(유저이름)/ "/Users/(유저이름)/Sites/" 아래의 파일 중 한 곳에 위의 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'' 의 주석을 푼다.