본문 바로가기
개발환경구성

[MacOS] Apache, php 실행 및 사용자별 디렉토리 설정

by develop growth 2021. 12. 27.

Apache, php 실행 및 사용자별 디렉토리 설정

 

    개요

         - apache로 웹서버를 운영하고 php를 통해 이전에 만들었던 DB에 접근하는 프로젝트를 하고자 해당 설정을 하려고 한다.


Apache 실행

    - Apache는 기본적으로 맥에 설치되어 있기 때문에 apachectl -v 명령어로 버전 확인과 설치 확인을 한다.

apachectl -v

 

   - 설치 확인이 됐으면 apachectl start 로 apache를 실행한다.

apachectl start

 

  - 실행 후 safari url에 localhost를 입력했을때 다음과 같이 뜨면 성공이다.

 


Apache 참고 명령어

    - 종료

apachectl stop

 

    - 재시작

apachectl restart

 

  - apache 실행 확인

ps -ef | grep httpd

 


Apache 사용자별 디렉토리 설정

  - 설명

   사용자별 홈 디렉토리를 설정하면 /Users/${user}/Sites 디렉토리를 통해 html, php 파일 관리를 할 수 있게 된다. 

 

  - 설정 파일

/etc/apache2/httpd.conf

 

  - 기본 문서 경로

/Library/WebServer/Documents/

 

  - 로그 파일

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

 

 - /etc/apache2/httpd.conf(설정 파일) 에서 하단의 세 문구 주석 해제하여 모듈과 설정파일을 포함하도록 한다.

LoadModule userdir_module libexec/apache2/mod_userdir.so
  -> 이 모듈을 사용하면 http://example.com/~user/ 식으로 사용자별 디렉토리에 접근할 수 있다.
LoadModule php7_module libexec/apache2/libphp7.so
  -> php7 버전을 연결할 수 있다.
Include /private/etc/apache2/extra/httpd-userdir.conf
  -> 사용자별 디렉토리를 사용하기 위한 설정 파일을 포함한다.

 

 - /private/etc/apache2/extra/httpd-userdir.conf 에서 하단의 문구 주석 해제하여 접근 권한 제어 파일 포함하도록 한다.

Include /private/etc/apache2/users/*.conf
 -> 유저 디렉토리별 접근 권한을 제어하는 파일 포함 ( .conf 확장자를 사용하는 파일 모두 사용 )

 

 - /private/etc/apache2/users/경로에 ${userid}.conf파일을 추가하고 하위 코드 추가

<Directory "/Users/${userid}/Sites/">
        Options Indexes MultiViews
        AllowOverride all
        Require all granted
</Directory>

Apache 설정 테스트

- /Users/${userid}/Sites 디렉토리를 추가한다.

- /Users/${userid}/Sites/ 경로에 info.php 파일을 만들고 하단의 코드를 추가한다.

<?php phpinfo(); ?>

 

- http://localhost/~${userid}/info.php 를 url에 넣고 실행한다.


Apache alias

- 아파치는 Alias 기능을 통해 물리적인 경로가 다른 디렉토리를 가상의 디렉토리로 설정하여 웹 서비스에서 접근할 수 있도록 도와준다.

- Alias /${url에서 사용할 경로명} "/Users/${userid}/Sites" 문구를 /private/etc/apache2/users/경로에 ${userid}.conf 가장 위에 추가한다.

 


마무리

          - 아파치 웹 서버 설정을 마쳤으니 php 언어로 DB에 접근하여 데이터를 가져오는 프로그램을 개발할 예정이다.


 

'개발환경구성' 카테고리의 다른 글

[MacOS] MySQL 외부 접근 허용  (0) 2021.12.19
[MacOS] MySQL 설치와 초기 설정  (0) 2021.12.19
[MacOS] Homebrew 설치 방법  (0) 2021.12.19

댓글