Computer >> 컴퓨터 >  >> 시스템 >> Linux

SSH 전용 웹 호스팅에 가입하셨나요? 걱정 마세요 — 웹 소프트웨어를 쉽게 설치하는 방법

도메인 이름까지 정했고, 머릿속에는 훌륭한 프로젝트 아이디어가 가득합니다. 이제 인터넷에 여러분의 최신 걸작을 선보일 준비가 된 것이죠.

최고의 웹 호스팅을 찾아 인터넷을 샅샅이 뒤진 끝에, VPS를 저렴한 가격에 계약했습니다. 그런데 문제가 하나 있습니다. 강력한 리눅스 명령줄을 다루는 방법을 전혀 모른다는 점입니다.

하지만 더 이상 걱정하지 마세요. 이 글에서는 두 가지 훌륭한 웹 애플리케이션을 설치하는 방법을 알려드립니다. 하나는 인터넷 곳곳에서 사용되는 대표 블로그 플랫폼인 워드프레스(WordPress)이고, 다른 하나는 블로깅 분야의 새로운 강자로 떠오른 자바스크립트와 Node 기반의 고스트(Ghost)입니다. 이 앱들을 설치하는 과정을 직접 따라 해 보면, 어떤 웹 애플리케이션이든 스스로 설치할 수 있을 만큼 리눅스 명령줄에 자신감이 붙을 것입니다.

실습을 위해 Ubuntu 13.10 x64가 설치된 DigitalOcean 인스턴스를 준비했습니다. DigitalOcean은 월 5달러부터 시작하는 합리적인 가격에 품질 좋고 빠른 가상 서버를 제공하는 VPS 업체로, 개인적으로 특히 마음에 드는 곳입니다. 물론 그 외에도 훌륭한 VPS 업체들이 많으니 상황에 맞게 선택하시면 됩니다.

고스트(Ghost) 설치하기

Ghost는 블로깅을 새롭게 재해석한 플랫폼입니다. 콘텐츠를 발행하는 과정이 최대한 편안하도록 사용자 경험의 모든 요소가 세심하게 설계되어 있습니다.

이번 실습에서는 Ghost 설치 프로그램이 내장된 DigitalOcean VPS를 사용하지만, 일부러 설치 프로그램을 건너뛰고 어려운 방식으로 진행하겠습니다. 그래야 명령줄 활용 능력이 진짜로 향상되기 때문입니다.

먼저 SSH로 서버에 접속해야 합니다. 리눅스나 OS X를 사용한다면 SSH 클라이언트가 기본 내장되어 있어 비교적 간단합니다. 윈도우 사용자라면 오픈소스 SSH 클라이언트인 PuTTY를 추천합니다. 웹 브라우저에 연동되는 클라이언트 등 훌륭한 대안도 여럿 있습니다.

SSH 전용 웹 호스팅에 가입하셨나요? 걱정 마세요 — 웹 소프트웨어를 쉽게 설치하는 방법

서버에 처음 로그인했다면 몇 가지 기본 정리 작업부터 해야 합니다. 패키지 관리자를 업데이트하고, 시스템에 적용할 업데이트가 있다면 설치하는 것이죠. 우분투에서는 다음 명령어를 입력하면 됩니다:

 sudo apt-get update
sudo apt-get upgrade

참고로 root 계정으로 로그인했다면 'sudo'를 입력할 필요가 없습니다. sudo는 일반 계정이 운영체제에 영향을 주는 명령을 실행할 수 있도록 일시적으로 권한을 상승시키는 도구입니다.

SSH 전용 웹 호스팅에 가입하셨나요? 걱정 마세요 — 웹 소프트웨어를 쉽게 설치하는 방법 SSH 전용 웹 호스팅에 가입하셨나요? 걱정 마세요 — 웹 소프트웨어를 쉽게 설치하는 방법

이제 build-essential과 zip을 설치합니다.

 sudo apt-get install build-essential zip

벌써 세 번째로 apt-get을 사용하고 있네요. 그렇다면 apt-get은 정확히 무엇일까요? apt-get은 데비안, 우분투, 리눅스 민트에서 사용되는 패키지 관리자입니다. 시스템의 모든 패키지를 관리하고, 새 패키지를 설치하거나 삭제·업데이트할 수 있게 해 줍니다. 꽤 유용하죠?

SSH 전용 웹 호스팅에 가입하셨나요? 걱정 마세요 — 웹 소프트웨어를 쉽게 설치하는 방법

그리고 Node.js도 함께 설치하세요. Ghost가 구동되는 플랫폼으로, 간단한 apt-get 명령으로 설치할 수 있습니다. 구버전 우분투 사용자라면 공식 저장소보다 최신 버전을 제공하는 Chris Lea의 PPA에서 Node를 받아야 할 수도 있습니다.

 sudo apt-get install nodejs
SSH 전용 웹 호스팅에 가입하셨나요? 걱정 마세요 — 웹 소프트웨어를 쉽게 설치하는 방법

NPM(Node Package Manager)도 필요합니다. /usr/bin/nodejs와 /usr/bin/node 사이에 심볼릭 링크를 만든 뒤, NPM 설치 스크립트를 내려받아 실행합니다.

 ln -s /usr/bin/nodejs /usr/bin/node
curl https://npmjs.org/install.sh | sudo sh

여기서 처음 등장한 curl은 리눅스의 강력한 유틸리티로, 프로그램 간 데이터를 전송할 때 사용됩니다. 이 예제에서는 NPM 설치 스크립트를 내려받는 용도로 쓰였으며, '| sudo sh'로 해당 스크립트를 실행합니다.

SSH 전용 웹 호스팅에 가입하셨나요? 걱정 마세요 — 웹 소프트웨어를 쉽게 설치하는 방법 SSH 전용 웹 호스팅에 가입하셨나요? 걱정 마세요 — 웹 소프트웨어를 쉽게 설치하는 방법

더 진행하기 전에 Node와 NPM이 제대로 설치되었는지 확인해 보겠습니다. 화면이 아래와 비슷하게 나온다면 다음 단계로 넘어가도 됩니다.

 npm -v
node -v

오류가 표시된다면 뭔가 잘못된 것입니다. 앞선 단계를 다시 확인하거나, 댓글로 문의해 주세요.

SSH 전용 웹 호스팅에 가입하셨나요? 걱정 마세요 — 웹 소프트웨어를 쉽게 설치하는 방법

좋습니다. 이제 Ghost를 내려받아 압축을 풀어봅시다!

 curl -L https://ghost.org/zip/ghost-latest.zip -o ghost.zip
unzip -uo ghost.zip -d ghost
SSH 전용 웹 호스팅에 가입하셨나요? 걱정 마세요 — 웹 소프트웨어를 쉽게 설치하는 방법 SSH 전용 웹 호스팅에 가입하셨나요? 걱정 마세요 — 웹 소프트웨어를 쉽게 설치하는 방법

아직 ghost 디렉터리 안에 없다면 해당 디렉터리로 이동한 후 NPM으로 설치를 진행합니다.

 cd ghost/
npm install --production
SSH 전용 웹 호스팅에 가입하셨나요? 걱정 마세요 — 웹 소프트웨어를 쉽게 설치하는 방법 SSH 전용 웹 호스팅에 가입하셨나요? 걱정 마세요 — 웹 소프트웨어를 쉽게 설치하는 방법

NPM의 멋진 점 하나. Ghost에 필요한 자바스크립트 의존성 패키지들을 알아서 모두 설치해 줍니다. 정말 편리하죠? 설치가 끝나면 config.js 파일을 열어 포트 번호를 8080으로 수정하세요. 초보자에게는 Nano 에디터가 좋지만, 필자는 Vim을 선호합니다. 또한 hostname을 접속 중인 서버의 IP 주소로 변경해야 합니다.

SSH 전용 웹 호스팅에 가입하셨나요? 걱정 마세요 — 웹 소프트웨어를 쉽게 설치하는 방법

이제 Ghost를 시작할 차례입니다! Ghost를 설치한 디렉터리에서 다음 명령을 실행하세요:

 npm start

정상 작동 여부를 확인하려면 웹 브라우저로 Ghost를 설치한 서버에 접속해 보세요. 이때 config.js에서 지정한 포트 번호를 반드시 포함해야 합니다.

SSH 전용 웹 호스팅에 가입하셨나요? 걱정 마세요 — 웹 소프트웨어를 쉽게 설치하는 방법

만세! 잘 작동하네요!

워드프레스(WordPress)

이번엔 워드프레스를 설치해 보겠습니다. 깨끗한 새 DigitalOcean droplet으로 처음부터 시작합니다. 앞서와 마찬가지로 SSH로 서버에 접속한 뒤 패키지 관리자를 업데이트하고 모든 업데이트를 설치하세요. 그다음 LAMP 스택부터 구축합니다. LAMP는 'Linux, Apache, MySQL, PHP'의 약자로, 워드프레스 구동에 필요한 플랫폼, 웹 서버, 데이터베이스, 프로그래밍 언어를 뜻합니다.

LAMP 스택 설정은 생각보다 간단합니다. 설치해야 할 의존성 목록이 꽤 길긴 하지만, 다행히 우분투에는 이 모든 것을 한 번에 처리해 주는 한 줄 명령어가 있습니다.

 sudo apt-get install lamp-server^
SSH 전용 웹 호스팅에 가입하셨나요? 걱정 마세요 — 웹 소프트웨어를 쉽게 설치하는 방법

MySQL 서버는 모든 데이터가 저장되는 곳입니다. 따라서 설치 중 비밀번호를 입력하라는 메시지가 나오면 반드시 강력한 root 비밀번호를 설정하기 바랍니다.

SSH 전용 웹 호스팅에 가입하셨나요? 걱정 마세요 — 웹 소프트웨어를 쉽게 설치하는 방법

이걸로 끝입니다. 정말입니다. 이것으로 LAMP 서버 설정이 완료되었습니다. 이제 워드프레스를 설치해 볼까요!

먼저 워드프레스가 블로그 글을 저장할 데이터베이스와, 데이터베이스와 통신할 사용자 계정을 만들어야 합니다. MySQL에 로그인하세요.

SSH 전용 웹 호스팅에 가입하셨나요? 걱정 마세요 — 웹 소프트웨어를 쉽게 설치하는 방법

이제 다음 코드를 한 줄씩 차례대로 입력합니다.

 CREATE DATABASE wordpress;
CREATE USER ‘wordpressuser’@‘localhost’ identified by ‘password’;
GRANT ALL PRIVILEGES ON wordpress. * TO 'wordpressuser'@'localhost';
FLUSH PRIVILEGES;
exit

이제 워드프레스를 내려받아 압축을 풉니다.

 wget https://wordpress.org/latest.tar.gz
tar -zxvf latest.tar.gz -C /wordpress

wget을 curl 대신 사용한 점을 눈치채셨나요? 이 경우 둘 다 동일하게 작동하며 사실상 서로 바꿔 쓸 수 있는 도구입니다. 맥락상 하는 일이 거의 같습니다.

SSH 전용 웹 호스팅에 가입하셨나요? 걱정 마세요 — 웹 소프트웨어를 쉽게 설치하는 방법

워드프레스를 /var/www로 옮기고 해당 디렉터리에 읽기·쓰기·실행 권한을 부여합니다. 이때 -R 플래그를 빼먹지 마세요. 하위 디렉터리까지 재귀적으로 권한을 적용하는 옵션입니다.

 mv wordpress/ /var/www
chmod -R 777 /var/www
SSH 전용 웹 호스팅에 가입하셨나요? 걱정 마세요 — 웹 소프트웨어를 쉽게 설치하는 방법

이제 브라우저에서 <ip address>/wordpress로 접속하세요. 안내를 잘 따라왔다면 아래와 같은 페이지가 보일 것입니다. 웹 인터페이스를 통해 설정 파일을 생성하라는 안내가 나오는데, 지시에 따르면 금방 여러분만의 워드프레스 설치를 완료할 수 있습니다. 멋지죠?

SSH 전용 웹 호스팅에 가입하셨나요? 걱정 마세요 — 웹 소프트웨어를 쉽게 설치하는 방법

Bitnami는 어떨까?

마무리하기 전에 Bitnami에 대해 잠깐 이야기하겠습니다. AWS 서버를 사용 중이라면 반드시 살펴볼 가치가 있습니다. 이 스페인 스타트업은 Drupal과 워드프레스를 포함한 인기 웹 애플리케이션을 AWS 인스턴스에 손쉽게 원격 배포할 수 있게 해 줍니다.

SSH 전용 웹 호스팅에 가입하셨나요? 걱정 마세요 — 웹 소프트웨어를 쉽게 설치하는 방법

직접 설치하기가 번거롭다면 Bitnami에 서버 구축까지 맡길 수도 있습니다. 다만 약간의 추가 비용이 발생할 수 있다는 점은 감안해야 합니다.

플랫폼 종속적인 내용이라 여기서 자세히 다루지는 않겠습니다. 그래도 꼭 사용해 보고 싶다면, Bitnami에서 선택한 웹 애플리케이션을 1시간 동안 무료로 체험 설치할 수 있습니다. 이 글의 나머지 내용은 GNU/Linux가 구동되는 모든 서버에서 적용 가능합니다.

결론

리눅스 명령줄은 처음에는 위압적으로 느껴질 수밖에 없습니다. 하지만 SSH 전용 웹 호스팅에 가입하게 되었다면, 뭔가를 하려면 결국 명령줄과 친해져야 합니다.

다행히 하나의 웹 앱을 설치할 수 있다면 나머지도 모두 설치할 수 있습니다. 필요한 것은 리눅스 명령줄에 대한 약간의 자신감과, 문제가 생겼을 때 검색해서 해결하는 능력뿐입니다.

혹시 실수로 SSH 전용 웹 호스팅에 가입한 적이 있으신가요? 여러분의 경험을 댓글로 들려주세요.

사진 출처: Innovation Trends in Data Center Technology Think Tank (Dell)