애플(Apple) 제품을 한 번도 써본 적이 없습니다. 3주 전, 입사하고 받은 맥북(MacBook Pro)이 첫 애플 제품이었죠. 사실 개발 업무를 하면서 ‘한 번쯤은 애플 제품을 써 봐야겠다’는 생각을 하고 있었습니다. 단지 쉽사리 용기가 나지 않았을 뿐이었죠. 하지만 여러 개발 환경이 존재하는데도 개발자가 한 가지 환경만 고집하는 건 스스로의 잠재 능력을 좁히는 거라 생각했습니다. 그래서 이번 기회에 새로운 환경과 친해지려고 APM 웹서버 구성에 도전해봤습니다. (아자!)
MAC 환경에서 APM 설치하려면 MAMP 방법도 있지만 기본적으로 apache, php가 설치되어 있으므로 패키지관리자 Homebrew를 이용하여 설치하겠습니다.
1.apache 설치 버전 확인
$ httpd -v 명령어를 실행해서 아래와 같이 버전이 나오면 설치가 되어있는 상태입니다.
$ httpd -v
Server version: Apache/2.4.27 (Unix) Server built: Jul 15 2017 15:41:46
2.php 설치 버전 확인
php -v 명령어를 실행해 아래와 같은 버전이 나오면 설치가 된 것입니다.
$ php -v PHP 5.6.32 (cli) (built: Oct 27 2017 11:55:27)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
참고: MAC Sierra 10.13 버전에는 php7 상위 버전으로 설치되어 있습니다. Homebrew로 php5.6 하위 버전을 추가적으로 설치해야 합니다.
3.Homebrew 설치
Homebrew 명령어
1)패키지 검색하기 -> $ brew search 패키지명
2)패키지 설치하기 -> $ brew install 패키지명
3)패키지 삭제하기 -> $ brew uninstall 패키지명
4)설치된 패키지 목록확인 -> $ brew list
5)패키지 정보보기 -> $ brew info 패키지명
6)패키지 업그레이드 하기 -> $ brew upgrade 패키지명
7)패키지 저장소 추가하기 -> $ brew tap homebrew/패키지명
8)패키지 저장소 삭제하기 -> $ brew untap homebrew/패키지명
9)패키지 링크 삭제하기 -> $ brew unlink 패키지명
가.설치파일 다운
$ /usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
나. Homebrew wget 설치
(Apple에서 제공하지 않는 패키지를 설치하기 위한 것이다.)
$ brew install wget
다. 심볼릭 링크 연결
$ ls -l /usr/local/bin/wget ../Cellar/wget/1.19.2_1/bin/wget
bin/wget -> ../Cellar/wget/1.19.2_1/bin/wget
라. 패키지 저장소 추가
$ brew tap homebrew/dupes
$ brew tap homebrew/php
$ brew update
4.php56 설치
가. Homebrew php56 설치
$ brew install php56 –with-apache
나. Apache에 PHP 설정 수정하기
아파치에 php7 모듈이 연결되어 있어 주석 처리 후 설치한 php5 경로로 연결한다.
$ vi /etc/apache2/httpd.conf
LoadModule php5_module /usr/local/php5-5.6.31-20170817-164511/libphp5.so
#LoadModule php7_module libexec/apache2/libphp7.so
다. apache 재시작
apachectl restart
라. phpinfo 확인
5.mysql56 설치
가. Homebrew mysql56 설치
$ brew install mysql56
나. mysql 시작
$ /usr/local/Cellar/mysql@5.6/5.6.38/bin/mysql.server start
다. mysql 버전확인
$ /usr/local/Cellar/mysql@5.6/5.6.38/bin/mysql –version
명령어를 실행해서 아래와 같이 버전이 나오면 설치가 되어있는 상태입니다.
$ sudo /usr/local/Cellar/mysql\@5.6/5.6.38/bin/mysql --version
/usr/local/Cellar/mysql@5.6/5.6.38/bin/mysql Ver 14.14 Distrib 5.6.38, for osx10.13 (x86_64) using EditLine wrapper
6.가상호스트 설정
로컬에 다수의 프로젝트를 세팅하기 위한 것이다.
가. httpd.conf 파일 수정
# Virtual hosts
Include /private/etc/apache2/extra/httpd-vhosts.conf
나. httpd-vhosts.conf 파일 수정
$ vi /etc/apache2/extra/httpd-vhosts.conf
NameVirtualHost *:80
DocumentRoot "/Users/comkjs/Sites/ex1"
ServerName ex1.brandi.co.kr
ErrorLog "/private/var/log/apache2/error_log"
CustomLog "/private/var/log/apache2/access_log" common
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
Require all granted
DocumentRoot "/Users/comkjs/Sites/ex2"
ServerName ex2.brandi.co.kr
ErrorLog "/private/var/log/apache2/error_log"
CustomLog "/private/var/log/apache2/access_log" common
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
Require all granted
7. hosts 설정
해당 도메인으로 접속시 DNS 서버를 사용하기 이전 로컬에 지정된 IP로 맵핑된다.
$ vi /etc/hosts
## # Host Database # # localhost is used to configure the loopback interface # when the system is booting. Do not change this entry. ## 127.0.0.1 localhost 255.255.255.255 broadcasthost
::1 localhost
127.0.0.1 ex1.brandi.co.kr 127.0.0.1 ex2.brandi.co.kr
물론 오랫동안 맥북을 사용했던 개발자에겐 쉬운 내용일 수 있지만 MS와 리눅스에 익숙했던 저에겐 ‘두려움’이었습니다. 리눅스 구조와 명령어가 비슷해서 리눅스를 이용했던 이용자에겐 어렵지 않을 것입니다. 한 번 세팅해두면 환경이 바뀌지 않는 이상 잘 건드리지 않기 때문에 나중에 세팅을 바꾸는 일이 있으면 또 다시 볼 수 있도록 기술 블로그에 남겨둡니다. 분명 언젠가는 도움이 되지 않을까요.
글
곽정섭 과장 | R&D 개발1팀
kwakjs@brandi.co.kr
브랜디, 오직 예쁜 옷만
#브랜디 #기업문화 #조직문화 #업무환경 #인사이트 #경험공유 #Mac #개발자 #신입개발자 #조언
관련 스택