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 |
댓글