워드프레스를 이용하여 아내의 사이트를 만들기 시작했는데, 아직 진행된 것은 도메인 구매 정도?
IDE로는 phpStorm 을 사용하기로 했는데 ftp 를 이용하여 원격지의 소스를 다운로드, 업로드, 동기화할 수도 있는데 svn이나 git 에 익숙한 나로서는 뭔가 좀 weird 하게 느껴졌다. deployment 개념도 좀 다른 것 같고...
그래서 본격적으로 프로젝트를 시작하기에 앞서 Git 으로 형상관리를 하는게 좋을 것 같아서 설치하려고 하고, 이 글은 설치를 진행하면서 동시에 작성하는 것이라 중간 중간 오류가 나오는 모습을 볼 수도 있을 것이고 아닐 수도 있다.
-- 구축 후 한 마디 --
우선 어떻게 해야하는지 구조를 파악하는 것이 중요하다.
(보안에 문제가 있을까봐 실제 project 이름을 <projectName> 으로 표기 / project 이름이 포함된 스크린샷 삭제)
<구조>
CentOS 7(원격지), 로컬 머신(나의 경우 맥북)
1. 웹서버에 호스팅 되고 있는 실제 소스들 => CentOS 7 /home/<projectName>/
2. git bare repository 로 사용할 디렉토리 => CentOS 7 /home/git/repo/
3. 로컬 머신에서 코딩할 디렉토리 => macbook /Users/<userID>/phpStormProject/<projectName>/
<과정 요약>
1. CentOS와 맥북에 모두 git 설치
2. CentOS 에서 git 전용 계정 생성
3. git 계정으로 로그인하여 /home 디렉토리 아래 git 이라는 이름의 디렉토리를 생성
4. /home/git/repo/ 디렉토리를 만들고 /home/git/repo 에서 .git 으로 끝나는 빈 디렉토리 생성(나의 경우에는 <projectName>.git)
5. 해당 디렉토리에 이동하여 $ init --bare --shared 명령 실행
------------------------- 여기까지만 해도 (소스가 없는 상태라면) git 으로 형상관리를 할 수 있다. ------------------------------
6. git 계정으로 로그인한 상태에서 /home/<projectName> 디렉토리로 이동(여기에는 워드프레스 코어 파일들과 소스들이 있고, 웹에 호스팅되고 있다.)
7. /home/<projectName>/ 에 위치한 상태에서 $ git init 명령 실행
8. /home/<projectName>/ 에 그대로 위치한 상태에서 $ git add * && $git commit -m "<commit message>" && git add remote origin ssh://<serverIP>/home/git/repo/<projectName>.git && git push origin master 명령 실행
9. 맥북에서 프로젝트를 clone 해올 경로(macbook /Users/<userID>/phpStormProject/)로 이동한후 $ git init && $git add remote origin ssh://<serverIP>/home/git/repo/<projectName>.git && git push origin master 명령 실행
10. 디렉토리 유지한 상태에서 $ git pull remote origin master 명령 실행
11. 맥북에서 소스 수정 후 pull, commit, push 를 하면서 git 을 잘 쓰면 된다.
12. CentOS 7 에서 웹 호스팅 되는 소스의 변경을 반영하려면 /home/<projectName>/ 으로 이동해서 $ git pull remote origin master 를 실행해주면 됨
-- 여기까지는 요약이므로 위에서 나온 명령들은 하나씩 하나씩 실행하기.
-- ssh 키는 로컬머신(맥북)에서 생성하고 서버로 업로드 해야하는게 권장되는 방법인 것 같다.
-- 아래부터는 참고 자료. 진행하면서 이것저것 해본 것을 정리하지 않은 것.
---------------------------------------------------
CentOS7
1. 패키지 관리자 업데이트(갱신) : 업그레이드 아님
# yum update
3. 설치가 끝나면 git 계정 설정
# git config --global user.name "<NAME>"
# git config --global user.email "<EMAIL_ADDRESS>"
5. git 사용자로 사용자 전환
# su - git
6. RSA 암호화 알고리즘 이용하여 키 생성(SSH 접속을 위해서) : ※ <나중에 추가>키는 서버가 아니라 로컬(다른 컴퓨터, 코딩을 할 컴퓨터)에서 생성해야하고 서버로 업로드 해야함.
$ cd ~
$ ssh-keygen -t rsa
7. 키가 생성되었음을 확인
8. Git 으로 버전 관리할 디렉토리를 생성하거나 이미 존재하고 있는 디렉토리에서 '*.git' 의 이름으로 디렉토리를 생성하고 그 디렉토리로 이동한 후 bare repository 로 초기화해준다. ==> bare repository 는 다른 곳에서 관리해주는 것이 좋음( 난 최종적으로 /home/git/repo/ 에다가 만들었음)
----------- 여기까지가 Git 서버에서 해야할 것들을 한 것 같다. -------------------
$ git config --global user.name "<NAME>"
$ git config --global user.email "<EMAIL_ADDRESS>"
10. 다시 커밋을 해보자.
$ git commit -m "first commit" -a
아래는 그 실행 결과 : 커밋이 잘 되었다.
--- 작성중.... ---
음.. 8번과정까지가 git server 로서 해야할 일들인 것 같다.
음.. 지금은 phpStorm이 설치된 컴퓨터가 없으니 집이나 회사에 가서 마저 해보아야할 듯... 일단 여기까지...
--- 이어서 작성중 ---
집으로 돌아와 phpStorm 이 설치되어있는 맥북을 로컬 머신으로 사용.
< CentOS 에서 실행 >
mkdir -p /home/git/repo/<projectName>.git
cd /home/git/repo/<projectName>.git
git init --bare --shared
< CentOS , Macbook 두 군데 모두 동일하게 실행 >
git remote add origin ssh://git@<serverIP>:<portNumber>/home/git/repo/<projectName>.git