PHP DataZone platvormil

Ardi Jürgens
Jaga:

Antud blogipostitus on 198 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

"Pilve pole olemas. On lihtsalt kellegi teise arvuti."

Ardi Jürgens
Mis ikkagi on pilveteenus, kuidas see keerukas süsteem töötab ning kuidas me tulime mõne nädala eest toime ühe jõudlust pärssinud ootamatusega....

Saabub OpenSSL 3 tugi - ka aegunud PHP versioonidele

Ingmar Aasoja
Zone veebimajutusplatvormi aluseks olevat ZoneOS operatsioonisüsteemi ootab ees suurem uuendus: juurutame OpenSSL 3. versiooni. See muutus mõjutab pea...

Uuendame NodeJS ja Python vaikeversioone

Ingmar Aasoja
Juunis 2024 hakkame Zone platvormi järk-järgult l uuendama NodeJS ja Python vaikeversioone, mistõttu palume käesoleva kirjatükiga tähelepanu just...

Veelkord aegunud PHP versioonidest

Kaarel Urva
Mäletatavasti teavitasime aprilli lõpus kliente sellest, et aegunud PHP versioonide kasutamine muutub tasuliseks. Mõistetavasti tuli see uudis paljudele...