Hvordan installere og konfigurere LAMP på Debian 11 (Bullseye)


En av de viktigste tingene for å sette opp en Linux-server er for å distribuere et nettsted(er). I følge NetCraft.coms undersøkelse fra februar 2022 av de 1 million travleste nettstedene i verden, kjører omtrent 23,44 % av dem på Apache.

Denne opplæringen vil gå gjennom det grunnleggende om å installere og konfigurere en Linux-server (spesielt Debian 11 Bullseye) for å fungere som en LAMP-server.

Hva er LAMP Server?

I dataverdenen LAMP akronym for Linux (her bruker Debian 11), Apache, MySQL, og PHP (LAMPE). LAMP brukes ofte til å referere til programvarestabler (spesielt MySQL og PHP) på en nettserver.

Før du dykker inn i konfigurasjonsaspektene, er det viktig å vite om Apache-nettserveren.

Hva er Apache Web Server?

Apache var en av de «original» nettserverne og sporer begynnelsen tilbake til 1995. Apache er fortsatt mye brukt i dag og drar nytte av lang levetid, høye mengder dokumentasjon og tonnevis av moduler for å legge til fleksibilitet.

Installere MySQL og PHP i Debian 11

1. Denne første delen vil beskrive Debian som en MySQL- og PHP-server. Linux-segmentet til LAMP bør allerede gjøres ved å installere Debian 11 ved følgende artikkel om TecMint:

  • En ny installasjon av Debian 11 Bullseye

Når Debian er klar, er det på tide å installere den nødvendige programvaren ved å bruke 'apt'-metapakken.

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

2. Etter at installasjonen av MySQL og PHP er fullført, anbefales det ofte å sikre MySQL-installasjonen ved å bruke mysql_secure_installation verktøyet.

Når du utfører kommandoen nedenfor, vil den be brukeren angi root-passordet og fjerne ting som anonyme brukere, testdatabaser og fjerne ekstern rotbrukerpålogging til SQL-databasen.

sudo mysql_secure_installation

3. Nå som MySQL er konfigurert, la oss gå videre for å lage noen grunnleggende PHP-innstillinger for denne bestemte serveren. Selv om det er en haug med innstillinger som kan konfigureres for PHP, vil vi gjøre noen grunnleggende innstillinger som stort sett alltid er nødvendige.

Åpen php-konfigurasjonsfil ligger på /etc/php/7.4/apache2/php.ini.

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

Søk nå etter strengen «memory_limit» og øk grensen i henhold til applikasjonens behov.

En annen viktig innstilling å sjekke er «max_execution_time» og igjen som standard, vil den bli satt til 30. Hvis en applikasjon krever mer, kan denne innstillingen endres.

På dette tidspunktet er MySQL og PHP5 klare til å begynne å være vert for nettsteder. Nå er det på tide å konfigurere Apache2.

Installere og konfigurere Apache2

4. Nå er det på tide å konfigurere Apache 2 for å fullføre konfigurasjonen av LAMP-serveren. Det første trinnet for å konfigurere Apache2 er å faktisk installere programvaren ved å bruke apt-metapakken.

sudo apt install apache2

Dette vil installere alle nødvendige filer og avhengigheter for Apache2.

Når den er installert, vil Apache-nettserveren være oppe og vise en standard nettside. Det er flere måter å bekrefte at Apache-nettserveren er oppe og kjører på. Det enkleste alternativet er å bruke lsof-verktøyet:

sudo lsof -i :80

Det andre alternativet er å ganske enkelt navigere til IP-adressen til webserveren. Forutsatt en standardinstallasjon av Debian, vil systemet sannsynligvis bli satt opp til å bruke DHCP for å få en IP-adresse automatisk.

For å bestemme IP-adressen til serveren, kan ett av to verktøy brukes. Begge verktøyene vil fungere i denne situasjonen.

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

Uavhengig av hvilket verktøy som brukes, kan den oppnådde IP-adressen legges inn i en nettleser på en datamaskin på samme nettverk for å bekrefte at Apache viser standardsiden.

http://IP-Address

På dette tidspunktet er Apache oppe og går. Mens Debians standardside er et prangende nettsted, vil de fleste brukere ønske å være vert for noe tilpasset. De neste trinnene vil gå gjennom å sette opp Apache 2 for å være vert for et annet nettsted.

Hosting av flere nettsteder med Apache i Debian

5. Debian har pakket noen nyttige verktøy for å administrere både nettsteder og moduler. Før du går gjennom hvordan du bruker disse verktøyene, er det viktig å forstå funksjonene de tjener.

  • a2ensite: Dette verktøyet brukes til å aktivere et nettsted etter at den riktige konfigurasjonsfilen er opprettet.
  • a2dissite: Dette verktøyet brukes til å deaktivere et nettsted ved å spesifisere nettstedets konfigurasjonsfil.
  • a2enmod: Dette verktøyet brukes til å aktivere ekstra Apache2-moduler.
  • a2dismod: Dette verktøyet brukes til å deaktivere ekstra Apache2-moduler.
  • a2query: Dette verktøyet kan brukes til å samle informasjon om nettsteder som er aktivert for øyeblikket.

La oss først samle litt erfaring med de to første. Siden Apache 2 er vert for «standardnettsiden», la oss gå videre og deaktivere den med a2dissite.

sudo a2dissite 000-default.conf

Denne kommandoen vil deaktivere standard apache-nettstedet sett i skjermbildet ovenfor. Men for at endringer skal tre i kraft, må Apache 2-konfigurasjonen lastes inn på nytt.

sudo systemctl reload apache2

Denne kommandoen vil instruere Apache 2 til å oppdatere de aktiverte/deaktiverte sidene som den for øyeblikket er vert for. Dette kan bekreftes ved å forsøke å koble til nettserverens IP-adresse igjen og merke at ingenting vises (noen datamaskiner vil hurtigbufre informasjon, hvis maskinen fortsatt viser standardnettstedet etter at de to foregående kommandoene er kjørt, prøv å tømme nettet- nettleserbuffer). Et annet alternativ for å bekrefte at nettstedet ikke lenger er aktivert, er å bruke a2query-verktøyet.

sudo a2query -s

Det er mye som skjer i dette skjermbildet, så la oss bryte ned ting.

  • Den grønne boksen ovenfor er a2query -s som instruerer Apache 2 om å oppgi hvilke nettsteder som for øyeblikket betjenes.
  • Den gule boksen er a2dissite 000-default.conf etterfulgt av tjenesten apache2 reload. Disse to kommandoene instruerer Apache 2 om å deaktivere standardsiden og deretter laste inn de aktive/inaktive sidene på nytt.
  • Den røde boksen blir a2query -s utstedt igjen, men legg merke til at denne gangen svarer Apache at ingenting blir servert.

La oss gå gjennom å lage et ikke-standardnettsted nå. Det første trinnet er å bytte til Apache 2-konfigurasjonskatalogen som er /etc/apache2 ved å bruke cd-verktøyet.

cd /etc/apache2

Det er flere viktige filer og kataloger i denne katalogen, men for korthets skyld vil bare nødvendighetene bli dekket her.

Det første du må gjøre når du setter opp et nytt nettsted, er å opprette en ny konfigurasjonsfil i katalogen «sites-available». Endre kataloger til «sites-available»-katalogen og lag deretter en ny konfigurasjonsfil.

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

Dette vil kopiere konfigurasjonen fra standardstedet til den nye konfigurasjonsfilen for nettstedet for ytterligere endring. Åpne den nye sidekonfigurasjonssiden med et tekstredigeringsprogram.

sudo vi tecmint-test-site.conf

Innenfor denne filen er det en veldig viktig linje for å få et nettsted vert, den linjen er «DocumentRoot»-linjen. Denne linjen forteller Apache hvor de nødvendige nettfilene er som den skal tjene når forespørsler kommer inn for bestemte ressurser.

Foreløpig vil denne linjen bli satt til en katalog som ikke eksisterer, men vil snart inneholde et enkelt nettsted for denne Debian-serveren å vise.

DocumentRoot /var/www/tecmint

Lagre endringene i denne filen og gå ut av tekstredigering.

Nå må katalogen som Apache 2 nettopp ble bedt om å betjene filer fra, opprettes og fylles ut med filer. Selv om denne artikkelen vil fungere HTML-filer, er det muligens ikke nok tid til å gå gjennom hvordan du oppretter et fullt fungerende nettsted og overlater denne prosessen til leseren.

Så la oss lage katalogen for apache å tjene og legge til en grunnleggende html-nettside kalt «index.html».

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

Kommandoene ovenfor vil opprette en ny katalog kalt 'tecmint', samt en ny fil kalt 'index.html' i tecmint-katalogen.

Ekko-kommandoen vil plassere litt tekst i den filen slik at den faktisk vil vise noe i nettleseren når Apache betjener nettstedet.

Merk: Siden opprettet for denne opplæringen av forfatteren vil vises annerledes! Ved å bruke kommandoene tidligere diskutert, må Apache få beskjed om å tjene dette nye html-dokumentet.


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

Den siste kommandoen ovenfor vil ganske enkelt bekrefte at Apache2 faktisk betjener det nyopprettede nettstedet. På dette tidspunktet, naviger en nettleser til serverens IP-adresse igjen og se om det nyopprettede nettstedet vises (igjen datamaskiner liker å bufre data, og som sådan kan det være nødvendig med flere oppdateringer for å få den nye nettsiden).

Hvis det nyopprettede «It's ALIVE!!!»-siden dukker opp, har Apache 2 blitt konfigurert og viser nettstedet.

Gratulerer! Selv om dette er et enkelt oppsett som forbereder en Linux LAMP-server til å være vert for et nettsted, er det langt mer komplekse ting som kan gjøres, og konfigurasjonen avhenger i stor grad av det endelige målet.