Ubuntu 20.04-de Apache web serwerini nädip gurmaly


Bu gollanma sizi Ubuntu 20.04-de Apache web serwerini gurmak arkaly alyp barar. Ol Apache2 hyzmatlaryny dolandyrmagy, gorag diwaryndaky web serwer portuny açmagy, Apache2 gurnamasyny synagdan geçirmegi we Wirtual Host gurşawyny düzmegi öz içine alýar.

Degişli oka: Ubuntu 20.04-de Nginx web serwerini nädip gurmaly

  • Ubuntu 20.04 Serwerini nädip gurmaly

Ubuntu 20.04-de Apache2 gurmak

1. Ilki bilen Ubuntu 20.04 ulgamyňyza giriň we aşakdaky apt buýrugyny ulanyp ulgam paketleriňizi täzeläň.

$ sudo apt update

2. Täzelenme prosesi tamamlanandan soň, Apache2 web serwer programma üpjünçiligini aşakdaky ýaly guruň.

$ sudo apt install apache2

3. Apache2 paketini gurnanyňyzda, gurnawçy, apache2 hyzmatyny awtomatiki başlamak we işletmek üçin systemd-i işledýär. Apache2 hyzmatynyň işjeň/işleýändigini we aşakdaky systemctl buýruklaryny ulanyp, ulgam işe başlanda awtomatiki usulda işe ukyplydygyny barlap bilersiňiz.

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

Ubuntu 20.04-de Apache-ni dolandyrmak

4. Indi apache web serweriňiz işleýänsoň, aşakdaky systemctl buýruklaryny ulanyp, apache prosesini dolandyrmak üçin käbir esasy dolandyryş buýruklaryny öwrenmegiň wagty geldi.

$ 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

Ubuntu 20.04-de Apache sazlamak

5. Apache2 konfigurasiýa faýllarynyň hemmesi /etc/apache2 katalogynda saklanýar, aşakdaky ls buýrugy bilen ähli faýllary we kiçi bukjalary görüp bilersiňiz.

$ ls /etc/apache2/*

6. Aşakda üns bermeli esasy konfigurasiýa faýllary we kiçi kataloglar bar:

  • /etc/apache2/apache2.conf - Beýleki ähli konfigurasiýa faýllaryny öz içine alýan esasy Apache global konfigurasiýa faýly.
  • /etc/apache2/conf-elýeterli - elýeterli konfigurasiýalary saklaýar.
  • /etc/apache2/conf -abled - açyk konfigurasiýalary öz içine alýar.
  • /etc/apache2/mods-elýeterli - elýeterli modullary öz içine alýar.
  • /etc/apache2/mods-işjeňleşdirilen - açyk modullary öz içine alýar.
  • /etc/apache2/saýtlar-elýeterli - elýeterli saýtlar (wirtual hostlar) üçin konfigurasiýa faýly bar.
  • /etc/apache2/saýtlar bilen işleýän - açyk saýtlar (wirtual hostlar) üçin konfigurasiýa faýly bar.

Serweriň FQDN dünýä derejesinde kesgitlenmedik bolsa, her gezek apache2 hyzmat ýagdaýyny barlanyňyzda ýa-da konfigurasiýa synagyny geçireniňizde aşakdaky duýduryşy alarsyňyz.

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

Bu habary basmak üçin esasy apache konfigurasiýa faýlynda ServerName direktiwasyny dünýä derejesinde düzüň.

7. Web serweriniň FQDN-ni düzmek üçin /etc/apache2/apache2.conf faýlyndaky ServerName direktiwasyny ulanyň, halaýan tekst redaktoryňyzy ulanyp redaktirlemek üçin açyň.

$ sudo vim /etc/apache2/apache2.conf 

Faýla aşakdaky setiri goşuň (webserver1.linux-console.net-ny FQDN bilen çalyşyň).

ServerName webserver1.linux-console.net

8. Apache konfigurasiýasyna serweriň adyny goşanyňyzdan soň, konfigurasiýa sintaksisini barlaň we hyzmaty täzeden açyň.

$ sudo apache2ctl configtest
$ sudo systemctl restart apache2

9. Indi apache2 hyzmat ýagdaýyny barlanyňyzda duýduryş görünmeli däldir.

$ sudo systemctl status apache2

UFW Firewall-da Apache portlaryny açmak

10. UFW gorag diwary işledilen we ulgamyňyzda işleýän bolsa, gorag diwarynyň üsti bilen Apache2 web serwerine web traffigine rugsat bermek üçin gorag diwary konfigurasiýasynda HTTP (port 80) we HTTPS (port 443) hyzmatlaryny açmaly.

$ 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

Ubuntu 20.04-de Apache-ni barlamak

11. Apache2 web serwerini gurnamagyň gowy işleýändigini ýa-da ýokdugyny barlamak üçin web brauzerini açyň we gezmek üçin serweriňiziň IP adresini ulanyň:

http://SERVER_IP

Serweriňiziň umumy IP adresini bilmek üçin aşakdaky egri buýruklardan birini ulanyň.

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

Apache Ubuntu deslapky garşylaýyş web sahypasyny görseňiz, web serweriňizi gurmagyň gowy işleýändigini aňladýar.

Ubuntu 20.04-de wirtual hostlary gurmak

Apache2 web serweri, bir web sahypasyny ýerleşdirmek üçin deslapky görnüşde düzülen hem bolsa,\Wirtual Host düşünjesini ulanyp, birnäçe web sahypasyny/programmany ýerleşdirmek üçin ulanyp bilersiňiz.

Şonuň üçin Wirtual Host, bir serwerde birden köp web sahypasyny/programmany (mysal üçin.com we example1.com ýaly) işletmek amalyny aňladýar.

Mundan başga-da, Wirtual Hostlar “ada esaslanýar” (bir IP adresinde işleýän birnäçe domen/host atlaryňyzyň bardygyny aňladýar) ýa-da “IP esasly” (her web sahypasy üçin başga IP adresiňiziň bardygyny aňladýar) bolup biler.

Apache2 gurnamasyny barlamak üçin ulanylýan Apache Ubuntu deslapky garşylaýyş web sahypasyna hyzmat edýän deslapky wirtual hostyň /var/www/html katalogynda ýerleşýändigine üns beriň.

$ ls /var/www/html/

12. Bu gollanma üçin web sahypasy üçin linuxdesktop.info atly wirtual host dörederis. Geliň, ilki bilen sahypanyň web faýllaryny saklaýan sahypa üçin web resminamasynyň köküni döredeliň.

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

13. Ondan soň döredilen katalogda degişli eýeçiligi we rugsatlary belläň.

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

14. Indi synag maksatly nusga indeks sahypasyny dörediň.

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

Aşakdaky html koduny göçüriň we goýuň.

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

Faýly ýazdyryň we çykyň.

15. Ondan soň,/etc/apache2/saýtlar elýeterli bukjanyň aşagyndaky täze sahypa üçin wirtual host konfigurasiýa faýlyny döretmeli ( .conf giňeltmesi bilen gutarmaly).

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

Soňra faýly aşakdaky konfigurasiýany göçürip alyň ( www.linuxdesktop.info FQDN bilen çalyşmagy ýatdan çykarmaň).

<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>

Faýly ýazdyryň we çykyň.

16. Ondan soň täze sahypany işlediň we täze üýtgeşmeleri aşakdaky ýaly ulanmak üçin Apache2 konfigurasiýasyny täzeden açyň.

$ sudo a2ensite linuxdesktop.info.conf
$ sudo systemctl reload apache2

17. Netijede, täze wirtual host konfigurasiýasynyň gowy işleýändigini barlaň. Web brauzerinde gezmek üçin FQDN ulanyň.

http://domain-name

Täze web sahypaňyz üçin indeks sahypasyny görüp bilýän bolsaňyz, wirtual öý eýesiniň gowy işleýändigini aňladýar.

Bu hemmesi! Bu gollanmada, Ubuntu 20.04-de Apache web serwerini nädip gurmalydygyny görkezdik. Şeýle hem, Apache2 hyzmatlaryny nädip dolandyrmalydygyny, UFW gorag diwarynda HTTP we HTTPS hyzmatlaryny/portlaryny açyp, Apache2 gurnamasyny synagdan geçirdik we Wirtual Host gurşawyny düzdük we synagdan geçirdik. Soraglaryňyz barmy, bize ýetmek üçin aşakdaky düşündiriş formuny ulanyň.