Kör Prestashops installationsskript
När vi fortsatte började det bra. Det var bara att läsa igenom licensavtalet och godkänna det. Men därefter stötte vi på patrull igen. Det var massor med rättigheter som apache ville ha. Och vi som inte ens hade någon användare vid namn apache eftersom vi installerat Nginx. Den användare vi valde hette ju just nginx.
Men jag börjar med det jag känner att jag kan rätta till, nämligen modulen Mcrypt och Mbstring.
Jag installerar dem så här:
#yum install mcrypt-php
#yum install mbstring-php
Det räckte inte. De behöver aktiveras någonstans, troligen i php.ini. Så det var bara att lägga till dessa två extensions i php.ini som du kan se i skärmdumpen nedan. Och starta om php-fpm. Men det vet du vid det här laget.
Nu ska vi försöka få ordning på rättigheterna. Jag körde igenom installationsfilerna med sökprogrammet egrep och det talade om var jag skulle ändra från Apache till nginx-användaren.
Vi öppnar således system.php; ändrar från $user = 'Apache' till $user = 'nginx' spå ska vi nog kunna få bort de röda klagomålen från installationshanteraren. Men se det gick inte. Och så kom jag ihåg den gamla käpphästen Selinux. Jag får ta itu med den senare för med viss ansträngning går den att få att acceptera att Prestashop-skriptet får tillgång till olika filer. Men den här gången hoppar vi över det och tar en genväg genom att sätta Selinux i tillåtande läge, åtminstone tillfälligt.
#setenforce 0
Och vips så försvinner de röda skyltarna. Och resten går smärtfritt, trodde jag. Vi får ange butiksnamn, databasinloggning och lite annat. Men sen när jag ska se butiken och även när jag ska komma till admingränssnittet knorrar Nginx med en "403 Forbidden" igen. Pust.
Genom att kontrollera loggen för Nginx lossnar det och vi verkar vara en lösning på spåren.
#tail /var/log/nginx/error.log
Jaha, det verkar var något med rättigheterna i /var/lib/php/session. Vi kör en enkel ls -la för att kolla och titta vad vi hittar.
Det är ju root och apache som har rätt att gå in där. Vi ordnar med det tillfälligt genom att låta nginx ha både ägar- och grupprättigheter till katalogen session samt underkatalogerna. Problemet med denna lösning är bara tillfällig. Så fort vi uppdaterar något php-plugin eller program kommer rättigheterna att återgå till root och apache. Så någonstans finns direktiven till att det är så och det måste ändras. Men det får vi ta sen.
#chown -R nginx:nginx /var/lib/php/session
Men det fungerar inte ännu heller. Så det måste fortfarande vara något. Men nu får det räcka för idag. Äh, jag beslät mig för att fullgöra. Det är alltså fortfarande "403 Forbidden" som Nginx spottar ur sig. Det betyder bara att Nginx inte förmår ge det vi har begärt. I det här fallet berodde det på att jag inte lagt till inde index.php under serverdirektiven och att inte heller fastcgi_path index.php fanns inskrivet i php-direktiven. Nu äntligen fungerar det.
Finjusteringarna däremot får vi göra en annan dag. Kommer du ihåg vilka det var? Ja, dels måste vi köra Selinux i skarpt läge, dels måste vi ordna så att Centos inte för över rättigheterna till root och apache på katalogen /var/lib/php/session och allt därunder. Men det får bli en annan dag.
Här ser ni att butiken är i gång. Nu återstår det riktigt stora jobbet, att fotografera artiklar och ordna med säker betalning. Men det får bli en annan dag. Godnatt!
Fortsättning följer inom kort...