De voorwaarde web Server kan worden gebruikt om te verwijzen naar zowel hardware als software, of beide die samenwerken. Voor de doeleinden van deze gids zullen we ons concentreren op de softwarekant en kijken hoe u een website op uw Linux-box kunt hosten.
Een webserver is een softwareprogramma dat verzoeken van klanten ontvangt en beantwoordt via de HTTP/HTTPS protocollen. Het primaire doel is om website-inhoud weer te geven, vaak in de vorm van tekst, afbeeldingen en video.
Een webserver kan beide dienen statisch of dynamisch inhoud. Statische inhoud, zoals de naam al aangeeft, verwijst naar inhoud die nauwelijks verandert en vast en zeker hetzelfde zal blijven. De server stuurt de inhoud ongewijzigd terug naar de browser van de gebruiker.
Dynamische inhoud is inhoud die vaak verandert of voortdurend wordt bijgewerkt. Om dynamische inhoud aan te bieden, moet een webserver ook samenwerken met een databaseserver en scripttalen aan de serverzijde.
In deze handleiding wordt uitgelegd hoe u een Apache webserver om gratis een website op uw Linux-systeem te hosten.
Inhoudsopgave
Om deze handleiding te volgen, moet u ervoor zorgen dat u over het volgende beschikt.
Bekijk enkele handleidingen die u inzicht kunnen geven in het installeren van een Linux-server.
Je had ook een nodig LAMP server geïnstalleerd, wat een acroniem is voor Linux, Apache en MySQL (dit kan ook MariaDB). Hier zijn een paar handleidingen voor het installeren van de LAMP stapelen in Linux.
In dit gedeelte gaan we verder en bespreken we de belangrijkste componenten van een webserver.
Apache is een populaire gratis en open-source platformonafhankelijke webserver die is vrijgegeven onder Apache-licentie 2.0. Het is een van de meest gebruikte webservers goed voor bijna 32,2% van het marktaandeel van de webserver.
Voer de volgende opdracht uit om de nieuwste beschikbare versie van Apache te controleren en of deze op uw server is geïnstalleerd:
# apt-cache-beleid apache2 (op op Debian gebaseerd besturingssysteem)
Vanuit de uitvoer kunt u de parameter Geïnstalleerd zien: (geen) wat impliceert dat het nog niet is geïnstalleerd. U krijgt ook informatie over de nieuwste versie die wordt aangeboden door Debian/Ubuntu repository, wat in dit geval 2.4.52.
Op moderne Red Hat-distributies, kunt u de beschikbaarheid controleren van Apache met behulp van het volgende dnf-opdracht als volgt.
# dnf zoeken httpd.
Uit de bovenstaande uitvoer kunt u zien dat de Apache httpd pakket is te downloaden. Als Apache niet op uw systeem is geïnstalleerd, gebruikt u de 'geschikt' of 'dnf' pakketbeheerders om te installeren Apache zoals getoond.
Op op Debian gebaseerde systemen:
$ sudo apt install apache2 -y $ sudo systemctl start apache2 $ sudo systemctl activeer apache2 $ sudo systemctl status apache2.
Op op Red-Hat gebaseerde systemen:
# dnf install httpd -y # systemctl start httpd # systemctl enable httpd # systemctl status httpd.
Een vork van MySQL, MariaDB is een van de meest populaire en open-source relationele databasebeheersystemen. Tegenwoordig heeft het de voorkeur MySQL vanwege de hogere snelheden bij replicatie en het uitvoeren van query's, evenals beveiliging en een breed scala aan opslag-engines.
Installeren MariaDB, Op op Debian gebaseerde systemen:
$ sudo apt install mariadb-server mariadb-client -y $ sudo systemctl start mariadb $ sudo systemctl mariadb inschakelen $ sudo systemctl status mariadb
De volgende uitvoer laat dat zien MariaDB is geïnstalleerd en werkt zoals verwacht.
Installeren MariaDB, Op RHEL-gebaseerde systemen:
# dnf install mariadb-server -y # systemctl start mariadb # systemctl mariadb inschakelen # systemctl status mariadb
PHP is een recursief acroniem voor PHP Hypertext-preprocessor, een populaire scripttaal voor algemeen gebruik die vooral wordt gebruikt bij webontwikkeling.
Installeren PHP, Op op Debian gebaseerde systemen:
$ sudo apt-update. $ sudo apt-upgrade. $ sudo apt install ca-certificaten apt-transport-https software-properties-common. $ sudo add-apt-repository ppa: ondrej/php. $ sudo apt-update. $ sudo apt install php8.0 libapache2-mod-php8.0
Installeren PHP, Op RHEL-gebaseerde systemen moet u eerst het EPEL opslagplaats.
$ sudo dnf installatie -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm [RHEL 9] $ sudo dnf installatie -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm [RHEL8]
Schakel vervolgens de Remi-repository in, die de nieuwste versie van PHP op RHEL-gebaseerde systemen biedt.
$ sudo dnf installatie -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm [RHEL8] $ sudo dnf installatie -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm [RHEL8]
Eenmaal EPEL En Remi repositories zijn ingeschakeld op het systeem, kunt u installeren PHP zoals getoond.
# dnf-modulelijst php. # dnf-module php inschakelen: remi-8.0 -y # dnf installeer php php-cli php-common.
Nu alle componenten zijn geïnstalleerd, kunt u nu uw website bouwen met behulp van WordPress CMS, software die het u gemakkelijk maakt of gebruikers een website kunnen ontwikkelen en beheren zonder noodzakelijkerwijs kennis te hebben van webdesigntalen zoals HTML, CSS, PHP en javascript.
Voor demonstratie, zullen we installeren WordPress op Debian11 En RHEL 9 systemen, die een voorbeeldwebsite zullen bieden die verder kan worden aangepast aan uw voorkeur.
In dit gedeelte wordt ervan uitgegaan dat u het LAMP stapel geïnstalleerd.
Om door te gaan, installeert u extra PHP-modules die vereist zijn voor WordPress, zoals weergegeven.
Installeren PHP modules, op op Debian gebaseerde systemen:
$ sudo apt install php libapache2-mod-php php-peer php-cgi php-common php-mbstring php-zip php-net-socket php-gd php-mysql php-bcmath.
Installeren PHP modules, op RHEL-gebaseerde systemen:
# dnf installeer php-gd php-soap php-intl php-mysqlnd php-pdo php-bcmath php-curl php-zip php-xmlrpc wget.
Geschreven in PHP, WordPress is een gegevensgestuurd, gratis en open-source contentmanagementsysteem. Een database is een essentieel onderdeel van WordPress.
De database wordt gebruikt om alle blogberichten, pagina's, categorieën, opmerkingen, thema's, plug-ins en WordPress-configuratiebestanden op te slaan.
Log in op de MariaDB-databaseserver om een database voor WordPress te maken:
$ sudo mysql -u root -p.
Maak vervolgens een database zoals weergegeven
CREËER DATABASE wordpress_db;
Maak vervolgens een databasegebruiker aan en wijs alle rechten toe aan de gebruiker in de database.
VERLEEN ALLE PRIVILEGES OP wordpress_db.* aan [e-mail beveiligd] geïdentificeerd door '[e-mail beveiligd]';
Laad dan ten slotte de subsidietabellen opnieuw om de aangebrachte wijzigingen op te slaan en de database te verlaten.
SPOELRECHTEN; ONTSLAG NEMEN;
Met de database op zijn plaats, gaat u verder en downloadt u het nieuwste WordPress tarball-bestand met behulp van de wget-opdracht.
$ wget https://wordpress.org/latest.tar.gz.
Pak na het downloaden het gecomprimeerde bestand uit met behulp van de tar-opdracht.
$ tar -xvzf nieuwste.tar.gz.
De opdracht extraheert de inhoud van het bestand in een map met de naam wordpress. Verplaats of kopieer de map naar het Documenteer wortel voor de Apache web Server.
$ sudo mv wordpress/ /var/www/html/
Wijs vervolgens de volgende machtigingen en eigendomsrechten toe.
$ sudo chmod 755 -R /var/www/html/wordpress/
$ sudo chown -R www-data: www-data /var/www/html/wordpress/
De term virtuele host verwijst naar de praktijk van het hosten van meerdere websites op een enkele server. Als u van plan bent meerdere websites op één server te hosten, moet u voor elke website een virtuele host maken.
In dit geval moet u als volgt een virtuele host voor de WordPress-website maken.
$ sudo nano /etc/apache2/sites-available/wordpress.conf [Op Debian] # vi /etc/httpd/conf/httpd.conf [Op RHEL]
Plak de volgende regels code om de virtuele host te definiëren. Voor de Server naam instructie, geeft u het IP-adres of de volledig gekwalificeerde domeinnaam van de server op, die moet verwijzen naar het speciale openbare IP-adres.
ServerAdmin [e-mail beveiligd]_domain.com DocumentRoot /var/www/html/wordpress Servernaam 192.168.0.100 Opties FollowSymlinks ToestaanOverschrijven Alles Vereisen dat alles wordt toegekend ErrorLog ${APACHE_LOG_DIR}/uw-domein.com_error.log CustomLog ${APACHE_LOG_DIR}/uw-domein.com_access.log gecombineerd
Sla de wijzigingen op en sluit het bestand af.
Om verbinding te maken met de database zijn enkele aanvullende aanpassingen nodig. Navigeer dus naar de wordpress map.
$ cd /var/www/html/wordpress/
Werk vervolgens de wp-config.php bestand met de inhoud van de wp-config-voorbeeld.php bestand.
$ cp wp-config-voorbeeld.php wp-config.php. $ sudo nano wp-config.php.
Werk vervolgens de databasenaam, db-gebruikersnaam en wachtwoordrichtlijnen bij met de databasedetails.
Schakel vervolgens de nieuwe WordPress-site als volgt in op op Debian gebaseerde systemen.
$ sudo ln -s /etc/apache2/sites-available/wordpress.conf /etc/apache2/sites-enabled/wordpress.conf. $ sudo a2ensite wordpress. $ sudo a2enmod herschrijven. $ sudo a2dissite 000-standaard.
Herstart Apache om de wijzigingen door te voeren.
$ sudo systemctl herstart apache2 [Op Debian] # systemctl herstart httpd [Op RHEL]
Om de installatie te voltooien, bladert u door het IP-adres van uw webserver zoals weergegeven:
http://server-ip.
U zou de welkomstpagina van WordPress moeten krijgen zoals weergegeven. Selecteer uw voorkeurstaal en klik op ‘Doorgaan’.
Vul vervolgens de sitegegevens in.
Dan klikken 'Installeer WordPress’ om de installatie van WordPress te voltooien.
Als alles goed is gegaan krijg je een bevestiging dat de installatie gelukt is. Om in te loggen, klikt u op de knop ‘Log in' knop.
Dit leidt u naar het WordPress-dashboard zoals u kunt zien. Op dit punt kunt u experimenteren met verschillende thema's om het uiterlijk van uw voorbeeldwebsite te verbeteren.
Omdat u uw webserver zelf host vanaf een Linux-systeem thuis of uw Local Area Network (LAN), is de volgende stap om het toegankelijk te maken voor externe gebruikers of gebruikers buiten uw LAN (Local Area Netwerk). Dit is waar port forwarding om de hoek komt kijken.
Port forwarding, ook wel port mapping genoemd, is een techniek waarmee externe apparaten via internet toegang kunnen krijgen tot servers of bronnen binnen een particulier netwerk. Het hele idee is om van buitenaf toegang te krijgen tot privénetwerken, zonder welke het onmogelijk zou zijn omdat externe apparaten niet kunnen communiceren met interne IP-adressen.
In uw configuratie moet u de poort doorsturen waarop de webserver luistert (in de meeste gevallen dit is poort 80 voor HTTP-verkeer of 443 voor HTTPS) en het statische privé-IP-adres van internet server.
Log dus in op uw router en ga naar de Haven doorsturen gedeelte. In ons voorbeeld gebruiken we de DLink router naar poort stuurt de poorten van de webserver (80 en 443) en privé IP (192.168.0.100) door naar het Dedicated IP Public IP toegewezen door de ISP.
Geef in uw geval de poorten en het privé-IP-adres van de webserver op en sla de wijzigingen op.
Om de wijzigingen op te slaan, moet u mogelijk de router opnieuw opstarten. Dus ga je gang en doe precies dat.
Als de port forwarding goed is uitgevoerd, kunt u nu uw webserver buiten uw netwerk bereiken via het openbare IP-adres.
In deze handleiding hebben we gedemonstreerd hoe u uw webserver zelf kunt hosten met behulp van Apache op een Linux-box. Uw feedback op deze gids is welkom.