Det norske hosting selskapet ServeTheWorld (STW) (http://servetheworld.net) har en rimelig og ok VPS løsning for de av oss som trenger mer enn standard webhotell men mindre enn dedikert server. Denne posten er laget for deg som bruker VPS hos STW med Plesk og CentOS 5.x.
CentOS støtter ikke noe høyere enn PHP 5.1, noe som for mange er et problem, da flere og flere systemer krever minimum PHP 5.2.x. Siden Centos ikke støtter PHP 5.2.x eller høyere kan du heller ikke oppgradere denne på vanlig måte. Her følger min måte å gjøre dette på. Dette har jeg gjort på min egen VPS hos STW, og siden du leser dette, så fungerte det som det skulle. Men før du prøver deg på dette, vil jeg gjerne be deg ta en backup av hele serveren, slik at du kan resette den og legge inn backupen hvis noe skulle gå gale. Jeg ønsker også at du leser igjennom HELE guiden før du begynner, slik at du ikke får deg noen overraskelser underveis. Du må i løpet av denne guiden bruke en del kommando linje, så for å unngå skrive feil, så vil jeg anbefale at du kopierer og limer inn kommandoene du skal kjøre.
Det første du må gjøre er å installere YUM pakke behandler på serveren din. Versjonsnumrene på pakkene er de som er aktuelle pr 21.02.2010, hvis du får feilmeldinger når du kjører WGET så er det nok kommet nye pakker, og du må endre filnavnene. De siste aktuelle pakkene finner du på denne siden -> http://mirror.centos.org/centos/5/os/x86_64/CentOS/ . Så nå må du koble deg til med brukeren root via SSH. Kjør følgende kommandoer i rekkefølgen de står under;
- cd /home
- mkdir temp
- cd temp
- wget http://mirror.centos.org/centos/5/os/x86_64/CentOS/m2crypto-0.16-6.el5.6.x86_64.rpm
- wget http://mirror.centos.org/centos/5/os/x86_64/CentOS/python-elementtree-1.2.6-5.x86_64.rpm
- wget http://mirror.centos.org/centos/5/os/x86_64/CentOS/python-iniparse-0.2.3-4.el5.noarch.rpm
- wget http://mirror.centos.org/centos/5/os/x86_64/CentOS/python-sqlite-1.1.7-1.2.1.x86_64.rpm
- wget http://mirror.centos.org/centos/5/os/x86_64/CentOS/python-urlgrabber-3.1.0-5.el5.noarch.rpm
- wget http://mirror.centos.org/centos/5/os/x86_64/CentOS/rpm-python-4.4.2.3-18.el5.x86_64.rpm
- wget http://mirror.centos.org/centos/5/os/x86_64/CentOS/yum-3.2.22-20.el5.centos.noarch.rpm
- wget http://mirror.centos.org/centos/5/os/x86_64/CentOS/yum-fastestmirror-1.1.16-13.el5.centos.noarch.rpm
- wget http://mirror.centos.org/centos/5/os/x86_64/CentOS/yum-metadata-parser-1.1.2-3.el5.centos.x86_64.rpm
- rpm * -i
Du har nå installert YUM pakke behandler. Nå skal vi kaste oss ut i oppgraderingen av PHP/mySQL. Siden det ikke finnes en offisiell RPM til bruk på CentOS, så må vi ta i bruk en tredjepart. Her skal vi ta i bruk to forskjellige RPM siter. Den ene er en Fedora/RedHat repo, den andre er en fransk privat repo. Stå i samme mappe (/home/temp) og kjør følgende kommandoer;
- wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
- wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
- rpm -Uvh remi-release-5*.rpm epel-release-5*.rpm
Nå er repo’ene lagt inn. Den siste blir ikke automatisk aktivert, så det må vi gjøre selv ved å redigere i en fil. Du skal redigere filen /etc/yum.repos.d/remi.repo. Når du er ferdig skal filen se slik ut;
[remi]
name=Les RPM de remi pour Enterprise Linux 5 - $basearch
baseurl=http://rpms.famillecollet.com/enterprise/5/remi/$basearch/
http://iut-info.univ-reims.fr/remirpms/enterprise/5/remi/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
failovermethod=priority
[remi-test]
name=Les RPM de remi en test pour Enterprise Linux 5 - $basearch
baseurl=http://rpms.famillecollet.com/enterprise/5/test/$basearch/
enabled=0
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
Du er nå klar til å kjøre oppdateringen;
yum update php php-* mysql-*
Dette kommer sikkert til å ta et minutt eller to, og du vil kunne se fremdriften på skjermen. Når du har tilgang til kommandolinjen igjen så kan du kjøre følgende kommando; php -v og skjermen din skal da spytte ut følgende informasjon (kan sikkert variere litt); PHP 5.3.1 (cli) (built: Nov 20 2009 18:18:28).
Hvis du nå prøver å laste Plesk Panelet ditt igjen, så vil du mest sannsynlig få en beskjed om at mysqld (som er database serveren din) ikke kan starte eller ikke kjører. Ingen av de andre guidene jeg har funnet på nettet har nevnt dette i det hele tatt, så denne biten brukte jeg litt tid på å finne ut av. Den var egentlig ganske enkel å løse når jeg først fant ut av det – som alle andre problemer som dukker opp…
Nå vil jeg du skal først se om du får feilmelding i Plesk før du går videre. Hvis du ikke får noen feilmeldinger og alt fungerer som det skal er du ferdig… Hvis du derimot får følgende feilmelding; ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2), så må du lese videre.
Grunnen til denne feilen er at den nye konfigurasjons filen til mySQL er lagret under et annet navn. Bruk enten FTP program eller kommandolinjen og endre navnet på følgende filer:
/etc/my.cnf -> /etc/my.cnf.old
/etc/my.cnf.rpmnew – > /etc/my.cnf
Så er det tid for oppgradering av database strukturen. Du skal nå tilbake til kommando linjen, etter du har sjekket at mysqld ikke kjører – dette gjør du i Plesk kontroll panelet ditt under Virtuozzo -> System Services.
Hvis mysqld kjører bruker du først følgende kommando;
/etc/init.d/mysqld stop
Så skal du starte mySQL i sikker modus ved hjelp av kommandoen;
mysqld_safe --skip-grant-tables &
Nå er mysqld oppe, og du kan bruke følgende kommando for å oppgradere databasetabellene;
mysql_upgrade
Alt etter hvor mange databser og tabeller du har, så kan denne prosessen ta litt tid. Når denne er ferdig og du har kommando linjen tilbake, skal du stoppe mysqld igjen. Dette gjør du med følgende kommando;
/etc/init.d/mysqld stop
Og deretter skal du starte den igjen;
/etc/init.d/mysqld start
Denne guiden er laget utelukkende for VPS tjenesten på som leveres av ServeTheWorld og den er ikke testet på andre tjenester. Dog bør den fungere for andre hostingselskaper som kjører CentOS og Plesk. Jeg kan ikke ta ansvar hvis noe går gale for deg. Siden du sitter og leser dette, så vet at fremgangsmåten fungerte for meg! Derfor vil jeg igjen be deg ta BACKUP før du begynner med denne oppgraderingen. Hvis noe går gale underveis, så kan du resette VPS din og legge inn backupen igjen, så er du tilbake til der du var før du startet med oppgraderingen!
Kom gjerne med kommentarer og tilbakemeldinger på denne guiden i kommentarfeltet under! Lykke til!

hei Rune,
Kjører på samme løsning som deg. Jeg har et litt annet spm som jeg regner med du har fikset på din iblogger. Hvordan har du satt opp file owner permissions feks når dine brukere laster opp bilder etc regner jeg med at du får apache som owner i og med prosessen da går gjennom apache.
Finnes der en enkel måte å sette opp default nye eiere for dette ?
forøvrig har du testet e-commerce m wordpress ? skal sette opp en ny handelsløsning og sjekker om WP kan duge for dette.
Mvh
Leif
Hei, Leif.
Som default “arver” filer og mapper eierskapet til brukeren som kjører web serveren. Vanligvis er dette brukeren apache (eller www eller www-data) og denne brukeren har i utgangspunktet skrive rettigheter (755) på mappen som skal brukes. Andre (world) har lese tilgang.
For min del måtte jeg endre eier av mappen wp-content (chown/chgrp) til “rett” bruker, men det varierer selvsagt fra server til server.
Når det gjelder e-handels løsninger for WordPress har jeg ikke selv prøvd noen. Men e-commerce innstiket ser jo ut til å være et populært innstikk! Jeg kan ikke se noen steder at det støtter WPMU, men det er jo bare å prøve – veldig ofte er det små endringer som må til for å få det til å virke med MU
Lykke til!
-
Rune
Hei Rune, kjører denne tjenesten uten Plesk etter råd fra STW. De sa at Plesk ikke likte virituelle domener så godt og at man derfor kom best ut av det med å sette det opp manuelt.
Innspill?
@Robert
Kan ikke se at det skulle være noe problem. Hele denne siten (iblogger.no) er bygget opp rundt subdomener som ikke finnes på serveren. Dette skjer gjennom å bruke wildcard i DNS oppsettet og noen manuelle endringer i Apaches konfigurerings fil for det domenet.
Plesk gir deg bare en enklere måte å konfigurere serveren på. Noe må man selvsagt gjøre via SSH og (f.eks) pico for å få det slik man vil. Når man tenker på det, så er jo VPSen i seg selv virtuell (Virtuell Privat Server), så jeg ser ikke helt argumentasjonen til STW.
Min erfaring med VPS og Plesk hos STW er god. De har hatt en del innkjøringsproblemer med ustabile løsninger, men det ser ut som om det har bedret seg nå. Selve Plesk imponerer meg mest. Jeg fikk problemer (en søndag) etter en oppgradering av Plesk. Jeg “blåste ut” litt frustrasjon på Twitter og Plesk selv tok kontakt for å hjelpe meg
Det er sånn vi liker!
–
Rune
Flott guide dette! fint å se at det er folk der ute som deler sin kunnskap =)
Takk skal du ha! Alltid kjekt å få tilbakemeldinger!
–
Rune