Drupal Deployment demo

51

Transcript of Drupal Deployment demo

Een Drupal website deployen

● Content

● Hosting / Server

● Management tools

● Domeinnaam

Content

● Jullie hebben tijdens de vorige sessies geleerd

hoe je een site kan aanmaken en beheren op

jullie lokale computer, en nu is je site klaar om

op het web gegooid te worden.

● Wat nu???

Een webserver aanmaken

● Registreer je bij een VPS-provider

● Maak een Ubuntu server 14.04 LTS aan

● Configureer de server via ssh

● Upload de bestanden van jouw site

● Upload de database van jouw site en importeer

deze op de mysql-instantie van de server

Een VPS provider kiezen

● Voor deze tutorial gebruik ik een Amazon AWS

micro instance

● Je kan ook zelf op zoek gaan naar een andere

provider

Amazon – Ubuntu 14.04 PV 64 bit

Kies de Micro instance

Pas de securitygroup aan om ssh

en http toe te laten

Security group settings info

● ssh om de server te configureren via een

terminal en om bestanden te kunnen uploaden

met FileZilla

● http om de webpagina's bereikbaar te maken

Amazon Keys

De server is nu aan het opstarten

Noteer alvast het publiek ip-adres

Management tools

● Nu hebben we een server klaarstaan en

installeren we de tools die nodig zijn om hem te

configureren en beheren vanop je eigen

computer.

● SSH client

● FTP client

SSH client

● Met de SSH-client kunnen we inloggen op de

server in een zgn “terminal”

● Hiermee gaan we de server configureren om

als webserver te gaan werken

● Voor Windows → Putty

● Voor Linux en OSX → Ingebouwde Terminal

applicatie

Amazon – connect info

Putty

● Ga naar De downloadpagina van Putty

● Download en installeer de full installer

● Start PuttyGen

● Zet de .pem sleutel om in een .ppk om te

kunnen gebruiken in Putty

PuttyGen

PuttyGen

Open de .pem key

Sleutel opslaan

Start Putty en voeg de key toe

Vul user@ip in en sla op

Test de verbinding

SSH op Linux en Osx

● Start een Terminal

● Navigeer naar de map waar de key opgeslagen

is, bvb : cd /home/users/jan/Downloads/

● Voer volgend commando uit (pas de key en

hostnaam aan voor jouw setup)

● ssh -i jouwsleutel.pem user@ip-address

FTP toegang klaarzetten

● Voer in de terminal volgend commando uit:

sudo usermod -aG www-data jouwuser

● Dit zorgt er voor dat we straks onze bestanden

kunnen kopiëren zonder permission denied

errors

Filezilla FTP client

● Op je eigen computer installeren we nu FileZilla

● Windows, Linux en Osx versies beschikbaar

Configuratie FileZilla

Test de verbinding

● Sftp://ip-address

● Poort op 22 zetten

Links = lokaal

Rechts = server

Server configuratie

● Nu we onze tools hebben klaarstaan kunnen

we de server beginnen configureren.

● Eerst installeren we een zgn Lamp-stack

– Linux – de os-architectuur

– Apache – de eigenlijke webserversoftware

– Mysql – de database

– Php – de engine waarop Drupal draait

In de ssh-terminal

● sudo tasksel

Tasksel LAMP installatie

● Navigeer met de pijltjes naar LAMP server

● Druk op spatie om te selecteren

● Druk op tab om naar het “ok” veld te gaan

● Druk op enter om te bevestigen

● Tijdend de installatie zal er om een paswoord

voor de mysql root-user gevraagd worden. Kies

zelf een paswoord en noteer dit ergens veilig.

Zonder dit paswoord kunnen we de site niet

opzetten

● Sit back & relax terwijl alles geïnstalleerd wordt

Nu is het tijd om phpmyadmin te

installeren op de server

● Sudo apt-get install phpmyadmin

● Gebruik de gegevens van de mysql-installatie als er om mysql

credentials wordt gevraagd

Phpmyadmin testen

● Ga in je browser naar

– Http://ip-address server/phpmyadmin

– Log in met de username en paswoord dat je tijdens de

installatie ingaf

Site op de server zetten

● Nu staat alles klaar om je site te gaan

overzetten naar de server en de server te

configureren

– Database kopiëren van je lokale installatie naar de server

– phpmyadmin

– De bestanden van de site naar de server kopiëren

– Filezilla

– Apache configureren om jouw site te kunnen hosten

– Putty / ssh

Exporteer de database van je

site● Ga in de browser de phpmyadmin van je lokale

installatie

– http://localhost:8083/phpmyadmin/

– Selecteer de database van je site

– Selecteer custom export

– Zet compression aan en selecteer zip

– Druk onderaan op de “go” knop

Phpmyadmin export opties

Maak de database aan op de server

en importeer de gegevens

● Ga in je browser naar

– Http://ip-address server/phpmyadmin

– Log in met de username en paswoord dat je tijdens de

installatie ingaf

– Maak een database met identieke naam als die van jouw

lokale database

– Importeer de gedownloade database

Maak de database aan op de server

Importeer de database die je van je

localhost haalde

Kopieër de bestanden van je Drupal

site naar de server

● Start FileZilla en verbind met de server

● Sleep de map waar je Drupal-site in zit naar de

map /var/www op de server

– Dit kan even duren

– Controleer of er geen gefaalde overdrachten zijn. Indien dit

het geval is kan je deze bestanden selecteren en opnieuw

uploaden.

Kopieër de bestanden van je Drupal

site naar de server

Configuratie Apache

● Nu staan alle bestanden klaar en moeten we

Apache instellen om deze site actief te maken.

● Hiervoor openen we een ssh-verbinding

– Windows: Putty

– Linux/Osx: Terminal

Configuratie Apache

Vhost voor jouw site

● Voer de volgende commando's uit in de

terminal

– Cd /etc/apache2/sites-available

– Sudo nano jouwsite.conf

– Nano is een text editor, kopieer het onderstaande in het

venster, pas aan waar nodig en druk ctrl+x, y en enter om op te

slaan

● Hiermee maak je een zgn vhost aan. Dit is een

mechanisme van apache om makkelijk

meerdere sites op één server te hebben en per

site de configuratie aan the passen waar nodig.

Vhost voorbeeld

Configuratie Apache

● Voer volgende commando's uit in de terminal:

sudo a2enmod rewrite

sudo a2dissite 000-default

sudo a2ensite jouwsite

● Hiermee activeren we de rewrite-module,

zetten we de default site af en activeren we

jouw site.

● Nu rest ons enkel nog de config.php van je site

aan te passen, de versie die Aqcuia meegeeft

zal niet werken op deze server

Configuratie Apache

● Voer volgende commando's uit in de terminal:

sudo rm /var/www/jouwsite/sites/default/settings.php

sudo nano /var/www/jouwsite/sites/default/settings.php

Check of de database settings ok zijn – ik moest ze

aanpassen

Configuratie Apache

● We zijn er bijna, we moeten enkel nog wat

permissies goed zetten en apache herstarten ;-

)

● In een ssh-terminal:

– sudo chown -R www-data:www-data /var/www/jouwsite

– sudo chmod -R 775 /var/www/jouwsite/sites/default

– sudo chmod 444

/var/www/jouwsite/sites/default/settings.php

– sudo chmod 444

/var/www/jouwsite/sites/default/default.settings.php

– sudo service apache2 restart

Browse naar je site

● Als alles goed is zou jouw site nu zichtbaar

moeten zijn op het ip-adres van jouw server

caveats

Telkens je bestanden hebt geupload via FileZilla

moet je ze de juiste owner en permissies

geven. Meestal zal dit in de files-folder van

jouw site gebeuren. Het snelst is de hele folder

opnieuw aan te passen:

sudo chmod -R 775 /var/www/jouwsite/default/files

Domeinnaam koppelen aan je site

● Om je site makkelijk op naam ipv op ip-adres

bereikbaar te maken kan je een domeinnaam

regstreren en het ip-adres van je server hieraan

koppelen.

● Prijzen hiervan lopen uiteen bij verschillende

aanbieders, maar de procedure is dezelfde:

– Je koopt een domeinnaam voor een periode (vb 1 jaar)

– Je logt in op het controlepaneel van de DNS-service

– Je maakt en A-record aan dat naar het ip van je server

verwijst.

Slot

Heb je nog vragen die niet aan bod kwamen, of

is er nog iets niet duidelijk?

● Vroeg of laat zal je ergens een probleem

hebben

– Bvb bij de voorbereiding wou phpmyadmin niet meewerken

● De volgende sites zijn zeer goede hulpbronnen

– http://askubuntu.com/

– http://stackoverflow.com/

– http://superuser.com/

– http://drupal.stackexchange.com/

– https://drupal.org/support