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.
Contents
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.
Her er et eksempel på, hvad du skal se på din skærm, hvis alt gik korrekt.
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.
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
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
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).
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
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.
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:
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
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:
- Opsætning af en DNS-zone på din server
- 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
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.
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 navneserver | Peger på |
ns1.domain-example.com | Your_Server_IP |
ns2.domain-example.com | Your_Server_IP |
Når du er oprettet, skal du pege dit domæne til disse nye 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
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:
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
Du kan kontrollere, hvilken PHP-version, der blev installeret på din server ved at skrive:
php -v
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
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.
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:
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.
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.
Til sidst skal du besøge dit domænenavn i browseren, og du kan se det indledende skærmbillede til WordPress.
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:
- Gå til FileZilla Site Manager og tilføj en Nyt websted.
- Sæt protokollen til SFTP – SSH File Transfer Protocol.
- Indtast din server-IP i Vært felt og indstil porten til 22.
- Indstil login-typen til Nøglefil.
- Angiv stien til din SSH-nøgle (f.eks. /Users/Name/.ssh/id_rsa).
- FileZilla konverterer det til et .PPK fil, som du derefter kan bruge til at oprette forbindelse.
Den endelige konfiguration skal se sådan ud:
Nu kan du få adgang til din server via FTP og uploade filer direkte fra din computer.
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.