Erstellt Ären eegene Webserver an Hosting Eng Websäit vun Ärer Linux Box


Vill vun iech wieren e Webprogramméierer. E puer vun iech kéinten eng Websäit verdanken a wäerte se sécher dacks änneren an aktualiséieren. Wärend e puer keng adäquat Kenntnisser iwwer Webtechnologien hunn nach ëmmer plangen een ze hunn.

Duerch dësen Artikel wäert ech wësse wéi Dir eng funktionéierend Websäit mat ganz wéineg Wëssen kéint entwéckelen a souguer se mat Ärer Linux Box hosten. D'Saache kéinte sou einfach sinn wéi dat.

Ufuerderunge:

Linux Box (Allerdéngs kënnt Dir Windows benotzen awer d'Saache wäerte sécher net sou vill einfach a perfekt sinn wéi et op Linux Maschinn wäert sinn, Debian gouf hei benotzt zum Beispill zitéiert). Wann Dir keen Betribssystem installéiert hutt, oder Dir wësst net wéi Dir e Linux Betriebssystem installéiere wëllt, da sinn e puer Guiden déi Iech weisen wéi Dir e Linux Betriebssystem installéiere wëllt.

  • Wéi installéiere ech en Debian 10 (Buster) Minimal Server
  • Wéi installéiert ech den Ubuntu 20.04 Server
  • Installatioun vum CentOS 8.0 mat Screenshots

Apache, PHP, a MySQL (mat engem prompt Wëssen iwwer all aner SQL, Dir kënnt et benotzen awer Beispiller am Artikel wäerte MySQL benotzen.

  • Wéi installéiere ech LAMP op Debian 10 Server
  • Wéi installéiere ech LAMP Stack an Ubuntu 20.04
  • Wéi installéiere ech LAMP Server op CentOS 8

Content Management Framework - Drupal mat KompoZer, oder Dir kënnt WordPress oder Joomla benotzen.(Awer hei hunn ech Drupal als meng Content Management System (CMS) benotzt).

  • Wéi installéiere ech WordPress Niewent LAMP op Debian 10
  • Wéi installéiert WordPress mat Apache an Ubuntu 20.04
  • Installéiere WordPress 5 mat Apache, MariaDB 10, a PHP 7 op CentOS 8/7

  • Wéi installéiert Drupal op Debian 10
  • Wéi installéiert Drupal op Ubuntu
  • Wéi installéiert Drupal op CentOS 8

  • Wéi installéiere ech Joomla op Debian 10
  • Wéi installéiert Joomla op Ubuntu
  • Wéi installéiere ech Joomla op CentOS 8

Eegen Webserver opsetzen an eng Websäit op Linux hosten

Eng Internetverbindung mat statescher IP (Preferenz) verbonne mat engem Modem mat enger virtueller Hostinganlag (An der Realitéit ass et net sou vill komplex wéi et hei kléngt).

Apache ass e Webserverprogramm. Et kënnt op de meeschte Systemer installéiert a konfiguréiert. Kontrolléiert ob et op Ärem System installéiert ass oder net.

# 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

Vun der uewe genannter Ausgab ass et kloer datt Apache op der Këscht installéiert ass, wann et net an Ärem Fall ass, kënnt Dir de erfuerderleche Package 'apt' oder 'yum'. Wann den Apache installéiert ass, start et als.

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

Notiz: Dir musst vläicht 'httpd' an net 'apache' op e puer Server Viz., RHEL. Wann den 'apache2' oder 'http' aka 'httpd' Server gestart ass, kënnt Dir et an Ärem Browser iwwerpréiwen andeems Dir op eng vun de folgende Linken gitt.

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

Dëse Link wäert op eng gehost Säit opmaachen, wat heescht datt Apache erfollegräich installéiert a gestart gouf.

MySQL ass en Datebankserverprogramm. Et kënnt mat enger Zuel vun Distros gepackt. Kuckt ob et op Ärem System installéiert ass oder net a wou et installéiert ass.

# 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

Vun der uewe genannter Ausgab ass et kloer datt MySQL zesumme mat der Plaz vu binäre Dateien installéiert ass. Wann et net installéiert ass, maacht 'apt' oder 'yum' fir se z'installéieren an unzefänken.

# 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

Notiz: Dir musst vläicht mysqld an der Plaz vun mysql tippen, selbstverständlech ouni Zitater, an e puer Distro Viz., RHEL. Iwwerpréift de Status vu MySQL, lafen.

# 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

Déi uewe Ausgab weist datt MySQL fir 11 min 58 sec leeft.

PHP ass d'Server-Säit Scripting Sprooch entworf fir Webentwécklung a gëtt allgemeng als allgemeng Zweck Programméierungssprooch benotzt. Dir musst just de php Skript ofsetzen nodeems Dir php installéiert hutt. Wéi ech uewe gesot hunn, benotzt 'apt' oder 'yum' fir de erfuerderleche Package fir Är Këscht z'installéieren.

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

Wann Dir de php erfollegräich an Ärem System installéiert hutt, kënnt Dir kontrolléieren ob et richteg funktionnéiert oder net andeems Dir eng Datei \info.php an Ärem '/var/www/html' oder '/var/www' Verzeichnis erstellt (wat ass Ären Apache Verzeechnes) mam Inhalt hei drënner.

<?php

     phpinfo ();
?>

Navigéiert elo an Äre Browser a gitt ee vun de folgende Link.

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

Wat heescht php ass installéiert a funktionnéiert richteg. Elo kënnt Dir Är Websäit an Ärem Apache Verzeechnes bauen, awer et ass net ëmmer eng gutt Iddi e Rad ëmmer erëm nei ze erfannen.

Fir dëst gëtt et den Content Management Framework (CMF), nämlech Drupal, Joomla, WordPress. Dir kënnt dee leschte Kader eroflueden vum Link hei ënnen a kënnt ee vun dëse Kaderen benotzen, awer mir wäerte Drupal an eise Beispiller benotzen.

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

Luet Drupal vum uewe genannte Link erof deen en Tararchiv wier. Beweegt den Tararchiv an Ären Apache Verzeechnes '/var/www/html'oder '/var/www'. Extrait et an d'Wuerzel vum Apache Verzeichnis. Wou 'x.xx' Versiounsnummer wier.

# 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)

Wann alles OK geet, öffnen Äre Browser erëm a navigéiert op déi ënnescht Linken an Dir wäert begréisst ginn.

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

Wielt Är Sproochastellungen.

Iwwerpréift no Ufuerderungen an Dateierlaabnis. Gitt déi richteg Erlaabnes fir déi erfuerderlech Dateien an Ordner. Dir musst vläicht verschidde Dateien manuell erstellen, wat net vill ass.

Setup Datebank, de Backend Prozess.

Wann d'Datebankastellung geet perfekt Profiler ginn automatesch installéiert.

Konfiguréieren heescht Astellung 'Site Numm', 'E-Mail', 'Benotzernumm', 'Passwuert', 'Zäitzone', asw.

A wann alles gutt leeft, kritt Dir en Ecran esou eppes.

Öffnen Är Säit andeems Dir op d'Adress http://127.0.0.1 referéiert.

Hurra!!!

Kompozer ass en Tool dat Iech erlaabt an der GUI ze schaffen fir eng Websäit an HTML ze designen an Dir kënnt e php Skript iwwerall aginn wou Dir wëllt. Kompozer huet et ze einfach gemaach eng Websäit ze kreéieren.

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

gutt Dir musst et net op de meeschte Linux System installéieren. Einfach eroflueden, extrahéieren a lafen Kompozer.

Wann Dir kreativ sidd, ass de Kompozer richteg fir Iech.

E puer Wierder iwwer Internet Protokoll (IP) Adressen.

http://127.0.0.1

Et gëtt allgemeng als Loopback IP Adress oder Localhost genannt, an et weist ëmmer op d'Maschinn op där se duerchsicht gëtt. All d'Maschinnen op engem Netzwierk, déi op déi uewe genannte Adress bezéien, ginn op seng eege Maschinn zréck.

Ipconfig/ifconfig: Fëllt dëst an Ärem Terminal fir Är Maschinn lokal Adress ze kennen.

# 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

Sich no der inet addr:192.168.1.2 hei 192.168.1.2 ass meng lokal IP. All Computer op Ärem LAN inklusiv Dir kënnt op Är gehost Websäit verweisen mat dëser Adress.

Wéi och ëmmer, e Computer ausserhalb vun Ärem LAN kann net op Är Websäit mat dëser IP Adress zougräifen. Dir musst Ären Internetprovider froen fir Iech eng statesch IP ze bidden (Dat ännert sech net mat der Zäit). Wann Dir Är statesch IP Adress kritt hutt, ass deen einfachste Wee fir Är IP ze fannen ass Meng IP ass op Google ze tippen an d'Resultat ze notéieren.

Dir wäert net fäeg sinn Zougang zu dëser IP vun Ärer eegener Maschinn oder vun enger anerer Maschinn op Ärem LAN ze kréien. Wéi och ëmmer, Dir kënnt e Proxy-Server (www.kproxy.com) benotzen fir op Är gehost Säit mat Ärem statesche IP ze kommen. Awer virdru musst Dir e virtuelle Server opstellen an Äre Serviceprovider wäert sécherlech hëllefräich sinn an dësem Sënn.

Hmm! Dat ass guer net schwéier. Als éischt musst Dir wëssen datt de Port Apache benotzt, wat am meeschte Fäll 80 ass.

# netstat -tulpn

d'Ausgab wier eppes wéi:

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

Gitt elo op Äre Router deen allgemeng http://192.168.1.1 ass an de Benotzernumm/Passwuert wier admin-admin, awer et kéint anescht sinn an Ärem Fall baséiert op Serviceprovider a Beräich.

Als nächst gitt op de Virtuell Server Tab. Fëllt d'Portnummer, Servicenumm a lokal IP Adress aus, informéiert a späichert. Frot Hëllef vun Ärem ISP.

Denkt drun Dir kënnt nëmmen Zougang zu dësem Webserver vun Ärer Maschinn, all aner Maschinn op Ärem LAN oder engem Computer um Internet kréien wann Är Maschinn UP ass a MySQL an Apache gläichzäiteg leeft.

Mat grousser Kraaft kënnt eng grouss Verantwortung. An elo ass et Är Verantwortung Är Maschinn ze schützen. Gitt Är IP Adress ni un enger onbekannter Persoun bis Dir Är Weeër an an eraus kennt.

Mir wäerte sécher probéieren d'Themen am Zesummenhang mat der Sécherheet ze decken a wéi se se schützen. Fillt Iech gratis Är wäertvoll Kommentarer ze ginn an se mat Äre Frënn ze deelen. Dir wësst 'Sharing is Caring'. Äre Positive Kommentar encouragéiert a motivéiert eis.