Sådan hostes et websted (Guide til opsætning af din egen server)

Sådan opretter du en server


For at være vært for et websted på en server skal du gøre dine hænder beskidte og opsætte hele miljøet af dig selv. Nedenfor finder du et generaliseret eksempel på, hvordan du gør tingene gjort ved hjælp af en virtuel privat server, der kører Ubuntu 18.04

Kort sagt, skal du:

    • Udfør den indledende serveropsætning
    • Opret en DNS-zone, og angiv dit domæne
    • Installer en softwarestakle
    • Opret en virtuel vært
    • Få dit websted i gang

P. S. Hvis du ikke ønsker at gennemgå disse komplicerede trin, kan du overveje at få en webhosting.

1. De første serveropsætningstrin

Hvis du beslutter at leje en dedikeret server eller en VPS, skal du først lægge et solidt fundament. Dette indebærer adgang til din server via en terminal eller en SSH-klient og foretagelse af sikkerhedsjusteringer og opdateringer.

Opret forbindelse til din server

Start med at oprette forbindelse til din server. Følgende kommando vil gøre det trick:

ssh [emailbeskyttet] _server_IP -port

Når du opretter forbindelse første gang, bliver du muligvis bedt om at tilføje din server-IP til listen over kendte værter. Indtaste Ja for at fortsætte, og du bliver derefter bedt om at indtaste root-adgangskode.

tilføjelse af server-IP til kendte værter

Her er et eksempel på, hvad du skal se på din skærm, hvis alt gik korrekt.

indledende Ubuntu SSH login-skærm

Hent de seneste opdateringer

Kør følgende kommandoer for at få de seneste opdateringer til din Ubuntu 18.04-server:

sudo apt opdatering
sudo apt opgradering

Når du kører den anden kommando, ser du en bekræftelsesskærm. Indtaste Y at fortsætte.

bekræfter serveropdateringer Ubuntu

Opret en ny bruger

Dernæst bliver du nødt til at tilføje en ny bruger, da det ikke anbefales at bruge rodfilen til hverdagens opgaver. Lad os kalde det webmaster. For at starte brugeroprettelsen skal du udføre:

adduser webmaster

oprette en ny bruger Ubuntu

Når du opretter en adgangskode, bliver du bedt om at indtaste de generelle detaljer (som du kan lade være tom). Indtast derefter Y for at bekræfte den nye brugeroprettelse.

Som standard har den nye bruger ikke tilstrækkelige privilegier til at gøre alt, hvad du har brug for, og derfor skal du tilføje dem manuelt. Sådan gør du det:

usermod -aG sudo webmaster

Det er det! Din nye administrative bruger er klar. For at begynde at bruge det i stedet for rod skal du udføre:

su – webmaster

skiftende systembruger

Konfigurer godkendelse af offentlig nøgle (valgfrit)

Brug af en adgangskode til autentificering giver dig sårbar overfor forsøg på brute-force og sætter din server en moderat risiko (især hvis du er doven med at oprette en unik og stærk adgangskode).

En god måde at forbedre serverens integritet er at bruge SSH-nøgler i stedet for et almindeligt kodeord. Trinnene skal være identiske, uanset hvilken Linux-distribution du kører. At begynde Log ud på din server og udfør følgende kommando på din lokal computer at oprette en ny offentlig nøgle:

ssh- keygen

Du bliver bedt om at indtaste en ekstra adgangskode og placeringen af, hvor du skal gemme den offentlige nøgle. Som standard gemmer det alt det /Users/Your_User/.ssh bibliotek (som du kan beholde, medmindre du har andre planer i tankerne).

kører SSH keygen

Så snart den er færdig, skal du kopiere SSH-nøglen til din server ved at bruge:

ssh-copy-id [email-beskyttet] _server_IP

Du kan også gøre det samme for din rodbruger i tilfælde af:

ssh-copy-id [email-beskyttet] _server_IP

flytning af SSH-nøgle til fjernserver

Endelig skal du logge ind på din server igen. Kun denne gang bruger du SSH-nøglen og dens adgangssætning til at autentificere. Hvis din adgangskode gættes af nogen, kan de ikke logge ind, da den offentlige nøgle er påkrævet for at oprette en vellykket forbindelse.

logger på server med SSH-nøgle

Deaktiver adgangskodeautentificering (valgfrit)

Da du nu kan få adgang til din server med den nyligt genererede SSH-nøgle, tilrådes det at deaktivere den almindelige adgangskodegodkendelse. For at gøre det kan vi bruge nano teksteditor:

sudo nano / etc / ssh / sshd_config

Se efter en linje, der siger #PasswordAuthentication ja, slet # og ændre Ja til en ingen. Det endelige resultat skal se ud:

deaktivering af adgangskodegodkendelse i sshd-konfiguration

For at gemme disse ændringer og forlade nano-editoren, skal du trykke på CTRL + X, indtaste Y og tryk på Gå ind. Og til sidst skal du anvende alt ved at genindlæse sshd-tjenesten:

sudo systemctl reload sshd

Og det er det! Du bruger nu en offentlig nøgle til at godkende i stedet for en adgangskode, der betragtes som en mere sikker måde at få adgang til og administrere en server.

Konfigurer en firewall

Sidst, men ikke mindst, anbefales det at bruge en firewall til at beskytte dig mod farerne, der lurer på nettet. Ukompliceret firewall er et af de bedste værktøjer til jobbet. For at indstille det skal du køre:

sudo apt-get install ufw

Når den er installeret, fungerer firewall’en ikke, medmindre den er tændt manuelt. Du kan aktivere det ved at bruge:

sudo ufw enable

aktiverer ufw Ubuntu

For at kontrollere, om det er i gang, køres:

sudo ufw status verbose

2. Opret en DNS-zone

Den næste udfordring er at oprette en DNS-zone, der fungerer som bindingsmateriale mellem et domænenavn og en server. Vi kan opdele det i to mindre trin:

  1. Opsætning af en DNS-zone på din server
  2. Oprettelse af tilpassede navneservere hos din domæneregistrator

Opret en ny DNS-zone

For at oprette en ny DNS-zone bruger vi et værktøj kaldet bind9. I sidste ende er det denne service, der giver os mulighed for at indlæse et websted gennem et domænenavn i stedet for en IP-adresse.

For at installere Bind9 på din Ubuntu 18.04-server skal du køre:

sudo apt-get install bind9

Når de først er installeret, vil alle filerne være tilgængelige i / Etc / binder vejviser. Lad os først navigere til det:

cd / etc / bind

For at holde alt pænt og organiseret, opretter vi et separat bibliotek til vores DNS-zoner:

sudo mkdir -p zoner

Lad os oprette en ny DNS-zonefil til vores domæne. Vi bruger det domain-example.com til demonstrationsformål (du skal erstatte det med dit faktiske domænenavn).

sudo nano-zoner / domæneeksempel.com

Eksempel på DNS-zonestykker:

;
; BIND datafil til domæneeksempel.com
;
$ TTL 3 timer
@ IN SOA ns1.domain-eksempel.com. admin.domain-example.com. (
1; Seriel
3h; Opdater efter 3 timer
1 time; Prøv igen efter 1 time
1w; Udløber efter 1 uge
1h); Negativ cache-TTL på 1 dag
;
@ IN NS ns1.domain-eksempel.com.
@ IN NS ns2.domain-example.com.

domain-example.com. I DIN_SERVER_IP
ns1 I DIT_SERVER_IP
ns2 I DIT_SERVER_IP
www I CNAME-domæneeksempel.com.
mail I DIT_SERVER_IP
ftp I CNAME-domæneeksempel.com.
domain-example.com. I MX 10 domæneeksempel.com.

Sørg for at udskifte alle forekomster af din Your_Server_IP og domain-example.com med de faktiske værdier. Gem zonefilen ved at trykke på CTRL + X og derefter skrive Y for at bekræfte ændringerne.

Herefter skal vi redigere den lokale konfiguration og specificere placeringen af ​​vores nyoprettede DNS-zone. Dette sikrer, at serveren ved, hvilken zonefil der hører til hvilket domænenavn.

sudo nano opkaldt.conf.local

Indsættes følgende linjer i bunden af ​​filen under udskiftning domain-example.com med din faktiske webstedsadresse.

zone "domain-example.com" {
type master;
fil "/etc/bind/zones/domain-example.com";
};

Trykke CTRL + X og input Y for at gemme dine ændringer og afslutte nano-editoren.

Du kan også teste, om alt blev tilføjet og konfigureret korrekt ved at udføre følgende kommando:

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

verificering af dns zone

Til sidst skal du køre disse to kommandoer for at genstarte din servers DNS-service og for at sikre, at den kører:

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

På dette tidspunkt er DNS-zonen klar fra din serverside. For at færdigbehandle det, skal du oprette poster med tilpassede navneservere i din domæneregistrator.

Opret tilpassede navneservere til dit domæne

Da vi specificerede to navneservere (ns1.domain-example.com og ns2.domain-example.com) i vores DNS-zoneeksempel, bliver vi nødt til at oprette disse poster hos domæneregistratoren og bruge dem.

Sådan ser posterne ud:

Brugerdefineret navneserverPeger på
ns1.domain-example.comYour_Server_IP
ns2.domain-example.comYour_Server_IP

oprettelse af navneserver

Når du er oprettet, skal du pege dit domæne til disse nye navneservere.

opdater navneservere

3. Installer LAMP Stack

LAMP er en af ​​de mest anvendte softwarestack på internettet. Det står til kort for Linux, Apache HTTP-server, MySQL / MariaDB og PHP. Før du er vært for et websted, skal du sørge for, at alle disse ingredienser er tilgængelige på din server. Sådan ser processen med opsætning af dem ud ved hjælp af Ubuntu 18.04:

Apache

Apache HTTP-server er muligvis allerede inkluderet i standardpakkerne, der følger med din server. Hvis ikke, så udfør:

sudo apt-get install apache2

installer Apache

Da der er en firewall, er vi nødt til at sikre, at disse porte er åbne, da Apache ikke fungerer korrekt ellers. Her er, hvad du skal tillade gennem firewall:

sudo ufw tillad 80 / tcp
sudo ufw tillad 443 / tcp

Genstart det derefter for at sikre dig, at ændringerne anvendes:

sudo ufw reload

På dette tidspunkt er her, hvad du skal se ved at besøge IP-adresse på din server gennem en browser:

standard Apache2 side

PHP

For at få den seneste PHP-version med et par ekstra moduler, som WordPress har brug for, skal du udføre:

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

bekræft PHP-installation

Du kan kontrollere, hvilken PHP-version, der blev installeret på din server ved at skrive:

php -v

tjek PHP version

MySQL / MariaDB

MariaDB og MySQL er to af de bedste valg for din databaseserver i Linux. I dette eksempel bruger vi MariaDB. For at installere det på din server skal du køre:

sudo apt-get install mariadb-server mariadb-client

installer Mariadb

Når det er gjort, skal du bruge et ekstra script, der følger med pakken. Det vil etablere de grundlæggende sikkerhedsforanstaltninger for din databaseserver. Start det med at skrive:

sudo mysql_secure_installation

På det allerførste trin bliver du bedt om at angive root MySQL-adgangskoden. Tryk på Gå ind for at fortsætte, da den ikke er oprettet endnu. Følg derefter resten af ​​instruktionerne, der dukker op i kommandolinjegrænsefladen.

Mariadb sikker installation

Endelig kan du kontrollere, om min databaseserver er operationel ved at køre:

sudo systemctl status mysql

4 Opret en virtuel vært

Den næste opgave er at oprette en dedikeret mappe til dine webstedsfiler. Start med at ændre din arbejdsmappe:

cd / var / www / HTML

Brug denne kommando til at oprette en mappe til dit domæne og en yderligere inden for:

sudo mkdir -p domæneeksempel.com/public_html

Lav derefter webmaster bruger, vi tidligere oprettede ejeren ved at bruge:

sudo chown -R webmaster: webmaster domæneeksempel.com/public_html

Du bliver også nødt til at sikre dig, at læsetilladelser anvendes til Apache-rodmappen. I dette tilfælde:

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

På dette tidspunkt får Apache alle indstillinger fra 000-default.conf fil. Vi bliver nødt til at kopiere indholdet af denne fil og oprette et separat til vores domænenavn. Den nemmeste måde at kopiere en skabelon til den virtuelle værtkonfiguration er ved at bruge følgende kommando:

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

I det væsentlige opretter dette en kopi af filen under et andet navn i det samme bibliotek. Dette er den fil, der fortæller din Apache-webserver placeringen af ​​et domænes rodmappe, fejllogg og andre vigtige stier. For at ændre dets indhold bruger vi nano:

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

Eksempel på Apache-konfigurering:

# Servernavn-direktivet indstiller anmodningsskemaet, værtsnavnet og porten der
# serveren bruger til at identificere sig selv. Dette bruges, når du opretter
# omdirigerings-URL’er. I forbindelse med virtuelle værter, Servernavn
# angiver, hvilket værtsnavn der skal vises i anmodningens vært: header til
# matche denne virtuelle vært. For den virtuelle standardhost (denne fil) dette
# værdi er ikke afgørende, da den bruges som en sidste udvej vært uanset.
# Du skal dog indstille den til enhver yderligere virtuel vært eksplicit.

ServerAdmin [beskyttet via e-mail]
DocumentRoot /var/www/html/domain-example.com/public_html
Servernavn domæneeksempel.com
ServerAlias ​​www.domain-eksempel.com

# Tilgængelige loglevels: trace8, …, trace1, debug, info, notice, advarer,
# fejl, crit, alarm, opstå.
# Det er også muligt at konfigurere loglevel specielt
# moduler, f.eks.
#LogNiveauinfo ssl: advare

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

# For de fleste konfigurationsfiler fra conf-tilgængelig /, som er
# aktiveret eller deaktiveret på globalt niveau, er det muligt at
# inkluderer en linje for kun en bestemt virtuel vært. For eksempel
# følgende linje aktiverer kun CGI-konfigurationen for denne vært
# efter at det er blevet deaktiveret globalt med "a2disconf".
# Inkluder conf-tilgængelig / serve-cgi-bin.conf

Sørg for at udskifte alle forekomster af domæneeksempel.com med dit faktiske domænenavn. For at gemme filen skal du trykke på CTRL + X og bekræft ved at skrive Y. Det endelige resultat skal se ud:

tilføjelse af domænekonfiguration til Apache

På dette tidspunkt skal du slå standardkonfigurationsfilen for virtuel vært til og bruge den nyoprettede. Denne kommando deaktiverer den:

sudo a2dissite 000-default.conf

Tilføj derefter den nyligt oprettede konfigurationsfil som vist nedenfor:

sudo a2ensite domæne-eksempel.com.conf

Til sidst skal du genstarte Apache for at ændringerne skal gælde. Det kan du gøre ved at køre:

sudo systemctl genindlæser apache2

Du har installeret LAMP på din server. Da dit domæne allerede er peget på serveren, skal du muligvis vente et par timer på, at DNS’en udbreder sig fuldt ud. Så skal du se en lignende skærm, når du besøger dit domæne gennem browseren.

domæne rodkatalog indhold

5. Opret WordPress (eller upload et websted)

Da den indledende serveropsætning endelig er afsluttet, er det tid til at være vært for et websted på det. I dette afsnit viser vi dig et generelt eksempel på, hvordan du får et WordPress-sted i gang.

Opret en ny MySQL-database og bruger

Start med at få adgang til MySQL-interface via terminalen:

sudo mysql

>Brug følgende syntaks til at oprette en ny database:

Opret DATABASE wpdatabase;

Opret derefter en ny bruger og angiv adgangskoden:

CREATE USER ‘wpuser’ @ ‘localhost’ IDENTIFICERET AF ‘SuperSecurePassword123’;

Dernæst tildele administratorrettigheder til din nyoprettede bruger med:

TIL ALLE PRIVILEGIER PÅ wpdatabase. * TIL ‘wpuser’ @ ‘localhost’;

Det er det! Din MySQL-bruger og database er klar til handling. For at slukke grænsefladen skal du indtaste:

Afslut

Flyt WordPress-filer til din server

Sidst, men ikke mindst, er vi nødt til at få de faktiske webstedsfiler uploadet til rodkataloget på dit domæne. Der er to tilgange, som vi beskriver trin for trin:

  • Brug af wget-kommandoen til at hente den nyeste WordPress-version
  • Konfiguration af en FTP-klient (f.eks. FileZilla)

Metode 1: Brug af kommandolinjeværktøjer

Den første måde er at bruge en kaldet kommando wget. For at bruge den på din server skal du installere den:

sudo apt-get install wget

Skift derefter dit arbejdsmappe til rodmappen med dit domænenavn:

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

Brug wget-kommandoen til at downloade den nyeste version af WordPress fra internettet:

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

Udpak derefter alt indholdet i arkivet ved hjælp af:

pak ud nyeste.zip

Som standard vises alle filerne i et nyt kaldet bibliotek WordPress (hvilket kan resultere i, at dit websted fungerer via domain-example.com/wordpress). For at alt fungerer korrekt, bliver vi nødt til at flytte alle filer ud af den mappe til den ovenfor. Sådan gør du det:

cd wordpress

Den følgende kommando flytter alle filer fra det aktuelle bibliotek til din specificerede placering:

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

Inden du starter installationen, skal du forberede din wp-config.php-fil. Da der kun leveres en prøve. Start med at omdøbe det:

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

Rediger derefter filen ved hjælp af nano og tilføj MySQL-databasekonfigurationsdetaljer.

sudo nano wp-config.php

Sørg for at opdatere MySQL Bruger, Database, og Vært sektioner med de værdier, du tidligere har oprettet.

redigering af WP-konfiguration

Til sidst skal du besøge dit domænenavn i browseren, og du kan se det indledende skærmbillede til WordPress.

første WordPress-opsætning

Når du er færdig med det, kan du installere et migreringsplugin såsom All-in-One WP Migration for at importere et eksisterende WordPress-websted.

Metode 2: Brug af en FTP-klient

Alternativt kan du bruge en FTP-klient, såsom FileZilla. I tilfælde af at du konfigurerede en SSH-nøgle og deaktiveret adgangskodegodkendelse, skal du bruge den til at logge på i stedet for den almindelige kombination af brugernavn og adgangskode. Sådan konfigureres SFTP-forbindelsen:

  1. Gå til FileZilla Site Manager og tilføj en Nyt websted.
  2. Sæt protokollen til SFTP – SSH File Transfer Protocol.
  3. Indtast din server-IP i Vært felt og indstil porten til 22.
  4. Indstil login-typen til Nøglefil.
  5. Angiv stien til din SSH-nøgle (f.eks. /Users/Name/.ssh/id_rsa).
  6. FileZilla konverterer det til et .PPK fil, som du derefter kan bruge til at oprette forbindelse.

konvertering af SSH-nøgle

Den endelige konfiguration skal se sådan ud:

FileZilla sftp-konfiguration

Nu kan du få adgang til din server via FTP og uploade filer direkte fra din computer.

FileZilla sftp-forbindelse

Tillykke! Du har lært, hvordan du er vært for et websted på en virtuel privat server, der kører Ubuntu 18.04. Alt fra den første serveropsætning til klargøring af softwarestakken er blevet dækket. Det eneste, der er tilbage, er at få fat i en server og få dine hænder beskidte!

Denne artikel blev offentliggjort ved hjælp af Hostinger.com.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map