Zie ook ouder artikel Server naar Server (uit 2005).
S2S: WP2 installatie als voorbeeld van een installatie vanop een server.
Doel: een pakket installeren op een webserver, zonder het eerst af te halen naar een
lokale computer. Het afhalen naar de eigen computer, uitpakken en terug uploaden is een hoop extra verkeer dat eigenlijk niet nodig is op het eerste zicht: je zou het pakket rechtstreeks op de webserver moeten kunnen afhalen en daar ter plaatse uitpakken. Met Linux is dat geen probleem: met wget haal je het pakket af (zoekveld rechts “wget”). Welke problemen duiken nog op in ons voorbeeld?
Stap 0: waar staat de af te halen software? (juiste URL van de download)
Stap 1: inloggen op de server
Stap 2: software afhalen met wget of scp of mc of fish
Stap 3: software uitpakken
Stap 4: welke eigenschappen moeten de files hebben?
Stap 5: installatie
0. De software: zoek de link naar de echte download (meestal een tar.gz bestand) uit de download pagina van de site, hier bv http://wordpress.org/latest.tar.gz.
1. Inloggen op de server:
ssh gebruiker@server.domein.tld
(zoek elders in deze blog voor meer ssh)
Kijk in welke directory je zit met “ls -lF
“. Je kunt dan zien welke rechten gelden in de directory; bv
-rw-r-xr-x 1 gebruiker webusers 1277 2004-09-18 09:14 logo.gif*
De eigenaar van het bestand is hier “gebruiker”, de groep is “webusers”, en de eigenaar heeft schrijfrecht, de rest alleen lees (r) en “x” wat staat voor execute of uitvoeren.
Ik maak als test een leeg bestand aan met mijn ssh login om te kijken of het dezelfde eigenschappen heeft:
touch testSSH.txt
ls -lF test.txt
-rw-r–r– 1 gebruiker webusers 0 2007-05-07 00:10 test.txt
geen “execute” rechten (ik denk niet dat dat echt nodig is; een directory moet dat hebben om in de directory te kunnen gaan).
Als je zeker wil zijn dat de rechten hetzelfde zijn als je via ftp werkt, kan je met Konqueror ftp://gebruiker@server.domein.tld inloggen en daar rechtsklikken en een nieuw tekstbestand maken “testFTP.txt
(nb: Een bestand dat gemaakt wordt vanuit een php script kan andere eigenschappen hebben!)
2. Afhalen met wget
Ik maak in het ingelogd ssh venster een subdirectory om de download te doen:
mkdir download
cd download
Ik tik het commando om de software af te halen:
wget http://wordpress.org/latest.tar.gz
Dat duurt maar een paar seconden, het gaat van de webserver van het pakket rechstreeks naar mijn webserver-account. De rechten zijn zoals boven getest: -rw-r–r–
3. Ik pak de software uit.
In dit geval tar en gz: (zoek ook naar tar en gz op deze site)
tar -xzvf latest.tar.gz
Er rolt een hele reeks betanden voorbij die uitgepakt worden, een ls -lF leert me dat ze proper in een subdirectory “wordpress” staan:
drwxr-xr-x 5 gebruiker webusers 4096 2007-04-03 02:34 wordpress/
4. Rechten?
Ik vraag even de help van ls op om te kijken hoe ik recursief in de directories kijk
ls --help
ls -lFR
De rechten staan zoals het boven aangemaakte testbestand. (kan per provider verschillen!) (*)
5. Installatie
Nu moet je de installatiegegevens raadplegen van de software. Wat hierna komt is dus gedeeltelijk specifiek voor de WordPress installatie.
Ik heb daarvoor een MySQL databank en gebruikersnaam nodig, die ik op voorhand heb gemaakt (of nu snel maak): mysqlgebruikerwp, mysqlgebruikerwpdb, mysqlgebruikerpw.
Ik moet nu gegevens invullen in een configuratiebestand. Ik maak er eerst een kopie van:
cp wp-config-sample.php wp-cofig-sample_orig.php
Dan hoop ik dat mijn provider midnight commander heeft:
mcedit wp-config-sample.php
Ik heb pech, geen midnight commander. Als je thuis bent in basic unix tekstverwerkers kan je proberen met ed of emacs of zo.
Anders moet je het bestand downloaden, op je eigen computer aanpassen, en terug uploaden.
Op mijn computer: in een ftp-sessie (in Konqueror ftp://gebruiker@server.domein.tld) haal ik het bestand af, wijzig het met kate of kedit editor, en upload het terug. Of een fish-sessie in Konqueror; zie vorig artikel “bestandsbeheer over het netwerk”.
Ik vul de dbname in, de db user, het password, en de naam van de server waarop de database staat (“DB_HOST”). Ik bewaar het bestand, hernoem het naar wp-config.php en kopieer het naar de server. Ik controleer in het nog steeds ingelogde ssh venster de eigenschappen: ls -lF wp-config.php
-rw-r–r– 1 gebruiker webusers 872 2007-05-07 01:12 wp-config.php
Nu moet ik de bestanden in de map plaatsen waar ik ze wil gaan gebruiken.
Ik maak een map in het niveau waar ik die wil voor WP (in mijn geval twee directories naar boven want ik zit in tmp/download):
mkdir ./../../blog
Dan verplaatsen; dat doe ik normaal met “mv” (van move) op de command prompt. Dus in het ssh venster:
cd wordpress
mv ./* ./../../../blog/
(gebruik bij het laatste commando na mv ./* ./../../../ de tab toets om te checken of de directorynaam aangevuld wordt en dus bestaat)
De programabestanden staat nu op hun plaats in de map blog. Ik kan de installatieprocedure vervolgen met het openen van de configuratie-pagina (zie instructies van de gedownloade software).
(*) Ik ben geen problemen tegengekomen met rechten. Als een bestand geschreven wordt vanuit php kan dat wel; de webserver kan met andere rechten draaien. Het lijkt me dan best om dat bestand (bv een configuratiebestand) te downloaden via ftp of fish en het lokaal aan te passen indien nodig, en terug te “uploaden”. Het zal dan aankomen met de rechten van de ssh of ftp account.
Meer in rubriek Server of Zoek in de site naar “ssh”, “scp”, “fish”, “wget”.