Ruby is een krachtige programmeertaal. Het is een geïnterpreteerde, high-level programmeertaal voor algemene doeleinden die meerdere programmeerparadigma’s combineert. Yukihiro Matsumoto, de maker van Ruby, combineerde verschillende delen van zijn favoriete programmeertalen zoals Perl, Ada, Lisp, Eiffel, Smalltalk, enz., en creëerde Ruby. In zijn eigen woorden was hij van plan om Ruby “natuurlijker, niet eenvoudig”.
Veel van de populariteit van Ruby komt van Ruby on Rails. Het is een krachtig webframework gebouwd op Ruby. Het dient als backend voor tal van webapplicaties, bijvoorbeeld Airbnb, Spotify, GitHub, SoundCloud en meer. De filosofie van Ruby on Rails is om een intuïtief framework te bieden om het bouwen van robuuste en krachtige webpagina's te versnellen.
Als webframework kan Ruby on Rails werken met populaire database-engines, bijvoorbeeld SQLite, MySQL/MariaDB, en PostgreSQL. Deze gids laat zien hoe u de basis bouwt van een Ruby on Rails-app die MySQL als database-engine gebruikt.
Vereisten
- Alle stappen die in deze gids worden gedemonstreerd, worden uitgevoerd op Ubuntu 21.04. Lees hier meer over het hier opzetten van een Ubuntu-server.
- We laten ook een snelle demonstratie zien van het installeren en configureren van een MySQL-server. Raadpleeg voor meer informatie deze gids over het opzetten van MySQL.
- Voor het installeren en beheren van Ruby gebruiken we rbenv. Het is een tool die is ontworpen om de Ruby-omgeving te beheren. Vergeleken met RVM, rbenv heeft zijn eigen verschillen.
Stap 1: MySQL installeren en configureren
MySQL zal dienen als de database-backend voor onze Ruby on Rails-app. Ervan uitgaande dat u MySQL nog niet heeft geïnstalleerd en geconfigureerd, volgt u deze stappen. Start een terminal en update de APT cache:
|
1 |
sudo apt update |
Installeer vervolgens de MySQL-componenten:
|
1 |
sudo apt install install mysql-server mysql-client libmysqlclient-dev |
Zonda de installatie is voltooid, voert u het volgende MySQL-script uit. Dit voert een snelle configuratie na de installatie uit:
|
1 |
sudo mysql_secure_installation |
Het script zal verschillende vragen stellen. Voltooi de stappen om de initiële configuratie af te ronden:
-
Extra stap
De volgende stap is optioneel en mag alleen worden uitgevoerd als verderop in de handleiding Ruby on Rails geen verbinding kan maken met de MySQL-server. Hiermee wordt de root-gebruiker in MySQL ingesteld om mysql_native_password te gebruiken om traditionele wachtwoordlogins toe te staan. Krijg toegang tot het root account op Ubuntu:
|
1 |
sudo su |
Start nu de MySQL root shell zonder wachtwoordcontrole:
|
1 |
mysql -u root --skip-password |
Voer vervolgens de volgende query uit om het wachtwoord te wijzigen en mysql_native_password in te stellen als de authenticatiemethode:
|
1 2 |
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<password>'; FLUSH PRIVILEGES; |
Stap 2: Ruby en Ruby on Rails installeren en configureren
Onze databaseserver is klaar voor productie. We moeten nu Ruby installeren. Zoals eerder vermeld, gebruiken we rbenv als de Ruby-versiebeheerder voor ons project. Ruby on Rails is beschikbaar als een Ruby-gem.
-
rbenv installeren
De Ruby-beheerder rbenv is rechtstreeks beschikbaar vanaf de officiële Ubuntu-pakketserver. Bekijk voor andere distributies de officiële rbenv-installatiehandleiding.
Start een terminal en installeer het meteen:
|
1 |
sudo apt install rbenv |
Vervolgens moeten we rbenv integreren met de standaardshell. Voer het volgende rbenv -commando uit:
|
1 |
rbenv init |
Zoals de uitvoer aangeeft, moeten we voor bash de regel opnemen in het lokale bashrc-bestand. Zonder al te veel in detail te treden, wordt het bashrc-bestand geladen telkens wanneer de gebruiker een nieuwe shell opent in de interactieve modus. Open het bestand in een teksteditor en voeg de volgende tekst toe:
|
1 |
nano ~/.bashrc |
Sla het bestand op en sluit de editor. Het wordt aanbevolen om de terminal opnieuw op te starten om de wijzigingen door te voeren. Als alternatief kunt u het bashrc-bestand opnieuw laden in de huidige shell:
|
1 |
source ~/.bashrc |
Vervolgens installeren we een rbenv plugin om ondersteuning te bieden voor het rbenv install commando. Deze plugin is direct beschikbaar vanaf de rbenv GitHub-repo. Voer de volgende commando's uit:
|
1 2 |
mkdir -p "$(rbenv root)"/plugins git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build |
Om onze rbenv configuratie te testen, voer het rbenv-doctor script uit:
|
1 |
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/main/bin/rbenv-doctor | bash |
Het zal controleren op verschillende componenten en rapporteren of alles in orde is.
-
Ruby installeren
Zodra rbenv is geconfigureerd, zijn we klaar om Ruby te installeren. Het volgende commando toont alle beschikbare versies van Ruby:
|
1 |
rbenv install -l |
De uitvoer zal wat lang zijn, dus het is aan te raden om deze door more of less te sluizen voor beter bladeren. De lijst bevat ook verschillende builds van Ruby. Voor deze handleiding richten we ons op de nieuwste officiële Ruby-build. Op het moment van schrijven van dit artikel is dat Ruby v3.0.3.
Installeer nu Ruby:
|
1 |
rbenv install <ruby_version> |
Het volgende commando stelt de geïnstalleerde Ruby in als de globale versie die beschikbaar is voor alle applicaties:
|
1 |
rbenv global <ruby_version> |
Controleer de Ruby-installatie:
|
1 |
ruby --version |
-
Ruby on Rails installeren
Het webframework is beschikbaar als een gem voor Ruby. Hoewel Ruby on Rails direct beschikbaar is vanaf de Ubuntu-pakketservers, biedt het installeren als een gem meer flexibiliteit.
Installeer eerst de gem Bundler. Dit is een tool die gem-afhankelijkheden oplost. Rails is hier afhankelijk van:
|
1 |
gem install bundler |
Het uitvoeren van het volgende commando installeert de nieuwste stabiele versie van Ruby on Rails als een gem:
|
1 |
gem install rails |
Als je een specifieke versie geïnstalleerd wilt hebben, ziet de commandostructuur er als volgt uit:
|
1 |
gem install rails <rails_version> |
Zodra de gems zijn geïnstalleerd, voer je het volgende commando uit:
|
1 |
rbenv rehash |
De Ruby-manager rbenv werkt door speciale mappen aan te maken voor shims die verwijzen naar de bestanden van de momenteel ingeschakelde Ruby-versie. Het rehash subcommando vertelt rbenv om shims in die map bij te houden die overeenkomen met elk Ruby-commando over elke geïnstalleerde versie van Ruby op de server. Dit moet elke keer worden uitgevoerd wanneer je een nieuwe versie van Ruby installeert of een gem die commando's biedt die vergelijkbaar zijn met Rails.
Controleer de Rails-installatie:
|
1 |
rails -v |
Stap 3: MySQL-gem installeren
Om verbinding te maken met de MySQL-server heeft Rails een adapter nodig. We gebruiken de mysql2 gem voor deze functionaliteit. Installeer de mysql2 gem:
|
1 |
gem install mysql2 |
Stap 4: Een nieuwe Rails-app maken en configureren
-
Een voorbeeld-app maken
Tot nu toe hebben we alle benodigde componenten geconfigureerd om onze Rails-app op te zetten. Het volgende commando maakt een speciale map aan voor de app en plaatst alle benodigde bestanden met MySQL-ondersteuning:
|
1 |
rails new <app_name> -d mysql |
-
MySQL-verbinding configureren
Nu moeten we de benodigde MySQL-informatie invoeren zodat Rails verbinding kan maken met de database en gegevens kan uitwisselen. Standaard maakt Rails verbinding met MySQL als root. Open het Rails-databaseconfiguratiebestand:
|
1 2 |
cd <app_dir> nano config/database.yml |
Scrol omlaag naar de volgende sectie en voer het root-wachtwoord voor MySQL in. Sla vervolgens het bestand op en sluit de editor.
-
Database-wijzigingen doorvoeren
Als alles goed is gegaan, zou Rails nu verbinding moeten kunnen maken met MySQL en de benodigde database-bewerkingen moeten kunnen uitvoeren. Het volgende commando maakt de benodigde databases aan:
|
1 |
rake db:create |
Stap 5: De configuratie testen
Start the Rails development server:
|
1 |
rails server --binding=<server_public_ip> |
Je zou de welkomstpagina moeten kunnen openen op de volgende URL:
|
1 |
http://<server_public_ip>:3000 |
Tot slot
In deze handleiding hebben we Ruby geïnstalleerd met behulp van rbenv, de Rails-gem geïnstalleerd en een voorbeeld-Rails-app geconfigureerd om verbinding te maken met MySQL en dit te gebruiken als database-engine. Het dient als een uitstekend skelet voor een schaalbare en gecentraliseerde web-app.
Om te leren hoe je Ruby on Rails installeert met RVM op Ubuntu 20.04, bekijk de volgende handleiding Ruby on Rails installeren met RVM op Ubuntu 20.04. Om te leren hoe je Ruby on Rails instelt met PostgreSQL, bekijk de volgende handleiding: Ruby on Rails instellen met PostgreSQL.
Veel computerplezier!






















Reacties
Nog geen reacties. Wees de eerste.