Begrebet Webserver kan bruges til at henvise til både hardware og software, eller begge arbejder sammen. Til formålet med denne guide vil vi fokusere på softwaresiden og se, hvordan du kan hoste et websted på din Linux-boks.
En webserver er et softwareprogram, der modtager og reagerer på klientanmodninger via HTTP/HTTPS protokoller. Dens primære formål er at vise webstedsindhold, som ofte er i form af tekst, billeder og video.
En webserver kan enten tjene statisk eller dynamisk indhold. Statisk indhold, som navnet antyder, refererer til indhold, der næsten ikke ændrer sig og er bundet til at forblive det samme. Serveren sender indhold tilbage til brugerens browser, som den er.
Dynamisk indhold er indhold, der ofte ændres eller konstant opdateres. For at levere dynamisk indhold skal en webserver også arbejde sammen med en databaseserver og scriptsprog på serversiden.
Denne vejledning viser, hvordan du opsætter en Apache webserver til at hoste et websted på dit Linux-system gratis.
Indholdsfortegnelse
For at følge med i denne guide skal du sørge for at have følgende på plads.
Tjek et par vejledninger, der kan give dig indsigt i installation af en Linux-server.
Du krævede også en LAMPE server installeret, hvilket er et akronym for Linux, Apache og MySQL (dette kan også være MariaDB). Her er et par vejledninger til, hvordan du installerer LAMPE stak i Linux.
I dette afsnit vil vi fortsætte og diskutere hovedkomponenterne i en webserver.
Apache er en populær gratis og open source cross-platform webserver, der er udgivet under Apache License 2.0. Det er en af de mest udbredte webservere tegner sig for næsten 32,2% af webserverens markedsandel.
For at kontrollere den nyeste version af Apache tilgængelig, og hvis den er installeret på din server, skal du køre kommandoen:
# apt-cache policy apache2 (på Debian-baseret OS)
Fra outputtet kan du se parameteren Installeret: (ingen) hvilket antyder, at det ikke er installeret endnu. Du får også information om den seneste version, der tilbydes af Debian / Ubuntu repository, hvilket i dette tilfælde er 2.4.52.
På moderne Red Hat distributioner, kan du tjekke tilgængeligheden af Apache ved hjælp af følgende dnf kommando som følger.
# dnf søg httpd.
Fra ovenstående output kan du se, at Apache httpd pakken er tilgængelig til download. Hvis Apache ikke er installeret på dit system, skal du bruge 'passende'eller'dnf' pakkeadministratorer at installere Apache som vist.
På Debian-baserede systemer:
$ sudo apt installer apache2 -y $ sudo systemctl start apache2 $ sudo systemctl aktiver apache2 $ sudo systemctl status apache2.
På Red-Hat-baserede systemer:
# dnf installer httpd -y # systemctl start httpd # systemctl aktiver httpd # systemctl status httpd.
En gaffel af MySQL, MariaDB er et af de mest populære og open source relationelle databasestyringssystemer. I dag foretrækkes det MySQL på grund af dets hurtigere hastigheder i replikering og udførelse af forespørgsler samt sikkerhed og en bred vifte af storage-motorer.
At installere MariaDB, På Debian-baserede systemer:
$ sudo apt installer mariadb-server mariadb-client -y $ sudo systemctl start mariadb $ sudo systemctl aktiver mariadb $ sudo systemctl status mariadb
Følgende output viser det MariaDB er installeret og kører som forventet.
At installere MariaDB, På RHEL-baserede systemer:
# dnf installer mariadb-server -y # systemctl start mariadb # systemctl aktiver mariadb # systemctl status mariadb
PHP er et rekursivt akronym for PHP Hypertekst Preprocessor, som er et populært scriptsprog til generelle formål, der mest bruges i webudvikling.
At installere PHP, På Debian-baserede systemer:
$ sudo apt opdatering. $ sudo apt opgradering. $ sudo apt installere ca-certifikater apt-transport-https software-egenskaber-fælles. $ sudo add-apt-repository ppa: ondrej/php. $ sudo apt opdatering. $ sudo apt installer php8.0 libapache2-mod-php8.0
At installere PHP, På RHEL-baserede systemer skal du først aktivere EPEL depot.
$ sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm [RHEL 9] $ sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm [RHEL 8]
Aktiver derefter Remi-lageret, som tilbyder den nyeste version af PHP på RHEL-baserede systemer.
$ sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm [RHEL 8] $ sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm [RHEL 8]
Enkelt gang EPEL og Remi repositories er aktiveret på systemet, kan du installere PHP som vist.
# dnf-modulliste php. # dnf-modul aktiver php: remi-8.0 -y # dnf installer php php-cli php-common.
Med alle komponenterne installeret kan du nu bygge din hjemmeside ved hjælp af WordPress CMS, som er software der gør det nemt eller brugere til at udvikle og administrere en hjemmeside uden nødvendigvis at have kendskab til webdesignsprog som HTML, CSS, PHP og Javascript.
Til demonstration vil vi installere WordPress på Debian 11 og RHEL 9 systemer, som vil give et eksempel på et websted, der kan tilpasses yderligere til dine præferencer.
Dette afsnit forudsætter, at du allerede har LAMPE stak installeret.
For at fortsætte skal du installere yderligere PHP-moduler, der kræves af WordPress som vist.
At installere PHP moduler, På Debian-baserede systemer:
$ sudo apt installer php libapache2-mod-php php-pear php-cgi php-common php-mbstring php-zip php-net-socket php-gd php-mysql php-bcmath.
At installere PHP moduler, på RHEL-baserede systemer:
# dnf installer php-gd php-soap php-intl php-mysqlnd php-pdo php-bcmath php-curl php-zip php-xmlrpc wget.
Skrevet i PHP, WordPress er et datadrevet, gratis og open source content management system. En database er en vigtig komponent i WordPress.
Databasen bruges til at gemme alle blogindlæg, sider, kategorier, kommentarer, temaer, plugins samt WordPress konfigurationsfiler.
For at oprette en database til WordPress skal du logge ind på MariaDB-databaseserveren:
$ sudo mysql -u root -s.
Opret derefter en database som vist
OPRET DATABASE wordpress_db;
Derefter skal du oprette en databasebruger og tildele alle privilegier til brugeren på databasen.
TILDEL ALLE PRIVILEGIER PÅ wordpress_db.* til [e-mail beskyttet] identificeret ved '[e-mail beskyttet]';
Genindlæs derefter til sidst bevillingstabellerne for at gemme ændringerne og afslutte databasen.
SKYLLE PRIVILEGIER; AFSLUT;
Med databasen på plads, fortsæt og download den seneste WordPress tarball-fil ved hjælp af wget kommando.
$ wget https://wordpress.org/latest.tar.gz.
Når den er downloadet, skal du udpakke den komprimerede fil ved hjælp af tar kommando.
$ tar -xvzf nyeste.tar.gz.
Kommandoen udtrækker indholdet af filen til en mappe kaldet wordpress. Flyt eller kopier mappen til Dokumentrod for Apache Webserver.
$ sudo mv wordpress/ /var/www/html/
Tildel derefter følgende tilladelser og ejerskabsrettigheder.
$ sudo chmod 755 -R /var/www/html/wordpress/
$ sudo chown -R www-data: www-data /var/www/html/wordpress/
Terminologien virtuel vært refererer til praksis med at hoste flere websteder på en enkelt server. Hvis du har til hensigt at være vært for flere websteder på en enkelt server, skal du oprette en virtuel vært for hvert websted.
I dette tilfælde skal du oprette en virtuel vært til WordPress-webstedet som følger.
$ sudo nano /etc/apache2/sites-available/wordpress.conf [På Debian] # vi /etc/httpd/conf/httpd.conf [På RHEL]
Indsæt følgende kodelinjer for at definere den virtuelle vært. For Server navn direktiv, skal du angive serverens IP-adresse eller fuldt kvalificerede domænenavn, som skal pege på den dedikerede offentlige IP-adresse.
ServerAdmin [e-mail beskyttet]_domain.com DocumentRoot /var/www/html/wordpress Servernavn 192.168.0.100 Indstillinger FølgSymlinks TilladOverride All Kræver alle givet ErrorLog ${APACHE_LOG_DIR}/dit-domæne.com_error.log CustomLog ${APACHE_LOG_DIR}/dit-domæne.com_access.log kombineret
Gem ændringerne og afslut filen.
For at oprette forbindelse til databasen er der behov for nogle yderligere ændringer. Så naviger ind i wordpress folder.
$ cd /var/www/html/wordpress/
Dernæst skal du opdatere wp-config.php fil med indholdet af wp-config-sample.php fil.
$ cp wp-config-sample.php wp-config.php. $ sudo nano wp-config.php.
Derefter skal du opdatere databasenavnet, db-brugernavnet og adgangskoden med databasedetaljerne.
Aktivér derefter det nye WordPress-websted som følger på Debian-baserede systemer.
$ sudo ln -s /etc/apache2/sites-available/wordpress.conf /etc/apache2/sites-enabled/wordpress.conf. $ sudo a2ensite wordpress. $ sudo a2enmod omskrivning. $ sudo a2dissite 000-standard.
Genstart Apache for at udføre ændringerne.
$ sudo systemctl genstart apache2 [På Debian] # systemctl genstart httpd [På RHEL]
For at fuldføre opsætningen skal du gennemse din webservers IP-adresse som vist:
http://server-ip.
Du bør få vist WordPress-velkomstsiden som vist. Vælg dit foretrukne sprog og klik på 'Blive ved’.
Udfyld derefter webstedsoplysningerne.
Klik derefter på 'Installer WordPress' for at fuldføre WordPress-opsætningen.
Hvis alt gik rigtigt, vil du få en bekræftelse på, at installationen var vellykket. For at logge ind skal du klikke på 'Log på’ knappen.
Dette fører dig til WordPress-dashboardet, som du kan se. På dette tidspunkt kan du eksperimentere med forskellige temaer for at forbedre udseendet af dit eksempelwebsted.
Da du selv hoster din webserver fra et Linux-system derhjemme eller dit lokale netværk (LAN), det næste trin er at gøre det tilgængeligt for eksterne brugere eller brugere uden for dit LAN (Local Area netværk). Det er her port forwarding kommer ind.
Port forwarding, også kaldet port mapping, er en teknik, der tillader eksterne enheder at få adgang til servere eller ressourcer i et privat netværk over internettet. Hele ideen er at få adgang til private netværk udefra, uden hvilket det ville være umuligt, da eksterne enheder ikke kan kommunikere med interne IP-adresser.
I din opsætning skal du videresende den port, som webserveren lytter til (i de fleste tilfælde, dette er port 80 for HTTP-trafik eller 443 for HTTPS) samt den statiske private IP-adresse på nettet server.
Så log ind på din router og gå over til Havn videresendelsessektion. I vores eksempel bruger vi DLink router til port forward webserverens porte (80 og 443) og private IP (192.168.0.100) til den dedikerede IP Public IP, som er tildelt af internetudbyderen.
I dit tilfælde skal du angive portene og den private IP på webserveren og gemme ændringerne.
For at gemme ændringerne skal du muligvis genstarte routeren. Så gå videre og gør præcis det.
Når portvideresendelsen er korrekt udført, kan du nu nå din webserver uden for dit netværk via den offentlige IP-adresse.
I denne guide har vi demonstreret, hvordan du selv kan hoste din webserver vha Apache på en Linux-boks. Din feedback på denne guide er velkommen.