Cum să găzduiești un site web (Ghid pentru configurarea propriului server)

Cum se creează un server


Pentru a găzdui un site web pe un server, va trebui să vă murdăriți și să configurați singur mediul singur. Mai jos, veți găsi un exemplu generalizat despre cum puteți face lucrurile folosind un server privat virtual care rulează Ubuntu 18.04

Pe scurt, va trebui să:

    • Efectuați configurația inițială a serverului
    • Configurați o zonă DNS și indicați-vă domeniul
    • Instalați o stivă software
    • Creați o gazdă virtuală
    • Porniți-vă site-ul

P.S. Dacă nu doriți să parcurgeți acești pași complicați, luați în considerare să obțineți o găzduire web.

1. Primii pași de configurare a serverului

Dacă decideți să închiriați un server dedicat sau un VPS, va trebui mai întâi să puneți o bază solidă. Aceasta implică accesarea serverului dvs. printr-un terminal sau un client SSH și realizarea unor modificări și actualizări de securitate.

Conectați-vă la serverul dvs.

Începeți prin a vă conecta la serverul dvs. Următoarea comandă va face trucul:

ssh [email protected] _server_IP -port

Când vă conectați pentru prima dată, vi se poate solicita să adăugați IP-ul serverului dvs. la lista de gazde cunoscute. Introduceți da pentru a continua și vi se va solicita să intrați în parola root.

adăugarea IP-ului serverului la gazdele cunoscute

Iată un exemplu despre ceea ce ar trebui să vedeți pe ecran dacă totul a decurs bine.

Ecran inițial de conectare SSH Ubuntu

Obțineți cele mai recente actualizări

Executați următoarele comenzi pentru a obține cele mai recente actualizări pentru serverul dvs. Ubuntu 18.04:

Actualizare sudo apt
upgrade sudo apt

Când executați a doua comandă, veți vedea un ecran de confirmare. Introduceți Y a inainta, a merge mai departe.

confirmarea actualizărilor serverului Ubuntu

Creați un utilizator nou

În continuare, va trebui să adăugați un utilizator nou, deoarece nu este recomandat să îl utilizați pe root pentru sarcinile de zi cu zi. Să-l numim webmaster. Pentru a începe crearea utilizatorului, executați:

adduser webmaster

crearea unui nou utilizator Ubuntu

După crearea unei parole, vi se va solicita să introduceți detaliile generale (pe care le puteți lăsa necompletate). Apoi, tastați Y pentru a confirma noua creare a utilizatorului.

În mod implicit, noul utilizator nu va avea suficiente privilegii pentru a face tot ce aveți nevoie, de aceea va trebui să le adăugați manual. Iată cum procedați:

usermod -aG sudo webmaster

Asta e! Noul tău utilizator administrativ este gata. Pentru a începe să o utilizați în loc de root, executați:

su – webmaster

schimbarea utilizatorului sistemului

Configurați autentificarea cu cheie publică (opțional)

Utilizarea unei parole pentru autentificare vă lasă vulnerabil la încercările de forță brută și vă pune serverul într-un risc moderat (mai ales dacă vă este lene să configurați o parolă unică și puternică).

O modalitate excelentă de a îmbunătăți integritatea serverului este de a utiliza tastele SSH în loc de o parolă obișnuită. Pașii trebuie să fie identici, indiferent de distribuția Linux pe care o executați. A incepe deconectați-vă a serverului dvs. și executați următoarea comandă pe dvs. computer local pentru a crea o nouă cheie publică:

ssh-keygen

Vi se va solicita să introduceți o parolă suplimentară și locația unde să salvați cheia publică. În mod implicit, acesta salvează totul la /Users/Your_User/.ssh director (pe care îl puteți păstra dacă nu aveți în vedere alte planuri).

rularea cheii SSH

Imediat ce este terminat, copiați peste cheia SSH pe serverul dvs. utilizând:

ssh-copy-id [email protected] _server_IP

De asemenea, puteți face același lucru pentru utilizatorul dvs. root, în cazul în care:

ssh-copy-id [email protected] _server_IP

mutarea cheii SSH pe serverul de la distanță

În cele din urmă, va trebui să vă autentificați din nou pe server. Numai de această dată, veți folosi tasta SSH și fraza sa de acces pentru a se autentifica. Dacă parola dvs. este ghicită de cineva, acestea nu se vor putea autentifica, deoarece cheia publică este necesară pentru a realiza o conexiune de succes.

logare pe server cu cheie SSH

Dezactivați autentificarea cu parolă (opțional)

Deoarece acum puteți accesa serverul dvs. cu cheia SSH recent generată, este recomandabil să dezactivați autentificarea regulată a parolei. Pentru a face acest lucru, putem utiliza funcția nano editor de text:

sudo nano / etc / ssh / sshd_config

Căutați o linie care spune #PasswordAuthentication da, ștergeți # și schimbați da la o Nu. Rezultatul final ar trebui să arate astfel:

dezactivarea autentificării parolei în configurația sshd

Pentru a salva aceste modificări și a ieși din editorul nano, apăsați CTRL + X, introduceți Y și apăsați introduce. Și în final, aplicați totul prin reîncărcarea serviciului sshd:

sudo systemctl reîncărcare sshd

Si asta e! Acum veți utiliza o cheie publică pentru autentificarea în locul unei parole, care este considerată o modalitate mai sigură de accesare și gestionare a unui server.

Configurați un firewall

Nu în ultimul rând, este recomandabil să folosiți un firewall pentru a vă proteja de pericolele care pândesc pe web. Firewall-ul necomplicat este unul dintre cele mai bune instrumente pentru acest job. Pentru a o configura, executați:

sudo apt-get install ufw

Când este instalat, firewall-ul nu va funcționa decât dacă este pornit manual. Puteți activa acest lucru folosind:

sudo ufw activează

activarea ufw Ubuntu

Pentru a verifica dacă funcționează și funcționează, executați:

sudo ufw status verbose

2. Configurați o zonă DNS

Următoarea provocare va fi crearea unei zone DNS, care acționează ca material de legare între un nume de domeniu și un server. Îl putem descompune în două etape mai mici:

  1. Configurarea unei zone DNS pe serverul dvs.
  2. Crearea serverelor de nume personalizate la registratorul dvs. de domeniu

Creați o zonă DNS nouă

Pentru a crea o nouă zonă DNS, vom folosi un instrument numit bind9. În final, acesta este serviciul care ne permite să încărcăm un site web printr-un nume de domeniu în loc de o adresă IP.

Pentru a instala Bind9 pe serverul dvs. Ubuntu 18.04, executați:

sudo apt-get install bind9

Odată instalat, toate fișierele vor fi disponibile în / Etc / bind director. Să navigăm mai întâi către aceasta:

cd / etc / bind

Pentru a menține totul bine și organizat, vom crea un director separat pentru zonele noastre DNS:

zone sudo mkdir -p

Să creăm un nou fișier de zonă DNS pentru domeniul nostru. Vom folosi domain-example.com în scop demonstrativ (ar trebui să îl înlocuiți cu numele dvs. de domeniu real).

sudo nano zones / domain-example.com

Exemplu de fragment de zonă DNS:

;
; Fișier de date BIND pentru domeniu-exemplu.com
;
$ TTL 3h
@ IN SOA ns1.domain-example.com. admin.domain-example.com. (
1; Serial
3h; Reîmprospătați după 3 ore
1h; Încercați din nou după 1 oră
1w; Expiră după 1 săptămână
1h); TTL negativ de cache de 1 zi
;
@ IN NS ns1.domain-example.com.
@ IN NS ns2.domain-example.com.

domain-example.com. IN A TU_SERVER_IP
ns1 ÎN TINE_SERVER_IP
ns2 ÎN TINE_SERVER_IP
www IN CNAME domeniu-exemplu.com.
trimiteți-vă într-un YOUR_SERVER_IP
ftp IN CNAME domeniu-exemplu.com.
domain-example.com. IN MX 10 domeniu-exemplu.com.

Asigurați-vă că înlocuiți toate instanțele dvs. Your_Server_IP și domain-example.com cu valorile reale. Salvați fișierul de zonă apăsând CTRL + X și apoi tastați Y pentru a confirma modificările.

În continuare, va trebui să modificăm configurația locală și să specificăm locația zonei noastre DNS nou create. Acest lucru asigură că serverul știe ce fișier zonă aparține cărui nume de domeniu.

sudo nano pe nume.conf.local

Au fost adăugate următoarele linii din partea de jos a fișierului în timp ce se înlocuiește domain-example.com cu adresa dvs. de site-ul propriu.

zona "domain-example.com" {
tip master;
fişier "/etc/bind/zones/domain-example.com";
};

presa CTRL + X și de intrare Y pentru a salva modificările și a ieși din editorul nano.

De asemenea, puteți testa dacă totul a fost adăugat și configurat corect, executând următoarea comandă:

sudo numit-checkzone domain-example.com /etc/bind/zones/domain-example.com

verificarea zonei dns

În sfârșit, executați aceste două comenzi pentru a reporni serviciul DNS al serverului dvs. și pentru a vă asigura că acesta rulează:

repornire sudo /etc/init.d/bind9
sudo /etc/init.d/bind9 start

În acest moment, zona DNS este gata din partea serverului. Pentru a o finaliza, va trebui să creați înregistrări personalizate de nume în registratorul dvs. de domeniu.

Creați personalizatori de nume personalizați pentru domeniul dvs.

Deoarece am specificat două servere de nume (ns1.domain-example.com și ns2.domain-example.com) în exemplul nostru de zonă DNS, va trebui să creăm aceste intrări la registratorul de domeniu și să le utilizăm.

Iată cum ar trebui să arate intrările:

Nume personalizat Arata spre
ns1.domain-example.com Your_Server_IP
ns2.domain-example.com Your_Server_IP

crearea serverului de nume pentru copii

Odată creat, va trebui să îndreptați domeniul dvs. către aceste noi servere de nume.

actualizați serverele de nume

3. Instalați LAMP Stack

LAMP este unul dintre cele mai utilizate sisteme software de web. Este scurt pentru Linux, serverul HTTP Apache, MySQL / MariaDB și PHP. Înainte de a găzdui un site, va trebui să vă asigurați că toate aceste ingrediente sunt disponibile pe serverul dvs. Iată cum ar arăta procesul de configurare a acestora folosind Ubuntu 18.04:

Apache

Serverul HTTP Apache poate fi deja inclus în pachetele implicite care vin cu serverul dvs. Dacă nu, atunci executați:

sudo apt-get install apache2

instalați Apache

Deoarece există un firewall, trebuie să ne asigurăm că aceste porturi sunt deschise, deoarece Apache nu va funcționa corect altfel. Iată ce ar trebui să permiteți prin firewall:

sudo ufw permite 80 / tcp
sudo ufw permite 443 / tcp

Apoi, reporniți-l pentru a vă asigura că modificările sunt aplicate:

sudo reîncărcare

În acest moment, iată ce ar trebui să vedeți vizitând pagina Adresa IP a serverului dumneavoastră printr-un browser:

pagina Apache2 implicită

PHP

Pentru a obține cea mai recentă versiune PHP cu câteva module suplimentare de care are nevoie WordPress, executați:

sudo apt-get install php php-common php-mysql php-gd php-cli

confirmați instalarea PHP

Puteți verifica ce versiune PHP a fost instalată pe serverul dvs. tastând:

php -v

verificați versiunea PHP

MySQL / MariaDB

MariaDB și MySQL sunt două dintre alegerile de top pentru serverul dvs. de baze de date în Linux. Pentru acest exemplu, vom folosi MariaDB. Pentru a o instala pe serverul dvs., executați:

sudo apt-get install mariadb-server mariadb-client

instalați Mariadb

După ce ați terminat, va trebui să utilizați un script suplimentar care vine cu pachetul. Acesta va stabili măsurile de securitate de bază pentru serverul dvs. de baze de date. Începeți-l tastând:

sudo mysql_secure_installation

În primul pas, vi se va solicita să furnizați parola root MySQL. apasă pe introduce buton pentru a continua deoarece nu a fost încă creat. Apoi urmați restul instrucțiunilor care apar în interfața liniei de comandă.

Instalare sigură Mariadb

În cele din urmă, puteți verifica dacă serverul meu de baze de date este operațional rulând:

sudo systemctl status mysql

4 Creați o gazdă virtuală

Următoarea sarcină va fi crearea unui director dedicat pentru fișierele site-ului dvs. web. Începeți prin a schimba directorul de lucru:

cd / var / www / HTML

Utilizați această comandă pentru a crea un folder pentru domeniul dvs. și unul suplimentar în cadrul:

sudo mkdir -p domain-example.com/public_html

Apoi, faceți webmaster utilizator pe care l-am creat anterior proprietarul folosind:

sudo chown -R webmaster: webmaster domain-example.com/public_html

De asemenea, va trebui să vă asigurați că permisiunile de citire sunt aplicate în directorul rădăcină Apache. În acest caz:

sudo chmod -R 755 / var / www / html /

În acest moment, Apache primește toate setările din 000 default.conf fişier. Va trebui să copiem conținutul acestui fișier și să creăm unul separat pentru numele nostru de domeniu. Cel mai simplu mod de a copia un șablon al configurației gazdei virtuale este folosind următoarea comandă:

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/domain-example.com.conf

În esență, aceasta face o copie a fișierului sub un nume diferit în același director. Acesta este fișierul care indică serverului dvs. web Apache locația directorului rădăcină a domeniului, a jurnalului de erori și a altor căi importante. Pentru a-i modifica conținutul, vom folosi nano:

sudo nano /etc/apache2/sites-available/domain-example.com.conf

Exemplu de configurare Apache:

# Directiva ServerName stabilește schema de solicitare, numele de gazdă și portul respectiv
# serverul folosește pentru a se identifica. Acest lucru este utilizat la crearea
# URL-uri de redirecționare În contextul gazdelor virtuale, ServerName
# specifică ce nume de gazdă trebuie să apară în gazda cererii: antetul la
# se potrivesc cu această gazdă virtuală. Pentru gazda virtuală implicită (acest fișier) aceasta
# valoarea nu este decisivă, deoarece este folosită ca gazdă de ultimă instanță, indiferent.
# Cu toate acestea, trebuie să o setați în mod explicit pentru orice altă gazdă virtuală.

ServerAdmin [email protected]
DocumentRoot /var/www/html/domain-example.com/public_html
ServerName domeniu-exemplu.com
ServerAlias ​​www.domain-example.com

# Loglevels disponibile: trace8, …, trace1, debug, informații, notificare, avertizare,
# eroare, critică, alertă, apare.
# De asemenea, este posibil să configurați nivelul de logare pentru anume
# module, de ex.
#LogLevel info ssl: avertizare

ErrorLog $ {APACHE_LOG_DIR} /error.log
CustomLog $ {APACHE_LOG_DIR} /access.log combinat

# Pentru majoritatea fișierelor de configurare din conf-disponibile /, care sunt
# activat sau dezactivat la nivel global, este posibil să
# include o linie pentru o singură gazdă virtuală specială. De exemplu,
# următoarea linie activează configurația CGI numai pentru această gazdă
# după ce a fost dezactivat la nivel global "a2disconf".
#Include conf-available / serve-cgi-bin.conf

Asigurați-vă că înlocuiți toate instanțele domeniului-exemplu.com cu numele dvs. de domeniu real. Pentru a salva fișierul, apăsați CTRL + X și confirmați tastând Y. Rezultatul final ar trebui să arate astfel:

adăugarea configurației domeniului în Apache

În acest moment, va trebui să dezactivați fișierul de configurare virtual gazdă implicit și să îl utilizați pe cel nou creat. Această comandă o va dezactiva:

sudo a2dissite 000-default.conf

Apoi, adăugați fișierul de configurare creat recent, așa cum se arată mai jos:

sudo a2ensite domain-example.com.conf

În cele din urmă, va trebui să reporniți Apache pentru modificările care se vor aplica. Puteți face asta rulând:

sudo systemctl reîncărcare apache2

Ați instalat cu succes LAMP pe serverul dvs. Întrucât domeniul dvs. este deja îndreptat către server, poate fi necesar să așteptați câteva ore pentru ca DNS să se propage complet. Apoi, ar trebui să vedeți un ecran similar când vizitați domeniul dvs. prin browser.

conținut de director rădăcină domeniu

5. Configurați WordPress (sau încărcați un site web)

Deoarece configurarea inițială a serverului este finalizată, este timpul să găzduiești un site web pe acesta. În această secțiune, vă vom arăta un exemplu generalizat despre cum să funcționați și să funcționați un site WordPress.

Creați o nouă bază de date MySQL și un utilizator

Începeți accesând interfața MySQL prin terminal:

sudo mysql

>Utilizați următoarea sintaxă pentru a crea o nouă bază de date:

CREATE DATABASE wpdatabase;

Apoi, creați un utilizator nou și specificați parola:

CREAȚI UTILIZATOR „wpuser” @ „localhost” IDENTIFICAT DE „SuperSecurePassword123”;

Apoi, alocați privilegiile de administrare utilizatorului dvs. recent creat cu:

ACUMAȚI TOATE PRIVILEGILE PE wpdatabase. * TO ‘wpuser’ @ ‘localhost’;

Asta e! Utilizatorul și baza de date MySQL sunt gata pentru acțiune. Pentru a dezactiva interfața, tastați:

Ieșire

Mutați fișierele WordPress pe serverul dvs.

Nu în ultimul rând, trebuie să obținem fișierele reale ale site-ului web încărcate în directorul rădăcină al domeniului dvs. Există două abordări pe care le vom descrie pas cu pas:

  • Folosind comanda wget pentru a obține cea mai recentă versiune WordPress
  • Configurarea unui client FTP (cum ar fi FileZilla)

Metoda 1: Utilizarea Instrumentelor pentru linia de comandă

Primul mod este să folosești o comandă numită wget. Pentru ao utiliza pe serverul dvs., va trebui să îl instalați:

wo sudo apt-get install

Apoi, schimbați directorul de lucru în folderul rădăcină al numelui de domeniu:

cd /var/www/html/domain-example.com/public_html

Utilizați comanda wget pentru a descărca cea mai recentă versiune a WordPress de pe web:

wget https://www.wordpress.org/latest.zip

Apoi, extrageți întregul conținut al arhivei folosind:

decuplați cel mai recent.zip

În mod implicit, toate fișierele vor apărea într-un nou director numit WordPress (care poate duce la funcționarea site-ului dvs. web prin intermediul site-ului domain-example.com/wordpress). Pentru ca totul să funcționeze corect, va trebui să mutăm toate fișierele din acel director la cel de mai sus. Iată cum se face:

cd wordpress

Următoarea comandă va muta toate fișierele din directorul curent în locația specificată:

sudo mv * /var/www/html/domain-example.com/public_html/

Înainte de a începe instalarea, va trebui să vă pregătiți fișierul wp-config.php. Deoarece este furnizat doar un eșantion. Începeți prin redenumirea acesteia:

sudo mv wp-config-sample.php wp-config.php

Apoi, editați fișierul folosind nano și adăugați detaliile de configurare a bazei de date MySQL.

sudo nano wp-config.php

Asigurați-vă că actualizați MySQL Utilizator, Bază de date, și Gazdă secțiuni cu valorile pe care le-ați creat anterior.

editarea configurației WP

În sfârșit, accesați numele dvs. de domeniu în browser și veți vedea ecranul inițial de configurare WordPress.

configurarea inițială a WordPress

După ce îl terminați, puteți instala un plugin de migrare, cum ar fi migrarea All-in-One WP, pentru a importa un site web WordPress existent.

Metoda 2: Utilizarea unui client FTP

În mod alternativ, puteți utiliza un client FTP, cum ar fi FileZilla. În cazul în care ați configurat o cheie SSH și autentificarea cu parola dezactivată, va trebui să o utilizați pentru a vă autentifica în locul combinației obișnuite de utilizator și parolă. Pentru a configura conexiunea SFTP:

  1. Mergi la Managerul site-ului FileZilla și adăugați a Site nou.
  2. Setați protocolul la SFTP – Protocol de transfer de fișiere SSH.
  3. Introduceți IP-ul serverului dvs. în Gazdă câmp și setați portul la 22.
  4. Setați tipul de conectare la Fișier cheie.
  5. Specificați calea către cheia dvs. SSH (de ex. /Users/Name/.ssh/id_rsa).
  6. FileZilla îl va converti în .PPK fișier, pe care îl puteți folosi apoi pentru a crea o conexiune.

convertirea cheii SSH

Configurația finală ar trebui să arate așa:

Configurația FileZilla sftp

Acum, veți putea să vă accesați serverul prin FTP și să încărcați fișierele direct de pe computer.

Conexiune sftp FileZilla

Felicitări! Ați învățat cum să găzduiți un site web pe un server privat virtual care rulează Ubuntu 18.04. Totul, de la configurarea inițială a serverului până la pregătirea stivei software a fost acoperit. Nu mai rămâne decât să apucați un server și să vă murdăriți mâinile!

Acest articol a fost publicat cu ajutorul Hostinger.com.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me

About the author

Adblock
detector