본문 바로가기
재밌는 IT 개발/서버는 어려워~ 걍 기본만!

로컬 개발 환경 설정 (XAMPP, Apache, Database, SVN, TortoiseSVN)

by 만수킴 2020. 7. 18.

항상 그때 그때 생각나는데로 로컬 개발환경이나 상용 환경 셋팅을 했었는데,
해도 해도 외워지지 않는지 왔다 갔다 하면서 시간이 더 소요되는 느낌이었고...
해도 해도 하기 싫은 작업이다.
(예전엔 내가 싫으니 남은 얼마나 싫을까 라는 자기 중심적인 사고 방식으로 전체 개발환경을 배치 파일로 만들어 팀원들에게 나눠주고는 했었다. 이게 왜 이기적이냐고? 팀원 중 하나가 이상하게 개발 환경을 만들어서 혼자 에러 내고 있는게 보기 싫었달까... 일정에 영향을 주니까...)

암튼 아래와 같이 정했는데... 뭐 하면서 바뀔 수 도 있다...
바뀌었으면 마지막에 다시 정리해놓지 뭐...
(이건 이미 XAMPP가 설정되어 있고, 이미 사용중인 개발환경에만 적용이 가능하다. 즉 나한테만 해당된다.)

    1. Windows Hosts 추가 
    2. Apache Httpd-vhosts.conf 추가 
    3. Database 생성 및 User 추가 
    4. Local Dev Directory 생성 
    5. 정상 동작 테스트 
    6. 개발서버 SVN Directory 생성 
    7. Local Dev <-> SVN Directory 연결 
    8. Ignore Directory 셋팅 
    9. SVN 최초 Commit

 

이제 달려보자!!!

1. Windows Hosts 추가 
    메모장을 관리자 권한으로 실행시킨다.
    하기와 같이 진행....    
    이제 적어도 내 PC에서 만큼은 msk.tank.com 도메인이 사용 가능해진다.

메모장을 관리자 권한으로 실행시키는 방법

   

파일 > 열기 > etc 디렉토리 이동 > 모든 파일 선택 > hosts 열기
내부에서 사용할 도메인 이름과 127.0.0.1 입력 후 저장


2. Apache Httpd-vhosts.conf 추가 
   난 XAMPP를 쓰고 있음으로... XAMPP 내 Apache 폴더로 이동하여... 뭐 아래처럼.... 하고 나서 테스트...
 

xampp 폴더 > apache 폴더 > conf 폴더 > extra 폴더 > 문서편집기 아무거나 선택
원래 있던 내용 주석 처리 후 하기 내용 추가

NameVirtualHost *:80


#<VirtualHost *:80>
#    ServerAdmin postmaster@dummy-host.localhost
#    DocumentRoot "C:/xampp/htdocs"
#    ServerName localhost
#    ServerAlias localhost
#    ErrorLog "logs/localhost-error.log"
#    CustomLog "logs/localhost-access.log" combined
#</VirtualHost>

#=================================#
#=== DEMO : http://msk.tank.com ===#
<VirtualHost *:80>
	ServerAdmin me@msk.kim                           #--> 관리자 메일 주소
	DocumentRoot "K:\*****\*****\_mansu.kim"         #--> 홈페이지 디렉토리
	ServerName msk.tank.com                          #--> 사용할 도메인   
	ErrorDocument 403 /_errDoc/404.html
	ErrorDocument 404 /_errDoc/404.html
	ErrorDocument 500 /_errDoc/500.html
	ErrorLog "logs/msk.tank.com-error.log"           #--> 에러 로그 파일 경로
	CustomLog "logs/msk.tank.com-access.log" common  #--> 엑세스 로그 파일 경로
	<Directory "K:\*****\*****\_mansu.kim">          #--> 홈페이지 디렉토리
		AllowOverride All                            #--> 이하 모두 다 허용. 개발서버니까!
		Options Indexes FollowSymLinks
		Order allow,deny
		Allow from all
	</Directory>
</VirtualHost>

XAMPP Control Panel > Stop 후 Start
이렇게 나오면 정상!


3. Database 생성 및 User 추가 
   MySQL WorkBench 실행 후 이하같이... DB 생성 > DB 사용자 추가 작업

마우스 오른쪽 > Create Schema > DB Instance 이름 입력 > Charset 설정 > Apply > Apply
저렇게 나타나면 정상

-- 생성한 Database에 사용자 권한 추가
grant all privileges on [DB명].* to [사용자명]@[접속IP] identified by '사용자암호' with grant option;
flush privileges;

 



4. Local Dev Directory 생성 및 소스 
   원하는 위치에 홈페이지 소스를 넣을 디렉토리 생성 후 info.php 파일 생성.

2번 작업에서 정한 홈페이지 디렉토리 생성
마우스 오른쪽 > 새로 만들기 > 텍스트 문서
마우스 오른쪽 > 열기
위 내용 그대로 입력 후 저장
파일명과 확장자 변경



5. 정상 동작 테스트 
   브라우저에서 http://msk.tank.com/info.php 접속, 아래와 같이 나오면 정상.

  


6. 개발서버 SVN Directory 생성 
    개발서버 접속 후 새로운 SVN 디렉토리 생성 및 셋팅 진행

// SVN 폴더로 이동
[root@dev ****]# cd svn

// 새로운 SVN 생성
[root@dev svn]# svnadmin create --fs-type fsfs /****/svn/[새로운 SVN]

// SVN 생성 확인
[root@dev svn]# ls -al [새로운 SVN]
합계 32
drwxr-xr-x  6 root root 4096 2020-07-17 15:12 .
drwxrwxr-x 19 root root 4096 2020-07-17 15:12 ..
-rw-r--r--  1 root root  229 2020-07-17 15:12 README.txt
drwxr-xr-x  2 root root 4096 2020-07-17 15:12 conf
drwxr-sr-x  6 root root 4096 2020-07-17 15:12 db
-r--r--r--  1 root root    2 2020-07-17 15:12 format
drwxr-xr-x  2 root root 4096 2020-07-17 15:12 hooks
drwxr-xr-x  2 root root 4096 2020-07-17 15:12 locks

// 기존 설정파일을 새로운 SVN의 설정으로 복사
[root@dev svn]# cp [기존 SVN]/conf/* [새로운 SVN]/conf/
cp: overwrite `[새로운 SVN]/conf/authz'? y
cp: overwrite `[새로운 SVN]/conf/passwd'? y
cp: overwrite `[새로운 SVN]/conf/svnserve.conf'? y

// 신규 설정 파일 내용 확인
[root@dev svn]# cat [새로운 SVN]/conf/authz
[/]
SVN계정=rw

[root@dev svn]# cat [새로운 SVN]/conf/passwd
[users]
# harry = harryssecret
# sally = sallyssecret
SVN계정=SVN계정암호

[root@dev svn]# cat [새로운 SVN]/conf/svnserve.conf
[general]
--- 중략 ---
# anon-access = read
# auth-access = write
anon-access = none
auth-access = write
--- 중략 ---
# password-db = passwd
password-db = passwd
--- 중략 ---
# authz-db = authz
authz-db = authz
--- 중략 ---
# realm = My First Repository
realm = This is Innoplat SVN! Welcome to Visit!
--- 이하 생략 ---

// SVNSERVE 재시작
[root@dev svn]# service svnserve restart
svnserve 를 정지 중:                                       [  OK  ]
svnserve (을)를 시작 중:                                   [  OK  ]

SVN 재시작 꼭 해야 함.


7. Local Dev <-> SVN Directory 연결 
   로컬의 홈페이지 디렉토리에서 SVN 연결 작업 시작

마우스 오른쪽 > SVN Checkout 클릭
Checkout 찹업창 > 셋팅
성공 여부 확인


8. Ignore File & Directory 셋팅 

무시할 파일 또는 디렉토리 설정
아이콘 모양으로 정상 적용 여부 확인



9. SVN 최초 Commit

마우스 오른쪽 > SVN 커밋
최초 커밋 팝업 > 메세지 넣고 OK
커밋 완료 확인


 

댓글