본문 바로가기

DEVELOP

[php] 로컬 및 서버 환경 셋팅하기

728x90

xampp로 apm를 설치한 환경에서 php 공부를 해보려 한다. 


( 참고 : xampp 설치 방법 - https://jintrue.tistory.com/entry/wordpresswindows-xampp-%EC%84%A4%EC%B9%98%ED%9B%84-%EC%9B%8C%EB%93%9C%ED%94%84%EB%A0%88%EC%8A%A4-%EC%84%A4%EC%B9%98?category=803643 )


apm이 설치된 환경이라면 간단하게 셋팅이 가능하다. 


단, 프로젝트가 아닌 연습 및 공부의 용도로서 db설정은 따로 하지 않았다.


우리가 셋팅해야할 것은,



0. 연결할 폴더 설정 / 1. httpd.conf 설정 / 2. hosts 설정 / 3. vhosts 설정을 해야한다.



0. 연결할 폴더 설정 

말 그대로 연결할 폴더를 설정한 후 해당 경로를 복사해둔다.






1. httpd.conf 설정

보통 xampp가 설치된 환경이라면 xampp\apache\conf 안에 httpd.conf가 있다.



<Directory />

Options Indexes FollowSymLinks Includes ExecCGI

AllowOverride All 

Require all granted

</Directory>


으로 설정.


* Options에 Indexes를 포함해야 로컬에서 디렉토리 경로를 입력했을때 해당 경로가 보인다.


***** 외부 서버에서 설정시


외부 서버(ex : aws의 EC2의 인스턴스) vi /etc/httpd/conf/httpd.conf


NameVirtualHost *:80 #있다면 주석# 제거. Apache 2.4.x 이상일 땐 추가 안해도 된다. 




Apache 2.4.x 버전 이상일 경우

<Directory "/디렉토리 경로">

    AllowOverride None

    Require all granted

</Directory>


# Apache 2.4.x 버전 이하일 경우

<Directory "/디렉토리 경로">

    AllowOverride None

    Order allow,deny

    Allow from all

</Directory>


------------------------------------------------------------


AllowOverride 는 접근을 어떻게 허용할 것인가에 대한 것이여서 서버 셋팅(로컬 서버가 아닌 외부)시 None으로 해야한다. 








2. hosts 설정

보통 C:\Windows\System32\drivers\etc 안에 hosts가 있다.


localhost name을 설정 하는 건데 현재 로컬에서 띄울때의 네임을 설정하는 것으로 해당 폴더의 쓰임에 따라 이름을 정해주면 좋다. 








3. vhost 설정

 xampp\apache\conf\extra 안에 httpd-vhosts.conf 가 있다.


/etc/httpd/conf/vhost.conf 


아파치 default 포트 번호 80 에 대해 앞서 했던 것들을 이어주는 역할을 한다.


<VirtualHost *:80>

    DocumentRoot "D:\Personal\TODOLIST"

    ServerName todolist.local

    ##ErrorLog "logs/dummy-host2.example.com-error.log"

    ##CustomLog "logs/dummy-host2.example.com-access.log" common

</VirtualHost>


DocumentRoot는 0. 에서 했던 경로이며 ServerName는 2. 에서 했던 로컬호스트 네임을 적어주면 된다. 









4. 마지막으로 php.ini 파일에 Short_open_tag를 on으로 설정해야한다.