[aws,php,git] www-data 를 이용하여 git command 사용하기.

2016. 6. 15. 22:56Etc/경험담

안녕하세요?

이번시간에는 CMS 툴에서 필요한 CSV 파일 컨트롤러를 만들면서 경험한 일들을 설명하고자 합니다.

먼저 사용자의 요구사항은 다음과 같습니다.


1. CSV 를 업로드 할 수 있어야한다.

2. 업로드된 CSV 가 자동으로 Push 될 수 있어야한다.

3. 업로드된 CSV 리스트를 확인가능하고, 해당 CSV 를 선택하여 다시 적용할 수 있어야한다.


CSV 업로드 및 리스트 제공은 쉬웠습니다. 그러나 git 에 push 를 하기위해서는 권한문제가 생겼습니다.


포인트는 간단합니다.


www-data 라는 user 를 생성하고.

www-data 의 id_rsa 를 생성한 후 

해당 id_rsa.pub 값을 git 의 ssh-key 에 등록해줍니다.


이후 php 의 exec() 함수를 이용하여 git 을 add,commit,push,pull 할 수 있었습니다.


감사합니다.


다음은 제가 사용한 명령어들의 리스트를 간단한 설명들로 표현해보겠습니다.


1. www-data 의 ssh-key 생성


 sudo -u www-data ssh-keygen -t rsa 



2. www-data 유저의 권한으로 git 커맨드 사용


 sudo -u www-data git <command> 


결과 화면입니다.




이번 경험의 요점은 권한 설정입니다.


결국 웹에서 컨트롤시에 사용되는 유저는 `www-data` 이므로, `www-data` 가 git 에 대한 permission 을 부여받게 해주는 것이 포인트였습니다. 추가적으로, 저의 경우 apache가 아닌 nginx 를 사용하였습니다.


다음이시간에는 더 유익한 정보로 찾아오도록 하겠습니다.

감사합니다.

반응형

'Etc > 경험담' 카테고리의 다른 글

[APK] Unsigned APK to Signed APK  (0) 2016.08.11
[Node.js] 설치 및 NPM 설치  (0) 2016.07.23
[Terminal] 간단한 파일명 변경 명령어  (0) 2016.06.14
[Android,Unity] Logcat 보기  (0) 2016.06.07
[Unity] Prime31 IAP,IAB 사용하기  (0) 2016.05.25