Ruby은 강력한 프로그래밍 언어입니다. 이는 여러 프로그래밍 패러다임을 통합한 인터프리터 방식의 고급 범용 언어입니다. Ruby의 창시자인 마츠모토 유키히로(Yukihiro Matsumoto)는 Perl, Ada, Lisp, Eiffel, Smalltalk 등 자신이 좋아하는 프로그래밍 언어의 다양한 부분을 혼합하여 Ruby를 만들었습니다. 그의 말에 따르면, 그는 Ruby를 “더 자연스럽게, 단순하지 않게”.
Ruby의 인기 중 상당 부분은 Ruby on Rails에서 나옵니다. 이는 Ruby를 기반으로 구축된 강력한 웹 프레임워크입니다. Airbnb, Spotify, GitHub, SoundCloud 등 수많은 웹 애플리케이션의 백엔드 역할을 합니다. Ruby on Rails의 철학은 직관적인 프레임워크를 제공하여 견고하고 성능이 뛰어난 웹 페이지를 빠르게 구축하는 것입니다.
웹 프레임워크인 Ruby on Rails는 다음과 같은 인기 있는 데이터베이스 엔진과 함께 작동할 수 있습니다. 예: SQLite, MySQL/MariaDB, 그리고 PostgreSQL. 이 가이드는 MySQL을 데이터베이스 엔진으로 사용하는 Ruby on Rails 앱의 기반을 구축하는 방법을 보여줍니다.
전제 조건
- 이 가이드에 나오는 모든 단계는 Ubuntu 21.04에서 수행됩니다. 다음에 대해 자세히 알아보세요. 여기에서 Ubuntu 서버 설정하기.
- 또한 MySQL 서버를 설치하고 구성하는 간단한 데모도 보여드릴 것입니다. 자세한 내용은 다음 가이드를 참조하세요. MySQL 설정하기.
- Ruby 설치 및 관리에는 rbenv를 사용할 것입니다. 이는 Ruby 환경 관리를 돕기 위해 설계된 도구입니다. RVM, rbenv은 차이점이 있습니다.
1단계: MySQL 설치 및 구성
MySQL은 Ruby on Rails 앱의 데이터베이스 백엔드 역할을 합니다. MySQL이 아직 설치 및 구성되지 않았다고 가정하고 다음 단계를 따르세요. 터미널을 실행하고 다음을 업데이트합니다. APT 캐시:
|
1 |
sudo apt update |
그런 다음 MySQL 구성 요소를 설치합니다.
|
1 |
sudo apt install install mysql-server mysql-client libmysqlclient-dev |
설치가 완료되면 다음 MySQL 스크립트를 실행합니다. 이 스크립트는 간단한 설치 후 구성을 수행합니다.
|
1 |
sudo mysql_secure_installation |
스크립트가 여러 질문을 할 것입니다. 단계를 완료하여 초기 구성을 마칩니다.
-
추가 단계
다음 단계는 선택 사항이며, 튜토리얼을 진행하는 동안 Ruby on Rails가 MySQL 서버에 연결하지 못하는 경우에만 수행해야 합니다. 이 단계는 MySQL의 root 사용자가 다음을 사용하도록 설정합니다. mysql_native_password 기존의 비밀번호 로그인을 허용합니다. Ubuntu에서 다음 계정에 액세스합니다. root 계정:
|
1 |
sudo su |
이제 비밀번호 확인 없이 MySQL root 셸을 실행합니다:
|
1 |
mysql -u root --skip-password |
다음으로, 비밀번호를 변경하고 인증 방법으로 mysql_native_password을 설정하기 위해 다음 쿼리를 실행합니다:
|
1 2 |
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<password>'; FLUSH PRIVILEGES; |
2단계: Ruby 및 Ruby on Rails 설치 및 구성
데이터베이스 서버가 프로덕션 준비를 마쳤습니다. 이제 Ruby를 설치해야 합니다. 앞서 언급했듯이, 이 프로젝트의 Ruby 버전 관리자로 rbenv를 사용할 것입니다. Ruby on Rails는 Ruby gem으로 제공됩니다.
-
rbenv 설치
Ruby 관리자인 rbenv는 공식 Ubuntu 패키지 서버에서 직접 설치할 수 있습니다. 다른 배포판의 경우, 다음을 확인하세요. 공식 rbenv 설치 가이드.
터미널을 열고 바로 설치합니다:
|
1 |
sudo apt install rbenv |
다음으로, 기본 셸과 rbenv를 통합해야 합니다. 다음 rbenv 명령을 실행합니다:
|
1 |
rbenv init |
출력 결과에 나와 있듯이, bash의 경우 로컬 bashrc 파일에 해당 줄을 포함해야 합니다. 너무 자세히 설명하지는 않겠지만, bashrc 파일은 사용자가 대화형 모드에서 새 셸을 열 때마다 로드됩니다. 텍스트 편집기에서 파일을 열고 다음 텍스트를 추가합니다:
|
1 |
nano ~/.bashrc |
파일을 저장하고 편집기를 닫습니다. 변경 사항을 적용하려면 터미널을 다시 시작하는 것이 좋습니다. 또는 현재 셸에 bashrc 파일을 다시 로드할 수 있습니다:
|
1 |
source ~/.bashrc |
다음으로, rbenv 플러그인을 설치하여 rbenv install 명령을 지원하도록 하겠습니다. 이 플러그인은 rbenv GitHub 리포지토리에서 직접 제공됩니다. 다음 명령을 실행하세요:
|
1 2 |
mkdir -p "$(rbenv root)"/plugins git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build |
설정된 rbenv 설정을 테스트하려면 다음 rbenv-doctor 스크립트를 실행하세요:
|
1 |
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/main/bin/rbenv-doctor | bash |
다양한 구성 요소를 확인하고 모든 것이 정상인지 보고합니다.
-
Installing Ruby
Once rbenv 설정이 완료되면 Ruby를 설치할 준비가 된 것입니다. 다음 명령은 사용 가능한 모든 Ruby 버전을 나열합니다:
|
1 |
rbenv install -l |
출력 내용이 다소 길 수 있으므로, 더 원활하게 찾아보려면 more 또는 less 명령어로 넘겨서 확인하는 것이 좋습니다. 이 목록에는 다양한 Ruby 빌드도 포함되어 있습니다. 이 가이드에서는 최신 공식 Ruby 빌드에 초점을 맞추겠습니다. 이 글을 작성하는 시점의 최신 버전은 Ruby v3.0.3.
이제 Ruby를 설치합니다:
|
1 |
rbenv install <ruby_version> |
다음 명령은 설치된 Ruby를 모든 애플리케이션에서 사용할 수 있는 전역(global) 버전으로 선언합니다:
|
1 |
rbenv global <ruby_version> |
Ruby 설치를 확인합니다:
|
1 |
ruby --version |
-
Ruby on Rails 설치하기
이 웹 프레임워크는 Ruby의 gem으로 제공됩니다. Ruby on Rails는 Ubuntu 패키지 서버에서 직접 설치할 수도 있지만, gem으로 설치하는 것이 더 많은 유연성을 제공합니다.
먼저, gem인 Bundler를 설치합니다. 이는 gem 의존성을 해결해 주는 도구입니다. Rails는 이 도구에 의존합니다:
|
1 |
gem install bundler |
다음 명령을 실행하면 최신 안정 버전의 Ruby on Rails가 gem으로 설치됩니다:
|
1 |
gem install rails |
특정 버전을 설치하려는 경우, 명령 구조는 다음과 같습니다:
|
1 |
gem install rails <rails_version> |
gem 설치가 완료되면 다음 명령을 실행하세요:
|
1 |
rbenv rehash |
Ruby 관리자인 rbenv는 현재 활성화된 Ruby 버전의 파일을 가리키는 shim을 위한 전용 디렉터리를 생성하여 작동합니다. rehash 하위 명령은 rbenv가 서버에 설치된 모든 Ruby 버전의 모든 Ruby 명령과 일치하도록 해당 디렉터리의 shim을 유지하도록 지시합니다. 새로운 버전의 Ruby를 설치하거나 Rails와 유사한 명령을 제공하는 gem을 설치할 때마다 이 명령을 실행해야 합니다.
Rails 설치를 확인합니다:
|
1 |
rails -v |
3단계: MySQL gem 설치하기
MySQL 서버에 연결하려면 Rails에 어댑터가 필요합니다. 이 기능을 위해 mysql2 gem을 사용하겠습니다. mysql2 gem을 설치합니다:
|
1 |
gem install mysql2 |
4단계: 새 Rails 앱 생성 및 설정하기
-
샘플 앱 생성하기
지금까지 Rails 앱을 구축하는 데 필요한 모든 구성 요소를 설정했습니다. 다음 명령은 앱을 위한 전용 디렉터리를 생성하고 MySQL을 지원하는 데 필요한 모든 파일을 배치합니다:
|
1 |
rails new <app_name> -d mysql |
-
MySQL 연결 설정하기
이제 Rails가 데이터베이스에 연결하고 데이터를 교환할 수 있도록 필요한 MySQL 정보를 입력해야 합니다. 기본적으로 Rails는 MySQL에 root 사용자로 연결합니다. Rails 데이터베이스 설정 파일을 엽니다:
|
1 2 |
cd <app_dir> nano config/database.yml |
아래 섹션으로 스크롤하여 MySQL의 root 비밀번호를 입력합니다. 그런 다음 파일을 저장하고 편집기를 닫습니다.
-
데이터베이스 변경 사항 적용하기
모든 것이 정상적으로 진행되었다면, 이제 Rails가 MySQL에 연결하여 필요한 데이터베이스 작업을 수행할 수 있어야 합니다. 다음 명령은 필요한 데이터베이스를 생성합니다:
|
1 |
rake db:create |
5단계: 설정 테스트하기
Rails 개발 서버를 시작합니다:
|
1 |
rails server --바인딩=<server_public_ip> |
다음 URL에서 환영 페이지에 접속할 수 있습니다:
|
1 |
http://<server_public_ip>:3000 |
마치며
이 가이드에서는 다음을 사용하여 Ruby를 설치했습니다: rbenv, Rails 젬을 설치하고, MySQL에 연결하여 데이터베이스 엔진으로 사용하도록 샘플 Rails 앱을 구성했습니다. 이는 확장 가능하고 중앙 집중화된 웹 앱을 위한 훌륭한 뼈대 역할을 합니다.
Ubuntu 20.04에서 RVM으로 Ruby on Rails를 설치하는 방법을 알아보려면 다음 튜토리얼을 확인하세요: Ubuntu 20.04에서 RVM으로 Ruby on Rails 설치하기. PostgreSQL로 Ruby on Rails를 설정하는 방법을 알아보려면 다음 튜토리얼을 확인하세요: PostgreSQL로 Ruby on Rails 설정하기.
즐거운 컴퓨팅 되세요!






















댓글
아직 댓글이 없습니다. 첫 번째로 작성해 보세요.