Wéi installéiere a konfiguréieren LAMP op Debian 11 (Bullseye)


Ee vun de wichtegste Saachen fir e Linux Server opzestellen ass fir den Zweck vun enger Websäit(en) z'installéieren. Geméiss dem NetCraft.com senger Februar 2022 Ëmfro vun den 1 Millioun beschäftegste Websäiten op der Welt, lafen ongeféier 23,44% vun hinnen op Apache.

Dësen Tutorial wäert duerch d'Basis vun der Installatioun an der Konfiguratioun vun engem Linux Server (speziell Debian 11 Bullseye) goen fir als LAMP Server ze funktionéieren.

Wat ass LAMP Server?

An der Informatikwelt LAMP Akronym fir Linux (Hei benotzt Debian 11), Apache, MySQL, a PHP (LAMP). LAMP gëtt allgemeng benotzt fir Software Stacks (speziell MySQL a PHP) op engem Webserver ze referenzéieren.

Ier Dir an d'Konfiguratiounsaspekter taucht, ass et wichteg iwwer den Apache Webserver ze wëssen.

Apache war ee vun den \originalen Webserveren a verfolgt seng Ufankszäite bis 1995. Apache gëtt haut nach wäit benotzt a profitéiert vun der laanger Liewensdauer, héijer Quantitéit un Dokumentatioun an Tonne vu Moduler fir Flexibilitéit ze addéieren.

Installéiere MySQL a PHP an Debian 11

1. Dësen éischten Deel wäert Debian als MySQL, a PHP Server beschreiwen. De Linux Segment vum LAMP soll scho gemaach ginn andeems Dir Debian 11 installéiert duerch den folgenden Artikel op TecMint:

  • Eng Frësch Installatioun vun Debian 11 Bullseye

Wann Debian fäerdeg ass, ass et elo Zäit fir déi néideg Software mat dem 'apt' Meta-Packager z'installéieren.

$ sudo apt install mariadb-server php libapache2-mod-php php-zip php-mbstring php-cli php-common php-curl php-xml php-mysql

2. Nodeems d'MySQL- an d'PHP-Installatioun fäerdeg ass, gëtt et dacks recommandéiert d'MySQL-Installatioun mat der Hëllef vun mysql_secure_installation ze sécheren.

Wann Dir de Kommando ënnen ausféiert, freet de Benotzer de Root-Passwuert ze setzen an d'Saachen ze läschen wéi anonyme Benotzer, Testdatenbanken, a Remote Root Benotzer Login op d'SQL Datebank ze läschen.

$ sudo mysql_secure_installation

3. Elo datt MySQL konfiguréiert ass, loosst eis viru goen fir e puer PHP-Basis-Astellunge fir dëse bestëmmte Server ze maachen. Obwuel et eng Rëtsch Astellunge sinn, déi fir PHP konfiguréiert kënne ginn, wäerte mir e puer Basis maachen, déi meeschtens ëmmer gebraucht ginn.

Open php Konfiguratiounsdatei ass op /etc/php/7.4/apache2/php.ini.

$ sudo vi /etc/php/7.4/apache2/php.ini

Sicht elo no der String memory_limit a erhéicht d'Limite no Ären Uwendungsbedierfnesser.

Eng aner wichteg Astellung fir z'iwwerpréiwen ass d'max_execution_time an erëm als Standard gëtt se op 30 gesat. Wann eng Applikatioun méi erfuerdert, kann dës Astellung geännert ginn.

Zu dësem Zäitpunkt sinn MySQL a PHP5 prett fir Siten ze hosten. Elo ass et Zäit Apache2 ze konfiguréieren.

Installéieren a konfiguréieren Apache2

4. Elo ass et Zäit fir Apache 2 ze konfiguréieren fir d'Konfiguratioun vum LAMP Server fäerdeg ze maachen. Den éischte Schrëtt fir d'Apache2 ze konfiguréieren ass d'Software z'installéieren mam apt Meta-Packager.

$ sudo apt install apache2

Dëst wäert all déi néideg Dateien an Ofhängegkeete fir Apache2 installéieren.

Eemol installéiert ass den Apache Webserver erop an déngt eng Standard Websäit. Et gi verschidde Weeër fir ze bestätegen datt den Apache Webserver op a leeft. Déi einfachst Optioun ass de lsof Utility ze benotzen:

$ sudo lsof -i :80

Déi aner Optioun ass einfach op d'IP Adress vum Webserver ze navigéieren. Wann Dir eng Standardinstallatioun vun Debian ugeholl, gëtt de System wahrscheinlech opgestallt fir DHCP ze benotzen fir automatesch eng IP Adress ze kréien.

Fir d'IP Adress vum Server ze bestëmmen, kann ee vun zwee Utilities benotzt ginn. Entweder Utility funktionnéiert an dëser Situatioun.

$ ip show addr			[Shown below in red]
$ ifconfig			[Shown below in green]

Egal wéi en Utility benotzt gëtt, kann d'IP Adress erhalen an e Webbrowser op engem Computer am selwechte Netz aginn fir ze bestätegen datt Apache d'Standardsäit weist.

http://IP-Address

Zu dësem Zäitpunkt ass Apache op a lafen. Iwwerdeems d'Debian Standard Säit eng flashy Websäit ass, wëllen déi meescht Benotzer eppes Custom hosten. Déi nächst Schrëtt ginn duerch d'Astellung vun Apache 2 fir eng aner Websäit ze hosten.

Hosting Multiple Websäite mat Apache an Debian

5. Debian huet e puer nëtzlech Utilities verpackt fir béid Siten a Moduler ze managen. Ier Dir duerchgoe wéi Dir dës Utilities benotzt, ass et wichteg d'Funktiounen ze verstoen déi se déngen.

  • a2ensite: Dësen Utility gëtt benotzt fir eng Websäit z'aktivéieren nodeems déi entspriechend Konfiguratiounsdatei erstallt gouf.
  • a2dissite: Dësen Utility gëtt benotzt fir eng Websäit auszeschalten andeems Dir d'Konfiguratiounsdatei vun der Websäit spezifizéiert.
  • a2enmod: Dësen Utility gëtt benotzt fir extra Apache2 Moduler z'aktivéieren.
  • a2dismod: Dësen Utility gëtt benotzt fir extra Apache2 Moduler auszeschalten.
  • a2query: Dësen Utility kann benotzt ginn fir Informatiounen iwwer Siten ze sammelen déi aktuell aktivéiert sinn.

Als éischt loosst eis e bësse Erfahrung mat den éischten zwee sammelen. Zënter Apache 2 ass momentan d''Standard Websäit'host, loosst eis virgoen an se mat a2dissite auszeschalten.

$ sudo a2dissite 000-default.conf

Dëse Kommando deaktivéiert d'Default Apache Websäit déi am uewe genannte Screenshot gesi gëtt. Wéi och ëmmer, fir datt all Ännerungen a Kraaft trieden, muss d'Apache 2 Konfiguratioun nei geluede ginn.

$ sudo systemctl reload apache2

Dëse Kommando wäert den Apache 2 instruéieren fir déi aktivéiert/behënnert Siten ze aktualiséieren déi et am Moment ass. Dëst kann bestätegt ginn andeems Dir probéiert nach eng Kéier mat der IP Adress vum Webserver ze verbannen an ze bemierken datt näischt ugewise gëtt (e puer Computere wäerten d'Informatioun cache, wann d'Maschinn nach ëmmer d'Standard Websäit weist nodeems déi zwee virdrun Kommandoen ausgeführt sinn, probéiert de Web ze läschen- Browser Cache). Eng aner Optioun fir ze bestätegen datt de Site net méi aktivéiert ass ass d'a2query Utility ze benotzen.

$ sudo a2query -s

Et gëtt vill geschitt an dësem Screenshot also loosst eis d'Saachen ofbriechen.

  • Déi gréng Këscht uewendriwwer ass a2query -s déi den Apache 2 instruéiert fir ze soen wéi eng Säiten am Moment zerwéiert ginn.
  • Déi giel Këscht ass a2dissite 000-default.conf gefollegt vum Service apache2 reload. Dës zwee Kommandoen instruéieren Apache 2 fir den Default Site auszeschalten an dann déi aktiv/inaktiv Siten nei lueden.
  • Déi rout Këscht gëtt a2query -s erëm erausginn, awer bemierkt datt dës Kéier Apache reagéiert datt näischt zerwéiert gëtt.

Loosst eis elo duerch en net-Standard Site erstellen. Den éischte Schrëtt ass fir op den Apache 2 Konfiguratiounsverzeichnis ze wiesselen deen /etc/apache2 ass mat der CD Utility.

$ cd /etc/apache2

Et gi verschidde wichteg Dateien an Verzeichnisser an dësem Verzeechnes, awer fir Kuerzegkeet ginn nëmmen d'Noutwendegkeete hei ofgedeckt.

Déi éischt Saach fir ze maachen wann Dir en neie Site opstellt ass eng nei Konfiguratiounsdatei am Verzeechnes 'Site verfügbar' ze kreéieren. Ännert Verzeichnisser an de Verzeichnis 'Site verfügbar' an erstellt dann eng nei Konfiguratiounsdatei.

$ cd sites-available
$ sudo cp 000-default.conf tecmint-test-site.conf

Dëst kopéiert d'Konfiguratioun vum Standard Site an déi nei Site Konfiguratiounsdatei fir weider Ännerung. Öffnen déi nei Sitekonfiguratiounssäit mat engem Texteditor.

$ sudo vi tecmint-test-site.conf

Bannent dëser Datei gëtt et eng ganz wichteg Linn fir eng Websäit gehost ze kréien, déi Linn ass d''DocumentRoot'Linn. Dës Linn erzielt Apache wou déi néideg Webdateien sinn datt et soll déngen wann Ufroe fir speziell Ressourcen erakommen.

Fir de Moment gëtt dës Linn op e Verzeechnes gesat, deen net existéiert, awer kuerz a wäert eng einfach Websäit enthalen fir dësen Debian Server ze weisen.

DocumentRoot /var/www/tecmint

Späichert d'Ännerunge vun dëser Datei a gitt aus dem Texteditor.

Elo muss de Verzeechnes vun deem Apache 2 just gesot gouf fir Dateien ze déngen, erstallt a mat Dateien populéiert. Wärend dësen Artikel HTML Dateien funktionnéiert, ass et méiglecherweis net genuch Zäit fir duerchzegoen wéi een eng voll funktionéierend Websäit erstellt an dee Prozess dem Lieser léisst.

Also loosst eis den Verzeechnes fir Apache erstellen fir ze déngen an eng Basis HTML Websäit derbäi ze addéieren genannt 'index.html'.

$ sudo mkdir /var/www/tecmint
$ touch /var/www/tecmint/index.html
$ echo “It's ALIVE!” >> /var/www/tecmint/index.html

Déi uewe genannte Kommandoen erstellen en neie Verzeechnes mam Numm 'tecmint'wéi och eng nei Datei mam Numm 'index.html'am Tecmint Verzeichnis.

Den Echo Kommando setzt e puer Text an dës Datei sou datt et tatsächlech eppes am Webbrowser weist wann Apache d'Websäit servéiert.

Notiz: D'Säit erstallt fir dësen Tutorial vum Auteur gëtt anescht ugewisen! Elo benotzt d'Befehle virdrun diskutéiert, Apache muss gesot ginn fir dëst neit HTML Dokument ze déngen.

$ sudo a2ensite tecmint-test-site.conf
$ sudo systemctl reload apache2
$ sudo a2query -s tecmint-test-site.conf

De leschte Kommando hei uewen wäert einfach bestätegen datt Apache2 wierklech déi nei erstallt Websäit servéiert. Zu dësem Zäitpunkt, navigéiert e Webbrowser op d'IP Adress vum Server erëm a kuckt ob déi nei erstallt Websäit ugewise gëtt (erëm Computeren gären Daten Cache an als solch e puer Erfrëschunge kënnen néideg sinn fir déi nei Websäit ze kréien).

Wann déi nei erstallt Et ass ALIVE!!! Site weist op, dann ass Apache 2 erfollegräich konfiguréiert a weist d'Websäit.

Gratulatioun! Och wann dëst en einfache Setup ass deen e Linux LAMP Server virbereet fir e Site ze hosten, ginn et vill méi komplex Saachen déi kënne gemaach ginn an d'Konfiguratioun hänkt immens vun deem Ennziel of.