See õpetus näitab, kuidas paigaldada LAMP Stack Ubuntu 20.04 LTS-i. LAMP Stack on tarkvaratööriistade komplekt. LAMP tähistab Linuxi, Apache, MariaDB/MySQL ja PHP-d, mis kõik on avatud lähtekoodiga ja tasuta kasutamiseks. See on kõige levinum tarkvarapakk, mis toidab dünaamilisi veebisaite ja veebirakendusi. Linux on operatsioonisüsteem; Apache on veebiserver; MariaDB/MySQL on andmebaasiserver ja PHP on serveripoolne skriptikeel, mis vastutab dünaamiliste veebilehtede loomise eest.
1. Tarkvarapakettide värskendamine
Enne LAMP Stacki paigaldamist on hea värskendada hoidlaid ja tarkvarapakette. Käivitage oma Ubuntus järgmised käsud.
2. Paigalda Apache veebiserver
Apache veebiserveri paigaldamiseks sisestage järgmine käsk. Pakett apache2-utils paigaldab mõned kasulikud utiliidid.
Pärast selle paigaldamist peaks Apache automaatselt käivituma. Kontrollige selle olekut systemctl-ga.
Näidisväljund:
Kui see ei tööta, kasutage käivitamiseks käsku systemctl.
Samuti on hea mõte lubada Apache süsteemi alglaadimise ajal automaatselt käivituda.
Kontrollige Apache versiooni:
Väljund:
Nüüd sisestage brauseri aadressiribale oma Ubuntu 20.04 serveri avalik IP aadress. Peaksite nägema teadet "It works!" Veebileht, mis tähendab, et Apache veebiserver töötab korralikult. Kui paigaldad LAMP-i oma kohalikku Ubuntu 20.04 arvutisse, sisestage brauseri aadressiribale 127.0.0.1 või localhost.
Kui ühenduse loomisest keeldutakse või seda ei õnnestu luua, võib tulemüür takistada TCP porti 80 sissetulevaid päringuid. Kui kasutate iptablesi tulemüüri, peate TCP pordi 80 avamiseks käivitama järgmise käsu:
Kui kasutate UFW tulemüüri, käivitage see käsk TCP pordi 80 avamiseks:
Nüüd peame määrama www-data (Apache kasutaja) dokumendi juurfaili (muidu tuntud kui veebijuure) omanikuks. Vaikimisi kuulub see juurkasutajale.
Vaikimisi kasutab Apache oma globaalse serverinimena süsteemi hostinime. Kui süsteemi hostinime ei saa DNS-is lahendada, näete pärast käsu sudo apache2ctl -t käivitamist tõenäoliselt järgmist tõrget:
Selle probleemi lahendamiseks saame Apache-s määrata globaalse ServerName. Uue konfiguratsioonifaili loomiseks kasutage Nano käsurea tekstiredaktorit.
Lisage sellesse faili järgmine rida.
Salvestage ja sulgege fail. Faili salvestamiseks Nano tekstiredaktoris vajutage klahvikombinatsiooni Ctrl+O ja seejärel vajutage kinnitamiseks sisestusklahvi. Väljumiseks vajutage klahvikombinatsiooni Ctrl+X. Seejärel lubage see konfiguratsioonifail.
Laadige Apache uuesti, et muudatus jõustuks.
Kui nüüd käivitate uuesti käsu sudo apache2ctl -t, ei näe te ülaltoodud veateadet.
3. Paigalda MariaDB andmebaasiserver
MariaDB on MySQL-i asendaja. Selle on välja töötanud endised MySQL-i meeskonna liikmed, kes on mures, et Oracle võib muuta MySQL-i suletud lähtekoodiga tooteks. MariaDB paigaldamiseks Ubuntu 20.04 sisestage järgmine käsk:
Pärast selle paigaldamist peaks MariaDB server automaatselt käivituma. Selle oleku kontrollimiseks kasutage systemctl.
Väljund:
Kui see ei tööta, käivitage see järgmise käsuga:
MariaDB automaatse käivitumise lubamiseks alglaadimise ajal käivitage:
Nüüd käivitage paigaldusjärgne turvaskript:
Kui see palub teil sisestada MariaDB juurparooli, vajutage sisestusklahvi, kuna juurparool ei ole veel määratud. Seejärel sisestage MariaDB serveri juurparooli määramiseks y.
Järgmisena saate kõigile ülejäänud küsimustele vastamiseks vajutada sisestusklahvi, mis eemaldab anonüümse kasutaja, keelab kaugelt juurdepääsu ja eemaldab testandmebaasi. See samm on MariaDB andmebaasi turvalisuse põhinõue. (Pange tähele, et Y on suurtähtedega, mis tähendab, et see on vaikevastus)
Vaikimisi kasutab Ubuntu MariaDB pakett kasutaja sisselogimise autentimiseks unix_socketit, mis tähendab põhimõtteliselt, et saate MariaDB konsooli sisse logimiseks kasutada operatsioonisüsteemi kasutajanime ja parooli. Seega saate sisselogimiseks käivitada järgmise käsu ilma MariaDB juurparooli andmata:
Väljumiseks sisestage:
Kontrollige MariaDB serveri versiooni:
Väljundiks näide:
4. Paigalda PHP7.4
PHP7.4 ja mõnede tavaliste PHP moodulite paigaldamiseks sisestage järgmine käsk:
Lubage Apache php7.4 moodul ja taaskäivitage Apache veebiserver:
Kontrollige PHP versiooni:
Väljund:
PHP skriptide testimiseks Apache serveriga peame dokumendi juurkataloogis looma info.php faili.
Kleepige faili järgmine PHP kood:
Faili salvestamiseks Nano tekstiredaktoris vajutage klahvikombinatsiooni Ctrl+O ja seejärel vajutage kinnitamiseks sisestusklahvi. Väljumiseks vajutage klahvikombinatsiooni Ctrl+X. Nüüd sisestage brauseri aadressiribale server-ip-address/info.php. Asendage serveri IP aadress oma tegeliku IP aadressiga. Kui kasutate seda õpetust kohalikus arvutis, sisestage 127.0.0.1/info.php või localhost/info.php
Peaksite nägema oma serveri PHP teavet. See tähendab, et PHP skriptid saavad Apache veebiserveriga korralikult töötada.
PHP-FPM käivitamine Apache-ga
PHP koodi käitamiseks Apache veebiserveriga on põhimõtteliselt kaks võimalust:
Keela Apache PHP7.4 moodul.
Paigaldage PHP-FPM.
Luba moodul proxy_fcgi ja setenvif.
Lubage konfiguratsioonifail /etc/apache2/conf-available/php7.4-fpm.conf.
Muudatuste jõustumiseks taaskäivitage Apache.
Kui värskendate nüüd oma brauseris info.php lehte, siis näete, et serveri API on Apache 2.0 Handler asemel FPM/FastCGI, mis tähendab, et Apache veebiserver edastab PHP päringud PHP-FPM-le.
Õnnitlused! Olete edukalt paigaldanud LAMP Stack (Apache, MariaDB ja PHP7.4) Ubuntu 20.04-sse. Oma serveri turvalisuse huvides peaksite uudishimulike pilkude vältimiseks kohe faili info.php kustutama.
1. Tarkvarapakettide värskendamine
Enne LAMP Stacki paigaldamist on hea värskendada hoidlaid ja tarkvarapakette. Käivitage oma Ubuntus järgmised käsud.
Kood:
sudo apt update
Kood:
sudo apt upgrade
Apache veebiserveri paigaldamiseks sisestage järgmine käsk. Pakett apache2-utils paigaldab mõned kasulikud utiliidid.
Kood:
sudo apt install -y apache2 apache2-utils
Kood:
systemctl status apache2
Kui see ei tööta, kasutage käivitamiseks käsku systemctl.
Kood:
sudo systemctl start apache2
Kood:
sudo systemctl enable apache2
Kood:
apache2 -v
HTML kood:
Server version: Apache/2.4.41 (Ubuntu) Server built: 2020-03-05T18:51:00
Kui ühenduse loomisest keeldutakse või seda ei õnnestu luua, võib tulemüür takistada TCP porti 80 sissetulevaid päringuid. Kui kasutate iptablesi tulemüüri, peate TCP pordi 80 avamiseks käivitama järgmise käsu:
Kood:
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
Kood:
sudo ufw allow http
Kood:
sudo chown www-data:www-data /var/www/html/ -R
HTML kood:
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message
Kood:
sudo nano /etc/apache2/conf-available/servername.conf
HTML kood:
ServerName localhost
Kood:
sudo a2enconf servername.conf
Kood:
sudo systemctl reload apache2
3. Paigalda MariaDB andmebaasiserver
MariaDB on MySQL-i asendaja. Selle on välja töötanud endised MySQL-i meeskonna liikmed, kes on mures, et Oracle võib muuta MySQL-i suletud lähtekoodiga tooteks. MariaDB paigaldamiseks Ubuntu 20.04 sisestage järgmine käsk:
Kood:
sudo apt install mariadb-server mariadb-client
Kood:
systemctl status mariadb
Kui see ei tööta, käivitage see järgmise käsuga:
Kood:
sudo systemctl start mariadb
Kood:
sudo systemctl enable mariadb
Kood:
sudo mysql_secure_installation
Järgmisena saate kõigile ülejäänud küsimustele vastamiseks vajutada sisestusklahvi, mis eemaldab anonüümse kasutaja, keelab kaugelt juurdepääsu ja eemaldab testandmebaasi. See samm on MariaDB andmebaasi turvalisuse põhinõue. (Pange tähele, et Y on suurtähtedega, mis tähendab, et see on vaikevastus)
Vaikimisi kasutab Ubuntu MariaDB pakett kasutaja sisselogimise autentimiseks unix_socketit, mis tähendab põhimõtteliselt, et saate MariaDB konsooli sisse logimiseks kasutada operatsioonisüsteemi kasutajanime ja parooli. Seega saate sisselogimiseks käivitada järgmise käsu ilma MariaDB juurparooli andmata:
Kood:
sudo mariadb -u root
Kood:
exit;
Kood:
mariadb --version
HTML kood:
mariadb Ver 15.1 Distrib 10.3.22-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
PHP7.4 ja mõnede tavaliste PHP moodulite paigaldamiseks sisestage järgmine käsk:
Kood:
sudo apt install php7.4 libapache2-mod-php7.4 php7.4-mysql php-common php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-readline
Kood:
sudo a2enmod php7.4
Kood:
sudo systemctl restart apache2
Kood:
php --version
HTML kood:
PHP 7.4.3 (cli) (built: Mar 26 2020 20:24:23) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies
Kood:
sudo nano /var/www/html/info.php
Kood:
<?php phpinfo(); ?>
Peaksite nägema oma serveri PHP teavet. See tähendab, et PHP skriptid saavad Apache veebiserveriga korralikult töötada.
PHP-FPM käivitamine Apache-ga
PHP koodi käitamiseks Apache veebiserveriga on põhimõtteliselt kaks võimalust:
- Apache PHP moodul
- PHP-FPM
Keela Apache PHP7.4 moodul.
Kood:
sudo a2dismod php7.4
Kood:
sudo apt install php7.4-fpm
Kood:
sudo a2enmod proxy_fcgi setenvif
Kood:
sudo a2enconf php7.4-fpm
Kood:
sudo systemctl restart apache2
Õnnitlused! Olete edukalt paigaldanud LAMP Stack (Apache, MariaDB ja PHP7.4) Ubuntu 20.04-sse. Oma serveri turvalisuse huvides peaksite uudishimulike pilkude vältimiseks kohe faili info.php kustutama.
Kood:
sudo rm /var/www/html/info.php