Kif tinstalla u tikkonfigura LAMP fuq Debian 11 (Bullseye)


Waħda mill-aktar affarijiet importanti biex twaqqaf server Linux hija għall-finijiet tal-iskjerament ta 'websajt(s). Skont l-istħarriġ ta 'Frar 2022 ta' NetCraft.com tal-miljun websajt l-aktar traffikuża fid-dinja, bejn wieħed u ieħor 23.44% minnhom jaħdmu fuq Apache.

Dan it-tutorja se jimxi permezz tal-baŜi tal-installazzjoni u l-konfigurazzjoni ta 'server Linux (speċifikament Debian 11 Bullseye) biex jiffunzjona bħala server LAMP.

X'inhu LAMP Server?

Fid-dinja tal-kompjuters LAMP akronimu għal Linux (Hawn tuża Debian 11), Apache, MySQL, u PHP (LAMP). LAMP huwa komunement użat biex jirreferi munzelli ta 'softwer (speċifikament MySQL u PHP) fuq server tal-web.

Qabel ma tgħaddas fl-aspetti tal-konfigurazzjoni, huwa importanti li tkun taf dwar il-webserver Apache.

Apache kien wieħed mis-servers tal-web \oriġinali u jittraċċa l-bidu tiegħu lura għall-1995. Apache għadu użat ħafna llum u jibbenefika minn lonġevità, ammonti għoljin ta 'dokumentazzjoni u tunnellati ta' moduli biex iżżid il-flessibbiltà.

Installazzjoni ta' MySQL u PHP f'Debian 11

1. Din l-ewwel porzjon se tiddeskrivi Debian bħala MySQL, u server PHP. Is-segment tal-Linux tal-LAMP għandu diġà jsir billi jiġi installat Debian 11 mill-artikolu li ġej fuq TecMint:

  • Installazzjoni Ġdida ta' Debian 11 Bullseye

Ladarba Debian tkun lesta, issa wasal iż-żmien li tinstalla s-softwer meħtieġ billi tuża l-meta-packager 'apt'.

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

2. Wara li l-installazzjoni MySQL u PHP tispiċċa, ħafna drabi huwa rakkomandat li tiġi żgurata l-installazzjoni MySQL billi tuża mysql_secure_installation l-utilità.

Ladarba tesegwixxi l-kmand ta 'hawn taħt, se titlob lill-utent biex jissettja l-password tal-għeruq u jneħħi affarijiet bħal utenti anonimi, databases tat-test, u neħħi l-login tal-utent tal-għeruq mill-bogħod fid-database SQL.

$ sudo mysql_secure_installation

3. Issa li MySQL huwa kkonfigurat, ejja nimxu 'l quddiem biex nagħmlu xi settings bażiċi PHP għal dan is-server partikolari. Filwaqt li hemm mazz ta 'settings li jistgħu jiġu kkonfigurati għall-PHP, aħna se nagħmlu ftit dawk bażiċi li huma l-aktar dejjem meħtieġa.

Il-fajl tal-konfigurazzjoni php miftuħ jinsab f'/etc/php/7.4/apache2/php.ini.

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

Issa fittex is-sekwenza \memory_limit u żid il-limitu skont il-ħtiġijiet tal-applikazzjoni tiegħek.

Setting importanti ieħor li għandek tiċċekkja huwa l-\max_execution_time u għal darb'oħra b'mod awtomatiku, se jkun issettjat għal 30. Jekk applikazzjoni teħtieġ aktar dan is-setting jista' jinbidel.

F'dan il-punt, MySQL u PHP5 huma lesti biex jibdew jospitaw siti. Issa wasal iż-żmien li jiġi kkonfigurat Apache2.

Installazzjoni u Konfigurazzjoni Apache2

4. Issa wasal iż-żmien li tikkonfigura Apache 2 biex tispiċċa l-konfigurazzjoni tas-server LAMP. L-ewwel pass biex jiġi kkonfigurat Apache2 huwa li fil-fatt tinstalla s-softwer billi tuża l-meta-packager apt.

$ sudo apt install apache2

Dan se jinstalla l-fajls u d-dipendenzi kollha meħtieġa għal Apache2.

Ladarba jiġi installat, is-server tal-web Apache se jkun attiv u jservi paġna web default. Hemm diversi modi kif tikkonferma li l-webserver Apache qed jaħdem. L-eħfef għażla hija li tuża l-utilità lsof:

$ sudo lsof -i :80

L-għażla l-oħra hija li sempliċiment tinnaviga lejn l-indirizz IP tal-webserver. Jekk wieħed jassumi installazzjoni default ta 'Debian, is-sistema x'aktarx tkun stabbilita biex tuża DHCP biex tikseb indirizz IP awtomatikament.

Biex tiddetermina l-indirizz IP tas-server, tista 'tintuża waħda minn żewġ utilitajiet. Jew l-utilità se taħdem f'din is-sitwazzjoni.

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

Irrispettivament minn liema utilità tintuża, l-indirizz IP miksub jista 'jiddaħħal f'web browser fuq kompjuter fuq l-istess netwerk biex jikkonferma li Apache qed juri l-paġna default.

http://IP-Address

F'dan il-punt, Apache qed jaħdem. Filwaqt li l-paġna default Debian hija websajt flashy, ħafna mill-utenti jkunu jridu jospitaw xi ħaġa personalizzata. Il-passi li jmiss se jimxu fit-twaqqif ta 'Apache 2 biex jospita websajt differenti.

Jospita Websajts Multipli b'Apache f'Debian

5. Debian ippakkjat xi utilitajiet utli għall-ġestjoni kemm tas-siti kif ukoll tal-moduli. Qabel ma timxi fuq kif tuża dawn l-utilitajiet, huwa importanti li tifhem il-funzjonijiet li jaqdu.

  • a2ensite: Din l-utilità tintuża biex tippermetti websajt wara li jkun inħoloq il-fajl ta' konfigurazzjoni xieraq.
  • a2dissite: Din l-utilità tintuża biex tiddiżattiva websajt billi tispeċifika l-fajl tal-konfigurazzjoni tal-websajt.
  • a2enmod: Din l-utilità tintuża biex tippermetti moduli Apache2 żejda.
  • a2dismod: Din l-utilità tintuża biex tiddiżattiva moduli Apache2 żejda.
  • a2query: Din l-utilità tista' tintuża biex tinġabar informazzjoni dwar siti li huma attivati bħalissa.

L-ewwelnett ejja niġbru ftit esperjenza mal-ewwel tnejn. Peress li Apache 2 bħalissa qed jospita l-'webpage default' ejja nimxu 'l quddiem u tiddiżattivaha b'a2dissite.

$ sudo a2dissite 000-default.conf

Dan il-kmand se jiskonnettja l-websajt tal-apache default li tidher fil-screenshot ta 'hawn fuq. Madankollu, sabiex kwalunkwe bidla tidħol fis-seħħ, il-konfigurazzjoni ta 'Apache 2 trid terġa' tiġi mgħobbija.

$ sudo systemctl reload apache2

Dan il-kmand se jagħti struzzjonijiet lil Apache 2 biex jaġġorna s-siti attivati/diżattivati li bħalissa qed jospita. Dan jista 'jiġi kkonfermat billi tipprova tikkonnettja mal-indirizz IP tas-server tal-web għal darb'oħra u tinnota li xejn ma jintwera (xi kompjuters se jżommu l-informazzjoni fil-cache, jekk il-magna għadha turi l-websajt default wara li jitmexxew iż-żewġ kmandi preċedenti, ipprova neħħi l-web- cache tal-browsers). Għażla oħra biex tikkonferma li s-sit m'għadux attivat hija li tuża l-utilità a2query.

$ sudo a2query -s

Hemm ħafna għaddej f'dan l-iskrin-shot allura ejja nkissru l-affarijiet.

  • Il-kaxxa ħadra hawn fuq hija a2query -s li tagħti struzzjonijiet lil Apache 2 biex jiddikjara liema siti qed jiġu moqdija bħalissa.
  • Il-kaxxa safra hija a2dissite 000-default.conf segwita mis-servizz apache2 reload. Dawn iż-żewġ kmandi jagħtu struzzjonijiet lil Apache 2 biex jiskonnettja s-sit default u mbagħad jerġa' jgħabbi s-siti attivi/inattivi.
  • Il-kaxxa l-ħamra qed terġa' tinħareġ a2query -s iżda innota li din id-darba Apache jwieġeb lura li xejn mhu qed jiġi moqdi.

Ejja nimxu permezz tal-ħolqien ta 'sit mhux default issa. L-ewwel pass huwa li taqleb għad-direttorju tal-konfigurazzjoni Apache 2 li huwa /etc/apache2 billi tuża l-utilità cd.

$ cd /etc/apache2

Hemm diversi fajls u direttorji importanti f'dan id-direttorju, madankollu, għall-qosor, il-ħtiġijiet biss se jkunu koperti hawn.

L-ewwel ħaġa li għandek tagħmel meta twaqqaf sit ġdid hija li toħloq fajl ta 'konfigurazzjoni ġdid fid-direttorju siti-disponibbli. Ibdel id-direttorji fid-direttorju siti-disponibbli u mbagħad oħloq fajl ta 'konfigurazzjoni ġdid.

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

Dan se jikkopja l-konfigurazzjoni mis-sit default fil-fajl tal-konfigurazzjoni tas-sit il-ġdid għal aktar modifika. Iftaħ il-paġna tal-konfigurazzjoni tas-sit il-ġdid b'editur tat-test.

$ sudo vi tecmint-test-site.conf

F'dan il-fajl hemm linja waħda importanti ħafna biex tittella' websajt, dik il-linja hija l-linja 'DocumentRoot'. Din il-linja tgħid lil Apache fejn il-fajls tal-web meħtieġa huma li għandhom iservu meta jidħlu talbiet għal riżorsi partikolari.

Għalissa, din il-linja se tkun issettjata għal direttorju li ma jeżistix iżda dalwaqt se jkun fih websajt sempliċi biex dan is-server Debian juri.

DocumentRoot /var/www/tecmint

Issejvja l-bidliet għal dan il-fajl u oħroġ mill-editur tat-test.

Issa d-direttorju li Apache 2 kien biss qal li jservi fajls minn jeħtieġ li jinħoloq u jimtlew b'fajls. Filwaqt li dan l-artikolu se jaħdem fajls HTML, possibilment m'hemmx biżżejjed ħin biex timxi permezz ta' kif toħloq websajt li taħdem bis-sħiħ u tħalli dak il-proċess f'idejn il-qarrej.

Mela ejja noħolqu d-direttorju għall-apache biex iservi u żid paġna web html bażika magħha msejħa 'index.html'.

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

Il-kmandi ta 'hawn fuq se joħolqu direttorju ġdid imsejjaħ 'tecmint' kif ukoll fajl ġdid imsejjaħ 'index.html' fid-direttorju tecmint.

Il-kmand tal-echo se jpoġġi xi test f'dak il-fajl sabiex fil-fatt juri xi ħaġa fil-web browser meta Apache jaqdi l-websajt.

Nota: Il-paġna maħluqa għal dan it-tutorja mill-awtur se turi b'mod differenti! Issa bl-użu tal-kmandi diskussi qabel, Apache jeħtieġ li jingħad biex iservi dan id-dokument html ġdid.

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

L-aħħar kmand ta 'hawn fuq sempliċement jikkonferma li Apache2 tabilħaqq qed iservi l-websajt maħluqa ġdida. F'dan il-punt, innaviga web browser għall-indirizz IP tas-server għal darb'oħra u ara jekk il-websajt maħluqa l-ġdida tkunx qed tintwera (għal darb'oħra l-kompjuters jixtiequ jħaddmu d-dejta fil-cache u bħala tali, jistgħu jkunu meħtieġa diversi aġġornamenti biex jiksbu l-paġna web ġdida).

Jekk il- maħluq ġdid \Huwa ĦAJ!!! is-sit qed juri, allura Apache 2 ġie kkonfigurat b'suċċess u qed juri l-websajt.

Prosit! Filwaqt li din hija setup sempliċi li tipprepara server LAMP Linux biex jospita sit, hemm affarijiet ferm aktar kumplessi li jistgħu jsiru u l-konfigurazzjoni tiddependi ħafna fuq dak l-għan aħħari.