Hvordan installere og konfigurere LEMP på Debian 8 (Jessie)


En av de vanligste grunnene til å sette opp et Linux-system er for å være vert for et nettsted(er). I følge NetCraft.coms undersøkelse fra februar 2016 av de 1 million travleste nettstedene i verden, kjører omtrent 15,60 % av dem på Nginx.

Sammen med den høye sannsynligheten for at det er en slags dynamisk innhold som blir servert, samt en slags databasebackend for nettstedene, muligheten for en administrator til å kunne sette opp LEMP-servere er veldig gunstig for arbeidssøkere og arbeidsgivere a-like!

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

Hva er LEMP Server?

Flott spørsmål! Som med de fleste ting i dataverdenen er LEMP akronym for Linux, Nginx, MySQL og PHP.

Dette akronymet brukes ofte for å referere til programvaresamlinger på en webserver. Denne opplæringen vil først gå gjennom konfigureringen av LEMP, spesielt MySQL og PHP.

Før du skiller inn i konfigurasjonsaspektene til systemene, er det viktig å vite om Nginx.

Hva er Nginx?

Nginx begynte sitt liv i 2002 da dataverdenen begynte å innse at nettsteder med ti tusen eller flere samtidige tilkoblinger var en veldig reell mulighet, og som et resultat ble Nginx opprettet fra bunnen av for å løse dette problemet.

Installere og konfigurere MySQL og PHP

1. Denne første delen vil dekke Debian som en MySQL- og PHP-server. Linux-delen av LEMP-serveren bør allerede gjøres ved å installere Debian! Skulle det imidlertid være behov for en veiledning for hvordan du installerer Debian, vennligst les følgende artikkel om TecMint:

  1. Installasjon av Debian 8 Jessie

Når Debian er klar til å gå, kan prosessen med å installere resten av den nødvendige programvaren fullføres med en rask kommando ved å bruke 'apt'-metapakken.

apt-get install mysql-server-5.5 php5-mysql php5

Avhengig av systemmaskinvaren og Internett-tilkoblingen, kan denne prosessen ta litt tid. Når dette skrives, kreves en fersk Debian Jessie-installasjon med alle oppdateringer påført ca. 70MB med arkiver fra depotene (ikke så ille med tanke på hva serveren skal gjøre når ting er ferdige)! Under installasjonsprosessen kan systemet be brukeren om å angi et SQL root-brukerpassord. Dette er annerledes enn den faktiske root-brukerens passord, og for sikkerhets skyld bør det sannsynligvis forbli annerledes.

2. Når apt er ferdig med å installere all programvaren, vil de grunnleggende tjenestene være oppe og kjøre. Men å stoppe her ville gi en veldig kort opplæring! Så la oss dykke litt mer inn i konfigurasjonen av hver av programvaredelene som er installert fra MySQL.

3. Etter MySQL-installasjon, anbefales det ofte at SQL-serveren har noe grunnleggende husholdning utført på standardinstallasjonen. Dette gjøres enkelt med verktøyet mysql_secure_installation.

Denne kommandoen kjøres ganske enkelt fra kommandolinjen og vil be brukeren om å fjerne ting som anonyme brukere, teste databaser og fjerne muligheten for ekstern rotbrukerpålogging til SQL-databasen.

mysql_secure_installation

Denne kommandoen vil starte en interaktiv ledetekst som vil stille spørsmål angående emnene ovenfor. Siden apt allerede har bedt om et MySQL root-passord, må dette passordet angis for å gjøre endringer. Siden root-passordet allerede var satt, kan Nei være svaret på spørsmålet om å endre root-passordet på MySQL-serveren.

4. Det neste settet med spørsmål vil være angående anonyme brukere, «test»-databasen og root-tilgang til databasen eksternt. Det er vanligvis trygt å svare Ja på alle disse spørsmålene med mindre det er en spesiell grunn til at oppsettet trenger et av disse alternativene intakt.

MERK: Det kan oppstå en feil om manglende sletting av en database kalt 'test', ikke bekymre deg for dette da databasen kan eller eksisterer kanskje ikke, og uansett vil skriptet fortsette å gjøre det som trengs.

På dette tidspunktet er MySQL klar til bruk. Uten å vite hvilke databaser eller brukere som vil være nødvendig, er det vanskelig å gjøre mye mer konfigurasjon. Imidlertid vil de fleste nettsteder ofte automatisk opprette de nødvendige databasene og brukerne når programvaren er installert. Dette er imidlertid veldig programvareavhengig og vil kreve et raskt blikk over programvarens README-filer eller installasjonsinstruksjoner.

5. Nå som MySQL er konfigurert, la oss gå videre og konfigurere noen grunnleggende PHP-innstillinger for denne bestemte serveren. Selv om det er tonnevis av innstillinger som kan manipuleres for PHP, er det bare noen få grunnleggende som nesten alltid bør endres. PHP-konfigurasjonsfilen ligger på /etc/php5/fpm/php.ini. Åpne denne filen med et hvilket som helst tekstredigeringsprogram.

nano /etc/php5/fpm/php.ini

Bruk nanos søkeevner ctrl+w, søk etter strengen «memory_limit» (utelat anførselstegn). På en standardinstallasjon vil denne linjen allerede være satt til 128M, men hvis en applikasjon trenger mer, kan denne linjen endres for å imøtekomme kravene.

Et annet viktig alternativ å sjekke er «max_execution_time» og igjen som standard vil den bli satt til 30. Hvis en applikasjon krever mer, kan dette alternativet endres. Noen mennesker foretrekker også å sette opp php-logging til en spesiell fil/katalog også. Skulle dette være et krav, søk etter strengen «error_log = » og fjern deretter kommentarfeltet ved å fjerne semikolonet som vanligvis er der som standard.

På dette tidspunktet kan en verdi for loggfilen legges til på slutten av linjen. Pass på at banen finnes på systemet. Når du er ferdig med å gjøre nødvendige endringer i php.ini-filen, lagrer du endringene og går ut av tekstredigeringsprogrammet. På dette tidspunktet er MySQL og PHP5 klare til å begynne å være vert for nettsteder. Nå er det på tide å konfigurere Nginx.

Installere og konfigurere Nginx

6. Nginx (motor X) er en alternativ og veldig kraftig nettserver. Denne delen av denne opplæringen vil gå gjennom å sette opp en nettside som Nginx skal være vert for. Det første trinnet for å konfigurere Nginx er å installere de nødvendige pakkene ved å bruke «apt»-verktøyet.

apt-get install nginx

Forutsatt at alle avhengigheter er oppfylt, bør navigering til serverens IP-adresse i en nettleser gi standard Nginx-nettsted.

MERK: Det er tilfeller der serveren ikke starter automatisk etter installasjon av Nginx. Hvis navigering til serverens IP-adresse i en nettleser ikke gir siden nedenfor, utfør følgende kommando for å sikre at Nginx er startet.

service nginx start

Nginx er nå vert for standardsiden. Mens Debians standardside er et prangende nettsted, vil de fleste brukere ønske å være vert for noe tilpasset.

7. De neste trinnene vil gå gjennom å sette opp Nginx til å være vert for et annet nettsted. Nginx, omtrent som Apache 2, har sin egen konfigurasjonskatalog plassert på /etc/nginx. Bytt til denne katalogen ved hjelp av cd-verktøyet.

cd /etc/nginx

For denne opplæringen er det flere viktige filer og kataloger for å sette opp et nettsted ved hjelp av Nginx. De to første katalogene som er viktige er «sites-available»- og «sites-enabled»-katalogene. På samme måte som Apache 2, bruker Nginx konfigurasjonsfiler for hvert nettsted i katalogen som er tilgjengelig for nettsteder, som når de er aktive er symbolsk koblet i den nettstedaktiverte katalogen.

Det første som trengs for å bli kvitt standardsiden er å fjerne den symbolske lenken i nettsteder-aktiverte.

rm sites-enabled/default

8. Nå må en ny sidekonfigurasjonsfil opprettes og kobles til for at Nginx skal kunne betjene siden. Oppretting av konfigurasjonsfilen for nettstedet kan forenkles ved å kopiere og endre standardkonfigurasjonen for nettstedet.

cp sites-available/default sites-available/tecmint-test

Dette vil opprette en ny sidekonfigurasjonsfil å jobbe med. Åpne denne filen i et tekstredigeringsprogram for å endre banen som Nginx skal levere filer.

nano sites-available tecmint-test

Innenfor denne filen er det flere viktige alternativer å endre for at Nginx skal betjene et nettsted. Den første er linjen som begynner med «root», da denne linjen definerer hvor Nginx skal levere filer for dette bestemte nettstedet.

Denne opplæringen vil la den stå som standard "/var/www/html", og bare plassere html-filene som skal serveres i denne katalogen. Pass imidlertid på å endre denne banen hvis det skal være flere nettsteder eller en tilpasset konfigurasjon på denne serveren.

Den neste viktige linjen er «indeks»-linjen. Siden denne artikkelen handler om LEMP-installasjon og et nettsted potensielt kan tjene php-sider, må Nginx informeres om at standardsiden kan være en php-side. For å gjøre dette, legg til «index.php» på slutten av indekslisten over filer.

Før du aktiverer det nye nettstedet, må det være noe der for Nginx å tjene. Standardindekssiden eksisterer allerede, men for å bekrefte at et annet nettsted fungerer, la oss erstatte innholdet på standardsiden med noe annet.

echo “It's ALIVE!” > /var/www/html/index.html

9. Neste trinn er å aktivere det nye nettstedet ved å koble konfigurasjonsfilen som nettopp er opprettet, til nettsteder-aktiverte-katalogen. Dette oppnås enkelt ved å bruke ln-kommandoen og deretter laste inn Nginx-konfigurasjonen på nytt med tjenesteverktøyet.

ln -s /etc/nginx/sites-available/tecmint-test sites-enabled/tecmint-test
service nginx reload

På dette tidspunktet bør Nginx servere den nye 'enkle' nettsiden. Dette kan bekreftes ved å navigere til serverens IP-adresse via en nettleser!

Igjen, denne artikkelen mente å være veldig enkle konfigurasjoner av LEMP. De fleste nettsteder vil kreve ytterligere konfigurasjon for alle involverte deler, men konfigurasjonsalternativene kan variere i tusenvis! Lykke til med hvilket oppsett som er valgt for å være vert for nettsteder.