Kaip įdiegti „Apache“ žiniatinklio serverį „Ubuntu 20.04“.


Šis vadovas padės jums įdiegti Apache žiniatinklio serverį Ubuntu 20.04. Tai apima Apache2 paslaugų valdymą, ugniasienės tinklo serverio prievado atidarymą, Apache2 diegimo testavimą ir virtualiosios prieglobos aplinkos konfigūravimą.

Susijęs skaitymas: kaip įdiegti „Nginx“ žiniatinklio serverį „Ubuntu 20.04“

Reikalavimai:

  • Kaip įdiegti Ubuntu 20.04 serverį

„Apache2“ diegimas Ubuntu 20.04

1. Pirmiausia prisijunkite prie Ubuntu 20.04 sistemos ir atnaujinkite sistemos paketus naudodami šią apt komandą.

sudo apt update

2. Baigę naujinimo procesą, įdiekite Apache2 žiniatinklio serverio programinę įrangą, kaip nurodyta toliau.

sudo apt install apache2

3. Diegdama Apache2 paketą, diegimo programa suaktyvina systemd, kad automatiškai paleistų ir įgalintų apache2 paslaugą. Galite patikrinti, ar apache2 paslauga yra aktyvi/veikia ir įgalinta automatiškai paleisti sistemą paleidžiant, naudodami šias systemctl komandas.

sudo systemctl is-active apache2
sudo systemctl is-enabled apache2
sudo systemctl status apache2

Apache valdymas Ubuntu 20.04

4. Dabar, kai veikia jūsų „apache“ žiniatinklio serveris, laikas išmokti keletą pagrindinių valdymo komandų, kaip valdyti „apache“ procesą naudojant šias systemctl komandas.

sudo systemctl stop apache2      #stop apache2
sudo systemctl start apache2     #start apache2
sudo systemctl restart apache2   #restart apache2
sudo systemctl reload apache2    #reload apache2
sudo systemctl disable apache2   #disable apache2
sudo systemctl enable apache2    #enable apache2

„Apache“ konfigūravimas Ubuntu 20.04

5. Visi Apache2 konfigūracijos failai yra saugomi kataloge /etc/apache2. Galite peržiūrėti visus jame esančius failus ir pakatalogius naudodami šiuos ls komandą.

ls /etc/apache2/*

6. Toliau pateikiami pagrindiniai konfigūracijos failai ir pakatalogiai, į kuriuos turėtumėte atkreipti dėmesį:

  • /etc/apache2/apache2.conf – pagrindinis „Apache“ visuotinis konfigūracijos failas, apimantis visus kitus konfigūracijos failus.
  • /etc/apache2/conf-available – saugo galimas konfigūracijas.
  • /etc/apache2/conf-enabled – yra įgalintos konfigūracijos.
  • /etc/apache2/mods-available – yra galimų modulių.
  • /etc/apache2/mods-enabled – yra įgalinti moduliai.
  • /etc/apache2/sites-available – yra galimų svetainių (virtualiųjų prieglobų) konfigūracijos failas.
  • /etc/apache2/sites-enabled – yra konfigūracijos failas, skirtas įgalintoms svetainėms (virtualioms priegloboms).

Atminkite, kad jei serverio FQDN nenustatytas visuotinai, kiekvieną kartą tikrindami apache2 paslaugos būseną arba vykdydami konfigūracijos testą gausite šį įspėjimą.

apachectl[2996]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 10.0.2.15.

Pagrindiniame apache konfigūracijos faile nustatykite direktyvą 'ServerName', kad šis pranešimas būtų užblokuotas.

7. Norėdami nustatyti žiniatinklio serverio FQDN, naudokite direktyvą ServerName, esančią /etc/apache2/apache2.conf failą, atidarykite jį redaguoti naudodami mėgstamą teksto rengyklę.

sudo vim /etc/apache2/apache2.conf 

Pridėkite šią eilutę į failą (pakeitę webserver1.linux-console.net savo FQDN).

ServerName webserver1.linux-console.net

8. Pridėję serverio pavadinimą į „Apache“ konfigūraciją, patikrinkite, ar konfigūracijos sintaksė yra teisinga, ir paleiskite paslaugą iš naujo.

sudo apache2ctl configtest
sudo systemctl restart apache2

9. Dabar, kai tikrinate „apache2“ paslaugos būseną, įspėjimas neturėtų būti rodomas.

sudo systemctl status apache2

„Apache“ prievadų atidarymas UFW užkardoje

10. Jei įjungta UFW užkarda ir ji veikia sistemoje, turite atidaryti HTTP (80 prievadas) ir HTTPS (443 prievadas) paslaugos ugniasienės konfigūracijoje, leidžiančios žiniatinklio srautą į Apache2 žiniatinklio serverį per užkardą.

sudo ufw allow http
sudo ufw allow https
sudo ufw reload
OR
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload

„Apache“ testavimas „Ubuntu 20.04“.

11. Norėdami patikrinti, ar Apache2 žiniatinklio serverio diegimas veikia gerai, atidarykite žiniatinklio naršyklę ir naršydami naudokite serverio IP adresą:

http://SERVER_IP

Norėdami sužinoti savo serverio viešąjį IP adresą, naudokite bet kurią iš šių curl komandų.

curl ifconfig.co
OR
curl ifconfig.me
OR
curl icanhazip.com

Jei matote „Apache Ubuntu“ numatytąjį pasveikinimo tinklalapį, tai reiškia, kad jūsų žiniatinklio serverio diegimas veikia gerai.

Virtualių prieglobų nustatymas Ubuntu 20.04

Nors pagal numatytuosius nustatymus Apache2 žiniatinklio serveris sukonfigūruotas priglobti vieną svetainę, galite naudoti jį kelioms svetainėms/programoms priglobti, naudodami sąvoką „Virtual Host“.

Todėl Virtual Host yra terminas, reiškiantis praktiką paleisti daugiau nei vieną svetainę/programą (pvz., example.com ir example1.com >>) viename serveryje.

Be to, virtualios prieglobos gali būti „pagrįstos pavadinimu“ (tai reiškia, kad vienu IP adresu veikia keli domenai/prieglobos pavadinimai) arba „pagrįsti IP “ (tai reiškia, kad kiekvienai svetainei turite skirtingą IP adresą).

Atminkite, kad numatytasis virtualus kompiuteris, aptarnaujantis numatytąjį „Apache Ubuntu“ pasveikinimo tinklalapį, kuris naudojamas „Apache2“ diegimui išbandyti, yra kataloge /var/www/html.

ls /var/www/html/

12. Šiam vadovui sukursime virtualią svetainės prieglobą, pavadintą linuxdesktop.info. Taigi pirmiausia sukurkime žiniatinklio dokumento šaknį svetainei, kurioje bus saugomi svetainės žiniatinklio failai.

sudo mkdir -p /var/www/html/linuxdesktop.info

13. Tada nustatykite atitinkamas nuosavybės teises ir teises sukurtame kataloge.

sudo chown www-data:www-data -R /var/www/html/linuxdesktop.info
sudo chmod 775 -R /var/www/html/linuxdesktop.info

14. Dabar sukurkite pavyzdinį rodyklės puslapį testavimo tikslais.

sudo vim /var/www/html/linuxdesktop.info/index.html

Nukopijuokite ir įklijuokite į jį šį html kodą.

<html>
  <head>
    <title>Welcome to linuxdesktop.info!</title>
  </head>
  <body>
    <h1>Congrats! The new linuxdesktop.info virtual host is working fine.</h1>
  </body>
</html>

Išsaugokite failą ir išeikite iš jo.

15. Tada turite sukurti virtualaus pagrindinio kompiuterio konfigūracijos failą (kuris turėtų baigtis plėtiniu .conf) naujai svetainei, esančiam /etc/apache2. /sites-available.

sudo vim /etc/apache2/sites-available/linuxdesktop.info.conf

Tada nukopijuokite ir įklijuokite šią konfigūraciją į failą (nepamirškite pakeisti www.linuxdesktop.info savo FQDN).

<VirtualHost *:80>
    	ServerName www.linuxdesktop.info
	ServerAlias linuxdesktop.info
	DocumentRoot /var/www/html/linuxdesktop.info
	ErrorLog /var/log/apache2/linuxdesktop.info_error.log
	CustomLog  /var/log/apache2/linuxdesktop.info_access.log combined
</VirtualHost>

Išsaugokite failą ir išeikite iš jo.

16. Tada įgalinkite naują svetainę ir iš naujo įkelkite „Apache2“ konfigūraciją, kad pritaikytumėte naujus pakeitimus, kaip nurodyta toliau.

sudo a2ensite linuxdesktop.info.conf
sudo systemctl reload apache2

17. Galiausiai patikrinkite, ar naujoji virtualiosios prieglobos konfigūracija veikia gerai. Žiniatinklio naršyklėje naršydami naudokite FQDN.

http://domain-name

Jei matote savo naujos svetainės rodyklės puslapį, tai reiškia, kad virtualus priegloba veikia gerai.

Tai viskas! Šiame vadove parodėme, kaip įdiegti Apache žiniatinklio serverį Ubuntu 20.04. Taip pat aptarėme, kaip valdyti „Apache2“ paslaugas, atidaryti HTTP ir HTTPS paslaugas/prievadus UFW užkardoje, išbandėme „Apache2“ diegimą ir sukonfigūravome bei išbandėme „Virtual Host“ aplinką. Jei turite klausimų, naudokite toliau pateiktą komentarų formą, kad su mumis susisiekti.