- 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 -aVõi alternatiivina:
cat /etc/os-releaseSelles 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 -yNii 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-commonSee 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 phpPärast paigaldust kontrolli PHP olemasolu käsuga:
php -vNä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 updateSee 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.2Sarnaselt saab paigaldada ka PHP 7.4 või 8.0.
3. samm: Versiooni kontrollimine
php -vKui 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 -vKui 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 TechnologiesKontroll Apache kaudu
Kui sul on Apache, loo testfail phpinfo() funktsiooniga:
1. Loo testfail
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php2. Ava brauseris
http://localhost/info.php3. 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.phpKontroll 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_nimiVersioonipõ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-mbstringphp-mysql (MySQL/MariaDB ühendus)
Vajalik MySQL või MariaDB andmebaaside kasutamiseks. WordPress ja teised andmebaasipõhised rakendused vajavad seda moodulit.
sudo apt install php-mysqlphp-gd (pilditöötlus)
Piltide loomine, teisendamine, suuruse muutmine. Kasulik näiteks piltide eelvaadete või salvestuste genereerimiseks.
sudo apt install php-gdphp-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-xmlphp-curl (HTTP ühendused)
Võimaldab serveril teha HTTP päringuid, vajalik API-ühendustes ja paljudes raamistikutes.
sudo apt install php-curlphp-zip (ZIP-failide haldus)
ZIP failide pakkimine ja lahtipakkimine, nt failide üleslaadimise juures kasulik.
sudo apt install php-zipMooduli aktiveerimine ja taaskäivitamine
Osad moodulid tuleb pärast paigaldamist ka aktiveerida. Selleks kasuta:
sudo phpenmod mooduli_nimi
sudo systemctl restart apache2Peale 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 823. samm: Vali kasutatav versioon
sudo update-alternatives --config phpKä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 -vPHP versiooni vahetamine Apache’is
Apache võimaldab PHP versiooni vahetada moodulite lubamise/keelamise teel.
1. Kontrolli olemasolevaid mooduleid
ls /etc/apache2/mods-available | grep php2. Keela praegune moodul
sudo a2dismod php7.43. Luba soovitud versiooni moodul
sudo a2enmod php8.24. Taaskäivita Apache
sudo systemctl restart apache2Nii 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-phpPaigalda libapache2-mod-php, et Apache saaks töödelda PHP faile.
2. Taaskäivita Apache
sudo systemctl restart apache23. Testi PHP faili
Loo /var/www/html/test.php järgmise sisuga ja ava see brauseris:
<?php
phpinfo();
?>Näidis aadress:
http://localhost/test.phpNginx (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-fpm2. Muuda Nginxi konfiguratsiooni
Muuda /etc/nginx/sites-available/default:
sudo nano /etc/nginx/sites-available/defaultLisa 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 nginx4. 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-phpon paigaldatud ja aktiveeritud ning taaskäivita Apache.
sudo apt install libapache2-mod-php
sudo systemctl restart apache2- Nginx:
Kontrolli, etphp-fpmtöötab ja Nginxi seadistusesfastcgi_passsuunab õigesse kohta.
sudo systemctl restart php8.2-fpm
sudo systemctl restart nginxMõ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 -mPHP veateateid ei kuvata
Põhjus
Vaikimisi võivad veateated olla keelatud.
Lahendus
Muuda php.ini seadeid:
sudo nano /etc/php/8.2/apache2/php.iniMuuda järgnevaid ridu:
display_errors = On
error_reporting = E_ALLPeale muudatust taaskäivita veebiserver.
sudo systemctl restart apache2Vigade logide kontrollimine
Apache logid:
/var/log/apache2/error.logNginx logid:
/var/log/nginx/error.logPHP-FPM logid (Nginxiga):
/var/log/php8.2-fpm.logKontrolli logisid, et tuvastada tõrkeid.
sudo tail -f /var/log/apache2/error.logVea 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 -vjaphpinfo()abil saad kinnitada CLI ja veebiserveri tööd. - Laienda funktsionaalsust moodulitega
Paigalda vajalikud moodulid naguphp-mbstringvõiphp-mysql. - Mitme versiooni haldamine on võimalik
Kasutaupdate-alternativesja 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.2K2. Kuidas vahetada CLI-s PHP versiooni?
V2.
Kui mitu versiooni on paigaldatud, kasuta update-alternatives:
sudo update-alternatives --config phpVali 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 apache2K4. 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_ALLTaaskäivita pärast muudatusi veebiserver.
Need on kõige olulisemad nipid ja vastused, mis aitavad Ubuntu ja PHP seadistamisel!



