PHP DataZone platvormil

Ardi Jürgens
Jaga:

Antud blogipostitus on 194 kuud vana ning ei pruugi olla enam ajakohane.

Käesoleva postituse eesmärk on natukene lahti kirjutada erinevaid PHP kasutus- ja seadistusvõimalusi DataZone platvormil.

PHP režiimid ja versioonid

PHP’d on meie platvormil võimalik kasutada kolmes erinevas režiimis, need on FastCGI, CGI ja Apache moodul (Apache 2.0 Handler).

  1. FastCGI on meie virtuaalserverites ja privaatserverites PHP vaikerežiimiks. FastCGI režiimi eeliseks on korralik jõudlus ning asjaolu, et selles režiimis on igal kliendil sisuliselt oma PHP instants. Seetõttu võimaldab FastCGI režiim kliendil valida mitme PHP versiooni vahel. Hetkel on näiteks valikus versioonid 4.4.X, 5.0.X, 5.1.X ja 5.2.X , vaikimisi on valitud kõige ajakohasem versioon.
  2. Puhas CGI režiim on kõige ressursinõudlikum eelpoolnimetatud režiimidest ning seetõttu me vaikimisi seda enam virtuaalserveritele välja ei paku, seda on võimalik kasutada privaatserverites ning sedagi äärmisel vajadusel. See tähendab reeglina seda, et kui rakendus FastCGI režiimis mingil põhjusel ei tööta, muudame me režiimi puhta CGI peale.
  3. Kõikidel virtuaalserveritel, mille PHP režiimiks on valitud Apache moodul on üle terve meie platvormi PHP versiooniks seadistatud üks konkreetne versioon. Selle PHP versiooni valime meie, lähtudes erinevate PHP versioonide ajakohasusest ning turvanõuetest.

On olemas ka neljas võimalus, PHP CLI (Command Line Interface). See pole otseselt virtuaalserveri PHP režiim vaid käsurealt käivitatav binaarutiliit. Asjatundjatel on võimalik selle abil skriptist seest teisi skripte käivitada. PHP CLI käivitamiseks skriptist peab aga virtuaalserveri PHP režiim olema FastCGI (või CGI) peale sätitud, sest Apache mooduli rezhiimis on exec/system/jms. funktsioonid keelatud (vt. järgmist paragrahvi).

Sisuliselt on meil platvormis olemas kõik levinumad erinevad võimalused PHP kasutamiseks.

Nüüd aga pisut juttu sellest, kuidas erinevad PHP režiimid turvalisust mõjutavad.

PHP režiimide turvalisus

Turvalisuse seisukohast on jagatud majutuskeskkonnas parimad variandid FastCGI ning CGI režiimid. Nende režiimide puhul käivitatakse PHP skriptid kliendile eraldatud virtuaalserveri kasutaja õigustes ning nagu eelpool mainitud, käivitatakse igal virtuaalserveri tarbeks oma PHP instants.

See on klientide seisukohalt kõige turvalisem viis PHP’d kasutada, kuna failiõiguste tasandil on erinevatel kasutajatel üksteise failidele ligipääs võimatuks tehtud.

Kui PHP on Apache mooduli režiimis, käivitatakse PHP skriptid veebiserveri kasutajanime alt. See muudab sisuliselt võimatuks failiõiguste tasandil kasutajate faile üksteisest turvaliselt eraldada.

Seetõttu on PHP’sse sisse toodud open_basedir funktsionaalsus, mis võimaldab failioperatsioone teostavad funktsioonid ära piirata konkreetsete kataloogidega, et ühest virtuaalserverist ei pääseks PHP funktsioonide abil lugema ja kirjutama teise virtuaalserveri “kapsamaale”.

Siinkohal on aga üks suur AGA , nimelt kui Apache mooduli režiimis on võimalik PHP’st käivitada süsteemseid käske läbi exec() vms funktsiooni, siis open_basedir piirangud ei päde ning süsteemseid käske käivitades on siiski võimalik teiste virtuaalserverite materjalide kallale pääseda. Meie oleme oma platvormil Apache moodulina kasutatavas PHP’s selliste operatsioonide sooritamise ära keelanud.

PHP häälestamise võimalused

PHP häälestamine ning PHP režiimide vahetamine toimub DataZone haldusliidese vahendusel. PHP seadete muutmine käb veebiserveri seadete punkti alt.

Kui kasutatav või arendatav rakendus nõuab PHP seadete muutmist, siis seda saab teha järgmiselt:

PHP seadete muutmine

Selleks, et vahetada virtuaalserveris peadomeeni PHP režiimi või versiooni, tuleb jällegi avada veebiserveri seaded, nagu näitab järgmine screenshot:

PHP rezhiimi muutmine

Selleks, et FastCGI (või CGI) režiimis erinevaid PHP laiendusi (mooduleid) aktiveerida või deaktiveerida, on samas veebiserveri seadete all eraldi PHP laienduste valik. FastCGI režiimis on harvem kasutatavad PHP laiendused nimelt vaikimisi deaktiveeritud, Apache moodulina kasutatavas PHP’s on kõik moodulid vaikimisi aktiveeritud. Seda tasub kindlasti silmas pidada, kui ühelt režiimilt teisele üle minnakse.

Moodulite aktiveerimise/deaktiveerimise akent demonstreerib järgmine screenshot:

PHP laienduste aktiveerimine

Alamdomeenide PHP rezhiimi/moodulite vahetamine käib üldjoontes sarnaselt peadomeenile, kuid eelnevalt tuleb valida Alamdomeenide punkti alt soovitud alamdomeen:

Alamdomeeni seaded

Populaarsed postitused

Aegunud PHP on aegunud PHP

Hasso Tepper
Kui esimene tänapäevane PHP versioon 25 aastat tagasi avalikuks tehti, oli internet hoopis teistsugune. Nõudmised veebilehtedele olid tagasihoidlikud...

Zone Veebiakadeemia - kuidas end Internetis nähtavaks teha

blogi
Zone Veebiakadeemia uusima episoodiga hakkame tutvustama ägedaid Zone koostööpartnereid. Seekord on meil külas Nobel Digitali tootejuht ja partner...

Nutikas Pilveserver: tark lahendus e-poe ja nõudlike veebiprojektide jaoks

Tanel Männik
Nutikas Pilveserver pakub nüüdisaegset ja kulutõhusat lahendust, mis ühendab endas paindlikkuse ja võimsuse, et rahuldada kõrge külastatavusega...

Kuidas me aita(si)me tuntud veebilehtedel suurema külastatavusega toime tulla

Digimaailmas on veebilehtede kiirus ja usaldusväärsus kriitilise tähtsusega. Ikka ja jälle oleme silmitsi olukordadega, kus kliendi käsutuses olev...