Jinsi ya Kufunga na Kusanidi LAMP kwenye Debian 11 (Bullseye)


Mojawapo ya mambo muhimu zaidi ya kusanidi seva ya Linux ni kwa madhumuni ya kupeleka tovuti. Kulingana na uchunguzi wa NetCraft.com wa Februari 2022 wa tovuti milioni 1 zenye shughuli nyingi zaidi duniani, takriban 23.44% yazo zinatumia Apache.

Mafunzo haya yatapitia misingi ya kusakinisha na kusanidi seva ya Linux (haswa Debian 11 Bullseye) ili kufanya kazi kama seva ya LAMP.

Seva ya LAMP ni nini?

Katika ulimwengu wa kompyuta kifupi cha LAMP cha Linux (Hapa kwa kutumia Debian 11), Apache, MySQL, na PHP (LAMP). LAMP hutumiwa kwa kawaida kurejelea programu nyingi (haswa MySQL na PHP) kwenye seva ya wavuti.

Kabla ya kupiga mbizi katika vipengele vya usanidi, ni muhimu kujua kuhusu Apache webserver.

Apache ilikuwa mojawapo ya seva za asili za wavuti na inafuatilia mwanzo wake hadi 1995. Apache bado inatumika sana leo na inanufaika kutokana na maisha marefu, uhifadhi wa hali ya juu na tani nyingi za moduli ili kuongeza kubadilika.

Kufunga MySQL na PHP katika Debian 11

1. Sehemu hii ya kwanza itaelezea Debian kama seva ya MySQL, na PHP. Sehemu ya Linux ya LAMP inapaswa tayari kufanywa kwa kusakinisha Debian 11 kwa kifungu kifuatacho kwenye TecMint:

  • Usakinishaji Mpya wa Debian 11 Bullseye

Mara tu Debian ikiwa tayari, sasa ni wakati wa kusakinisha programu muhimu kwa kutumia 'apt' meta-packager.

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

2. Baada ya usakinishaji wa MySQL na PHP kukamilika, mara nyingi hupendekezwa kuweka salama usakinishaji wa MySQL kwa kutumia mysql_secure_installation shirika.

Mara tu utakapotekeleza amri iliyo hapa chini, itamwomba mtumiaji kuweka nenosiri la msingi na kuondoa vitu kama vile watumiaji wasiojulikana, hifadhidata za majaribio, na kuondoa kuingia kwa mtumiaji wa mbali kwenye hifadhidata ya SQL.

$ sudo mysql_secure_installation

3. Kwa vile sasa MySQL imesanidiwa, hebu tusonge mbele ili kutengeneza mipangilio ya msingi ya PHP kwa seva hii mahususi. Ingawa kuna rundo la mipangilio ambayo inaweza kusanidiwa kwa PHP, tutafanya yale machache ya msingi ambayo mara nyingi yanahitajika.

Fungua faili ya usanidi wa php iko katika /etc/php/7.4/apache2/php.ini.

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

Sasa tafuta kamba \memory_limit na uongeze kikomo kulingana na mahitaji yako ya programu.

Mpangilio mwingine muhimu wa kuangalia ni \max_execution_time na tena kwa chaguomsingi, itawekwa kuwa 30. Ikiwa programu inahitaji zaidi mpangilio huu unaweza kubadilishwa.

Kwa wakati huu, MySQL na PHP5 ziko tayari kuanza kukaribisha tovuti. Sasa ni wakati wa kusanidi Apache2.

Kufunga na kusanidi Apache2

4. Sasa ni wakati wa kusanidi Apache 2 ili kumaliza usanidi wa seva ya LAMP. Hatua ya kwanza ya kusanidi Apache2 ni kusakinisha programu kwa kutumia kifurushi cha apt meta.

$ sudo apt install apache2

Hii itasanikisha faili zote muhimu na utegemezi wa Apache2.

Mara tu ikiwa imewekwa, seva ya wavuti ya Apache itakuwa juu na kutumikia ukurasa wa wavuti chaguo-msingi. Kuna njia kadhaa za kuthibitisha kuwa seva ya wavuti ya Apache iko na inafanya kazi. Chaguo rahisi ni kutumia matumizi ya lsof:

$ sudo lsof -i :80

Chaguo jingine ni kwenda kwa anwani ya IP ya seva ya wavuti. Kwa kuchukulia usakinishaji chaguomsingi wa Debian, mfumo unaweza kusanidiwa ili kutumia DHCP kupata anwani ya IP kiotomatiki.

Kuamua anwani ya IP ya seva, moja ya huduma mbili inaweza kutumika. Huduma yoyote itafanya kazi katika hali hii.

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

Bila kujali ni matumizi gani hutumiwa, anwani ya IP iliyopatikana inaweza kuingizwa kwenye kivinjari kwenye kompyuta kwenye mtandao huo ili kuthibitisha kwamba Apache inaonyesha ukurasa wa chaguo-msingi.

http://IP-Address

Kwa wakati huu, Apache iko juu na inafanya kazi. Ingawa ukurasa wa chaguo-msingi wa Debian ni tovuti ya kuvutia, watumiaji wengi watataka kukaribisha kitu maalum. Hatua zinazofuata zitapitia kusanidi Apache 2 ili kukaribisha tovuti tofauti.

Kukaribisha Wavuti Nyingi na Apache katika Debian

5. Debian imefunga huduma muhimu za kudhibiti tovuti na moduli zote mbili. Kabla ya kutembea kupitia jinsi ya kutumia huduma hizi, ni muhimu kuelewa kazi zinazotumika.

  • a2ensite: Huduma hii inatumika kuwezesha tovuti baada ya faili ifaayo ya usanidi kuundwa.
  • a2dissite: Huduma hii inatumika kuzima tovuti kwa kubainisha faili ya usanidi ya tovuti.
  • a2enmod: Huduma hii inatumika kuwezesha moduli za ziada za Apache2.
  • a2dismod: Huduma hii inatumika kuzima moduli za ziada za Apache2.
  • a2query: Huduma hii inaweza kutumika kukusanya taarifa kuhusu tovuti zinazowezeshwa kwa sasa.

Kwanza tukusanye uzoefu na mbili za kwanza. Kwa kuwa Apache 2 kwa sasa inapangisha 'ukurasa wa tovuti chaguo-msingi' wacha tuendelee na kuizima kwa a2dissite.

$ sudo a2dissite 000-default.conf

Amri hii italemaza tovuti chaguo-msingi ya apache inayoonekana kwenye picha ya skrini hapo juu. Hata hivyo, ili mabadiliko yoyote yaanze kutumika, usanidi wa Apache 2 lazima upakiwe upya.

$ sudo systemctl reload apache2

Amri hii itaelekeza Apache 2 kusasisha tovuti zilizowezeshwa/zimezimwa ambayo inapangisha kwa sasa. Hii inaweza kuthibitishwa kwa kujaribu kuunganishwa na anwani ya IP ya seva ya wavuti tena na kugundua kuwa hakuna kitu kinachoonyeshwa (baadhi ya kompyuta zitahifadhi habari, ikiwa mashine bado inaonyesha tovuti chaguo-msingi baada ya amri mbili za awali kuendeshwa, jaribu kufuta mtandao- kashe ya vivinjari). Chaguo jingine la kuthibitisha kuwa tovuti haijawashwa tena ni kutumia matumizi ya a2query.

$ sudo a2query -s

Kuna mengi yanaendelea katika picha hii ya skrini kwa hivyo tuchambue mambo.

  • Sanduku la kijani kibichi ni a2query -s ambalo linaagiza Apache 2 kueleza ni tovuti zipi zinazotolewa kwa sasa.
  • Sanduku la manjano ni a2dissite 000-default.conf ikifuatiwa na upakiaji upya wa apache2. Amri hizi mbili huelekeza Apache 2 kuzima tovuti chaguo-msingi na kisha kupakia upya tovuti zinazotumika/zisizotumika.
  • Sanduku nyekundu a2query -s inatolewa tena lakini kumbuka kuwa wakati huu Apache inajibu kuwa hakuna kinachotolewa.

Wacha tupitie kuunda tovuti isiyo chaguomsingi sasa. Hatua ya kwanza ni kubadili kwenye saraka ya usanidi ya Apache 2 ambayo ni /etc/apache2 kwa kutumia matumizi ya cd.

$ cd /etc/apache2

Kuna faili na saraka kadhaa muhimu katika saraka hii, hata hivyo, kwa ajili ya ufupi, mahitaji pekee yatashughulikiwa hapa.

Jambo la kwanza la kufanya wakati wa kusanidi tovuti mpya ni kuunda faili mpya ya usanidi katika saraka ya 'tovuti zinazopatikana'. Badilisha saraka kuwa saraka ya 'tovuti zinazopatikana' kisha unda faili mpya ya usanidi.

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

Hii itanakili usanidi kutoka kwa tovuti chaguo-msingi hadi kwenye faili mpya ya usanidi wa tovuti kwa marekebisho zaidi. Fungua ukurasa mpya wa usanidi wa tovuti na kihariri cha maandishi.

$ sudo vi tecmint-test-site.conf

Ndani ya faili hili kuna laini moja muhimu sana ya kupata tovuti inayopangishwa, mstari huo ni mstari wa 'DocumentRoot'. Mstari huu unaambia Apache ambapo faili muhimu za wavuti ni ambazo zinapaswa kutumika wakati maombi yanapokuja kwa rasilimali fulani.

Kwa sasa, laini hii itawekwa kwenye saraka ambayo haipo lakini itakuwa baada ya muda mfupi na itakuwa na tovuti rahisi ya seva hii ya Debian kuonyesha.

DocumentRoot /var/www/tecmint

Hifadhi mabadiliko kwenye faili hii na uondoke kwenye kihariri cha maandishi.

Sasa saraka ambayo Apache 2 iliambiwa tu kutumikia faili kutoka kwa mahitaji ya kuunda na kujazwa na faili. Ingawa nakala hii itafanya kazi faili za HTML, hakuna wakati wa kutosha wa kupitia jinsi ya kuunda tovuti inayofanya kazi kamili na kuacha mchakato huo kwa msomaji.

Kwa hivyo wacha tuunde saraka ili apache itumike na tuongeze ukurasa wa msingi wa html unaoitwa 'index.html'.

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

Amri zilizo hapo juu zitaunda saraka mpya iitwayo 'tecmint' na pia faili mpya inayoitwa 'index.html' katika saraka ya tecmint.

Amri ya mwangwi itaweka maandishi fulani kwenye faili hiyo ili iweze kuonyesha kitu fulani kwenye kivinjari cha wavuti wakati Apache itahudumia tovuti.

Kumbuka: Ukurasa ulioundwa kwa ajili ya mafunzo haya na mwandishi utaonyeshwa kwa njia tofauti! Sasa kwa kutumia amri zilizojadiliwa hapo awali, Apache inahitaji kuambiwa kutumikia hati hii mpya ya html.

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

Amri ya mwisho hapo juu itathibitisha tu kwamba Apache2 inatumikia tovuti mpya iliyoundwa. Kwa hatua hii, nenda kwenye kivinjari hadi kwenye anwani ya IP ya seva tena na uone ikiwa tovuti mpya iliyoundwa inaonyeshwa (tena kompyuta zinapenda kuweka akiba ya data na kwa hivyo, viburudisho kadhaa vinaweza kuhitajika ili kupata ukurasa mpya wa wavuti).

Ikiwa mpya iliyoundwa \IKO HAI!!! tovuti inaonekana, kisha Apache 2 imesanidiwa kwa ufanisi na inaonyesha tovuti.

Hongera! Ingawa huu ni usanidi rahisi unaotayarisha seva ya LAMP ya Linux kuandaa tovuti, kuna mambo magumu zaidi ambayo yanaweza kufanywa na usanidi unategemea sana lengo hilo la mwisho.