로컬에 있는 파일을 원격 리눅스 서버로 옮기는 방법은 여러가지가 있습니다.
scp 명령어를 통해 옮기는 방법git을 이용해 옮기는 방법FTP를 이용해 파일을 옮기는 방법이 가장 단순합니다.
하지만 지금처럼 배포자동화가 당연시된 시대에서 FTP는 왠지 시대의 흐름을 역행하는 것 같아 찝찝할 수도 있습니다.
scp는 리눅스에서 원격서버간에 파일을 옮기는 방법입니다. 단순하게 파일을 복사합니다.
git은 우리의 로컬 서버와, 리눅스 서버 둘 다 git 서버에 접속할 수 있다는 점을 이용해, 로컬 파일 push -> 서버에서 pull 하는 방법입니다.
이를 조금 더 복잡하게 응용하면 젠킨스, envoy 등을 이용해 git에 push될 경우 자동으로 서버에 배포되게 할 수 있습니다.
우리는 지속적인 통합 - 배포 (CI CD - Continuous Integration, Continuous Delivery & Continuous Deployment) 까지 구성하지는 않겠지만, 그 기초가 되는 방법을 익히고자 git을 사용해 보겠습니다.
웹콘솔 혹은 ssh를 이용해 서버로 접속합니다.
홈 디렉토리로 이동합니다.
cd /home/bitnami
git과 연동되는 디렉토리를 생성합니다.
mkdir markdown-blog
생성된 디렉토리로 이동합니다.
cd markdown-blog
git에서 코드를 clone합니다.
git clone https://github.com/koeunyeon/ci4.git
다음부터는 코드 변경사항을 가져오려면 pull을 하면 됩니다.
cd /home/bitnami/markdown-blog/ci4
git pull
{repo 이름}/ 아래에 실제 코드를 clone하므로 markdown-blog 가 아니라 markdown-blog/ci4 에서 pull 해야 한다는 것만 기억하면 됩니다.
/home/bitnami/ 디렉토리에서 ls -al 로 파일 목록을 보면, htdocs 디렉토리가 /opt/bitnami/apache2/htdocs로 링크가 걸려있는 것을 확인할 수 있습니다.
bitnami@:~$ ls -al
total 44
drwxr-xr-x 4 bitnami bitnami 4096 Oct 27 10:12 .
drwxr-xr-x 3 root root 4096 Oct 8 19:01 ..
-rw------- 1 bitnami bitnami 8 Oct 27 09:31 .bash_history
-rw-r--r-- 1 bitnami bitnami 220 Apr 18 2019 .bash_logout
-rw-r--r-- 1 bitnami bitnami 4146 Oct 27 09:14 .bashrc
-rw------- 1 bitnami bitnami 13 Oct 27 09:15 bitnami_application_password
-r-------- 1 bitnami bitnami 401 Oct 27 09:15 bitnami_credentials
lrwxrwxrwx 1 bitnami bitnami 27 Oct 8 19:08 htdocs -> /opt/bitnami/apache2/htdocs
drwxr-xr-x 3 bitnami bitnami 4096 Oct 27 10:13 markdown-blog
-rw-r--r-- 1 bitnami bitnami 1427 Oct 27 09:14 .profile
drwx------ 2 bitnami bitnami 4096 Oct 27 09:14 .ssh
lrwxrwxrwx 1 bitnami bitnami 12 Oct 8 19:08 stack -> /opt/bitnami
비트나미 스택에서 기본 웹 루트의 경로는 /opt/bitnami/apache2/htdocs 입니다. 따라서 일반적으로는 git에서 다운로드한 파일을 /opt/bitnami/apache2/htdocs로 파일을 복사하면 됩니다.
다만, 코드이그나이터4 같은 경우 웹 루트가 app이 있는 디렉토리가 아니라 /public 디렉토리죠. 그래서 프로젝트 루트를 만들고, 아파치가 가리키는 웹 루트 디렉토리를 변경해 보겠습니다.
먼저 프로젝트 루트 디렉토리를 생성합니다.
cd /opt/bitnami/apache2/htdocs
mkdir markdown-blog
git에서 내려받은 프로젝트 파일 전부를 /opt/bitnami/apache2/htdocs/markdown-blog로 복사합니다.
cp /home/bitnami/markdown-blog/ci4/src/sample/* /opt/bitnami/apache2/htdocs/markdown-blog/ -r
잘 복사되었는지 확인합니다.
ls /opt/bitnami/apache2/htdocs/markdown-blog
결과는 아래와 같습니다.
app builds composer.json composer.lock env LICENSE phpunit.phar phpunit.xml.dist public README.md rest_test spark tests vendor writable
이방법도 있었네요 ㅋㅋ 저는 php스톰에서 바로 업로드하거나 aws 명령어로 cmd 통해서 바로 옮기는방법이 있더라구요~ 쨌든 깃을 통해서 업로드 하는것도 좋을것 같군요