로컬에 있는 파일을 원격 리눅스 서버로 옮기는 방법은 여러가지가 있습니다.
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 통해서 바로 옮기는방법이 있더라구요~ 쨌든 깃을 통해서 업로드 하는것도 좋을것 같군요