Kuinka asentaa ja määrittää LAMP Debian 11:ssä (Bullseye)


Yksi tärkeimmistä asioista Linux-palvelimen perustamisessa on verkkosivuston (verkkosivustojen) käyttöönotto. NetCraft.comin helmikuussa 2022 tekemän tutkimuksen 1 miljoonasta maailman vilkkaimmasta verkkosivustosta mukaan noin 23,44 % niistä toimii Apachella.

Tässä opetusohjelmassa käydään läpi perusasiat Linux-palvelimen (erityisesti Debian 11 Bullseye) asentamisesta ja määrittämisestä toimimaan LAMP-palvelimena.

Mikä on LAMP-palvelin?

Tietojenkäsittelymaailmassa LAMP-lyhenne sanoista Linux (tässä Debian 11), Apache, MySQL, ja PHP (LAMP). LAMP on yleisesti käytetty viittaamaan ohjelmistopinoihin (erityisesti MySQL ja PHP) verkkopalvelimella.

Ennen kuin sukeltaa kokoonpanoon, on tärkeää tietää Apache-verkkopalvelimesta.

Mikä on Apache Web Server?

Apache oli yksi "alkuperäisistä" verkkopalvelimista ja juontaa juurensa vuoteen 1995. Apachea käytetään edelleen laajalti, ja se hyötyy pitkäikäisyydestä, suuresta dokumentaatiomäärästä ja lukuisista moduulit lisäämään joustavuutta.

MySQL:n ja PHP:n asentaminen Debian 11:een

1. Tämä ensimmäinen osa kuvaa Debianin MySQL- ja PHP-palvelimena. LAMPin Linux-segmentti pitäisi jo tehdä asentamalla Debian 11 seuraavan TecMintin artikkelin mukaan:

  • Uusi Debian 11 Bullseye -asennus

Kun Debian on valmis, nyt on aika asentaa tarvittava ohjelmisto apt-meta-pakkaajalla.

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

2. Kun MySQL- ja PHP-asennus on valmis, on usein suositeltavaa suojata MySQL-asennus käyttämällä mysql_secure_installation -apuohjelmaa.

Kun suoritat alla olevan komennon, se pyytää käyttäjää asettamaan pääkäyttäjän salasanan ja poistamaan asioita, kuten anonyymejä käyttäjiä, testaamaan tietokantoja ja poistamaan etäpääkäyttäjän kirjautuminen SQL-tietokantaan.

sudo mysql_secure_installation

3. Nyt kun MySQL on määritetty, siirrytään tekemään joitain PHP-perusasetuksia tälle palvelimelle. Vaikka PHP:lle voidaan määrittää joukko asetuksia, teemme muutamia perusasetuksia, joita useimmiten aina tarvitaan.

Avoin php-määritystiedosto sijaitsee osoitteessa /etc/php/7.4/apache2/php.ini.

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

Etsi nyt merkkijono "memory_limit" ja lisää rajaa sovelluksesi tarpeiden mukaan.

Toinen tärkeä tarkistettava asetus on max_execution_time, ja oletuksena se on jälleen 30. Jos sovellus vaatii enemmän tätä asetusta voidaan muuttaa.

Tässä vaiheessa MySQL ja PHP5 ovat valmiita isännöimään sivustoja. Nyt on aika määrittää Apache2.

Apache2:n asentaminen ja määrittäminen

4. Nyt on aika määrittää Apache 2 viimeistelemään LAMP-palvelimen määritykset. Ensimmäinen vaihe Apache2:n määrittämisessä on asentaa ohjelmisto apt-meta-pakkaajalla.

sudo apt install apache2

Tämä asentaa kaikki tarvittavat tiedostot ja riippuvuudet Apache2:lle.

Kun Apache-verkkopalvelin on asennettu, se on käytössä ja palvelee oletussivua. On useita tapoja varmistaa, että Apache-verkkopalvelin on toiminnassa. Helpoin vaihtoehto on käyttää lsof-apuohjelmaa:

sudo lsof -i :80

Toinen vaihtoehto on yksinkertaisesti navigoida verkkopalvelimen IP-osoitteeseen. Oletuksena Debianin oletusasennus, järjestelmä todennäköisesti asetetaan käyttämään DHCP:tä IP-osoitteen automaattiseen hankkimiseen.

Palvelimen IP-osoitteen määrittämiseen voidaan käyttää toista kahdesta apuohjelmasta. Kumpi tahansa apuohjelma toimii tässä tilanteessa.

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

Riippumatta siitä, mitä apuohjelmaa käytetään, saatu IP-osoite voidaan syöttää samassa verkossa olevan tietokoneen verkkoselaimeen varmistaakseen, että Apache näyttää oletussivun.

http://IP-Address

Tässä vaiheessa Apache on toiminnassa. Vaikka Debianin oletussivu on näyttävä verkkosivusto, useimmat käyttäjät haluavat isännöidä jotain mukautettua. Seuraavissa vaiheissa käydään läpi Apache 2:n määrittäminen eri verkkosivuston isännöintiin.

Useiden verkkosivustojen ylläpito Apachella Debianissa

5. Debian on pakannut hyödyllisiä apuohjelmia sekä sivustojen että moduulien hallintaan. Ennen kuin käyt läpi näiden apuohjelmien käytön, on tärkeää ymmärtää niiden palvelevat toiminnot.

  • a2ensite: Tämän apuohjelman avulla verkkosivusto otetaan käyttöön, kun sopiva määritystiedosto on luotu.
  • a2dissite: tätä apuohjelmaa käytetään verkkosivuston poistamiseen käytöstä määrittämällä verkkosivuston määritystiedosto.
  • a2enmod: Tällä apuohjelmalla otetaan käyttöön ylimääräisiä Apache2-moduuleja.
  • a2dismod: Tätä apuohjelmaa käytetään ylimääräisten Apache2-moduulien poistamiseen käytöstä.
  • a2query: Tämän apuohjelman avulla voidaan kerätä tietoja tällä hetkellä käytössä olevista sivustoista.

Kerrataan ensin kokemuksia kahdesta ensimmäisestä. Koska Apache 2 isännöi tällä hetkellä oletussivua, poistetaan se käytöstä a2dissite -sovelluksella.

sudo a2dissite 000-default.conf

Tämä komento poistaa käytöstä oletusarvoisen apache-sivuston, joka näkyy yllä olevassa kuvakaappauksessa. Apache 2 -kokoonpano on kuitenkin ladattava uudelleen, jotta muutokset tulevat voimaan.

sudo systemctl reload apache2

Tämä komento kehottaa Apache 2:ta päivittämään käytössä olevat/poistetut sivustot, joita se parhaillaan isännöi. Tämä voidaan varmistaa yrittämällä muodostaa yhteys verkkopalvelimen IP-osoitteeseen uudelleen ja huomaamalla, että mitään ei näy (jotkut tietokoneet tallentavat tiedot välimuistiin, jos kone näyttää edelleen oletussivustoa kahden edellisen komennon suorittamisen jälkeen, yritä tyhjentää verkko- selaimen välimuisti). Toinen vaihtoehto varmistaaksesi, että sivusto ei ole enää käytössä, on käyttää a2query-apuohjelmaa.

sudo a2query -s

Tässä kuvakaappauksessa tapahtuu paljon, joten puretaan asiat.

  • Yllä oleva vihreä laatikko on a2query -s, joka kehottaa Apache 2:ta ilmoittamaan, mitä sivustoja tällä hetkellä tarjotaan.
  • Keltainen ruutu on a2dissite 000-default.conf ja sen jälkeen service apache2 reload. Nämä kaksi komentoa ohjaavat Apache 2:ta poistamaan oletussivuston käytöstä ja lataamaan sitten aktiiviset/ei-aktiiviset sivustot uudelleen.
  • Punainen ruutu a2query -s lähetetään uudelleen, mutta huomaa, että tällä kertaa Apache vastaa, ettei mitään toimiteta.

Käydään läpi ei-oletussivuston luominen nyt. Ensimmäinen askel on vaihtaa Apache 2:n määrityshakemistoon, joka on /etc/apache2 cd-apuohjelmalla.

cd /etc/apache2

Tässä hakemistossa on useita tärkeitä tiedostoja ja hakemistoja, mutta lyhyyden vuoksi tässä käsitellään vain välttämättömyydet.

Ensimmäinen asia, joka sinun tulee tehdä uutta sivustoa määritettäessä, on luoda uusi määritystiedosto sites-available-hakemistoon. Muuta hakemistot sites-available-hakemistoon ja luo sitten uusi määritystiedosto.

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

Tämä kopioi asetukset oletussivustosta uuteen sivuston määritystiedostoon lisämuokkausta varten. Avaa uuden sivuston määrityssivu tekstieditorilla.

sudo vi tecmint-test-site.conf

Tässä tiedostossa on yksi erittäin tärkeä rivi verkkosivuston isännöintiä varten. Tämä rivi on DocumentRoot-rivi. Tämä rivi kertoo Apachelle, missä tarvittavat verkkotiedostot ovat, joita sen tulee palvella, kun tiettyjä resursseja koskevia pyyntöjä tulee.

Toistaiseksi tämä rivi asetetaan hakemistoon, jota ei ole olemassa, mutta joka tulee pian ja sisältää yksinkertaisen verkkosivuston tälle Debian-palvelimelle.

DocumentRoot /var/www/tecmint

Tallenna muutokset tähän tiedostoon ja poistu tekstieditorista.

Nyt hakemisto, josta Apache 2:n käskettiin palvelemaan tiedostoja, on luotava ja täytettävä tiedostoilla. Vaikka tämä artikkeli toimii HTML-tiedostojen kanssa, aikaa ei välttämättä ole tarpeeksi toimivan verkkosivuston luomiseen, ja tämä prosessi jätetään lukijalle.

Luodaan siis hakemisto, jota apache palvelee, ja lisätään siihen HTML-perussivu nimeltä index.html.

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

Yllä olevat komennot luovat tecmint-hakemistoon uuden hakemiston nimeltä tecmint sekä uuden tiedoston nimeltä index.html.

Kaiku-komento sijoittaa tekstiä kyseiseen tiedostoon, jotta se todella näyttää jotain verkkoselaimessa, kun Apache palvelee verkkosivustoa.

Huomaa: kirjoittajan tätä opetusohjelmaa varten luoma sivu näkyy eri tavalla! Nyt käyttämällä aiemmin käsiteltyjä komentoja Apachea on kehotettava palvelemaan tätä uutta html-dokumenttia.


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

Viimeinen yllä oleva komento vain vahvistaa, että Apache2 todellakin palvelee juuri luotua verkkosivustoa. Siirry tässä vaiheessa uudelleen verkkoselaimella palvelimen IP-osoitteeseen ja katso, näkyykö juuri luotu verkkosivusto (jälleen tietokoneet haluavat tallentaa tietoja välimuistiin, joten uuden verkkosivun saaminen voi vaatia useita päivityksiä).

Jos äskettäin luotu It's ALIVE!!! -sivusto tulee näkyviin, Apache 2 on määritetty onnistuneesti ja se näyttää verkkosivuston.

Onnittelut! Vaikka tämä on yksinkertainen asennus, joka valmistelee Linux LAMP -palvelimen isännöimään sivustoa, voidaan tehdä paljon monimutkaisempia asioita, ja kokoonpano riippuu suuresti tästä päämäärästä.