Hur man använder PostgreSQL med din Ruby on Rails-applikation på Ubuntu 20.04

By rik

Introduktion

PostgreSQL framstår som ett robust och etablerat relationsdatabashanteringssystem (RDBMS) som flitigt används inom företagsvärlden och i projekt med öppen källkod. Dess framträdande egenskaper inkluderar tillförlitlighet, kapacitet att hantera stora datamängder och stöd för avancerade funktioner som samtidiga operationer, inbyggda datatyper och hantering av JSON-data.

Ruby on Rails (RoR) är ett välkänt webbutvecklingsramverk som underlättar skapandet av effektiva och eleganta webbapplikationer. RoR har en sömlös integration med PostgreSQL, vilket ger utvecklare en stabil och effektiv plattform för datahantering.

Denna handledning guidar dig genom processen att installera och konfigurera PostgreSQL och Ruby on Rails på ett Ubuntu 20.04-system. Vi kommer att behandla installationsprocessen, databasinställningar, konfiguration av Rails-applikationen och betydelsefulla strategier för datasäkerhet.

Installation av PostgreSQL

1. Systemuppdatering

Innan du påbörjar installationen av PostgreSQL är det viktigt att uppdatera ditt Ubuntu-system för att säkerställa att du har de senaste säkerhetsuppdateringarna:


sudo apt update
sudo apt upgrade

2. Installation av PostgreSQL

För att installera PostgreSQL-servern, använd följande kommando:


sudo apt install postgresql

3. Starta och aktivera PostgreSQL-tjänsten

Aktivera och starta PostgreSQL-tjänsten så att den startar automatiskt vid systemstart:


sudo systemctl start postgresql
sudo systemctl enable postgresql

4. Skapa databas och användare

Logga in på PostgreSQL-servern som användaren ”postgres”:


sudo -u postgres psql

Skapa en ny databas avsedd för din Rails-applikation:


CREATE DATABASE min_app;

Generera en användare som har behörighet att ansluta till databasen:


CREATE USER min_app_user WITH PASSWORD 'starkt_lösenord';
GRANT ALL PRIVILEGES ON DATABASE min_app TO min_app_user;

Var noga med att ersätta ’starkt_lösenord’ med ett komplext och säkert lösenord.

Konfigurera Ruby on Rails

1. Installera Ruby on Rails

Installera Ruby on Rails med hjälp av följande kommando:


sudo apt install ruby-full ruby-bundler
gem install rails -v 6.1.3

2. Skapa ett nytt Rails-projekt

Skapa ett nytt Rails-projekt med namnet ”min_app”:


rails new min_app

3. Databaskonfiguration

Justera konfigurationsfilen config/database.yml i din Rails-projektmapp:


# config/database.yml
production:
  adapter: postgresql
  database: min_app
  username: min_app_user
  password: starkt_lösenord
  host: localhost

Säkerhetsåtgärder för datatrafik

1. Aktivera SSL

Inför SSL-kryptering för att säkra databasanslutningar och skydda mot potentiell avlyssning:


# config/database.yml
production:
  ...
  sslmode: require

2. Använd säkra gem

Använd gem som validerar och sanerar användarinmatning, för att undvika potentiella injektionsattacker. bcrypt för lösenordshantering och sanitize för datafiltrering är exempel på sådana gem.

3. Begränsa behörigheter

Säkerställ att endast auktoriserade användare och IP-adresser har tillgång till databasen genom att använda brandväggsregler.

Slutsats

Genom att ha följt stegen i denna guide har du nu framgångsrikt installerat och konfigurerat PostgreSQL med din Ruby on Rails-applikation på Ubuntu 20.04. Du har lärt dig hur man installerar och konfigurerar PostgreSQL, skapar en databas och en användare, anpassar Ruby on Rails för att ansluta till databasen, samt implementerar säkerhetsåtgärder för att skydda din data. Med denna kunskap är du nu redo att utveckla stabila och skalbara webbapplikationer med PostgreSQL och Ruby on Rails.

Vanliga frågor

1. Vilka är fördelarna med att använda PostgreSQL tillsammans med Ruby on Rails?

  • Hög prestanda och skalbarhet.
  • Avancerade funktioner, såsom JSON-stöd och samtidiga operationer.
  • Smidig integration med Ruby on Rails.

2. Kan jag använda en annan version av PostgreSQL eller Ruby on Rails?

Ja, det är möjligt, men det kan leda till komplikationer vad gäller beroenden och kompatibilitet. Kontrollera dokumentationen för den version du avser använda.

3. Hur säkerhetskopierar och återställer jag min PostgreSQL-databas?

Använd kommandot pg_dump för att göra en säkerhetskopia och pg_restore för att återställa databasen.

4. Hur övervakar jag prestandan för min PostgreSQL-databas?

Verktyg som pgAdmin eller psql kan användas för att övervaka databasens prestanda och identifiera potentiella problem.

5. Vad är skillnaden mellan adapter och database i databasens konfigurationsfil?

  • adapter specificerar vilken typ av databas som används (t.ex. postgresql).
  • database anger namnet på databasen som applikationen ansluter till.

6. Hur felsöker jag anslutningsproblem till PostgreSQL från Ruby on Rails?

Kontrollera följande:

  • Är PostgreSQL-servern aktiv och lyssnar på korrekt port?
  • Har du angivit korrekt användarnamn och lösenord?
  • Är SSL-anslutning aktiverad om det krävs?

7. Hur uppgraderar jag min PostgreSQL-installation?

Uppgradera PostgreSQL-servern med kommandot apt upgrade postgresql.

8. Hur installerar jag ytterligare PostgreSQL-tillägg?

Använd pakethanteraren för att installera ytterligare moduler, t.ex. sudo apt install postgresql-contrib.

9. Vilka resurser rekommenderas för att lära sig mer om PostgreSQL och Ruby on Rails?

10. Vart vänder jag mig för att få hjälp om jag stöter på problem?