Introducere
serverul HTTP Apache este cel mai utilizat server web din lume. Oferă multe caracteristici puternice, inclusiv module încărcate dinamic, Suport media robust și integrare extinsă cu alte programe software populare.
în acest ghid, vă vom explica cum să instalați un server web Apache pe serverul Ubuntu 20.04.
cerințe preliminare
înainte de a începe acest ghid, ar trebui să aveți un utilizator obișnuit, non-root, cu privilegii sudo configurate pe serverul dvs., În plus, va trebui să activați un firewall de bază pentru a bloca porturile neesențiale. Puteți afla cum să configurați un cont de utilizator obișnuit și să configurați un firewall pentru serverul dvs. urmând ghidul nostru inițial de configurare a serverului Pentru Ubuntu 20.04.când aveți un cont disponibil, conectați-vă ca utilizator non-root pentru a începe.
Pasul 1-Instalarea Apache
Apache este disponibil în depozitele software implicite ale Ubuntu, ceea ce face posibilă instalarea acestuia folosind instrumente convenționale de gestionare a pachetelor.,
Să începem prin actualizarea pachetului locale index pentru a reflecta cele mai recente modificări în amonte:
- sudo apt update
Apoi, instalați apache2
ambalaj:
- sudo apt install apache2
După confirmarea de instalare, apt
va instala Apache și toate dependențele necesare.
Pasul 2-Ajustarea Firewall-ului
înainte de a testa Apache, este necesar să modificați setările firewall-ului pentru a permite accesul extern la porturile web implicite., Presupunând că ați urmat instrucțiunile din condițiile preliminare, ar trebui să aveți un firewall UFW configurat pentru a restricționa accesul la serverul dvs.
în timpul instalării, Apache se înregistrează cu UFW pentru a oferi câteva profiluri de aplicații care pot fi utilizate pentru a activa sau dezactiva accesul la Apache prin firewall.,>
Veți primi o listă cu profilurile de aplicații:
OutputAvailable applications: Apache Apache Full Apache Secure OpenSSH
Cum este indicat de către ieșire, există trei profiluri disponibile pentru Apache:
- Apache: Acest profil se deschide doar portul 80 (normal, necriptate trafic web)
- Apache Complet: Acest profil se deschide atât portul 80 (normal, necriptate trafic web) și portul 443 (TLS/SSL criptate trafic)
- Apache Sigur: Acest profil se deschide numai portul 443 (TLS/SSL criptate trafic)
este recomandat să activați mai restrictive de profil, care va permite în continuare la trafic le-ați configurat., De când nu ne-am configurat SSL pentru serverul nostru încă în acest ghid, vom avea nevoie doar pentru a permite traficul pe portul 80:
- sudo ufw allow 'Apache'
puteți verifica acest lucru prin tastarea:
- sudo ufw status
ieșire va oferi o listă de permis traficul HTTP:
Cum este indicat de către ieșire, profilul a fost activat pentru a permite accesul la server de web Apache.
Pasul 3-Verificarea serverului Web
la sfârșitul procesului de instalare, Ubuntu 20.04 pornește Apache. Serverul web ar trebui să fie deja în funcțiune.,
Verificați cu systemd
init de sistem pentru a asigurați-vă că serviciul se execută prin tastarea:
- sudo systemctl status apache2
Cum a confirmat această ieșire, serviciul a început cu succes. Cu toate acestea, cel mai bun mod de a testa acest lucru este să solicitați o pagină de la Apache.
puteți accesa pagina de destinație implicită Apache pentru a confirma că software-ul rulează corect prin adresa IP. Dacă nu cunoașteți adresa IP a serverului dvs., puteți obține câteva moduri diferite de linia de comandă.,
încercați să tastați acest lucru la promptul de comandă al serverului dvs.:
- hostname -I
veți primi înapoi câteva adrese separate prin spații. Puteți încerca fiecare din browserul dvs. web pentru a determina dacă funcționează.,
o Altă opțiune este de a utiliza Icanhazip instrument, care ar trebui să-ți dau adresa IP publică fi citit de la o altă locație de pe internet:
- curl -4 icanhazip.com
atunci Când aveți adresa IP a serverului, introduceți-l în bara de adrese a browserului:
You should see the default Ubuntu 20.04 Apache web page:
This page indicates that Apache is working correctly. It also includes some basic information about important Apache files and directory locations.
Step 4 — Managing the Apache Process
Now that you have your web server up and running, let’s go over some basic management commands using systemctl
.
To stop your web server, type:
- sudo systemctl stop apache2
Pentru a porni serverul de web, atunci când acesta este oprit, tip:
- sudo systemctl start apache2
Pentru a opri și apoi începe din nou serviciul, tip:
- sudo systemctl restart apache2
Dacă sunteți pur și simplu de a face modificări de configurare, Apache, adesea, pot reîncărca de cădere fără conexiuni., Pentru a face acest lucru, utilizați această comandă:
- sudo systemctl reload apache2
în mod implicit, Apache este configurat să pornească automat când serverul pornește. Dacă nu doriți acest lucru, dezactivați acest comportament tastând:
- sudo systemctl disable apache2
pentru a reactiva pornirea serviciului la pornire, tastați:
- sudo systemctl enable apache2
Apache ar trebui să pornească automat atunci când serverul pornește din nou.,
Pasul 5-Configurarea gazdelor virtuale (recomandat)
când utilizați serverul web Apache, puteți utiliza gazde virtuale (similar cu blocurile de servere din Nginx) pentru a încapsula detaliile configurației și a găzdui mai multe domenii de la un singur server. Vom configura un domeniu numit your_domain, dar ar trebui să înlocuiți acest lucru cu propriul nume de domeniu. Dacă configurați un nume de domeniu cu DigitalOcean, consultați documentația noastră de rețea.
Apache pe Ubuntu 20.,04 are un bloc de server activat în mod implicit, care este configurat pentru a servi documente din /var/www/html
director. În timp ce acest lucru funcționează bine pentru un singur site, acesta poate deveni greoi dacă găzduiți mai multe site-uri. În loc de a modifica /var/www/html
, să creeze o structură de directoare din /var/www
pentru o your_domain site-ul, lăsând /var/www/html
în loc ca director implicit pentru a fi servit, dacă un client cerere nu se potrivește cu orice alte site-uri.,
de a Crea directorul pentru your_domain după cum urmează:
- sudo mkdir /var/www/your_domain
apoi, atribuiți dreptul de proprietate din directorul cu $USER
variabila de mediu:
- sudo chown -R $USER:$USER /var/www/your_domain
permisiunile dvs. de web rădăcini ar trebui să fie corect dacă nu ați modificat valoarea umask, care stabilește implicit, permisiunile de fișiere., Pentru a se asigura că permisiunile sunt corecte și permite proprietarului de a citi, scrie și executa fișiere în timp ce acordarea de doar permisiuni de citire și executare a grupurilor și altele, puteți introduce următoarea comandă:
- sudo chmod -R 755 /var/www/your_domain
apoi, creați un eșantion index.html
pagina folosind nano
sau editorul preferat:
- sudo nano /var/www/your_domain/index.html
în Interior, se adaugă următorul exemplu de cod HTML:
<html> <head> <title>Welcome to Your_domain!</title> </head> <body> <h1>Success! The your_domain virtual host is working!</h1> </body></html>
Salvați și închideți fișierul când ați terminat.,pentru ca Apache să servească acest conținut, este necesar să creați un fișier gazdă virtuală cu directivele corecte. În loc de a modifica fișierul de configurare implicit situat la /etc/apache2/sites-available/000-default.conf
direct, hai să facem un nou unul la /etc/apache2/sites-available/your_domain.conf
:
- sudo nano /etc/apache2/sites-available/your_domain.conf
Inserați codul în următoarele bloc de configurare, care este similar cu cel default, dar actualizat pentru noul nostru director și numele de domeniu:
Observați că am actualizat DocumentRoot
la noul nostru director și ServerAdmin
la un e-mail că your_domain administratorul site-ului pot accesa. Am adăugat, de asemenea, două directive: ServerName
, care stabilește baza domeniu care ar trebui să se potrivească pentru această gazdă virtuală definiție, și ServerAlias
, care definește numele suplimentare, care ar trebui să se potrivească ca și cum ar fi nume de bază. Salvați și închideți fișierul când ați terminat.,
Să permită fișier cu a2ensite
instrument:
- sudo a2ensite your_domain.conf
Dezactivați-ul implicit definit în 000-default.conf
:
- sudo a2dissite 000-default.conf
Apoi, sa testam, pentru erorile de configurare:
- sudo apache2ctl configtest
ar trebui să primiți următorul rezultat:
OutputSyntax OK
Restart Apache să pună în aplicare modificări:
- sudo systemctl restart apache2
Apache ar trebui să fie acum de servire numele dvs. de domeniu., Puteți testa acest lucru prin navigarea la , unde ar trebui să vedeți ceva de genul asta:
Pasul 6 – familiarizarea cu Importante Apache Fișiere și Directoare
Acum, că știi cum să gestioneze serviciul Apache sine, tu ar trebui să ia câteva minute pentru a vă familiariza cu câteva importante directoare și fișiere.,
Continut
-
/var/www/html
: real conținut web, care în mod implicit numai constă implicit Apache pagina ai văzut mai devreme, este servit de/var/www/html
director. Acest lucru poate fi modificat prin modificarea fișierelor de configurare Apache.
Configurare Server
-
/etc/apache2
: directorul de configurare Apache. Toate fișierele de configurare Apache locuiesc aici. -
/etc/apache2/apache2.conf
: fișierul principal de configurare Apache. Acest lucru poate fi modificat pentru a face modificări la configurația globală Apache., Acest fișier este responsabil pentru încărcarea multor alte fișiere din Directorul de configurare. -
/etc/apache2/ports.conf
: acest fișier specifică porturile pe care Apache le va asculta. În mod implicit, Apache ascultă pe portul 80 și, în plus, ascultă pe portul 443 când este activat un modul care oferă capabilități SSL. -
/etc/apache2/sites-available/
: directorul în care pot fi stocate gazdele virtuale pe site. Apache nu va folosi fisierele de configurare gasite in acest director decat daca sunt legate de directorulsites-enabled
., De obicei, toată configurația blocului de server se face în acest director și apoi este activată prin conectarea la celălalt director cu comandaa2ensite
. -
/etc/apache2/sites-enabled/
: directorul în care sunt stocate gazdele virtuale activate pe site. De obicei, acestea sunt create prin conectarea la fișierele de configurare găsit însites-available
directorul cua2ensite
. Apache citește fișierele de configurare și link-urile găsite în acest director atunci când pornește sau reîncarcă pentru a compila o configurație completă., -
/etc/apache2/conf-available/
,/etc/apache2/conf-enabled/
: Aceste directoare au aceeași relație casites-available
șisites-enabled
directoare, dar sunt utilizate pentru a stoca configurația fragmente care nu fac parte într-o gazdă virtuală. Fișiere înconf-available
director poate fi activat cua2enconf
comandă și dezactivat cua2disconf
comandă. -
/etc/apache2/mods-available/
,/etc/apache2/mods-enabled/
: Aceste directoare conțin disponibile și modulele activate, respectiv., Fișierele care se termină în.load
conține fragmente pentru a încărca module specifice, în timp ce fișierele care se termină în.conf
conține configurația pentru aceste module. Modulele pot fi activate și dezactivate folosinda2enmod
șia2dismod
comandă.
jurnalele serverului
-
/var/log/apache2/access.log
: în mod implicit, fiecare solicitare către serverul dvs. web este înregistrată în acest fișier jurnal, cu excepția cazului în care Apache este configurat să facă altfel. -
/var/log/apache2/error.log
: în mod implicit, toate erorile sunt înregistrate în acest fișier., DirectivaLogLevel
din configurația Apache specifică cât de multe detalii vor conține jurnalele de eroare.
concluzie
acum că aveți serverul web instalat, aveți multe opțiuni pentru tipul de conținut pe care îl puteți servi și tehnologiile pe care le puteți utiliza pentru a crea o experiență mai bogată.dacă doriți să construiți o stivă de aplicații mai completă, puteți citi acest articol despre cum să configurați o stivă LAMP pe Ubuntu 20.04