Drupal Deployment demo
Transcript of Drupal Deployment demo
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
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
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
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
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
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
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
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
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.
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.
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