본문 바로가기
컴퓨터/서버구축

맥북(M1)에서 아파치 APACHE 가상호스트 설정하기.

by 햇님☆ 2022. 3. 21.
반응형

지난 포스팅에서 맥북(M1)에 APACHE + PHP + MYSQL을 설치하고 개발환경을 구축하였다.

하지만 여러 클라이언트를 개발, 관리하고 있다 보니 하나의 호스트(localhost)를 사용하기엔 너무 불편하다.

git을 이용해서 upload와 download를 반복하면서 사용할 수 도 있겠지만, 나는 옛날 개발자이다 보니 git이 익숙지 않을 뿐더러 바로바로 접근할 수 있는 환경이 필요했다. 그래서 맥북에 네임서버를 설치하고 가상호스트를 이용해서 여러 host로 여러 계정을 사용할 수 있도록 했다.

 

아직 개발환경이 갖춰져 있지 않다면 지난 포스팅을 보고 오길 바란다.

 

맥북(M1)에서 PHP / APACHE2 / MYSQL / phpmyadmin 설치하기.

맥북에서 내가 필요로 하는 개발환경을 갖추었다. 사실 온라인 서버를 운영하고 있는 나는 FTP환경에서 바로바로 작업하는 것을 선호하기 때문에 굳이 local 개발환경을 갖출 필요가 없었는데, 요

story-moon.tistory.com

 

가상호스트를 사용하기 위해서 brew를 이용해 가상호스트 dnsmasq를 설치했다.

brew install dnsmasq //네임서버 패키지 설치

이제 서버에서 사용할 도메인을 하나 설정해야 하는데 나는 나의 이니셜인 mk를 사용하기로 했다.

naver.mk, google.mk 등으로 접속 할 수 있다.

echo 'address=/.mk/127.0.0.1' > /opt/homebrew/etc/dnsmasq.conf

이제 네임서버 구동해 보자. 네임서버 패키지는 root 권한으로 실행해 주어야 한다.

sudo brew services start dnsmasq //패키지 실행

sudo mkdir -v /etc/resolver
sudo bash -c 'echo "nameserver 127.0.0.1" > /etc/resolver/mk' //환경설정

정상 작동하는지 확인해보자.

test.mk 호스트로 접속했더니 localhost로 정상적으로 접속되고 있다.

이제 APACHE에서 가상호스트를 등록한다.

반응형
vi /opt/homebrew/etc/httpd/httpd.conf

> LoadModule vhost_alias_module lib/httpd/modules/mod_vhost_alias.so //주석해제

> # Virtual hosts
> Include /opt/homebrew/etc/httpd/extra/httpd-vhosts.conf //주석해제

 

가상호스트 파일 등록

vi /opt/homebrew/etc/httpd/extra/httpd-vhosts.conf

//해당 파일에 있는 모든 내용을 지우고 아래 내용으로 설정하길 권장한다.
//여러 호스트 등록시 ServerName, 설정 디렉토리만 변경해서 추가해 주면된다.
<VirtualHost *:80>
    ServerName test.mk
    ServerAdmin webmaster@localhost
    DocumentRoot "설정할 디렉토리 - web root"
    <Directory "설정할 디렉토리 - web root">
         Options FollowSymLinks MultiViews
         AddType application/x-httpd-php .php
         AllowOverride All
         Order allow,deny
         allow from all
         Require all granted
    </Directory>
    # ErrorLog "/opt/homebrew/var/log/httpd/test.mk-error_log" //별도 로그 관리시 주석해제
    # CustomLog "/opt/homebrew/var/log/httpd/test.mk-access_log" common //별도 로그 관리시 주석해제
</VirtualHost>

 

이제 APACHE를 재실행 하면 적용 된다.

brew services restart httpd
brew services list //실행 중인 패키지 확인

Safari를 열고 test.mk 로 접속하면 정상 작동하는 모습을 볼 수 있다.

혹시 권한설정 error 메세지가 출력된다면 httpd.conf 파일을 열어 다음과 같이 수정한다.

 

내가 관리할 계정들의 상위 폴더

예를 들어 /Users/myname/www 폴더 안에 계정 A, B, C... 등의 폴더를 만들어 관리한다면,

vi /opt/homebrew/etc/httpd/httpd.conf

//아래 내용을 추가한다.
<Directory "/Users/myname/www">
    AllowOverride ALL
    Require all granted
</Directory>

 

반응형

댓글