카페24에서 호스팅을 받으신다면, 내장된 git이 사실상 쓸모없다는걸 아실수 있습니다.

일단 https로 시작하는 저장소 주소를 지원하지 않는건 물론, ssh도 철지난 sha1 기반만 지원하는 바람에 사실상 Github에서 클론받기란 불가능해졌습니다.

 

어떻게건 clone받는데 성공했다면 이제 pull 등 clone 제외 동작을 실행할수 없습니다. pull이 안되는 git은 사실상 쓸모없겠죠.

 

cmd_2022-05-09_18-02-08.png

정말 다행인 점은, 카페24 서버는 RHEL7 기반 리눅스를 사용중이라는 것입니다.(el7 부분에 주목해주세요) 따라서, CentOS 7에서 git을 컴파일한뒤 이를 사용할 수 있습니다.(만약 el7이 아니라 el6라면 아래 단계에서 CentOS 6을 설치하시면 됩니다.)

 

1. 먼저 CentOS 7 환경을 준비합니다. VirtualBox에 설치하셔도 되고, VPS를 이용하셔도 됩니다.

 

2. 최신 Git 버전을 받습니다. https://github.com/git/git/tags 에서 최신 태그의 tar.gz 링크를 클릭하시면 됩니다. 글 작성 시점에서 최신버전 링크는 https://github.com/git/git/archive/refs/tags/v2.36.1.tar.gz 입니다.

 

3. 압축을 풉니다. tar xzf v2.36.1.tar.gz 와 같이 압축을 해제해 주시면 됩니다.(물론 위에서 다른 버전을 받았다면 파일명도 버전에 맞춰야 하겠죠?) git-2.36.1 과 같은 폴더가 생성될겁니다.

 

4. cd git-2.36.1로 소스 폴더에 접근합니다. make clean과 make configure로 configure 명령을 생성합니다.

 

5. ./configure --prefix=../git 명령을 이용, 경로를 지정합니다. ./configure --prefix=/home/yjsoft/git 과 같이 절대경로 지정을 추천하지만 상대경로도 가능합니다.

 

6. make으로 빌드후 make install로 위 5번 단계에서 지정한 폴더에 파일을 복사합니다.

 

7. 5번 단계에서 지정한 폴더로 들어가면(cd ~/git 혹은 /home/yjsoft/git 혹은 지정한 폴더명) bin 폴더와 libexec 폴더와 share 폴더가 보입니다. 이중 bin 폴더 내용물만 필요합니다.(사실 libexec쪽도 필요하지만 따로 옮기겠습니다)

 

8. bin 폴더를 카페24로 업로드합니다. 어디건 상관없지만 개인적으로 계정 최상위 폴더 (/호스팅아이디/) 사용을 추천합니다. 호스팅 아이디가 yjsoft라면 /yjsoft/bin 폴더에 git 파일 등이 오도록 하면 되겠습니다.

 

9. 이제 libexec/git-core 폴더안 파일중 딱 하나의 파일을 옮길겁니다. 바로 git-remote-https 입니다. 해당 파일을 따로 폴더를 만들어서(/호스팅아이디/libexec 폴더 사용을 추천하지만 어디건 상관없습니다) 업로드합니다. 공간이 남아돈다면 libexec/git-core 폴더안 모든 파일을 업로드해도 되지만 대부분 용량이 부족할테니 하나만 업로드하겠습니다.

 

10. 이제 직접 설치한 git을 사용할수 있도록 하고, git이 사용하는 libexec 폴더를 지정해주겠습니다. 다음 두개 명령으로 가능합니다.

 

export PATH=/호스팅아이디/git:$PATH

export GIT_EXEC_PATH=/호스팅아이디/libexec

 

경로가 다른 경우 적절히 변경해주셔야 합니다. 제 경우

 

export PATH=/yjsoft/git:$PATH

export GIT_EXEC_PATH=/yjsoft/libexec

 

가 되겠습니다.

 

이것을 매번 실행해주거나, .bashrc나 .profile 에 추가하셔도 됩니다만... 카페24는 이 두개 파일을 불러오지 않는것 같네요. 어쨌건 귀찮다면 source .bashrc 만으로도 세팅이 가능하게 .bashrc에 추가해두셔도 됩니다.

 

11. 이후 일반적인 git처럼 https 주소로 clone하거나 pull할수 있습니다. 다만 앞선 단계에서 모든 파일을 업로드하지 않은 관계로 일부 기능은 동작하지 않을 수 있습니다.

  • ?
    혹시 호스팅이 php7.4 지원하나요?
  • ? profile
    https://hosting.cafe24.com/?controller=product_page&type=basic&page=autoban

    직접 찾아보시면 되겠죠?
  • profile ?
    아 그렇군요. 전 신청할때 선택하는걸로 생각했네요