프로그래밍 · 6 min read · Oct 12, 2025

Debian 12에 Ruby on Rails 설치하는 방법

Ruby on Rails 또는 RoR은 Ruby로 작성된 무료 오픈 소스 웹 애플리케이션 프레임워크로 MIT 라이센스 하에 배포됩니다. Rails는 엔터프라이즈급 애플리케이션을 쉽게 구축할 수 있는 풀스택 웹 프레임워크입니다. Rails는 개발자가 프론트엔드와 백엔드 애플리케이션을 쉽게 생성할 수 있도록 다양한 도구를 제공합니다. Ruby on Rails는 SQL 인젝션, XSS 및 CSRF와 같은 일반적인 공격으로부터 보호하는 보안 기능도 내장되어 있습니다.

Ruby on Rails는 데이터베이스, HTML 템플릿 렌더링, 웹 서비스 및 웹 페이지에 대한 기본 구조를 제공합니다. 이는 모델-뷰-컨트롤러(MVC) 아키텍처를 따르며, Don’t Repeat Yourself (DRY), Convention over Configuration (CoC) 및 액티브 레코드 패턴과 같은 잘 알려진 디자인 철학을 사용합니다. Ruby on Rails는 빠르고 사용하기 쉽고 배우기 쉽게 설계되었습니다. Twitch, Airbnb, Github, Soundcloud 등 Rails로 개발된 몇 가지 주목할 만한 사이트가 있습니다.

이 가이드에서는 Debian 12 서버에 Ruby on Rails를 설치하는 방법을 안내합니다. PostgreSQL 데이터베이스 서버와 Rbenv Ruby 버전 관리자를 사용하여 Ruby on Rails를 설치합니다. 또한 Rails 프로젝트의 기본 구조인 스캐폴드를 생성합니다.

필수 조건

시작하기 전에 다음 사항을 확인하세요:

  • Debian 12 서버.
  • sudo 관리자 권한이 있는 비루트 사용자.

종속성 설치

첫 번째 단계에서는 Debian 서버에 몇 가지 기본 종속성을 설치합니다. 여기에는 Rails 프로젝트의 데이터베이스로 사용될 PostgreSQL 데이터베이스 서버, node.js 및 Rails가 정적 자산을 컴파일하는 데 사용할 Yarn 패키지 관리자가 포함됩니다.

시작하려면 아래의 apt update 명령을 실행하여 패키지 인덱스를 업데이트하고 새로 고칩니다.

sudo apt update

다음으로, 아래의 apt install 명령을 사용하여 종속성을 설치합니다. 여기에는 PostgreSQL 데이터베이스 서버, libpq 드라이버, Node.js, Yarn, Git 및 일부 시스템 라이브러리와 도구가 포함됩니다.

sudo apt install postgresql libpq-dev nodejs yarnpkg git zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev software-properties-common libffi-dev

y를 입력하여 설치를 확인하고 진행합니다.

종속성이 설치되면 아래의 명령을 사용하여 PostgreSQL 서버 상태를 확인합니다. 이렇게 하면 PostgreSQL이 Debian 머신에서 실행되고 활성화되어 있는지 확인할 수 있습니다.

sudo systemctl is-enabled postgresql  
sudo systemctl status postgresql

PostgreSQL이 활성화되어 있으면 enabled라는 출력이 표시됩니다. PostgreSQL이 실행 중이면 active(running) 또는 active(exited)라는 출력이 표시됩니다.

checking postgresql

마지막으로 아래의 명령을 실행하여 Node.js 및 Yarn 패키지 관리자를 확인합니다.

node --version  
yarnpkg --version

이 예에서는 Node.js 18 및 Yarn 1.22가 설치되어 있습니다.

Rbenv 설치

패키지 종속성을 설치한 후 다음 단계는 Unix와 유사한 운영 체제를 위한 Ruby 버전 관리자인 Rbenv를 설치하는 것입니다. Rbenv를 사용하면 Ruby 앱 환경을 쉽게 관리할 수 있으며, 시스템에 여러 Ruby 버전을 설치할 수 있습니다.

아래의 명령을 사용하여 사용자로 로그인합니다.

su - user

아래의 git 명령을 통해 rbenv 소스 코드와 ruby-build 플러그인을 다운로드합니다.

git clone https://github.com/rbenv/rbenv.git ~/.rbenv  
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build

이제 아래의 명령을 실행하여 셸에 사용자 정의 PATH를 추가합니다.

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc  
echo 'eval "$(rbenv init -)"' >> ~/.bashrc  
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc

변경 사항을 적용하려면 ~/.bashrc 구성을 다시 로드합니다. 명령을 실행한 후 rbenv 설치가 활성화되어야 합니다.

source ~/.bashrc

아래의 rbenv 명령을 실행하여 rbenv를 확인합니다. rbenv 설치가 성공하면 사용 가능한 rbenv 명령/옵션이 표시됩니다.

rbenv commands

install rbenv

Rbenv를 통한 Ruby 설치

Rbenv가 설치되면 이제 시스템에 Ruby를 설치할 수 있습니다. Rbenv를 사용하면 현재 환경에만 Ruby를 설치하므로 전체 시스템에 영향을 주지 않습니다. 현재 사용자 환경에 Ruby 3.2.2를 설치합니다.

아래의 rbenv install 명령을 실행하여 시스템에 Ruby 3.2.2를 설치합니다.

rbenv install 3.2.2

설치 중에 다음과 같은 내용을 볼 수 있습니다:

install ruby via rbenv

Ruby가 설치되면 아래의 명령을 실행하여 기본 Ruby 버전을 3.2.2로 설정합니다.

rbenv global 3.2.2

마지막으로 아래의 명령을 사용하여 시스템에서 Ruby 버전을 확인합니다.

ruby -v

모든 것이 잘 진행되면 Ruby 3.2.2가 설치되었다는 메시지가 표시됩니다.

setup and verify ruby

Ruby on Rails 설치

이 시점에서 시스템이 구성되었으며 Debian 머신에 Ruby on Rails를 설치할 준비가 되었습니다. 이 예에서는 Ruby on Rails 7.0을 설치하고 공식 사이트에서 사용 가능한 Rails 버전 목록을 확인합니다.

아래의 gem 명령을 실행하여 bundler를 설치한 다음 Ruby on Rails 7.0.7.2를 설치합니다.

gem install bundler  
gem install rails -v 7.0.7.2

설치 중에 다음과 같은 출력이 표시됩니다:

install bundler

install rails 7.0

이제 아래의 rbenv 명령을 실행하여 현재 환경을 재해시하고 다시 로드합니다.

rbenv rehash

마지막으로 아래의 rails 명령을 실행하여 Ruby on Rails가 설치되었는지 확인합니다.

rails version  
rails -h

설치가 성공하면 현재 Rails 버전과 rails 명령의 도움말 페이지가 표시됩니다.

checking rails

첫 번째 Rails 프로젝트 만들기

이 섹션에서는 Ruby on Rails로 첫 번째 프로젝트를 만드는 방법을 배웁니다. PostgreSQL을 Rails 프로젝트의 기본 데이터베이스로 사용합니다. 이를 달성하기 위해 다음을 완료해야 합니다:

  • 애플리케이션을 위한 PostgreSQL 사용자 준비.
  • 첫 번째 Rails 프로젝트 만들기.

데이터베이스 사용자 준비

먼저 Rails 애플리케이션에 사용할 새로운 PostgreSQL 사용자를 생성해야 합니다. 이 사용자는 데이터베이스 및 사용자를 생성할 수 있는 권한이 있어야 합니다.

사용자 계정으로 돌아가서 아래의 명령을 사용하여 PostgreSQL 서버에 로그인합니다.

sudo su  
sudo -u postgres psql

이제 비밀번호 p4sswordbob로 사용자 bob을 생성합니다. 그런 다음 사용자 bob에게 데이터베이스 및 역할을 생성할 수 있는 새로운 권한을 부여합니다.

CREATE USER bob WITH PASSWORD 'p4sswordbob';  
ALTER USER bob CREATEDB CREATEROLE;

create postgresql role

아래의 명령을 사용하여 PostgreSQL 서버에서 사용자 및 권한 목록을 확인합니다.

\du

사용자 bob이 CREATEDB 및 CREATEROLE 권한을 가지고 있는 것을 볼 수 있어야 합니다.

list users

\q를 입력하여 PostgreSQL 서버에서 로그아웃합니다.

마지막으로 사용자로 로그인하고 아래의 psql 명령을 실행하여 새로운 사용자 bob으로 PostgreSQL 서버에 로그인합니다.

su - user  
psql -U bob -h 127.0.0.1 -d postgres

PostgreSQL 서버에 연결되면 아래의 쿼리를 실행하여 연결 정보를 확인합니다.

\conninfo

사용자 bob으로 PostgreSQL 서버에 연결되었음을 확인할 수 있어야 합니다.

check connections

\q를 입력하여 PostgreSQL 서버에서 종료합니다.

Rails 프로젝트 만들기

PostgreSQL 사용자를 생성한 후 이제 rails 명령줄 유틸리티를 통해 새로운 Rails 프로젝트를 생성할 수 있습니다.

새로운 rails 프로젝트를 만들려면 아래의 rails 명령을 실행합니다. 이 예에서는 기본 데이터베이스 PostgreSQL로 새로운 프로젝트 testapp을 생성합니다.

rails new testapp -d postgresql

명령의 출력은 다음과 같아야 합니다:

create rails project

프로젝트가 생성된 후 새로운 디렉토리 ~/testapp도 생성됩니다. ~/testapp 디렉토리로 이동하여 선호하는 텍스트 편집기를 사용하여 데이터베이스 구성 config/database.yml을 엽니다.

cd testapp/  
nano config/database.yml

개발, 테스트 및 프로덕션에 대한 기본 데이터베이스 설정을 변경합니다. PostgreSQL 사용자 이름과 비밀번호를 입력해야 합니다.

development:  
  <<: *default  
  database: testapp_development  
  
  # 지정된 데이터베이스 역할이 postgres에 연결하는 데 사용됩니다.  
  # postgres에서 추가 역할을 생성하려면 $ createuser --help를 참조하세요.  
  # 비워두면 postgres는 기본 역할을 사용합니다.  
  # 이는 Rails를 실행하는 운영 체제 사용자와 동일한 이름입니다.  
  username: bob  
  
  # postgres 역할(사용자 이름)과 관련된 비밀번호입니다.  
  password: p4sswordbob  
  
  # TCP 소켓에서 연결합니다. 기본적으로 생략되며 클라이언트는  
  # 구성할 필요가 없는 도메인 소켓을 사용합니다. Windows에는 도메인 소켓이 없습니다.  
  # 따라서 이 줄의 주석을 제거하세요.  
  host: localhost  
  
  # 서버가 수신 대기하는 TCP 포트입니다. 기본값은 5432입니다.  
  # 서버가 다른 포트 번호에서 실행되는 경우 적절하게 변경하세요.  
  port: 5432

작업이 완료되면 파일을 저장하고 종료합니다.

이제 아래의 rails 명령을 실행하여 데이터베이스를 마이그레이션합니다. 이렇게 하면 testapp 프로젝트를 위한 새로운 데이터베이스가 자동으로 생성됩니다.

rails db:setup  
rails db:migrate

아래에서 testapp 프로젝트의 데이터베이스 마이그레이션 중 출력이 표시됩니다.

migrate the database

데이터베이스가 마이그레이션된 후 아래의 rails 명령을 실행하여 testapp 프로젝트를 실행합니다. 이렇게 하면 IP 주소의 포트 3000에서 testapp이 실행됩니다.

rails server -b 192.168.10.15

다음 출력에서 testapp이 실행 중임을 확인할 수 있어야 합니다.

running rails

이제 좋아하는 웹 브라우저를 열고 서버 IP 주소 뒤에 포트 3000을 입력하여 방문합니다. 예: http://192.168.10.15:3000/. 설치가 성공하면 Ruby on Rails의 기본 index.html 페이지가 표시됩니다.

rails index

Ctrl+c를 눌러 Rails 애플리케이션을 종료합니다.

Rails 스캐폴딩 시작 키트

스캐폴드는 Rails 프로젝트의 기본 구조를 자동으로 생성하는 방법으로, 여기에는 컨트롤러, 모델 및 뷰가 포함됩니다.

아래의 rails 명령을 실행하여 books 스캐폴드를 생성하고 세 개의 필드 title, author, publication_year를 추가합니다.

rails g scaffold books title:string author:string publication_year:integer

generate scaffold

이제 아래의 rails 명령을 사용하여 변경 사항을 적용하기 위해 데이터베이스를 마이그레이션합니다.

rails db:migrate

migrate the database

다음으로 아래의 rails server 명령을 실행하여 Rails 프로젝트를 실행합니다.

rails server -b 192.168.10.15

run raikls project

testapp이 실행 중일 때 URL 경로 /books를 통해 books 스캐폴드를 확인합니다. 예: http://192.168.10.15:3000/books. 모든 것이 잘 진행되면 다음과 같은 생성된 스캐폴드를 볼 수 있어야 합니다:

scaffold rails

이제 다음과 같이 books 스캐폴드에 새 데이터를 삽입할 수 있습니다:

scaffoled input data

결론

결론적으로, Debian 12 서버에 PostgreSQL 데이터베이스 서버와 Rbenv로 Ruby on Rails 설치를 완료했습니다. 또한 Rails 프로젝트의 기본 구조를 위한 스캐폴드를 생성하는 방법을 배웠습니다.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.