Oprettelse af din egen webserver og hosting af et websted fra din Linux-boks


Mange af jer ville være en webprogrammerer. Nogle af jer skyldes muligvis et websted og vil helt sikkert redigere og opdatere det ofte. Mens nogle få uden tilstrækkelig viden om webteknologier stadig planlægger at have en.

Gennem denne artikel vil jeg fortælle dig, hvordan du kunne udvikle et fungerende websted med meget lidt viden og endda kunne være vært for det ved hjælp af din Linux-boks. Ting kunne være så enkle som det.

Krav:

Linux Box (Du kan dog bruge Windows, men tingene vil bestemt ikke være så meget enkle og perfekte, som det vil være på Linux Machine, Debian er blevet brugt her for eksempel med henvisning til). Hvis du ikke har et operativsystem installeret, eller hvis du ikke ved, hvordan du installerer et Linux-operativsystem, er der få guider, der viser dig, hvordan du installerer et Linux-operativsystem.

  • Sådan installeres en Debian 10 (Buster) minimal server
  • Sådan installeres Ubuntu 20.04 Server
  • Installation af “CentOS 8.0 ″ med skærmbilleder

Apache, PHP og MySQL (med en hurtig viden om enhver anden SQL kan du bruge det, men eksempler i artiklen bruger MySQL.

  • Sådan installeres LAMP på Debian 10 Server
  • Sådan installeres LAMP Stack i Ubuntu 20.04
  • Sådan installeres LAMP-server på CentOS 8

Content Management Framework - Drupal med KompoZer, eller du kan bruge WordPress eller Joomla. (Men her brugte jeg Drupal som mit Content Management System (CMS)).

  • Sådan installeres WordPress sammen med LAMP på Debian 10
  • Sådan installeres WordPress med Apache i Ubuntu 20.04
  • Installer WordPress 5 med Apache, MariaDB 10 og PHP 7 på CentOS 8/7

  • Sådan installeres Drupal på Debian 10
  • Sådan installeres Drupal på Ubuntu
  • Sådan installeres Drupal på CentOS 8

  • Sådan installeres Joomla på Debian 10
  • Sådan installeres Joomla på Ubuntu
  • Sådan installeres Joomla på CentOS 8

Opsætning af egen webserver og hosting af et websted i Linux

En internetforbindelse med statisk IP (foretrukket) forbundet via et modem med en virtuel hostingfacilitet (i virkeligheden er det ikke så meget komplekst som det lyder her).

Apache er et webserverprogram. Det kommer installeret og konfigureret på de fleste af systemerne. Kontroller, om det er installeret på dit system eller ej.

# apt-cache policy apache2 (On Debian based OS)
apache2:
  Installed: (none)
  Candidate: 2.4.38-3+deb10u3
  Version table:
     2.4.38-3+deb10u3 500
        500 http://httpredir.debian.org/debian buster/main amd64 Packages
     2.4.38-3 -1
        100 /var/lib/dpkg/status
     2.4.25-3+deb9u9 500
        500 http://security.debian.org/debian-security stretch/updates/main amd64 Packages
# yum search httpd (On Red Hat based OS)
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * base: ftp.iitm.ac.in
 * epel: mirror.smartmedia.net.id
 * extras: ftp.iitm.ac.in
 * updates: ftp.iitm.ac.in
Installed Packages
httpd.i686	2.2.15-28.el6.centos	@updates

Fra ovenstående output er det klart, at Apache er installeret på kassen, hvis det ikke er i dit tilfælde, kan du 'apt' eller 'yum' den krævede pakke. Når Apache er installeret, start den som.

# apt-get install apache2 (On Debian based OS)
# service apache2 start
# yum install httpd (On Red Hat based OS)
# service httpd start

Bemærk: Du er muligvis nødt til at skrive 'httpd' og ikke 'apache' på en eller anden server, nemlig RHEL. Når først 'apache2' eller 'http' aka 'httpd' serveren er startet, kan du kontrollere det i din browser ved at gå til et af følgende links.

http://127.0.0.1
http://localhost
http://your-ip-address

Dette link åbnes på en hostet side, hvilket betyder, at Apache er blevet installeret og startet.

MySQL er et databaseserverprogram. Den leveres fyldt med en række distroer. Kontroller, om det er installeret på dit system eller ej, og hvor det er installeret.

# whereis mysql
mysql: /usr/bin/mysql /etc/mysql /usr/lib/mysql /usr/bin/X11/mysql /usr/share/mysql 
/usr/share/man/man1/mysql.1.gz

Fra ovenstående output er det klart, at MySQL er installeret sammen med placeringen af binære filer. Hvis det ikke er installeret, skal du gøre 'apt' eller 'yum' for at installere det og starte det.

# apt-get install mariadb-server mariadb-client (On Debian based OS)
# service mysql start
# yum install mariadb-server mariadb-client (On Red Hat based OS)
# service mariadb start

Bemærk: Du bliver muligvis nødt til at skrive “mysqld” i stedet for mysql, naturligvis uden anførselstegn, i noget distro, nemlig RHEL. Kontroller status for MySQL, kør.

# service mysql status (On Debian based OS)
● mariadb.service - MariaDB 10.3.23 database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2020-01-08 01:05:32 EST; 1min 42s ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
  Process: 2540 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
  Process: 2537 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 2457 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_STAR
  Process: 2452 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 2450 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
 Main PID: 2506 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 30 (limit: 4915)
   CGroup: /system.slice/mariadb.service
           └─2506 /usr/sbin/mysqld

Ovenstående output viser, at MySQL kører i 11 min. 58 sek.

PHP er skriptsproget på serversiden designet til webudvikling og bruges almindeligvis som et generelt programmeringssprog. Du skal bare implementere php-scriptet efter installation af php. Som jeg sagde ovenfor, brug 'apt' eller 'yum' til at installere den nødvendige pakke til din kasse.

# apt-get install php php-mysql (On Debian based OS)
# yum install php php-mysqlnd (On Red Hat based OS)

Hvis du med succes har installeret php i dit system, kan du kontrollere, om den fungerer korrekt eller ikke ved at oprette en fil "info.php" i din '/ var/www/html' eller '/ var/www' bibliotek (som er dit Apache-bibliotek) med indholdet nedenfor.

<?php

     phpinfo ();
?>

Gå nu til din browser, og skriv et af følgende link.

http://127.0.0.1/info.php
http://localhost/info.php
http://your-ip-address/info.php

Hvilket betyder, at php er installeret og fungerer korrekt. Nu kan du opbygge dit websted i din Apache-mappe, men det er ikke altid en god ide at genopfinde et hjul igen og igen.

Til dette findes der Content Management Framework (CMF), nemlig Drupal, Joomla, WordPress. Du kan downloade den nyeste ramme fra nedenstående link og kan bruge en hvilken som helst af disse rammer, men vi bruger Drupal i vores eksempler.

  • Drupal: https://drupal.org/project/drupal
  • Joomla: http://www.joomla.org/download.html
  • WordPress: http://wordpress.org/download/

Download Drupal fra ovenstående link, som ville være et tjærearkiv. Flyt tjærearkivet til din Apache-bibliotek '/ var/www/html' eller '/ var/www'. Uddrag det til roden af apache-biblioteket. Hvor 'x.xx' ville være versionsnummer.

# mv drupal-x.xx.tar.gz /var/www/ (mv to Apache root directory)
# cd /var/www/ (change working directory)
# tar -zxvf drupal-7.22.tar.gz (extract the archieve)
# cd drupal-7.22 (Move to the extracted folder)
# cp * -R /var/www/ (Copy the extracted archieve to apache directory)

Hvis alt går i orden, skal du åbne din browser igen og navigere til nedenstående links, så bliver du mødt med.

http://127.0.0.1
http://localhost
http://your-ip-address

Vælg dine sprogindstillinger.

Kontrol af krav og filtilladelse. Giv korrekt tilladelse til de krævede filer og mapper. Det kan være nødvendigt at oprette bestemte filer manuelt, hvilket ikke er en stor ting.

Setup Database, backend-processen.

Hvis databaseindstillingen går, installeres perfekte profiler automatisk.

Konfiguration betyder at indstille 'Site Name', 'Email', 'User Name', 'Password', 'Time Zone' osv.

Og hvis alt går glat, får du en skærm sådan noget.

Åbn din side ved at henvise til adressen http://127.0.0.1.

Hurra !!!

Kompozer er et værktøj, der lader dig arbejde i GUI til at designe et websted i html, og du kan indsætte et php-script hvor som helst du vil. Kompozer gjorde det for let at oprette en webside.

  1. Kompozer: http://www.kompozer.net/download.php

Nå behøver du ikke at installere det på det meste af Linux-systemet. Bare download, udpak og kør Kompozer.

Hvis de er kreative, er kompozer lige der for dig.

Et par ord om IP-adresser (Internet Protocol).

http://127.0.0.1

Det kaldes generelt loopback IP-adresse eller localhost, og det peger altid på den maskine, som den gennemses på. Alle maskiner på et netværk, der henviser til ovenstående adresse, går tilbage til sin egen maskine.

Ipconfig/ifconfig: Kør dette i din terminal for at kende din maskins lokale adresse.

# ifconfig
eth0      Link encap:Ethernet  HWaddr **:**:**:**:**:**  
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0 
          inet6 addr: ****::****:****:****:****/** Scope:Link 
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 
          RX packets:107991 errors:0 dropped:0 overruns:0 frame:0 
          TX packets:95076 errors:0 dropped:0 overruns:0 carrier:0 
          collisions:0 txqueuelen:1000 
          RX bytes:76328395 (72.7 MiB)  TX bytes:20797849 (19.8 MiB) 
          Interrupt:20 Memory:f7100000-f7120000

Søg efter inet addr: 192.168.1.2 her er 192.168.1.2 min lokale IP. Enhver computer på dit LAN, inklusive dig, kan henvise til din hostede webside ved hjælp af denne adresse.

En computer uden for dit LAN kan dog ikke få adgang til din webside ved hjælp af denne IP-adresse. Du bliver nødt til at bede din internetudbyder om at give dig en statisk IP (det ændrer sig ikke med tiden). Når du først har fået din statiske IP-adresse, er den nemmeste måde at finde din IP på at skrive "Min IP er" på google og notere resultatet.

Du kan ikke få adgang til denne IP fra din egen maskine eller nogen anden maskine på dit LAN. Du kan dog bruge en proxyserver (www.kproxy.com) til at få adgang til din hostede side ved hjælp af din statiske IP. Men før det skal du oprette en virtuel server, og din tjenesteudbyder vil helt sikkert være nyttig i denne henseende.

Hmmm! Det er slet ikke svært. Først skal du vide, hvilken port apache bruger, hvilket i det meste er 80.

# netstat -tulpn

output ville være noget som:

tcp6       0      0 :::80                   :::*                    LISTEN      6169/apache2

Gå nu til din router, som generelt er http://192.168.1.1, og brugernavnet/adgangskoden ville være admin-admin, men det kunne være anderledes i dit tilfælde baseret på tjenesteudbyder og område.

Gå derefter til fanen Virtuel server. Udfyld portnummer, servicenavn og lokal IP-adresse, informer og gem. Bed om hjælp fra din internetudbyder.

Husk, at du kun kan få adgang til denne webserver fra din maskine, enhver anden maskine på dit LAN eller en computer på Internettet, når din maskine er OP og kører MySQL og Apache samtidigt.

Med stor magt kommer et stort ansvar. Og nu er det dit ansvar at beskytte din maskine. Giv aldrig din IP-adresse til nogen ukendt person, før du kender dine veje ind og ud.

Vi vil helt sikkert forsøge at dække spørgsmål i forbindelse med sikkerhed og hvordan vi beskytter det. Du er velkommen til at give dine værdifulde kommentarer og dele dem med dine venner. Du ved 'Deling er omsorgsfuld'. Din positive kommentar opmuntrer og motiverer os.