Hvordan til Å Installere Linux, Apache, MySQL, PHP (LAMP) stabelen på Ubuntu 18.04

posted in: Articles | 0

En tidligere versjon av denne opplæringen var skrevet av Brennan Bearnes.

Innledning

EN «LAMPE» stack er en gruppe av open-source programvare som installeres vanligvis sammen for å aktivere en server til å være vert for dynamiske nettsteder og web-applikasjoner. Dette begrepet er faktisk et akronym som representerer operativsystemet Linux med Apache web server. Siden dataene lagres i en MySQL database, og dynamisk innhold er behandlet med PHP.

I denne guiden vil vi installere en LAMPE bunken på en Ubuntu-18.04 server.,

Forutsetninger

for å fullføre denne opplæringen, vil du trenger for å ha en Ubuntu-18.04 serveren med en ikke-root sudo-aktivert bruker-konto og en grunnleggende brannmur. Dette kan bli konfigurert ved hjelp av vår første server setup guide for Ubuntu 18.04.

Trinn 1 — Installere Apache og Oppdatere Brannmur

Apache web server er blant de mest populære web-serverne i verden. Det er godt dokumentert og har vært i utbredt bruk for mye av historien til nettet, noe som gjør det til et flott standard valget for å arrangere en nettside.,

Installere Apache bruker Ubuntu package manager, apt:

  • sudo apt update
  • sudo apt install apache2

Siden dette er en sudo – kommandoen, disse operasjonene er utført med root-rettigheter. Det vil spørre deg om din vanlige bruker passord for å verifisere din intensjoner.

Når du har angitt passordet, apt vil fortelle deg hvilke pakker som er det planer om å installere og hvor mye ekstra diskplass de vil ta opp. Trykk på Y og trykk ENTER for å fortsette, og installasjonen vil fortsette.,

Juster-Brannmuren for å Tillate Internett-Trafikk

Neste, forutsatt at du har fulgt den første server oppsett instruksjoner og aktivert UFW brannmur, kontrollerer du at brannmuren tillater HTTP-og HTTPS-trafikk.,ld vise at den gjør det mulig trafikk til porter 80 og 443:

  • sudo ufw app info "Apache Full"
Output
Profile: Apache FullTitle: Web Server (HTTP,HTTPS)Description: Apache v2 is the next generation of the omnipresent Apache webserver.Ports: 80,443/tcp

Tillate innkommende HTTP-og HTTPS-trafikk for denne profilen:

  • sudo ufw allow in "Apache Full"

Du kan gjøre stikkprøver rett bort for å kontrollere at alt gikk som planlagt ved å besøke din server offentlig IP-adresse i nettleseren din (se merknad under den neste overskriften for å finne ut hva den offentlige IP-adressen hvis du ikke har denne informasjonen allerede):

You will see the default Ubuntu 18.04 Apache web page, which is there for informational and testing purposes. It should look something like this:

If you see this page, then your web server is now correctly installed and accessible through your firewall.

How To Find your Server’s Public IP Address

If you do not know what your server’s public IP address is, there are a number of ways you can find it. Usually, this is the address you use to connect to your server through SSH.

There are a few different ways to do this from the command line. First, you could use the iproute2 tools to get your IP address by typing this:

  • ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

Dette vil gi deg to eller tre linjer tilbake., De er alle riktige adresser, men datamaskinen kan bare være i stand til å bruke en av dem, så føl deg fri til å prøve hver og en.

En annen metode er å bruke curl verktøy til å ta kontakt med en ekstern part å fortelle dere hvordan den ser din server. Dette er gjort ved å spørre om en bestemt server hva din IP adresse er:

  • sudo apt install curl
  • curl http://icanhazip.com

Uansett hvilken metode du bruker for å få din IP-adresse, skriver du den inn i nettleserens adressefelt for å vise standard Apache side.,

Trinn 2 Installere MySQL

Nå som du har din web server er oppe og kjører, det er på tide å installere MySQL. MySQL er en database management system. I utgangspunktet, det vil organisere og gi tilgang til databaser hvor ditt nettsted kan lagre informasjon.

Igjen, bruk apt for å skaffe og installere denne programvaren:

  • sudo apt install mysql-server

Merk: I dette tilfellet, du trenger ikke å kjøre sudo apt update før kommando. Dette er fordi du nylig kjørte det i kommandoene ovenfor for å installere Apache., Pakken indeks på datamaskinen din bør allerede være up-to-date.

Denne kommandoen, vil også vise deg en liste over pakker som skal installeres, sammen med hvor mye diskplass de vil ta opp. Skriv inn Y for å fortsette.

Når installasjonen er fullført, kan du kjøre en enkel security skript som kommer forhåndsinstallert med MySQL som vil fjerne noen farlige standarder og låse tilgang til din database system. Starte den interaktive skript ved å kjøre:

  • sudo mysql_secure_installation

Dette vil spørre deg om du ønsker å konfigurere VALIDATE PASSWORD PLUGIN.,

Merk: hvis du Aktiverer denne funksjonen er noe av en dom samtale. Hvis aktivert, passord som ikke samsvarer med de angitte kriterier vil bli avvist av MySQL med en feil. Dette vil forårsake problemer hvis du bruker et svakt passord i forbindelse med programvare som automatisk konfigurerer MySQL legitimasjon, som for eksempel Ubuntu-pakker for phpMyAdmin. Det er trygt å forlate validering deaktivert, men du bør alltid bruke sterke, unike passord for database legitimasjon.

Svar Y ja, eller noe annet for å fortsette uten å aktivere.,

VALIDATE PASSWORD PLUGIN can be used to test passwordsand improve security. It checks the strength of passwordand allows the users to set only those passwords which aresecure enough. Would you like to setup VALIDATE PASSWORD plugin?Press y|Y for Yes, any other key for No:

Hvis du svarer «ja», vil du bli bedt om å velge et nivå av passord validering. Husk at hvis du skriver inn 2 for de sterkeste nivå, vil du få en feilmelding når du prøver å angi passordet som ikke inneholder tall, store og små bokstaver og spesialtegn, eller som er basert på vanlige ord fra ordboken.

There are three levels of password validation policy:LOW Length >= 8MEDIUM Length >= 8, numeric, mixed case, and special charactersSTRONG Length >= 8, numeric, mixed case, special characters and dictionary filePlease enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1

Uansett om du valgte å sette opp VALIDATE PASSWORD PLUGIN, serveren din vil du neste spørre deg om å velge og bekrefte et passord for MySQL-root-brukeren., Dette er en administrativ konto i MySQL som har økt privilegier. Tenk på det som ligner på root-kontoen din for serveren i seg selv (selv om du konfigurere nå er en MySQL-kontoen). Sørg for at dette er en sterke, unike passord, og ikke la det stå tomt.

Hvis du har aktivert passord validering, vil du bli vist passordet styrke for root-passordet du nettopp har angitt, og serveren vil spørre dersom du ønsker å endre passordet., Hvis du er fornøyd med din nåværende passord, skriver du inn N for «ingen» ved ledeteksten:

Using existing password for root.Estimated strength of the password: 100Change the password for root ? ((Press y|Y for Yes, any other key for No) : n

For resten av spørsmålene, trykk på Y og trykk ENTER – tasten på hvert spørsmål. Dette vil fjerne noen anonyme brukere og test-database, kan du deaktivere ekstern root-passord, og legg disse nye reglene, slik at MySQL umiddelbart respekterer endringene du har gjort.

Merk at det i Ubuntu systemer som kjører MySQL 5.,7 (og senere versjoner), roten MySQL brukeren er satt til å godkjenne bruk av auth_socket plugin som standard snarere enn med et passord. Dette gir en større sikkerhet og brukervennlighet i mange tilfeller, men det kan også komplisere ting når du trenger å la et eksternt program (f.eks., phpMyAdmin) for å få tilgang til brukeren.

Hvis du ønsker å bruke et passord når du kobler til MySQL som root-bruker, vil du trenger å bytte sin godkjenning metode fra auth_socket til mysql_native_password., For å gjøre dette, åpner opp for MySQL prompt fra din terminal:

  • sudo mysql

Neste, sjekk ut hvilke pålitelighetskontroll-metoden hver av MySQL-brukerkontoer bruk med følgende kommando:

  • SELECT user,authentication_string,plugin,host FROM mysql.user;

I dette eksemplet, kan du se at root brukeren faktisk godkjenne bruk av auth_socket plugin. For å konfigurere root-kontoen din for å autentisere med et passord, kan du kjøre følgende ALTER USER – kommandoen., Sørg for å bytte password til et sterkt passord som du velger:

  • ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Så, kjør FLUSH PRIVILEGES som forteller server for å laste gi bord og sette nye endringene i kraft:

  • FLUSH PRIVILEGES;

Kontroller autentifikasjonsmetoder ansatt ved hver av brukerne på nytt for å bekrefte at roten ikke lenger godkjenner bruk av auth_socket plugin:

  • SELECT user,authentication_string,plugin,host FROM mysql.user;

Du kan se i dette eksemplet utgang på at rot-MySQL bruker nå godkjenner ved hjelp av et passord., Når du bekrefter dette på din egen server, kan du avslutte MySQL shell:

  • exit

På dette punktet, database-systemet er nå satt opp, og du kan flytte på å installere PHP, den siste komponenten i LAMP-stacken.

Trinn 3 — Installere PHP

PHP er den delen av oppsettet som vil prosessen kode for å vise dynamisk innhold. Det kan kjøre skript, koble til MySQL-databaser for å få informasjon, og siden behandlet innhold over til web-server for å vise.

igjen, utnytte apt system for å installere PHP., I tillegg inkluderer noen helper pakker denne tid, slik at PHP-kode som kan kjøres under Apache server og snakk med din MySQL database:

  • sudo apt install php libapache2-mod-php php-mysql

Dette bør installere PHP uten noen problemer. Vi kommer til å teste dette i et øyeblikk.

I de fleste tilfeller, vil du ønsker å endre måten at Apache serverer filer når en mappe er bedt om. I dag, hvis en bruker ber om en katalog fra serveren, Apache vil først se etter en fil som heter index.html., Vi ønsker å fortelle webserveren til å foretrekke PHP-filer over andre, så sørg for Apache se etter en index.php filen først.

for Å gjøre dette, skriver du inn denne kommandoen for å åpne dir.conf – filen i et tekstredigeringsprogram med root-rettigheter:

  • sudo nano /etc/apache2/mods-enabled/dir.conf

Det vil se ut som dette:

/etc/apache2/mods-aktivert/dir.conf
<IfModule mod_dir.c> DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm</IfModule>

Flytt PHP-index-fil (uthevet ovenfor) til første posisjon etter DirectoryIndex spesifikasjon, som dette:

/etc/apache2/mods-aktivert/dir.,conf
<IfModule mod_dir.c> DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm</IfModule>

Når du er ferdig, lagrer og lukker filen ved å trykke på CTRL+X. Bekreft lagre ved å skrive Y og trykk ENTER for å kontrollere fil-lagre posisjon.

Etter dette, må du starte Apache web-server for at endringene skal bli gjenkjent., Dette gjør du ved å skrive dette:

  • sudo systemctl restart apache2

Du kan også sjekke status på apache2 – tjeneste ved hjelp av systemctl:

  • sudo systemctl status apache2

Trykk Q for å avslutte denne statusen utgang.

for Å øke funksjonaliteten av PHP, du har muligheten til å installere noen ekstra moduler., Hvis du vil se tilgjengelige alternativer for PHP moduler og biblioteker, rør resultatene av apt search i less, en personsøker som lar deg bla gjennom produksjon av andre kommandoer:

  • apt search php- | less

Bruk piltastene til å bla opp og ned, og trykk på Q for å avslutte.

resultatene er alle komponentene som du kan installere. Det vil gi deg et kort beskrivelse av hver:

bandwidthd-pgsql/bionic 2.0.1+cvs20090917-10ubuntu1 amd64 Tracks usage of TCP/IP and builds html files with graphsbluefish/bionic 2.2.10-1 amd64 advanced Gtk+ text editor for web and software developmentcacti/bionic 1.1.38+ds1-1 all web interface for graphing of monitoring systemsganglia-webfrontend/bionic 3.6.1-3 all cluster monitoring toolkit - web front-endgolang-github-unknwon-cae-dev/bionic 0.0~git20160715.0.c6aac99-4 all PHP-like Compression and Archive Extensions in Gohaserl/bionic 0.9.35-2 amd64 CGI scripting program for embedded environmentskdevelop-php-docs/bionic 5.2.1-1ubuntu2 all transitional package for kdevelop-phpkdevelop-php-docs-l10n/bionic 5.2.1-1ubuntu2 all transitional package for kdevelop-php-l10n…:

for Å lære mer om hva hver modul gjør, du kan søke på internett for mer informasjon om dem., Alternativt kan du se på den lange beskrivelsen av pakken ved å skrive:

  • apt show package_name

Det vil være mye av produksjonen, med ett felt som heter Description som vil ha en lengre forklaring av funksjonalitet som modulen gir.,

For eksempel, for å finne ut hva som php-cli modulen gjør det, kan du skrive inn dette:

  • apt show php-cli

Sammen med en stor mengde annen informasjon, finner du noe som ser ut som dette:

Output
…Description: command-line interpreter for the PHP scripting language (default) This package provides the /usr/bin/php command interpreter, useful for testing PHP scripts from a shell or performing general shell scripting tasks. . PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. . This package is a dependency package, which depends on Ubuntu's default PHP version (currently 7.2).…

Hvis du, etter å forske, du bestemmer deg for at du ønsker å installere en pakke, kan du gjøre det ved hjelp av apt install kommando som du har gjort for annen programvare.,

Hvis du bestemt at php-cli er noe som du trenger, kan du skriv:

  • sudo apt install php-cli

Hvis du vil installere mer enn én modul, kan du gjøre det ved å liste hver og en, atskilt med et mellomrom, etter apt install – kommandoen, som dette:

  • sudo apt install package1 package2 ...

På dette punktet, din LAMPE stack er installert og konfigurert. Før du gjør noe annet, anbefaler vi at du setter opp en Apache virtuelle verten, der du kan lagre din server konfigurasjonen detaljer.,

Trinn 4 — Sette Opp Virtuelle Verter (Anbefales)

Når du bruker Apache web server, kan du bruke virtuelle verter (tilsvarende server blokker i Nginx) til å kapsle inn konfigurasjon detaljer og vert for mer enn ett domene fra en enkelt server. Vi vil sette opp et domene som heter ditt_domene, men du bør erstatte dette med ditt eget domenenavn. For å lære mer om å sette opp et domene navn med DigitalOcean, se vår Introduksjon til DigitalOcean DNS.

Apache på Ubuntu 18.,04 har en server og blokkerer som standard aktivert som er konfigurert til å tjene dokumenter fra /var/www/html – katalogen. Mens dette fungerer godt for et enkelt område, kan det bli uhåndterlig hvis du er vert for flere nettsteder. I stedet for å endre /var/www/html, la oss lage en katalog struktur innenfor /var/www for våre ditt_domene nettstedet ditt, forlater /var/www/html på plass som standard katalog for å bli servert hvis en klient forespørsel ikke samsvarer med noen andre nettsteder.,ditt_domene som følger:

sudo mkdir /var/www/your_domain

Neste, overdra eierskapet av katalogen med $USER miljø-variabelen:

  • sudo chown -R $USER:$USER /var/www/your_domain

tillatelsene for webområdet røtter skal være korrekt hvis du ikke har endret unmask verdi, men du kan sjekke dette ved å skrive:

  • sudo chmod -R 755 /var/www/your_domain

Neste, opprette et eksempel på index.html side ved hjelp av nano eller din favoritt editor:

  • nano /var/www/your_domain/index.html

Inne, legg til følgende eksempel HTML:

/var/www/ditt_domene/index.,html
<html> <head> <title>Welcome to Your_domain!</title> </head> <body> <h1>Success! The your_domain server block is working!</h1> </body></html>

Lagre og lukk filen når du er ferdig.

for Apache å tjene dette innholdet, er det nødvendig å opprette en virtuell vert-fil med riktig direktiver. I stedet for å endre standard konfigurasjonen ligger på /etc/apache2/sites-available/000-default.conf direkte, la oss lage en ny en på /etc/apache2/sites-available/your_domain.conf:

  • sudo nano /etc/apache2/sites-available/your_domain.conf

Lim inn i den følgende konfigurasjon blokk, som er lik standard, men oppdatert til vår nye katalog og domene navn:

/etc/apache2/sites-available/ditt_domene.,conf

legg Merke til at vi har oppdatert DocumentRoot til vår nye katalog og ServerAdmin til en e-post at ditt_domene administrator kan få tilgang til. Vi har også lagt til to direktiver: ServerName, som etablerer base domene som bør match for denne virtuelle verten definisjon, og ServerAlias, som definerer videre navn som bør kamp som om de var basen navn.

Lagre og lukk filen når du er ferdig.,

La oss aktivere fil med a2ensite verktøy:

  • sudo a2ensite your_domain.conf

Deaktiver standard nettstedet som er definert i 000-default.conf:

  • sudo a2dissite 000-default.conf

Neste, la oss teste for konfigurasjon feil:

  • sudo apache2ctl configtest

Du bør se følgende resultat:

Output
Syntax OK

Starte Apache å implementere endringer:

  • sudo systemctl restart apache2

Apache skal nå være serverer ditt domenenavn., Du kan teste dette ved å navigere til , der bør du se noe slikt som dette:

Med det, du virtuelle verten er helt stille opp. Før du gjør noen endringer eller distribusjon av et program, selv om det ville være nyttig for proaktivt å teste ut din PHP-konfigurasjon i tilfelle det er noen problemer som bør løses.

Trinn 5 — Testing av PHP-Behandling på din Web Server

for å teste at systemet er riktig konfigurert for PHP, kan du opprette en svært grunnleggende PHP-script som heter info.php., For Apache å finne denne filen og serverer den riktig, må den lagres til web-root directory.

Opprett filen på web-root du opprettet i forrige trinn, ved å kjøre:

  • sudo nano /var/www/your_domain/info.php

Dette vil åpne en tom fil. Legge til følgende tekst, som er gyldig PHP-koden i filen:

info.php
<?phpphpinfo();?>

Når du er ferdig, kan du lagre og lukk filen.

Nå kan du teste om web-server er i stand til å vise riktig innhold som genereres av dette PHP-script. For å prøve dette ut, kan du besøke denne siden i nettleseren., Du trenger din server offentlige IP-adressen igjen.

Den adressen du vil ønske å besøke er:

The page that you come to should look something like this:

This page provides some basic information about your server from the perspective of PHP. It is useful for debugging and to ensure that your settings are being applied correctly.

If you can see this page in your browser, then your PHP is working as expected.

You probably want to remove this file after this test because it could actually give information about your server to unauthorized users. To do this, run the following command:

  • sudo rm /var/www/your_domain/info.php

Du kan alltid gjenskape denne siden hvis du trenger å få tilgang til informasjonen på nytt senere.

Konklusjon

Nå som du har en LAMPE stabelen installert, har du mange valg for hva du skal gjøre neste. I utgangspunktet, du har installert en plattform som vil tillate deg å installere de fleste typer nettsteder og web-programvare på din server.

Som en umiddelbar neste trinn, bør du sikre forbindelser til webserveren din er sikret, ved å tjene dem via HTTPS., Det enkleste her er å bruke Let ‘ s Kryptere å sikre din side med en gratis TLS/SSL-sertifikat.

Noen andre populære alternativene er:

  • Installere WordPress de mest populære content management system på internett.
  • Sett Opp PHPMyAdmin for å hjelpe til med å administrere MySQL-databaser fra nettleseren.
  • Lær hvordan du bruker SFTP å overføre filer til og fra serveren.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *