Installere Drupal 6 på Ubuntu - v2

Brendan Johan Lee
Department of Informatics
University of Oslo, Norway
brendajl@simula.no

3. mars 2011

Sammendrag

Dette er en rask trinn for trinn forklaring av hvordan man best installerer Drupal på Ubuntu (10.10). Forklaringen er skrevet for studenter som tar INF5270-kurset på IFI, men er generell og er like relevant for andre.

For utviklingsformål anbefaler jeg å installere Ubuntu i Virtualbox eller VMWare slik at eventuelle feil man måtte gjøre ikke ødelegger selve maskinen man jobber på. Da kan man også kjøre Ubuntu uavhengig av om man bruker GNU/Linux, Mac OS eller Windows. Det er mulig å installere Drupal direkte på alle disse OS-ene, men det anbefales ikke, da Drupal helt klart trives best i et GNU/Linux-miljø.

Det første du må gjøre er å åpne en terminal. Alt vi gjør i denne tutorialen gjøres via terminalen. (I Ubuntu kan du åpne en terminal ved å velge Applications…Accessories…Terminal

1 Installere og konfigurere Apache

Når man skal sette opp en Drupal 6 installasjon på en GNU/Linux maskin er det første man trenger en nettjener. Nettjeneren vi bruker er Apache 2. For å installere Apache 2 bruker du kommandoen:

sudo aptget install apache2

Etter å ha installert Apache, må man aktivere mod-rewrite modulen. Uten å gå i detaljer behøver man mod-rewrite modulen for å få kunne bruke det Drupal på norsk kaller “rene URL-er”, som lar en bruker URL-er av type www.example.com/node/10 i stedet for www.example.com/?q=node/10. Ved hjelp av litt magi vil Apache forstå at når noen ber om /node/10, så er det de egentlig ber om ?q=node/10. Aktiver mod-rewrite med kommandoen:

  sudo a2enmod rewrite

Det neste du skal gjøre er å konfigurere mod-rewrite med magien som trengs. Åpne filen /etc/apache2/apache2.conf med kommandoen nedenfor (respektable GNU/Linuxbrukere vil naturligvis bytte ut gedit med emacs):

  sudo gedit /etc/apache2/apache2.conf 
end{listing} 
 
Lim inn teksten nedenfor nederst i filen: 
 
begin{lstlisting} 
  AddType application/xhttpdphp .html 
 
  <Directory /var/www> 
   RewriteEngine on 
   RewriteBase / 
   RewriteCond %{REQUEST_FILENAME} !
   RewriteCond %{REQUEST_FILENAME} !
   RewriteRule ˆ(.)$ index.php?q=$1 [L,QSA] 
   </Directory>

Lagre og lukk filen. Til slutt starter du Apache på ny for å laste den nye konfigurasjonen:

  sudo /etc/init.d/apache2 restart

2 Installere og konfigurere mysql og php

I tillegg til Apache behøver man en database, språket php, samt modulen som tillater interaksjon mellom dem før Drupal kan installeres. Man installerer disse ved kommandoen:

  sudo aptget install mysqlserver5.1 php5 php5mysql

Deretter må du sørge for at mysql er konfigurert riktig og er passordbeskyttet. Kjør kommandoen:

  sudo mysql_install_db

og svar på eventuelle spørsmål programmet spør deg, før du fortsetter med kommandoen:

  sudo mysql_secure_installation

og igjen svarer på spørsmålene man får. Sørg for å huske root-passordet du velger da dette trengs for å legge til nye databaser og databasebrukere.

3 Lage en database og en databasebruker til Drupal

Det neste du må gjøre er å sette opp en database og en databasebruker som Drupal kan bruke for å lagre data. Dette gjør du via konsollen til mysql. Kjør kommandoen:

  mysql u root p

Når du blir bedt om passord bruker du passordet du lagde som root-passord i forrige trinn. Du er nå inne i mysql-konsollen hvor du kan jobbe mot mysql-databaseprogramvaren direkte. Tast inn og kjør følgende kommandoer i rekkefølge (uten de ledene tallene som bare er for referanser i denne teksten:

1  CREATE DATABASE drupal; 
2  CREATE USER drupal; 
3  SET PASSWORD FOR drupal = PASSWORD(’xxx’); 
4  GRANT ALL PRIVILEGES ON drupal. TO drupal@localhost IDENTIFIED BY ’xxx’v; 
5  FLUSH PRIVILEGES;

Bytt ut xxx i linje 3 og 4 med et selvvalgt passord. Vi tar en liten forklaring på hva som blir gjort linje for linje:

  1. lag en database som heter drupal
  2. lag en bruker som heter drupal
  3. sett passordet til brukeren drupal til xxx
  4. gi brukeren drupal full tilgang til databasen drupal dersom innloggingen skjer på localhost og brukeren identifiserer seg med passordet xxx
  5. tving mysql til å ta i bruk de nye rettighetene du har gitt brukeren

4 Installere Drupal

Det neste du skal gjøre er å installere selve drupal. Dette gjør du ved å kjøre kommandoene nedenfor en etter en (uten de ledende tallene som bare brukes til referanser i denne teksten):

1cd /tmp 
2wget http://ftp.drupal.org/files/projects/drupal6.20.tar.gz 
3tar xvf drupal6.20.tar.gz 
4sudo rm /var/www/index.html 
5sudo cp r drupal6.20/ /var/www 
6sudo mkdir /var/www/sites/default/files 
7sudo chmod 775 /var/www/sites/default/files 
8sudo cp /var/www/sites/default/default.settings.php /var/www/sites/default.settings.php 
9sudo chmod 664 /var/www/sites/default/settings.php 
10sudo chown <dittbrukernavn>:wwwdata /var/www

Her er forklaringen på hva du har gjort.

  1. beveg deg til /tmp-mappen
  2. last ned siste Drupal
  3. pakk opp Drupal-pakken
  4. fjern standard index.html som Apache bruker for å vise at installeringen er fullført
  5. kopier innholdet fra Drupal-mappa over i web-mappa
  6. lag en filopplastingsmappe hvor Drupal kan legge filer
  7. sett rettigheter på filopplastingsmappa (les,skriv,eksekver for bruker og gruppe og les,eksekver for andre)
  8. kopier standard konfigurasjonsfil som konfigurasjonsfil til nettstedet du setter opp
  9. gi bruker og gruppe skriverettigheter og alle andre leserettigheter på konfigurasjonsfilen
  10. endre eier og gruppe for web-mappa og alle dens undermapper (eier=deg, gruppe=Apaches web bruker)

Til sist skal du konfigurere Drupal. Dette gjør du ved å åpne en nettleser og peke den på http://localhost og følge instruksjonene på skjermen. Underveis blir du bedt om følgende informasjon:

  1. Database name - skal være drupal
  2. Database username - skal være drupal
  3. Database password - skal være passordet du lagde i “GRANT”-setningen

Ikke glem å fjern skriverettigheten til konfigurasjonsfilen etter at Drupal er ferdig konfigurert slik:

sudo chmod 444 /var/www/sites/default/settings.php

Lykke til!