Hur du är värd för en webbplats (guide till installation av din egen server)

Hur man skapar en server


För att vara värd för en webbplats på en server måste du smitta händerna och ställa in hela miljön själv. Nedan hittar du ett generaliserat exempel på hur man gör saker med en virtuell privat server som körs Ubuntu 18.04

Kort sagt måste du:

    • Utför den första serverinställningen
    • Ställ in en DNS-zon och peka din domän
    • Installera en programvarubunke
    • Skapa en virtuell värd
    • Sätt igång din webbplats

P.S. Om du inte vill gå igenom dessa komplicerade steg kan du överväga att få en webbhotell.

1. De första stegen för installation av servern

Om du bestämmer dig för att hyra en dedikerad server eller en VPS måste du först lägga en solid grund. Detta innebär åtkomst till din server via en terminal eller en SSH-klient och göra säkerhetsjusteringar och uppdateringar.

Anslut till din server

Börja med att ansluta till din server. Följande kommando kommer att göra susen:

ssh [e-postskyddad] _server_IP -port

När du ansluter för första gången kan du bli ombedd att lägga till din server-IP i listan över kända värdar. Skriv in ja för att fortsätta och du blir då ombedd att ange root-lösenord.

lägga till server-IP till kända värdar

Här är ett exempel på vad du borde se på skärmen om allt gick rätt.

initial Ubuntu SSH-inloggningsskärm

Få de senaste uppdateringarna

Kör följande kommandon för att få de senaste uppdateringarna för din Ubuntu 18.04-server:

sudo apt uppdatering
sudo apt uppgradering

När du kör det andra kommandot ser du en bekräftelseskärm. Skriv in Y att fortsätta.

bekräftar serveruppdateringar Ubuntu

Skapa en ny användare

Därefter måste du lägga till en ny användare, eftersom det inte rekommenderas att använda roten för vardagliga uppgifter. Låt oss kalla det webbansvarig. Gör så här för att börja skapa användaren:

adduser webbansvarig

skapa en ny användare Ubuntu

När du skapar ett lösenord uppmanas du att ange de allmänna detaljerna (som du kan lämna tomt). Skriv sedan in Y för att bekräfta den nya användarskapandet.

Som standard har den nya användaren inte tillräckligt med behörigheter för att göra allt du behöver, därför måste du lägga till dem manuellt. Så här gör du:

usermod -aG sudo webbansvarig

Det är allt! Din nya administrativa användare är klar. Så här börjar du använda den istället för root:

su – webbansvarig

byter systemanvändare

Ställ in autentisering av offentlig nyckel (valfritt)

Att använda ett lösenord för att autentisera gör dig sårbar för försök med brute-force och sätter din server till en måttlig risk (särskilt om du är lat för att ställa in ett unikt och starkt lösenord).

Ett bra sätt att förbättra serverintegriteten är att använda SSH-nycklar istället för ett vanligt lösenord. Stegen bör vara identiska oavsett vilken Linux-distribution du kör. Att börja logga ut på din server och kör följande kommando på din lokal dator för att skapa en ny offentlig nyckel:

ssh-keygen

Du blir ombedd att ange en ytterligare lösenfras och platsen för var du ska spara den offentliga nyckeln. Som standard sparar det allt till /Users/Your_User/.ssh katalog (som du kan behålla om du inte har andra planer i åtanke).

kör SSH keygen

Så snart den är klar kopierar du över SSH-nyckeln till din server genom att använda:

ssh-copy-id [e-postskyddad] _server_IP

Du kan också göra samma sak för din rotanvändare för fall:

ssh-copy-id [e-postskyddad] _server_IP

flytta SSH-nyckel till fjärrservern

Slutligen måste du logga in på din server igen. Bara den här gången använder du SSH-nyckeln och dess lösenfras för att verifiera. Om ditt lösenord gissas av någon kan de inte logga in, eftersom den offentliga nyckeln krävs för att få en framgångsrik anslutning.

loggar in på servern med SSH-nyckel

Inaktivera lösenordsautentisering (valfritt)

Eftersom du nu kan komma åt din server med den nyligen genererade SSH-nyckeln, rekommenderas det att inaktivera den vanliga lösenordsautentiseringen. För att göra det kan vi använda nano textredigerare:

sudo nano / etc / ssh / sshd_config

Leta efter en rad som säger #PasswordAuthentication ja, radera # och ändra ja till en Nej. Det slutliga resultatet ska se ut:

inaktivera lösenordsautentisering i sshd-konfigurering

För att spara dessa ändringar och avsluta nano-redigeraren trycker du på CTRL + X, Skriv in Y och tryck på Stiga på. Och slutligen, tillämpa allt genom att ladda om sshd-tjänsten:

sudo systemctl ladda om sshd

Och det är allt! Du kommer nu att använda en offentlig nyckel för att autentisera istället för ett lösenord, vilket anses vara ett säkrare sätt att komma åt och hantera en server.

Ställ in en brandvägg

Sist, men inte minst, är det tillrådligt att använda en brandvägg för att skydda dig mot farorna som lurar på webben. Okomplicerad brandvägg är ett av de bästa verktygen för jobbet. Så här ställer du in det:

sudo apt-get install ufw

När den är installerad fungerar brandväggen inte om den inte är aktiverad manuellt. Du kan aktivera det genom att använda:

sudo ufw enable

aktivera ufw Ubuntu

För att kontrollera om det är igång, kör:

sudo ufw status verbose

2. Ställ in en DNS-zon

Nästa utmaning är att skapa en DNS-zon som fungerar som bindande material mellan ett domännamn och en server. Vi kan dela upp det i två mindre steg:

  1. Ställa in en DNS-zon på din server
  2. Skapa anpassade namnservrar hos din domänregistrator

Skapa en ny DNS-zon

För att skapa en ny DNS-zon använder vi ett verktyg som heter bind9. I slutändan är det denna tjänst som gör att vi kan ladda en webbplats via ett domännamn istället för en IP-adress.

Så här installerar du Bind9 på din Ubuntu 18.04-server:

sudo apt-get install bind9

När alla filer är installerade kommer de att finnas tillgängliga i / Etc / bind katalogen. Låt oss navigera till det först:

cd / etc / bind

För att hålla allt snyggt och organiserat skapar vi en separat katalog för våra DNS-zoner:

sudo mkdir -p zoner

Låt oss skapa en ny DNS-zonfil för vår domän. Vi kommer att använda domain-example.com för demonstrationsändamål (du bör ersätta det med ditt faktiska domännamn).

sudo nano zones / domain-example.com

Exempel på DNS-zonavsnitt:

;
; BIND datafil för domänexempel.com
;
$ TTL 3h
@ IN SOA ns1.domain-example.com. admin.domain-example.com. (
1; Serie
3h; Uppdatera efter 3 timmar
1h; Försök igen efter 1 timme
1w; Förfaller efter 1 vecka
1h); Negativ caching TTL på 1 dag
;
@ IN NS ns1.domain-example.com.
@ IN NS ns2.domain-example.com.

domain-example.com. I EN DIN_SERVER_IP
ns1 IN A YOUR_SERVER_IP
ns2 IN A YOUR_SERVER_IP
www I CNAME-domänsexempel.com.
skicka IN ETT DIN_SERVER_IP
ftp I domänexempel.com på CNAME.
domain-example.com. I MX 10-domänexempel.com.

Se till att byta ut alla instanser av din Your_Server_IP och domain-example.com med de verkliga värdena. Spara zonfilen genom att trycka på CTRL + X och sedan skriva Y för att bekräfta ändringarna.

Därefter måste vi redigera den lokala konfigurationen och ange platsen för vår nyskapade DNS-zon. Detta säkerställer att servern vet vilken zonfil som tillhör vilket domännamn.

sudo nano heter.conf.local

Klistra in följande rader längst ner i filen medan du byter ut domain-example.com med din faktiska webbplatsadress.

zon "domain-example.com" {
typ master;
fil "/etc/bind/zones/domain-example.com";
};

Tryck CTRL + X och ingång Y för att spara dina ändringar och avsluta nano-redigeraren.

Du kan också testa om allt lades till och konfigurerades korrekt genom att utföra följande kommando:

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

verifiera dns zon

Slutligen, kör dessa två kommandon för att starta om din serverns DNS-tjänst och se till att den körs:

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

Just nu är DNS-zonen redo från din serversida. För att slutföra det måste du skapa anpassade namnserversposter i din domänregistrator.

Skapa anpassade namnservrar för din domän

Eftersom vi specificerade två namnservrar (ns1.domain-example.com och ns2.domain-example.com) i vårt DNS-zonexempel måste vi skapa dessa poster hos domänregistratorn och använda dem.

Så här ska posterna se ut:

Anpassad namnserverPekar på
ns1.domain-example.comYour_Server_IP
ns2.domain-example.comYour_Server_IP

barn namnserver skapande

När du väl har skapat måste du peka din domän till dessa nya namnservrar.

uppdatera namnservrar

3. Installera LAMP Stack

LAMP är en av de mest använda programvar staplarna på webben. Det står för Linux, Apache HTTP-server, MySQL / MariaDB och PHP. Innan du är värd för en webbplats måste du se till att alla dessa ingredienser finns tillgängliga på din server. Så här ser processen att konfigurera dem ut med Ubuntu 18.04:

Apache

Apache HTTP-server kan redan inkluderas i standardpaketen som medföljer din server. Om inte, kör sedan:

sudo apt-get install apache2

installera Apache

Eftersom det finns en brandvägg måste vi se till att dessa portar är öppna eftersom Apache inte fungerar korrekt annars. Så här ska du tillåta genom brandväggen:

sudo ufw tillåta 80 / tcp
sudo ufw tillåta 443 / tcp

Starta sedan om det för att se till att ändringarna tillämpas:

sudo ufw ladda om

Här är vad du bör se genom att besöka IP-adress för din server genom en webbläsare:

standard Apache2-sida

PHP

För att få den senaste PHP-versionen med några extra moduler som WordPress behöver, kör du:

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

bekräfta PHP-installationen

Du kan kontrollera vilken PHP-version som installerades på din server genom att skriva:

php -v

kolla PHP-versionen

MySQL / mariadb

MariaDB och MySQL är två av de bästa valen för din databaseserver i Linux. I det här exemplet använder vi MariaDB. Så här installerar du det på din server:

sudo apt-get install mariadb-server mariadb-client

installera Mariadb

När du är klar måste du använda ett extra skript som medföljer paketet. Det kommer att fastställa de grundläggande säkerhetsåtgärderna för din databaseserver. Börja med att skriva:

sudo mysql_secure_installation

I det första steget blir du ombedd att ange root MySQL-lösenord. tryck på Stiga på för att fortsätta eftersom den inte har skapats än. Följ sedan resten av instruktionerna som dyker upp i kommandoradsgränssnittet.

Mariadb säker installation

Slutligen kan du kontrollera om min databaseserver fungerar genom att köra:

sudo systemctl status mysql

4 Skapa en virtuell värd

Nästa uppgift är att skapa en dedicerad katalog för dina webbplatsfiler. Börja med att ändra din arbetskatalog:

cd / var / www / HTML

Använd det här kommandot för att skapa en mapp för din domän och en ytterligare en inom:

sudo mkdir -p domain-example.com/public_html

Gör sedan webmaster användare som vi skapade tidigare ägaren genom att använda:

sudo chown – R webbansvarig: webbansvarig domän-exempel.com/public_html

Du måste också se till att läsbehörigheter tillämpas på Apache-rotkatalogen. I detta fall:

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

På denna punkt får Apache alla inställningar från 000-default.conf fil. Vi måste kopiera innehållet i den här filen och skapa ett separat för vårt domännamn. Det enklaste sättet att kopiera en mall för den virtuella värdkonfigurationen är genom att använda följande kommando:

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

I huvudsak gör detta en kopia av filen under ett annat namn i samma katalog. Det här är filen som berättar din Apache-webbserver platsen för en domäns rotkatalog, fellogg och andra viktiga vägar. För att ändra dess innehåll använder vi nano:

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

Exempel på Apache-konfigurering:

# Servernamnsdirektivet ställer in begäran, värdnamn och port som
# servern använder för att identifiera sig själv. Detta används när du skapar
# omdirigering URL: er. I samband med virtuella värdar, Servernamn
# anger vilket värdnamn som ska visas i begäranens Host: header till
# matcha den virtuella värden. För standard virtuell värd (den här filen) detta
# värde är inte avgörande eftersom det används som sista utväg värd oavsett.
# Du måste emellertid ange det för varje ytterligare virtuell värd uttryckligen.

ServerAdmin [e-postskyddad]
DocumentRoot /var/www/html/domain-example.com/public_html
Servernamn-domänexempel.com
ServerAlias ​​www.domain-example.com

# Tillgängliga loglevels: trace8, …, trace1, felsökning, info, meddelande, varning,
# fel, crit, alert, dyker upp.
# Det är också möjligt att konfigurera loglevel för speciellt
# moduler, t.ex..
#LogNivåinformation ssl: varna

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

# För de flesta konfigurationsfiler från conf-tillgängliga /, som är
# aktiverat eller inaktiverat på global nivå är det möjligt att
# inkludera en linje för endast en viss virtuell värd. Till exempel
# följande rad aktiverar endast CGI-konfigurationen för denna värd
# efter att den har inaktiverats globalt med "a2disconf".
#Include conf-available / serve-cgi-bin.conf

Se till att ersätta alla instanser av domänexempel.com med ditt faktiska domännamn. För att spara filen, tryck på CTRL + X och bekräfta genom att skriva Y. Det slutliga resultatet ska se ut:

lägga till domänkonfigur till Apache

Vid denna tidpunkt måste du stänga av den virtuella värdkonfigurationsfilen och använda den nyligen skapade. Det här kommandot inaktiverar det:

sudo a2dissite 000-default.conf

Lägg sedan till den nyligen skapade konfigurationsfilen som visas nedan:

sudo a2ensite domain-example.com.conf

Slutligen måste du starta om Apache för att ändringarna ska kunna tillämpas. Du kan göra det genom att köra:

sudo systemctl ladda om apache2

Du har installerat LAMP på din server. Eftersom din domän redan är pekad mot servern, kan du behöva vänta några timmar på att DNS ska spridas fullt ut. Då bör du se en liknande skärm när du besöker din domän genom webbläsaren.

domänrotkataloginnehåll

5. Ställ in WordPress (eller ladda upp en webbplats)

Eftersom den inledande serverinställningen äntligen är klar är det dags att hysa en webbplats på den. I det här avsnittet visar vi dig ett allmänt exempel på hur du får en WordPress-webbplats igång.

Skapa en ny MySQL-databas och användare

Börja med att komma åt MySQL-gränssnittet via terminalen:

sudo mysql

>Använd följande syntax för att skapa en ny databas:

SKAPA DATABASE wpdatabase;

Skapa sedan en ny användare och ange lösenordet:

SKAPA ANVÄNDARE ‘wpuser’ @ ‘localhost’ IDENTIFIERAD AV ‘SuperSecurePassword123’;

Tilldela sedan administratörsbehörigheter till din nyskapade användare med:

GE ALLA PRIVILEGER PÅ wpdatabas. * TILL ‘wpuser’ @ ‘localhost’;

Det är allt! Din MySQL-användare och databas är redo för handling. För att stänga av gränssnittet skriver du in:

utgång

Flytta WordPress-filer till din server

Sist, men inte minst, måste vi hämta de faktiska webbplatsfilerna som laddas upp till rotkatalogen på din domän. Det finns två metoder som vi kommer att beskriva steg för steg:

  • Använd wget-kommandot för att få den senaste WordPress-versionen
  • Konfigurera en FTP-klient (t.ex. FileZilla)

Metod 1: Använda kommandoradsverktygen

Det första sättet är att använda ett kommando som heter wget. För att använda den på din server måste du installera den:

sudo apt-get install wget

Ändra sedan din arbetskatalog till rotmappen för ditt domännamn:

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

Använd wget-kommandot för att ladda ner den senaste versionen av WordPress från webben:

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

Ta sedan ut allt innehåll i arkivet med hjälp av:

packa upp senaste.zip

Som standard visas alla filerna i en ny katalog som heter WordPress (vilket kan leda till att din webbplats fungerar via domain-example.com/wordpress). För att allt ska fungera korrekt måste vi flytta alla filer från den katalogen till den ovan. Så här gör du:

cd wordpress

Följande kommando flyttar alla filer från den aktuella katalogen till din angivna plats:

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

Innan du startar installationen måste du förbereda din wp-config.php-fil. Eftersom endast ett prov tillhandahålls. Börja med att byta namn på det:

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

Redigera sedan filen med nano och lägg till konfigurationsinformationen för MySQL-databasen.

sudo nano wp-config.php

Se till att uppdatera MySQL Användare, Databas, och Värd avsnitt med de värden som du skapade tidigare.

redigering av WP-konfigurering

Slutligen besöker du ditt domännamn i webbläsaren så ser du den ursprungliga inställningsskärmen för WordPress.

inledande installation av WordPress

När du är klar med det kan du installera ett migreringsplugin som till exempel All-in-One WP Migration för att importera en befintlig WordPress-webbplats.

Metod 2: Använda en FTP-klient

Alternativt kan du använda en FTP-klient som FileZilla. Om du konfigurerade en SSH-nyckel och inaktiverade lösenordsautentisering måste du använda den för att logga in istället för det vanliga användarnamnet och lösenordskombinationen. Så här konfigurerar du SFTP-anslutningen:

  1. Gå till FileZilla Site Manager och lägg till en Ny webbplats.
  2. Ställ in protokollet till SFTP – SSH File Transfer Protocol.
  3. Ange din server-IP i Värd fältet och ställ in porten till 22.
  4. Ställ in inloggningstypen till Nyckelfil.
  5. Ange sökvägen till din SSH-nyckel (t.ex.. /Users/Name/.ssh/id_rsa).
  6. FileZilla konverterar det till en .ppk fil, som du sedan kan använda för att skapa en anslutning.

konvertera SSH-nyckel

Den slutliga konfigurationen ska se ut så här:

FileZilla sftp-konfiguration

Nu kommer du att kunna komma åt din server via FTP och ladda upp alla filer direkt från din dator.

FileZilla sftp-anslutning

Grattis! Du har lärt dig hur du är värd för en webbplats på en virtuell privat server som kör Ubuntu 18.04. Allt från den första serverinställningen till att förbereda programvarubunten har täckts. Allt som återstår är att ta en server och bli smutsig!

Denna artikel publicerades med hjälp 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