Een website hosten (gids voor het opzetten van uw eigen server)

Een server maken


Om een ​​website op een server te hosten, moet je je handen vuil maken en de hele omgeving zelf opzetten. Hieronder vindt u een algemeen voorbeeld van hoe u dingen voor elkaar krijgt met een draaiende virtuele privéserver Ubuntu 18.04

Kortom, u moet:

    • Voer de initiële serverconfiguratie uit
    • Stel een DNS-zone in en wijs uw domein aan
    • Installeer een softwarestack
    • Maak een virtuele host
    • Breng uw website in de lucht

P.S. Als u deze ingewikkelde stappen niet wilt doorlopen, overweeg dan om een ​​webhosting aan te schaffen.

1. De eerste stappen voor het instellen van de server

Als je besluit een dedicated server of een VPS te huren, moet je eerst een solide basis leggen. Dit omvat toegang tot uw server via een terminal of een SSH-client en het uitvoeren van beveiligingsaanpassingen en updates.

Maak verbinding met uw server

Begin door verbinding te maken met uw server. De volgende opdracht zal het lukken:

ssh [email protected] _server_IP -port

Wanneer u voor het eerst verbinding maakt, wordt u mogelijk gevraagd uw server-IP toe te voegen aan de lijst met bekende hosts. Typ in Ja om door te gaan en u wordt dan gevraagd om de root wachtwoord.

server IP toevoegen aan bekende hosts

Hier is een voorbeeld van wat je op je scherm zou moeten zien als alles goed is gegaan.

eerste Ubuntu SSH-inlogscherm

Download de laatste updates

Voer de volgende opdrachten uit om de nieuwste updates voor uw Ubuntu 18.04-server te krijgen:

sudo apt update
sudo apt upgrade

Wanneer u de tweede opdracht uitvoert, ziet u een bevestigingsscherm. Typ in Y verder gaan.

bevestiging van serverupdates Ubuntu

Maak een nieuwe gebruiker aan

Vervolgens moet u een nieuwe gebruiker toevoegen, omdat het niet wordt aanbevolen om de root te gebruiken voor dagelijkse taken. Laten we het webmaster noemen. Voer het volgende uit om de gebruikers te maken:

adduser webmaster

het creëren van een nieuwe gebruiker Ubuntu

Nadat u een wachtwoord heeft gemaakt, wordt u gevraagd de algemene gegevens in te voeren (die u leeg kunt laten). Typ dan in Y om het aanmaken van een nieuwe gebruiker te bevestigen.

Standaard heeft de nieuwe gebruiker niet genoeg rechten om alles te doen wat je nodig hebt, dus je moet ze handmatig toevoegen. Hier is hoe je het doet:

usermod -aG sudo webmaster

Dat is het! Uw nieuwe administratieve gebruiker is klaar. Om het te gebruiken in plaats van root, voer je uit:

su – webmaster

veranderende systeemgebruiker

Verificatie met openbare sleutel instellen (optioneel)

Als u een wachtwoord gebruikt om te verifiëren, bent u kwetsbaar voor pogingen met brute kracht en loopt uw ​​server een gematigd risico (vooral als u lui bent om een ​​uniek en sterk wachtwoord in te stellen).

Een geweldige manier om de serverintegriteit te verbeteren, is door SSH-sleutels te gebruiken in plaats van een gewoon wachtwoord. De stappen moeten identiek zijn, ongeacht welke Linux-distributie u gebruikt. Beginnen uitloggen van uw server en voer de volgende opdracht uit op uw lokale computer om een ​​nieuwe openbare sleutel te maken:

ssh-keygen

U wordt gevraagd een extra wachtwoordzin in te voeren en de locatie waar u de openbare sleutel wilt opslaan. Standaard slaat het alles op /Users/Your_User/.ssh directory (die u kunt bewaren, tenzij u andere plannen heeft).

met SSH keygen

Zodra het klaar is, kopieert u de SSH-sleutel naar uw server met behulp van:

ssh-copy-id [beveiligde e-mail] _server_IP

U kunt hetzelfde doen voor uw rootgebruiker voor het geval dat:

ssh-copy-id [beveiligde e-mail] _server_IP

SSH-sleutel verplaatsen naar externe server

Ten slotte moet u opnieuw inloggen op uw server. Alleen deze keer gebruikt u de SSH-sleutel en de wachtwoordzin om te verifiëren. Als uw wachtwoord door iemand is geraden, kunnen ze niet inloggen, omdat de openbare sleutel vereist is om een ​​succesvolle verbinding tot stand te brengen.

inloggen op de server met SSH-sleutel

Wachtwoordverificatie uitschakelen (optioneel)

Aangezien u nu toegang heeft tot uw server met de nieuw gegenereerde SSH-sleutel, is het raadzaam om de reguliere wachtwoordverificatie uit te schakelen. Om dit te doen, kunnen we de gebruiken nano teksteditor:

sudo nano / etc / ssh / sshd_config

Zoek naar een regel met #PasswordAuthentication ja, verwijder de # en verander de Ja naar een Nee. Het uiteindelijke resultaat zou er als volgt uit moeten zien:

wachtwoordverificatie uitschakelen in sshd config

Druk op om deze wijzigingen op te slaan en de nano-editor af te sluiten CTRL + X, typ in Y en druk op Enter. En tot slot, pas alles toe door de sshd-service opnieuw te laden:

sudo systemctl herlaad sshd

En dat is het! U gebruikt nu een openbare sleutel om te verifiëren in plaats van een wachtwoord, wat wordt beschouwd als een veiligere manier om toegang te krijgen tot een server en deze te beheren.

Stel een firewall in

Last but not least is het raadzaam om een ​​firewall te gebruiken om jezelf te beschermen tegen de gevaren die op het internet op de loer liggen. Ongecompliceerde firewall is een van de beste tools voor de klus. Om het in te stellen, voer je uit:

sudo apt-get installeer ufw

Na installatie werkt de firewall niet tenzij deze handmatig is ingeschakeld. Je kunt het inschakelen met:

sudo ufw inschakelen

ufw Ubuntu inschakelen

Voer de volgende handelingen uit om te controleren of deze actief is:

sudo ufw status uitgebreid

2. Stel een DNS-zone in

De volgende uitdaging is het creëren van een DNS-zone, die als bindmateriaal fungeert tussen een domeinnaam en een server. We kunnen het opsplitsen in twee kleinere stappen:

  1. Het opzetten van een DNS-zone binnen uw server
  2. Aangepaste naamservers maken bij uw domeinregistreerder

Maak een nieuwe DNS-zone

Om een ​​nieuwe DNS-zone te maken, gebruiken we een tool genaamd bind9. Uiteindelijk is dit de service waarmee we een website kunnen laden via een domeinnaam in plaats van een IP-adres.

Om Bind9 op uw Ubuntu 18.04-server te installeren, voert u uit:

sudo apt-get install bind9

Na installatie zijn alle bestanden beschikbaar in de / etc / bind directory. Laten we er eerst naar navigeren:

cd / etc / bind

Om alles netjes en georganiseerd te houden, maken we een aparte directory voor onze DNS-zones:

sudo mkdir -p zones

Laten we een nieuw DNS-zonebestand voor ons domein maken. We gebruiken domein-voorbeeld.com voor demonstratiedoeleinden (u moet deze vervangen door uw werkelijke domeinnaam).

sudo nano zones / domain-example.com

Voorbeeld van DNS-zonefragment:

;
; BIND-gegevensbestand voor domein-voorbeeld.com
;
$ TTL 3 uur
@ IN SOA ns1.domein-voorbeeld.com. admin.domain-example.com. (
1; Serieel
3 uur; Ververs na 3 uur
1 uur; Probeer het na 1 uur opnieuw
1w; Vervalt na 1 week
1 uur); Negatieve caching TTL van 1 dag
;
@ IN NS ns1.domein-voorbeeld.com.
@ IN NS ns2.domein-voorbeeld.com.

domein-voorbeeld.com. IN EEN YOUR_SERVER_IP
ns1 IN EEN YOUR_SERVER_IP
ns2 IN EEN YOUR_SERVER_IP
www IN CNAME domein-voorbeeld.com.
mail IN EEN YOUR_SERVER_IP
ftp IN CNAME domein-voorbeeld.com.
domein-voorbeeld.com. IN MX 10 domein-voorbeeld.com.

Zorg ervoor dat u alle instanties van uw computer vervangt Your_Server_IP en domein-voorbeeld.com met de werkelijke waarden. Sla het zonebestand op door op te drukken CTRL + X en dan typen Y om de wijzigingen te bevestigen.

Vervolgens moeten we de lokale configuratie bewerken en de locatie van onze nieuw gemaakte DNS-zone specificeren. Dit zorgt ervoor dat de server weet welk zonebestand bij welke domeinnaam hoort.

sudo nano genaamd .conf.local

Plak de volgende regels onderaan het bestand tijdens het vervangen domein-voorbeeld.com met uw werkelijke websiteadres.

zone "domein-voorbeeld.com" {
type meester;
het dossier "/etc/bind/zones/domain-example.com";
};

druk op CTRL + X en invoer Y om uw wijzigingen op te slaan en de nano-editor af te sluiten.

U kunt ook testen of alles correct is toegevoegd en geconfigureerd door de volgende opdracht uit te voeren:

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

het verifiëren van dns zone

Voer ten slotte deze twee opdrachten uit om de DNS-service van uw server opnieuw op te starten en ervoor te zorgen dat deze actief is:

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

Op dit moment is de DNS-zone klaar vanaf uw server. Om het af te ronden, moet u aangepaste naamservers maken binnen uw domeinregistreerder.

Maak aangepaste naamservers voor uw domein

Aangezien we twee naamservers hebben gespecificeerd (ns1.domain-example.com en ns2.domain-example.com) in ons DNS-zonevoorbeeld moeten we deze vermeldingen maken bij de domeinregistreerder en ze gebruiken.

Zo zien de inzendingen eruit:

Aangepaste naamserverWijst naar
ns1.domain-example.comYour_Server_IP
ns2.domain-example.comYour_Server_IP

kind nameserver creatie

Eenmaal gemaakt, moet u uw domein naar deze nieuwe naamservers verwijzen.

naamservers bijwerken

3. Installeer LAMP Stack

LAMP is een van de meest gebruikte softwarestacks van internet. Het staat voor Linux, Apache HTTP Server, MySQL / MariaDB en PHP. Voordat u een site host, moet u ervoor zorgen dat al deze ingrediënten beschikbaar zijn op uw server. Hier is hoe het proces van het instellen ervan eruit zou zien met Ubuntu 18.04:

Apache

Apache HTTP Server is mogelijk al opgenomen in de standaardpakketten die bij uw server worden geleverd. Zo niet, voer dan uit:

sudo apt-get installeer apache2

installeer Apache

Aangezien er een firewall is, moeten we ervoor zorgen dat deze poorten open zijn, omdat Apache anders niet goed werkt. Dit is wat u via de firewall moet toestaan:

sudo ufw staat 80 / tcp toe
sudo ufw staat 443 / tcp toe

Start het vervolgens opnieuw om ervoor te zorgen dat de wijzigingen worden toegepast:

sudo ufw herladen

Op dit punt is dit wat u zou moeten zien door de te bezoeken IP-adres van uw server via een browser:

standaard Apache2-pagina

PHP

Om de nieuwste PHP-versie te krijgen met een paar extra modules die WordPress nodig heeft, voer je uit:

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

bevestig PHP installatie

U kunt controleren welke PHP-versie op uw server is geïnstalleerd door te typen:

php -v

controleer PHP-versie

MySQL / MariaDB

MariaDB en MySQL zijn twee van de beste keuzes voor uw databaseserver in Linux. Voor dit voorbeeld gebruiken we MariaDB. Om het op uw server te installeren, voert u uit:

sudo apt-get install mariadb-server mariadb-client

Mariadb installeren

Als u klaar bent, moet u een extra script gebruiken dat bij het pakket wordt geleverd. Het stelt de basisbeveiligingsmaatregelen voor uw databaseserver vast. Begin ermee door te typen:

sudo mysql_secure_installation

Bij de allereerste stap wordt u gevraagd om het root MySQL-wachtwoord op te geven. druk de Enter knop om door te gaan omdat deze nog niet is gemaakt. Volg daarna de rest van de instructies die in de opdrachtregelinterface verschijnen.

Mariadb veilige installatie

Ten slotte kunt u controleren of mijn databaseserver werkt door te draaien:

sudo systemctl status mysql

4 Maak een virtuele host

De volgende taak is het maken van een speciale map voor uw websitebestanden. Begin met het wijzigen van uw werkmap:

cd / var / www / HTML

Gebruik deze opdracht om een ​​map voor uw domein te maken en een extra binnen:

sudo mkdir -p domein-voorbeeld.com/public_html

Maak dan de webmaster gebruiker die we eerder de eigenaar hebben gemaakt met behulp van:

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

Je moet er ook voor zorgen dat leesrechten worden toegepast op de Apache-hoofdmap. In dit geval:

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

Op dit moment krijgt Apache alle instellingen van de 000-default.conf het dossier. We moeten de inhoud van dit bestand kopiëren en een aparte maken voor onze domeinnaam. De eenvoudigste manier om een ​​sjabloon van de virtuele hostconfiguratie te kopiëren, is met behulp van de volgende opdracht:

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

Dit maakt in wezen een kopie van het bestand onder een andere naam in dezelfde map. Dit is het bestand dat uw Apache-webserver de locatie van de hoofddirectory, het foutenlogboek en andere belangrijke paden van een domein vertelt. Om de inhoud te wijzigen, gebruiken we nano:

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

Voorbeeld van Apache-configuratie:

# De ServerName-richtlijn stelt het verzoekschema, de hostnaam en de poort in
# de server gebruikt om zichzelf te identificeren. Dit wordt gebruikt bij het maken
# omleidings-URL’s. In de context van virtuele hosts, de servernaam
# specificeert welke hostnaam in de Host: header van het verzoek moet verschijnen
# overeenkomen met deze virtuele host. Voor de standaard virtuele host (dit bestand) dit
# waarde is niet doorslaggevend omdat het wordt gebruikt als laatste redmiddel, ongeacht hoe dan ook.
# U moet het echter expliciet instellen voor elke verdere virtuele host.

ServerAdmin [beveiligd via e-mail]
DocumentRoot /var/www/html/domain-example.com/public_html
Servernaam domein-voorbeeld.com
ServerAlias ​​www.domain-example.com

# Beschikbare logniveaus: trace8, …, trace1, debuggen, info, kennisgeving, waarschuwen,
# error, crit, alert, verschijnen.
# Het is ook mogelijk om het loglevel specifiek te configureren
# modules, bijv.
#LogLevel info ssl: waarschuw

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

# Voor de meeste configuratiebestanden van conf-available /, die zijn
# ingeschakeld of uitgeschakeld op mondiaal niveau, het is mogelijk om
# bevatten een regel voor slechts één bepaalde virtuele host. Bijvoorbeeld de
# volgende regel schakelt de CGI-configuratie alleen in voor deze host
# nadat het wereldwijd is uitgeschakeld met "a2disconf".
# Inclusief conf-available / serve-cgi-bin.conf

Zorg ervoor dat u alle instanties van domein-voorbeeld.com vervangt door uw daadwerkelijke domeinnaam. Druk op om het bestand op te slaan CTRL + X en bevestig door te typen Y. Het uiteindelijke resultaat zou er als volgt uit moeten zien:

domeinconfiguratie toevoegen aan Apache

Op dit moment moet u het standaard configuratiebestand van de virtuele host uitschakelen en het nieuw gemaakte bestand gebruiken. Deze opdracht schakelt het uit:

sudo a2dissite 000-default.conf

Voeg vervolgens het recent gemaakte configuratiebestand toe zoals hieronder weergegeven:

sudo a2ensite domein-voorbeeld.com.conf

Ten slotte moet u Apache opnieuw opstarten om de wijzigingen toe te passen. U kunt dat doen door te draaien:

sudo systemctl herlaad apache2

U heeft LAMP met succes op uw server geïnstalleerd. Aangezien uw domein al naar de server verwijst, moet u mogelijk een paar uur wachten voordat de DNS volledig is verspreid. Dan zou u een soortgelijk scherm moeten zien wanneer u uw domein via de browser bezoekt.

domein root directory inhoud

5. Stel WordPress in (of upload een website)

Aangezien de initiële serverconfiguratie eindelijk is voltooid, is het tijd om er een website op te hosten. In deze sectie laten we u een algemeen voorbeeld zien van hoe u een WordPress-site kunt gebruiken.

Maak een nieuwe MySQL-database en -gebruiker

Begin met toegang tot de MySQL-interface via de terminal:

sudo mysql

>Gebruik de volgende syntaxis om een ​​nieuwe database te maken:

DATABASE MAKEN wpdatabase;

Maak vervolgens een nieuwe gebruiker aan en geef het wachtwoord op:

CREËER GEBRUIKER ‘wpuser’ @ ‘localhost’ GEÏDENTIFICEERD DOOR ‘SuperSecurePassword123’;

Wijs vervolgens beheerdersrechten toe aan uw nieuw aangemaakte gebruiker met:

VERLENEN ALLE VOORRECHTEN OP wpdatabase. * AAN ‘wpuser’ @ ‘localhost’;

Dat is het! Uw MySQL-gebruiker en database zijn klaar voor actie. Typ het volgende om de interface uit te schakelen:

Uitgang

Verplaats WordPress-bestanden naar uw server

Ten slotte moeten we de daadwerkelijke websitebestanden uploaden naar de hoofdmap van uw domein. Er zijn twee benaderingen die we stap voor stap beschrijven:

  • Gebruik de wget-opdracht om de nieuwste WordPress-versie te krijgen
  • Een FTP-client configureren (zoals FileZilla)

Methode 1: De opdrachtregelprogramma’s gebruiken

De eerste manier is om een ​​commando genaamd te gebruiken wget. Om het op uw server te gebruiken, moet u het installeren:

sudo apt-get install wget

Wijzig vervolgens uw werkmap in de hoofdmap van uw domeinnaam:

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

Gebruik de wget-opdracht om de nieuwste versie van WordPress van internet te downloaden:

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

Extraheer vervolgens alle inhoud van het archief met behulp van:

unzip latest.zip

Standaard verschijnen alle bestanden in een nieuwe map met de naam WordPress (wat ertoe kan leiden dat uw website werkt via domein-voorbeeld.com/wordpress). Om ervoor te zorgen dat alles correct werkt, moeten we alle bestanden uit die map naar de map hierboven verplaatsen. Zo doe je dat:

cd wordpress

De volgende opdracht verplaatst alle bestanden van de huidige map naar de door u opgegeven locatie:

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

Voordat u met de installatie begint, moet u uw wp-config.php-bestand voorbereiden. Aangezien er slechts een voorbeeld wordt verstrekt. Begin met het hernoemen:

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

Bewerk vervolgens het bestand met nano en voeg de configuratiedetails van de MySQL-database toe.

sudo nano wp-config.php

Zorg ervoor dat u de update MySQL Gebruiker, Database, en Gastheer secties met de waarden die u eerder hebt gemaakt.

WP-configuratie bewerken

Bezoek ten slotte uw domeinnaam in de browser en u ziet het eerste WordPress-configuratiescherm.

initiële WordPress setup

Als u klaar bent, kunt u een migratieplug-in zoals All-in-One WP Migration installeren om een ​​bestaande WordPress-website te importeren.

Methode 2: met behulp van een FTP-client

Als alternatief kunt u een FTP-client zoals FileZilla gebruiken. Als u een SSH-sleutel heeft geconfigureerd en wachtwoordverificatie heeft uitgeschakeld, moet u deze gebruiken om in te loggen in plaats van de normale gebruikersnaam en wachtwoordcombinatie. Om de SFTP-verbinding te configureren:

  1. Ga naar FileZilla Site Manager en voeg een Nieuwe site.
  2. Stel het protocol in op SFTP – SSH-protocol voor bestandsoverdracht.
  3. Voer uw server-IP in de Gastheer veld en stel de poort in op 22.
  4. Stel het inlogtype in op Sleutelbestand.
  5. Specificeer het pad naar uw SSH-sleutel (bijv. /Users/Name/.ssh/id_rsa).
  6. FileZilla converteert het naar een .ppk bestand, dat u vervolgens kunt gebruiken om verbinding te maken.

het omzetten van SSH-sleutel

De uiteindelijke configuratie zou er ongeveer zo uit moeten zien:

FileZilla sftp-configuratie

Nu heeft u via FTP toegang tot uw server en kunt u bestanden rechtstreeks vanaf uw computer uploaden.

FileZilla sftp-verbinding

Gefeliciteerd! Je hebt geleerd hoe je een website host op een virtual private server met Ubuntu 18.04. Alles, van de initiële serverconfiguratie tot het voorbereiden van de softwarestack, is gedekt. Het enige dat overblijft is een server pakken en je handen vuil maken!

Dit artikel is gepubliceerd met de hulp van 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