Hvordan være vert for et nettsted (guide til konfigurering av din egen server)

Hvordan lage en server


Hvis du vil være vert for et nettsted på en server, må du skitne hendene dine og sette opp hele miljøet selv. Nedenfor finner du et generalisert eksempel på hvordan du får ting gjort ved hjelp av en virtuell, privat server som kjører Ubuntu 18.04

Kort sagt, må du:

    • Utfør det første serveroppsettet
    • Sett opp en DNS-sone og pek på domenet ditt
    • Installer en programvarestabel
    • Opprett en virtuell vert
    • Få nettstedet ditt i gang

PS! Hvis du ikke vil gå gjennom disse kompliserte trinnene, kan du vurdere å få et webhotell.

1. De første serveroppsettstrinnene

Hvis du bestemmer deg for å leie en dedikert server eller en VPS, må du først legge et solid grunnlag. Dette innebærer å få tilgang til serveren din via en terminal eller en SSH-klient og lage sikkerhetsinnstillinger og oppdateringer.

Koble til serveren din

Start med å koble til serveren din. Følgende kommando vil gjøre susen:

ssh [email protected] _server_IP -port

Når du kobler deg opp for første gang, kan det hende du blir bedt om å legge til server-IPen din i listen over kjente verter. Skriv inn ja for å fortsette, og du blir deretter bedt om å gå inn i root passord.

legge til server-IP til kjente verter

Her er et eksempel på hva du bør se på skjermen din hvis alt gikk riktig.

første Ubuntu SSH påloggingsskjerm

Få de siste oppdateringene

Kjør følgende kommandoer for å få de siste oppdateringene for Ubuntu 18.04-serveren:

sudo apt oppdatering
sudo apt oppgradering

Når du kjører den andre kommandoen, ser du et bekreftelsesskjermbilde. Skriv inn Y å fortsette.

bekrefter serveroppdateringer Ubuntu

Opprett en ny bruker

Deretter må du legge til en ny bruker, ettersom det ikke anbefales å bruke roten til hverdagsoppgaver. La oss kalle det webmaster. For å starte brukeropprettelsen, kjør:

adduser webmaster

opprette en ny bruker Ubuntu

Når du oppretter et passord, blir du bedt om å oppgi de generelle detaljene (som du kan legge igjen blanke). Skriv deretter inn Y for å bekrefte den nye brukeropprettelsen.

Som standard har den nye brukeren ikke nok privilegier til å gjøre alt du trenger, og derfor må du legge dem til manuelt. Slik gjør du det:

usermod -aG sudo webmaster

Det er det! Den nye administrative brukeren din er klar. For å begynne å bruke den i stedet for root, kjør:

su – webmaster

skiftende systembruker

Konfigurer autentisering av offentlig nøkkel (valgfritt)

Hvis du bruker et passord for å autentisere, blir du sårbar for forsøk på brute-force og setter serveren din i en moderat risiko (spesielt hvis du er lat for å sette opp et unikt og sterkt passord).

En flott måte å forbedre serverintegriteten på er å bruke SSH-nøkler i stedet for et vanlig passord. Trinnene skal være identiske uavhengig av hvilken Linux-distribusjon du kjører. Å begynne Logg ut på serveren din og utfør følgende kommando på din lokal datamaskin for å opprette en ny offentlig nøkkel:

ssh-keygen

Du blir bedt om å oppgi en ekstra passord og hvor du skal lagre den offentlige nøkkelen. Som standard sparer den alt til /Users/Your_User/.ssh katalog (som du kan beholde med mindre du har andre planer i tankene).

kjører SSH keygen

Så snart den er ferdig, kopier du over SSH-nøkkelen til serveren din ved å bruke:

ssh-copy-id [e-postbeskyttet] _server_IP

Du kan også gjøre det samme for rotbrukeren din i tilfelle:

ssh-copy-id [e-postbeskyttet] _server_IP

flytte SSH-nøkkel til ekstern server

Til slutt må du logge inn på serveren din igjen. Bare denne gangen bruker du SSH-nøkkelen og passordfrasen til å autentisere. Hvis passordet ditt blir gjettet av noen, kan de ikke logge seg på, ettersom den offentlige nøkkelen kreves for å få en vellykket forbindelse.

logger på server med SSH-nøkkel

Deaktiver passordautentisering (valgfritt)

Siden du nå har tilgang til serveren din med den nylig genererte SSH-nøkkelen, anbefales det å deaktivere den vanlige passordautentiseringen. For å gjøre det, kan vi bruke nano teksteditor:

sudo nano / etc / ssh / sshd_config

Se etter en linje som sier #PasswordAuthentication ja, slett # og endre ja til a Nei. Det endelige resultatet skal se slik ut:

deaktivere passordgodkjenning i sshd-konfigurasjon

Hvis du vil lagre disse endringene og gå ut av nano-redigereren, trykker du på CTRL + X, Skriv inn Y og trykk Tast inn. Og til slutt, bruk alt ved å laste inn sshd-tjenesten på nytt:

sudo systemctl laste inn sshd

Og det er det! Du vil nå bruke en offentlig nøkkel til å autentisere i stedet for et passord, som anses som en sikrere måte å få tilgang til og administrere en server.

Sett opp en brannmur

Til slutt, men ikke minst, er det lurt å bruke en brannmur for å beskytte deg mot farene som lurer på nettet. Ukomplisert brannmur er et av de beste verktøyene for jobben. Slik utfører du det:

sudo apt-get install ufw

Når den er installert, vil brannmuren ikke fungere med mindre den er slått på manuelt. Du kan aktivere det ved å bruke:

sudo ufw enable

aktiverer ufw Ubuntu

For å sjekke om den er i gang, kjør:

sudo ufw status verbose

2. Sett opp en DNS-sone

Den neste utfordringen vil være å lage en DNS-sone, som fungerer som bindende materiale mellom et domenenavn og en server. Vi kan dele det ned i to mindre trinn:

  1. Sette opp en DNS-sone på serveren din
  2. Opprette tilpassede navneservere hos domeneregistratoren

Opprett en ny DNS-sone

For å lage en ny DNS-sone, bruker vi et verktøy som heter bind9. Til slutt er dette tjenesten som lar oss laste et nettsted via et domenenavn i stedet for en IP-adresse.

Slik installerer du Bind9 på Ubuntu 18.04-serveren:

sudo apt-get install bind9

Når alle filene er installert, vil de være tilgjengelige i / Etc / bind katalogen. La oss først navigere til den:

cd / etc / bind

For å holde alt pent og organisert, oppretter vi en egen katalog for DNS-sonene våre:

sudo mkdir -p soner

La oss lage en ny DNS-sonefil for domenet vårt. Vi bruker domain-example.com for demonstrasjonsformål (du bør erstatte det med ditt faktiske domenenavn).

sudo nano zones / domain-example.com

Eksempel på DNS-snippet:

;
; BIND datafil for domeneeksempel.com
;
$ TTL 3 t
@ IN SOA ns1.domain-eksempel.com. admin.domain-example.com. (
1 ; Serie
3h; Oppdater etter 3 timer
1 t; Prøv på nytt etter 1 time
1w; Utløper etter 1 uke
1h); Negativ cache-TTL på 1 dag
;
@ IN NS ns1.domain-eksempel.com.
@ IN NS ns2.domain-example.com.

domain-example.com. I EN DIN_SERVER_IP
ns1 I DITT_SERVER_IP
ns2 IN A YOUR_SERVER_IP
www I CNAME-domeneeksempel.com.
mail IN DIN YOUR_SERVER_IP
ftp I CNAME-domeneeksempel.com.
domain-example.com. I MX 10 domeneeksempel.com.

Sørg for å erstatte alle forekomster av din Your_Server_IP og domain-example.com med de faktiske verdiene. Lagre sonefilen ved å trykke CTRL + X og deretter skrive Y for å bekrefte endringene.

Neste gang må vi redigere den lokale konfigurasjonen og spesifisere plasseringen til vår nyopprettede DNS-sone. Dette sikrer at serveren vet hvilken sonefil som tilhører hvilket domenenavn.

sudo nano kalt.conf.local

Lim inn følgende linjer nederst i filen mens du bytter ut domain-example.com med din faktiske nettadresse.

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

trykk CTRL + X og innspill Y for å lagre endringene dine og gå ut av nano-redigereren.

Du kan også teste ut om alt ble lagt til og konfigurert riktig ved å utføre følgende kommando:

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

verifisere dns sone

Til slutt, kjør disse to kommandoene for å starte serverens DNS-tjeneste på nytt og for å sikre at den kjører:

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

På dette tidspunktet er DNS-sonen klar fra serversiden. For å fullføre det, må du opprette tilpassede navneserveroppføringer i domeneregistratoren.

Lag tilpassede navneservere for domenet ditt

Siden vi spesifiserte to navneservere (ns1.domain-example.com og ns2.domain-example.com) i vårt DNS-soneeksempel, må vi opprette disse oppføringene hos domeneregistratoren og bruke dem.

Slik skal postene se ut:

Tilpasset navneserverPoeng til
ns1.domain-example.comYour_Server_IP
ns2.domain-example.comYour_Server_IP

opprettelse av navneserver

Når du har opprettet det, må du peke domenet ditt til disse nye navneserverne.

oppdater navneservere

3. Installer LAMP Stack

LAMP er en av de mest brukte programvarestackene på nettet. Det står for Linux, Apache HTTP-server, MySQL / MariaDB og PHP. Før du er vert for et nettsted, må du sørge for at alle disse ingrediensene er tilgjengelige på serveren din. Slik ser prosessen med å konfigurere dem ut ved hjelp av Ubuntu 18.04:

Apache

Apache HTTP-server kan allerede være inkludert i standardpakkene som følger med serveren din. Hvis ikke, utfør:

sudo apt-get install apache2

installer Apache

Siden det er en brannmur, må vi sørge for at disse portene er åpne, ettersom Apache ikke fungerer som det skal. Dette er hva du bør tillate gjennom brannmuren:

sudo ufw tillate 80 / tcp
sudo ufw tillate 443 / tcp

Start deretter på nytt for å sikre at endringene blir brukt:

sudo ufw last inn på nytt

Her er hva du bør se ved å besøke IP-adressen til serveren din gjennom en nettleser:

standard Apache2-side

PHP

For å få den nyeste PHP-versjonen med noen få ekstra moduler som WordPress trenger, kjør:

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

bekreft PHP-installasjonen

Du kan sjekke hvilken PHP-versjon som ble installert på serveren din ved å skrive:

php -v

sjekk PHP-versjonen

MySQL / mariadb

MariaDB og MySQL er to av de beste valgene for databaseserveren din i Linux. For dette eksemplet bruker vi MariaDB. Slik installerer du det på serveren din:

sudo apt-get install mariadb-server mariadb-client

installer Mariadb

Når du er ferdig, må du bruke et ekstra skript som følger med pakken. Den vil etablere de grunnleggende sikkerhetstiltakene for databaseserveren. Start det med å skrive:

sudo mysql_secure_installation

På det første trinnet blir du bedt om å oppgi root MySQL-passord. trykk Tast inn for å fortsette ettersom den ikke er opprettet ennå. Følg deretter resten av instruksjonene som dukker opp i kommandolinjegrensesnittet.

Mariadb sikker installasjon

Til slutt kan du sjekke om databaseserveren min er i drift ved å kjøre:

sudo systemctl status mysql

4 Opprett en virtuell vert

Den neste oppgaven vil være å lage en dedikert katalog for nettstedfilene dine. Begynn med å endre din arbeidskatalog:

cd / var / www / HTML

Bruk denne kommandoen til å opprette en mappe for domenet ditt og en ytterligere en innen:

sudo mkdir -p domain-example.com/public_html

Deretter lager du webmaster bruker vi opprettet tidligere eier ved å bruke:

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

Du må også sørge for at lesetillatelser blir brukt på Apache-rotkatalogen. I dette tilfellet:

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

På dette tidspunktet får Apache alle innstillingene fra 000-default.conf fil. Vi må kopiere innholdet i denne filen og opprette et eget for domenenavnet vårt. Den enkleste måten å kopiere en mal for den virtuelle vertskonfigurasjonen er ved å bruke følgende kommando:

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

I hovedsak lager dette en kopi av filen under et annet navn i samme katalog. Dette er filen som forteller Apache-webserveren din plassering av et domenes rotkatalog, feillogg og andre viktige stier. For å endre innholdet, bruker vi nano:

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

Eksempel på Apache-konfigurasjon:

# Servernavn-direktivet angir forespørselsskjema, vertsnavn og port som
# serveren bruker for å identifisere seg selv. Dette brukes når du oppretter
# omdirigerings-URL-er. I forbindelse med virtuelle verter, Servernavn
# angir hvilket vertsnavn som skal vises i forespørselens Host: header til
# match denne virtuelle verten. For standard virtuell vert (denne filen) dette
# verdi er ikke avgjørende fordi den brukes som en siste utvei vert uansett.
# Du må imidlertid angi eksplisitt for enhver annen virtuell vert.

ServerAdmin [e-postbeskyttet]
DocumentRoot /var/www/html/domain-example.com/public_html
Servernavn domeneeksempel.com
ServerAlias ​​www.domain-example.com

# Tilgjengelige loglevels: trace8, …, trace1, debug, info, notice, advare,
# feil, krit, varsling, dukke opp.
# Det er også mulig å konfigurere loglevel for spesielt
# moduler, f.eks.
#LogNivåinfo ssl: advare

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

# For de fleste konfigurasjonsfiler fra conf-tilgjengelig /, som er
# aktivert eller deaktivert på globalt nivå, er det mulig å
# inkluderer en linje for bare en bestemt virtuell vert. For eksempel
# følgende linje aktiverer bare CGI-konfigurasjonen for denne verten
# etter at den har blitt deaktivert globalt med "a2disconf".
# Inkluder conf-available / serve-cgi-bin.conf

Sørg for å erstatte alle forekomster av domeneeksempel.com med det faktiske domenenavnet. For å lagre filen, trykk CTRL + X og bekreft ved å skrive Y. Det endelige resultatet skal se slik ut:

legge til domenekonfigurasjon til Apache

På dette tidspunktet må du slå av standard konfigurasjonsfil for virtuell vert og bruke den nyopprettede. Denne kommandoen vil deaktivere den:

sudo a2dissite 000-default.conf

Deretter legger du til den nylig opprettede konfigurasjonsfilen som vist nedenfor:

sudo a2ensite domain-example.com.conf

Til slutt må du starte Apache på nytt for at endringene skal gjelde. Du kan gjøre det ved å løpe:

sudo systemctl laste inn apache2 på nytt

Du har installert LAMP på serveren din. Siden domenet ditt allerede er pekt til serveren, kan det hende du må vente noen timer på at DNS skal forplantes fullstendig. Da bør du se en lignende skjerm når du besøker domenet ditt gjennom nettleseren.

domenerotkataloginnhold

5. Konfigurer WordPress (eller last opp et nettsted)

Siden det opprinnelige serveroppsettet endelig er fullført, er det på tide å være vert for et nettsted på det. I denne delen vil vi vise deg et generalisert eksempel på hvordan du får et WordPress-nettsted i gang.

Lag en ny MySQL-database og bruker

Start med å få tilgang til MySQL-grensesnittet gjennom terminalen:

sudo mysql

>Bruk følgende syntaks for å lage en ny database:

Lage DATABASE wpdatabase;

Deretter oppretter du en ny bruker og spesifiser passordet:

SKAP BRUKER ‘wpuser’ @ ‘localhost’ IDENTIFISERT AV ‘SuperSecurePassword123’;

Deretter tilordner du administratorrettigheter til den nyopprettede brukeren din med:

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

Det er det! MySQL-brukeren og databasen er klar for handling. For å slå av grensesnittet, skriver du inn:

exit

Flytt WordPress-filer til serveren din

Sist, men ikke minst, må vi få de faktiske nettstedfilene lastet opp til rotkatalogen til domenet ditt. Det er to tilnærminger som vi vil beskrive trinn for trinn:

  • Ved hjelp av wget-kommandoen for å få den nyeste WordPress-versjonen
  • Konfigurere en FTP-klient (for eksempel FileZilla)

Metode 1: Bruke kommandolinjeverktøyene

Den første måten er å bruke en kommando som heter wget. For å bruke den på serveren din, må du installere den:

sudo apt-get install wget

Deretter endrer du arbeidskatalogen til rotmappen med domenenavnet:

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

Bruk wget-kommandoen for å laste ned den nyeste versjonen av WordPress fra nettet:

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

Ta deretter ut alt innholdet i arkivet ved å bruke:

pakke ut nyeste.zip

Som standard vises alle filene i en ny katalog som heter WordPress (som kan føre til at nettstedet ditt fungerer via domain-example.com/wordpress). For at alt skal fungere riktig, må vi flytte alle filene ut av katalogen til den ovenfor. Slik gjør du det:

cd wordpress

Følgende kommando vil flytte alle filer fra den gjeldende katalogen til det angitte stedet:

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

Før du starter installasjonen, må du forberede wp-config.php-filen. Siden bare en prøve er gitt. Begynn med å gi nytt navn til det:

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

Rediger deretter filen ved å bruke nano og legg til konfigurasjonsdetaljer for MySQL-databasen.

sudo nano wp-config.php

Sørg for å oppdatere MySQL Bruker, database, og Vert seksjoner med verdiene du opprettet tidligere.

redigering av WP-konfigurasjon

Til slutt, besøk domenenavnet ditt i nettleseren, så ser du det første skjermbildet for oppsett av WordPress.

første oppsett av WordPress

Når du er ferdig med det, kan du installere en migreringsplugin som All-in-One WP Migration for å importere et eksisterende WordPress-nettsted.

Metode 2: Bruke en FTP-klient

Alternativt kan du bruke en FTP-klient som FileZilla. Hvis du konfigurerte en SSH-nøkkel og deaktiverte passordgodkjenning, må du bruke den til å logge på i stedet for den vanlige brukernavnet og passordkombinasjonen. Slik konfigurerer du SFTP-tilkoblingen:

  1. Gå til FileZilla Site Manager og legg til en Ny side.
  2. Sett protokollen til SFTP – SSH File Transfer Protocol.
  3. Skriv inn server-IP-en din i Vert felt og sett porten til 22.
  4. Sett innloggingstypen til Nøkkelfil.
  5. Spesifiser banen til SSH-nøkkelen din (f.eks. /Users/Name/.ssh/id_rsa).
  6. FileZilla vil konvertere den til en .PPK fil, som du deretter kan bruke til å opprette forbindelse.

konvertere SSH-nøkkel

Den endelige konfigurasjonen skal se slik ut:

FileZilla sftp-konfigurasjon

Nå vil du kunne få tilgang til serveren din via FTP og laste opp filer direkte fra datamaskinen din.

FileZilla sftp-tilkobling

Gratulerer! Du har lært hvordan du skal være vert for et nettsted på en virtuell, privat server som kjører Ubuntu 18.04. Alt fra det første serveroppsettet til å klargjøre programvarestabelen er dekket. Det eneste som gjenstår er å ta tak i en server og bli skitten!

Denne artikkelen ble publisert ved hjelp av 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