- 1 1. Sissejuhatus
- 2 2. Eeldused ja ettevalmistus
- 3 3. PHP paigaldamine
- 4 4. PHP töö kontrollimine
- 5 5. Levinumate PHP moodulite paigaldamine
- 6 6. PHP versioonihaldus ja vahetamine
- 7 7. Seadistamine Apache või Nginxiga
- 8 8. Tõrkeotsing
- 9 9. Kokkuvõte
- 10 10. Korduma kippuvad küsimused (KKK)
- 10.1 K1. Kuidas paigaldada Ubuntus kõige uuemat PHP versiooni?
- 10.2 K2. Kuidas vahetada CLI-s PHP versiooni?
- 10.3 K3. Miks Apache kuvab PHP faili lähtekoodi, mitte ei käivita seda?
- 10.4 K4. Kus asub PHP seadistusfail (php.ini)?
- 10.5 K5. Kuidas aktiveerida PHP laiendmoodulit?
- 10.6 K6. Nginxiga PHP ei tööta, mida kontrollida?
- 10.7 K7. PHP veateated ei ilmu ekraanile.
1. Sissejuhatus
Miks kasutada PHP-d Ubuntus?
PHP on serveripoolne skriptikeel, mida kasutatakse paljudes veebirakendustes, sh WordPressis. Eriti veebiarenduses on PHP-d laialdaselt kasutatud juba aastaid ning paljud CMS-id ja raamistikud on loodud just PHP abil.
Ubuntu on väga stabiilne ja kogu maailmas arendajate poolt kasutatav Linuxi distributsioon, mis sobib ideaalselt ka serverite jaoks. Ubuntu ja PHP kombinatsiooni kasutatakse laialdaselt nii isiklikes projektides kui ka ettevõtete tootmiskeskkondades.
Artikli sihtrühm ja eesmärk
See artikkel on mõeldud nii algajatele, kes soovivad Ubuntusse PHP installida, kuid ei tea kust alustada, kui ka edasijõudnutele, kes soovivad installida kindlat PHP versiooni. Püüame samm-sammult lihtsalt selgitada kõiki vajalikke samme.
Kasutatav Ubuntu versioon on eeldatavalt 22.04 LTS, kuid juhend sobib üldiselt ka teistele versioonidele.
Mida õpid sellest artiklist
Pärast selle artikli lugemist oskad järgmisi asju ise praktikas rakendada:
- Põhiline PHP paigaldamine Ubuntus
- Kuidas paigaldada ja vahetada mitut PHP versiooni
- PHP töö kontrollimine ja tõrkeotsing
- Seadistamine koos Apache või Nginxiga
- Kuidas lisada levinumaid PHP mooduleid
2. Eeldused ja ettevalmistus
Kuidas kontrollida Ubuntu versiooni
Esmalt kontrolli, millist Ubuntu versiooni kasutad. PHP paigaldamise viisid ja ühilduvad moodulid võivad olenevalt Ubuntu versioonist natuke erineda.
Ubuntu versiooni saad kontrollida järgmise käsuga:
lsb_release -a
Või alternatiivina:
cat /etc/os-release
Selles juhendis lähtume Ubuntu 22.04 LTS-ist, kuid põhietapid sobivad ka versioonidele 20.04 ja 23.10.
Süsteemipakettide ajakohastamine
Enne PHP paigaldamist uuenda kindlasti kõik süsteemipaketid. See aitab vältida vananenud sõltuvusi ja probleeme. Kasuta järgmisi käske:
sudo apt update
sudo apt upgrade -y
Nii tagad, et APT paketihaldur ja kõik paketid on värsked.
Vajalike utiliitide paigaldamine
Mõne PHP versiooni jaoks on vaja lisada hoidlaid ja haldada pakette, mistõttu võib olla vajalik paigaldada „software-properties-common“ pakett. Kui see pole veel olemas, kasuta järgmist käsku:
sudo apt install -y software-properties-common
See on vajalik näiteks add-apt-repository
käsu jaoks ja eriti kasulik, kui tahad PPA kaudu installida spetsiifilise PHP versiooni.
Root-õigused või sudo kasutamine
Paljud siin kirjeldatud toimingud nõuavad süsteemi muutmist, seetõttu tuleb käsud täita sudo
-ga. Kui sa ei ole igapäevaselt sudo-käskudega harjunud, tasub nende kasutus põhimõtted üle vaadata.
3. PHP paigaldamine
Ubuntus saab PHP paigaldada peamiselt kahel moel: kas standardhoidlast või PPA-st (Personal Package Archive), kus saad valida täpse versiooni. Mõlemad meetodid on allpool selgitatud.
PHP paigaldamine standardhoidlast
Ubuntu ametlikus hoidlas on olemas stabiilne PHP versioon. Kui versioon ei ole oluline, saad paigalduse teha lihtsalt nii:
sudo apt install -y php
Pärast paigaldust kontrolli PHP olemasolu käsuga:
php -v
Näide:
PHP 8.1.2 (cli) (built: ...)
Ubuntu 22.04 pakub vaikimisi PHP 8.1 versiooni.
Konkreetse versiooni paigaldamine PPA abil
Kui soovid kasutada uuemat PHP-d või mitut versiooni, lisa ondrej/php PPA hoidla, et saada lai valik PHP versioone.
1. samm: PPA hoidla lisamine
sudo add-apt-repository ppa:ondrej/php
sudo apt update
See hoidla on väga populaarne ja pakub stabiilseid PHP versioonide ehitisi.
2. samm: Soovitud PHP versiooni paigaldamine
Näiteks PHP 8.2 paigaldamiseks kasuta:
sudo apt install -y php8.2
Sarnaselt saab paigaldada ka PHP 7.4 või 8.0.
3. samm: Versiooni kontrollimine
php -v
Kui versioon on õigesti paigaldatud, näed siin seda versiooninumbrit.
4. PHP töö kontrollimine
Pärast PHP paigaldamist kontrolli, kas kõik töötab. Ubuntus saab seda teha nii käsurealt (CLI) kui ka läbi veebiserveri (Apache või Nginx). Mõlemad variandid on allpool kirjas.
Kontroll käsurealt (CLI)
Lihtsaim viis kontrollida on käivitada terminalis:
php -v
Kui näed PHP versiooni ja ehitise infot, töötab CLI osa korrektselt.
Näide:
PHP 8.2.10 (cli) (built: Aug 23 2023 08:12:10) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.2.10, Copyright (c) Zend Technologies
Kontroll Apache kaudu
Kui sul on Apache, loo testfail phpinfo()
funktsiooniga:
1. Loo testfail
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
2. Ava brauseris
http://localhost/info.php
3. Kontrolli sisu
Kui kuvatakse PHP infoleht, siis töötab Apache kaudu PHP õigesti.
🔍 Märkus:
phpinfo()
kuvab ka tundlikku infot, seega kustuta see fail pärast kontrolli:
sudo rm /var/www/html/info.php
Kontroll Nginx + PHP-FPM puhul
Nginx kasutab PHP töötlemiseks php-fpm
-i. Kontrolli, et .php
failid on õigesti seadistatud Nginxi konfiguratsioonis ning kasuta sama testfaili meetodit nagu Apaches.
Kui ilmneb 500-vea teade või fail laetakse alla, vaata üle fastcgi_pass
ja include fastcgi-php.conf;
seaded.
5. Levinumate PHP moodulite paigaldamine
Põhi-PHP ei sisalda kõiki funktsioone. Paljud võimalused tulevad „moodulitena“, mis tuleb vajadusel eraldi paigaldada. Allpool toome välja olulisemad PHP moodulid.
Mis on PHP moodul?
PHP moodulid (laiendused) võimaldavad lisada näiteks andmebaasiühendusi, mitmebaidiseid stringe, pilditöötlust, XML-tuge jm.
Mooduleid saab paigaldada nii:
sudo apt install php-mooduli_nimi
Versioonipõhiselt näiteks: php8.2-mbstring

Olulisemad moodulid ja nende kasutus
php-mbstring (mitmebaidilised stringid)
Vajalik näiteks jaapani keele või teiste mitmebaidiliste märkidega tekstide töötlemiseks. Praktiliselt kohustuslik Jaapani saitidel ja meilide saatmisel.
sudo apt install php-mbstring
php-mysql (MySQL/MariaDB ühendus)
Vajalik MySQL või MariaDB andmebaaside kasutamiseks. WordPress ja teised andmebaasipõhised rakendused vajavad seda moodulit.
sudo apt install php-mysql
php-gd (pilditöötlus)
Piltide loomine, teisendamine, suuruse muutmine. Kasulik näiteks piltide eelvaadete või salvestuste genereerimiseks.
sudo apt install php-gd
php-xml (XML töötlemine)
Vajalik XML-põhiste andmete, näiteks RSS või SOAP, töötlemiseks. Kasutatakse CMS-ides ja API ühendustes.
sudo apt install php-xml
php-curl (HTTP ühendused)
Võimaldab serveril teha HTTP päringuid, vajalik API-ühendustes ja paljudes raamistikutes.
sudo apt install php-curl
php-zip (ZIP-failide haldus)
ZIP failide pakkimine ja lahtipakkimine, nt failide üleslaadimise juures kasulik.
sudo apt install php-zip
Mooduli aktiveerimine ja taaskäivitamine
Osad moodulid tuleb pärast paigaldamist ka aktiveerida. Selleks kasuta:
sudo phpenmod mooduli_nimi
sudo systemctl restart apache2
Peale aktiveerimist tuleb veebiserver uuesti käivitada.
6. PHP versioonihaldus ja vahetamine
Ubuntus saab ühes serveris kasutada mitut PHP versiooni. See on kasulik arenduskeskkonnas või kui hostid mitut rakendust. Allpool selgitame CLI ja Apache puhul versioonide vahetamist.
CLI-l PHP versiooni vahetamine
Käsk: update-alternatives
Ubuntus saab update-alternatives
käsuga kiiresti vahetada käsureal kasutatavat PHP versiooni.
1. samm: Kontrolli paigaldatud versioone
ls /usr/bin/php*
2. samm: Lisa PHP versioonid update-alternatives’i (esimene kord)
sudo update-alternatives --install /usr/bin/php php /usr/bin/php7.4 74
sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.2 82
3. samm: Vali kasutatav versioon
sudo update-alternatives --config php
Käsu käivitamisel kuvatakse valik:
There are 2 choices for the alternative php (providing /usr/bin/php).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/php8.2 82 auto mode
1 /usr/bin/php7.4 74 manual mode
2 /usr/bin/php8.2 82 manual mode
Press <enter> to keep the current choice[*], or type selection number:
Kirjuta soovitud versiooni number ja muudatus rakendub.
4. samm: Kontrolli versiooni
php -v
PHP versiooni vahetamine Apache’is
Apache võimaldab PHP versiooni vahetada moodulite lubamise/keelamise teel.
1. Kontrolli olemasolevaid mooduleid
ls /etc/apache2/mods-available | grep php
2. Keela praegune moodul
sudo a2dismod php7.4
3. Luba soovitud versiooni moodul
sudo a2enmod php8.2
4. Taaskäivita Apache
sudo systemctl restart apache2
Nii rakendub uus versioon ka Apache kaudu.
7. Seadistamine Apache või Nginxiga
PHP saab kasutada koos veebiserveriga. Ubuntus on levinumad Apache ja Nginx. Mõlema puhul on seadistus erinev – allpool juhised mõlemaks.
Apache (mod_php) seadistus
Apache puhul kasutatakse mod_php
-i. See on lihtne lahendus WordPressi ja teiste CMS-ide kiireks käivitamiseks.
1. Paigalda Apache ja mod_php
sudo apt install -y apache2 libapache2-mod-php
Paigalda libapache2-mod-php
, et Apache saaks töödelda PHP faile.
2. Taaskäivita Apache
sudo systemctl restart apache2
3. Testi PHP faili
Loo /var/www/html/test.php
järgmise sisuga ja ava see brauseris:
<?php
phpinfo();
?>
Näidis aadress:
http://localhost/test.php
Nginx (PHP-FPM) seadistus
Nginx on kerge ja kiire, kuid ei toeta PHP-d otse – vaja on PHP-FPM-i.
1. Paigalda Nginx ja PHP-FPM
sudo apt install -y nginx php-fpm
2. Muuda Nginxi konfiguratsiooni
Muuda /etc/nginx/sites-available/default
:
sudo nano /etc/nginx/sites-available/default
Lisa või muuda PHP blokk:
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
3. Taaskäivita Nginx
sudo systemctl restart nginx
4. Testi PHP faili
Loo /var/www/html/test.php
ja ava see brauseris, et kontrollida PHP toimimist.
Täiendav: tulemüüri seadistus (vajadusel)
Kui kasutad UFW tulemüüri, luba veebiserveri liiklus nii:
sudo ufw allow 'Apache Full'
# või
sudo ufw allow 'Nginx Full'
Apache on lihtne, Nginx annab parema jõudluse – vali vastavalt vajadusele.
8. Tõrkeotsing
PHP ja veebiserveri seadistamisel võib ette tulla tõrkeid. Allpool on levinumad probleemid ja lahendused.
PHP ei tööta (kuvatakse lähtekood)
Põhjus
Kui Apache või Nginx ei töötle PHP-d, vaid näitab faili sisu, on probleem moodulis või seadistuses.
Lahendus
- Apache:
Kontrolli, kaslibapache2-mod-php
on paigaldatud ja aktiveeritud ning taaskäivita Apache.
sudo apt install libapache2-mod-php
sudo systemctl restart apache2
- Nginx:
Kontrolli, etphp-fpm
töötab ja Nginxi seadistusesfastcgi_pass
suunab õigesse kohta.
sudo systemctl restart php8.2-fpm
sudo systemctl restart nginx
Mõni PHP funktsioon ei tööta (funktsioon puudub)
Põhjus
Nõutav PHP moodul pole paigaldatud või aktiveeritud.
Lahendus
- Paigalda vajaliku moodulid (nt
mbstring
,xml
,curl
).
sudo apt install php-mbstring php-xml php-curl
- Pärast aktiveerimist taaskäivita veebiserver.
sudo systemctl restart apache2 # või nginx
- Kontrolli aktiivseid mooduleid:
php -m
PHP veateateid ei kuvata
Põhjus
Vaikimisi võivad veateated olla keelatud.
Lahendus
Muuda php.ini
seadeid:
sudo nano /etc/php/8.2/apache2/php.ini
Muuda järgnevaid ridu:
display_errors = On
error_reporting = E_ALL
Peale muudatust taaskäivita veebiserver.
sudo systemctl restart apache2
Vigade logide kontrollimine
Apache logid:
/var/log/apache2/error.log
Nginx logid:
/var/log/nginx/error.log
PHP-FPM logid (Nginxiga):
/var/log/php8.2-fpm.log
Kontrolli logisid, et tuvastada tõrkeid.
sudo tail -f /var/log/apache2/error.log
Vea korral järgi alati: logide vaatamine → seadete ülevaatus → serveri taaskäivitamine.
9. Kokkuvõte
Selles artiklis selgitasime samm-sammult, kuidas paigaldada PHP Ubuntu alla ja kasutada seda nii iseseisvalt kui ka veebiserveriga. Siin on peamised punktid ja soovitused järgmisteks sammudeks.
Artikli põhipunktid
- Kontrolli Ubuntu versiooni ja tee ettevalmistused
Õige paigaldus eeldab OS-i versiooni teadmist ja pakettide uuendamist. - Kaks peamist paigaldusviisi
Kasuta kas standardhoidlat või lisa PPA, et saada spetsiifiline versioon. - Pärast paigaldust kontrolli tööd
php -v
japhpinfo()
abil saad kinnitada CLI ja veebiserveri tööd. - Laienda funktsionaalsust moodulitega
Paigalda vajalikud moodulid naguphp-mbstring
võiphp-mysql
. - Mitme versiooni haldamine on võimalik
Kasutaupdate-alternatives
ja Apache mooduleid paindlikuks vahetamiseks. - Oluline on ka veebiserveri seadistus
Seadista vastavalt vajadusele Apache või Nginx korralikult tööle. - Vigade korral vaata logisid
Kui PHP ei tööta, kontrolli esmalt vealoge.
Järgmised sammud
Pärast PHP paigaldamist Ubuntus võid edasi õppida järgmist:
- MySQL (MariaDB) paigaldus ja andmebaasiühendus
- WordPressi paigaldus ja seadistamine
- PHP raamistikud nagu Laravel
- HTTPS toe lisamine (Let’s Encrypt SSL sertifikaatidega)
- Süsteemi automaatne haldus ja taaskäivitamine (systemd)
Nende oskuste kombineerimisel saad ehitada professionaalseid ja võimsaid veebiteenuseid.
Ubuntu ja PHP on stabiilne, paindlik ja võimas avatud lähtekoodiga arenduskeskkond. Proovi julgelt ise edasi!
10. Korduma kippuvad küsimused (KKK)
Toome siia mõned enamlevinud küsimused ja nende vastused, mis aitavad nii algajaid kui ka edasijõudnuid Ubuntu ja PHP seadistamisel.
K1. Kuidas paigaldada Ubuntus kõige uuemat PHP versiooni?
V1.
Ubuntu ametlikus hoidlas pole alati kõige uuemat versiooni. Lisa ondrej/php
PPA ja installi soovitud versioon:
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.2
K2. Kuidas vahetada CLI-s PHP versiooni?
V2.
Kui mitu versiooni on paigaldatud, kasuta update-alternatives
:
sudo update-alternatives --config php
Vali sobiv versioon ekraanil kuvatavate valikute seast.
K3. Miks Apache kuvab PHP faili lähtekoodi, mitte ei käivita seda?
V3.
See tähendab, et Apache ei töötle PHP-d. Kontrolli, kas libapache2-mod-php
on paigaldatud ja aktiveeritud ning taaskäivita Apache:
sudo apt install libapache2-mod-php
sudo systemctl restart apache2
K4. Kus asub PHP seadistusfail (php.ini)?
V4.
CLI ja veebiserver kasutavad erinevaid php.ini
faile. Tüüpilised asukohad:
- Apache:
/etc/php/8.2/apache2/php.ini
- CLI:
/etc/php/8.2/cli/php.ini
Muuda „8.2“ vastavalt oma versioonile.
K5. Kuidas aktiveerida PHP laiendmoodulit?
V5.
Paigaldamise järel aktiveeri moodul käsuga phpenmod
:
sudo phpenmod mbstring
sudo systemctl restart apache2
Ära unusta veebiserverit taaskäivitada.
K6. Nginxiga PHP ei tööta, mida kontrollida?
V6.
Nginxis peab olema php-fpm
õigesti seadistatud. Kontrolli, et fastcgi_pass
suunab õigesse .sock
faili:
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
Kohanda .sock
vastavalt oma PHP versioonile.
K7. PHP veateated ei ilmu ekraanile.
V7.
Kontrolli, et php.ini
failis oleks:
display_errors = On
error_reporting = E_ALL
Taaskäivita pärast muudatusi veebiserver.
Need on kõige olulisemad nipid ja vastused, mis aitavad Ubuntu ja PHP seadistamisel!