Giunsa ang Pag-install ug Pag-configure sa LAMP sa Debian 11 (Bullseye)


Usa sa labing hinungdanon nga mga butang sa pag-set up sa usa ka server sa Linux alang sa katuyoan sa pag-deploy sa usa ka (mga) website. Sumala sa NetCraft.com sa Pebrero 2022 nga survey sa 1 milyon nga pinakabusy nga mga website sa kalibutan, halos 23.44% niini nagdagan sa Apache.

Kini nga panudlo maglakaw pinaagi sa mga sukaranan sa pag-install ug pag-configure sa usa ka server sa Linux (ilabi na ang Debian 11 Bullseye) aron molihok ingon usa ka server sa LAMP.

Unsa ang LAMP Server?

Sa computing world LAMP acronym para sa Linux (Dinhi gamit ang Debian 11), Apache, MySQL, ug PHP (LAMP). Ang LAMP sagad nga gigamit sa paghisgot sa mga stack sa software (partikular ang MySQL ug PHP) sa usa ka web server.

Sa dili pa mosalom sa mga aspeto sa pagsumpo, importante nga mahibal-an ang bahin sa Apache webserver.

Ang Apache usa sa \orihinal nga mga web server ug nagsubay sa sinugdanan niini balik sa 1995. Ang Apache kaylap gihapon nga gigamit karon ug nakabenepisyo gikan sa taas nga kinabuhi, taas nga kantidad sa dokumentasyon ug toneladang mga module aron madugangan ang pagka-flexible.

Pag-instalar sa MySQL ug PHP sa Debian 11

1. Kining unang bahin maghulagway sa Debian isip MySQL, ug PHP server. Ang Linux nga bahin sa LAMP kinahanglan nga buhaton na pinaagi sa pag-instalar sa Debian 11 pinaagi sa mosunod nga artikulo sa TecMint:

  • Usa ka Bag-ong Pag-instalar sa Debian 11 Bullseye

Kung andam na ang Debian, karon na ang panahon nga i-install ang kinahanglan nga software gamit ang '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. Human mahuman ang instalasyon sa MySQL ug PHP, kasagarang girekomendar ang pagsiguro sa pag-instalar sa MySQL gamit ang mysql_secure_installation ang utility.

Sa higayon nga imong ipatuman ang ubos nga sugo, hangyoon niini ang user nga itakda ang root password ug tangtangon ang mga butang sama sa anonymous users, test databases, ug tangtangon ang remote root user login sa SQL database.

$ sudo mysql_secure_installation

3. Karon nga ang MySQL na-configure na, magpadayon kita sa paghimo sa pipila ka mga batakang setting sa PHP alang niining partikular nga server. Samtang adunay daghang mga setting nga mahimong ma-configure alang sa PHP, maghimo kami pipila ka mga sukaranan nga kasagaran kanunay gikinahanglan.

Ang open php configuration file nahimutang sa /etc/php/7.4/apache2/php.ini.

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

Karon pangitaa ang string \memory_limit ug dugangi ang limitasyon sumala sa imong gikinahanglan nga aplikasyon.

Laing importante nga setting nga susihon mao ang \max_execution_time ug pag-usab pinaagi sa default, kini itakda sa 30. Kung ang usa ka aplikasyon nanginahanglan ug dugang kini nga setting mahimong usbon.

Niini nga punto, ang MySQL ug PHP5 andam na nga magsugod sa pag-host sa mga site. Karon na ang panahon sa pag-configure sa Apache2.

Pag-instalar ug Pag-configure sa Apache2

4. Karon na ang panahon sa pag-configure sa Apache 2 aron mahuman ang pag-configure sa LAMP server. Ang unang lakang sa pag-configure sa Apache2 mao ang aktuwal nga pag-install sa software gamit ang apt meta-packager.

$ sudo apt install apache2

Kini mag-instalar sa tanan nga gikinahanglan nga mga file ug dependency alang sa Apache2.

Sa higayon nga ma-install, ang Apache webserver mobangon ug mag-alagad sa usa ka default nga web page. Adunay daghang mga paagi aron makumpirma nga ang Apache webserver naa na ug nagdagan. Ang labing kadali nga kapilian mao ang paggamit sa lsof utility:

$ sudo lsof -i :80

Ang laing kapilian mao ang pag-navigate lang sa IP address sa webserver. Sa pag-ingon nga ang usa ka default nga pag-install sa Debian, ang sistema lagmit nga ma-set up aron magamit ang DHCP aron awtomatiko nga makakuha usa ka IP address.

Aron mahibal-an ang IP address sa server, ang usa sa duha ka mga utilities mahimong magamit. Ang bisan unsang utility molihok sa kini nga sitwasyon.

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

Bisan unsa nga gamit ang gigamit, ang nakuha nga IP address mahimong masulod sa usa ka web browser sa usa ka kompyuter sa parehas nga network aron makumpirma nga ang Apache nagpakita sa default nga panid.

http://IP-Address

Niini nga punto, ang Apache nagdagan ug nagdagan. Samtang ang Debian default page usa ka flashy nga website, kadaghanan sa mga tiggamit gusto nga mag-host sa usa ka butang nga naandan. Ang sunod nga mga lakang maglakaw pinaagi sa pag-set up sa Apache 2 aron mag-host sa usa ka lahi nga website.

Pag-host sa Daghang Website nga adunay Apache sa Debian

5. Giputos ni Debian ang pipila ka mapuslanong mga gamit alang sa pagdumala sa duha ka mga site ug mga module. Sa dili pa maglakaw unsaon paggamit niini nga mga utilities, importante nga masabtan ang mga gimbuhaton nga ilang gialagaran.

  • a2ensite: Kini nga utility gigamit aron makahimo sa usa ka website human mabuhat ang angay nga configuration file.
  • a2dissite: Kini nga utility gigamit sa pag-disable sa usa ka website pinaagi sa pagpiho sa configuration file sa website.
  • a2enmod: Kini nga gamit gigamit para makapahimo sa dugang nga Apache2 modules.
  • a2dismod: Kini nga gamit gigamit aron dili ma-disable ang dugang nga Apache2 modules.
  • a2query: Kini nga gamit magamit sa pagtigom og impormasyon bahin sa mga site nga gipalihok karon.

Una, magtigom kita ug pipila ka kasinatian sa unang duha. Tungod kay ang Apache 2 sa pagkakaron nag-host sa 'default nga webpage' ipadayon nato ug i-disable kini sa a2dissite.

$ sudo a2dissite 000-default.conf

Kini nga sugo mag-disable sa default nga website sa apache nga makita sa screenshot sa ibabaw. Bisan pa, aron ang bisan unsang mga pagbag-o mahimong epektibo, ang pag-configure sa Apache 2 kinahanglan nga i-reload.

$ sudo systemctl reload apache2

Kini nga sugo magtudlo sa Apache 2 sa pag-update sa mga naka-enable/disabled nga mga site nga kasamtangang gi-host niini. Mahimo kini nga makumpirma pinaagi sa pagsulay sa pagkonektar sa IP address sa web server pag-usab ug pagmatikod nga wala’y gipakita (ang ubang mga kompyuter mag-cache sa impormasyon, kung ang makina nagpakita gihapon sa default nga website human ang miaging duha ka mga sugo gipadagan, sulayi paghawan ang web- cache sa mga browser). Ang laing kapilian sa pagkumpirma nga ang site wala na magamit mao ang paggamit sa a2query utility.

$ sudo a2query -s

Adunay daghan nga nahitabo sa kini nga screen-shot busa atong bungkagon ang mga butang.

  • Ang berdeng kahon sa ibabaw mao ang a2query -s nga nagmando sa Apache 2 nga ipahayag kung unsa nga mga site ang giserbisyuhan karon.
  • Ang yellow nga kahon kay a2dissite 000-default.conf gisundan sa service apache2 reload. Kining duha ka mga sugo nagsugo sa Apache 2 sa pag-disable sa default nga site ug unya pag-reload sa aktibo/dili aktibo nga mga site.
  • Ang pula nga kahon kay a2query -s gi-isyu pag-usab apan matikdi nga niining higayona ang Apache motubag nga walay giserbisyuhan.

Atong lakaw pinaagi sa paghimo sa usa ka non-default nga site karon. Ang unang lakang mao ang pagbalhin ngadto sa Apache 2 configuration directory nga /etc/apache2 gamit ang cd utility.

$ cd /etc/apache2

Adunay ubay-ubay nga importante nga mga file ug mga direktoryo sa kini nga direktoryo, bisan pa, alang sa kadali, ang mga kinahanglanon lamang ang hisgutan dinhi.

Ang unang butang nga buhaton sa dihang mag-set up og bag-ong site mao ang paghimo og bag-ong configuration file sa 'sites-available' nga direktoryo. Usba ang mga direktoryo ngadto sa 'sites-available' nga direktoryo ug dayon paghimo og bag-ong configuration file.

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

Kopyahon niini ang configuration gikan sa default site ngadto sa bag-ong site configuration file para sa dugang nga kausaban. Ablihi ang bag-ong panid sa pagsumpo sa site gamit ang text editor.

$ sudo vi tecmint-test-site.conf

Sulod sa kini nga file adunay usa ka hinungdanon nga linya alang sa pag-host sa usa ka website, kana nga linya mao ang linya nga 'DocumentRoot'. Kini nga linya nagsulti sa Apache kung diin ang kinahanglan nga mga file sa web nga kinahanglan kini magsilbi kung ang mga hangyo moabut alang sa partikular nga mga kapanguhaan.

Sa pagkakaron, kini nga linya ibutang sa usa ka direktoryo nga wala maglungtad apan sa dili madugay ug maglangkob sa usa ka yano nga website aron ipakita niini nga Debian server.

DocumentRoot /var/www/tecmint

I-save ang mga pagbag-o sa kini nga file ug paggawas sa text editor.

Karon ang direktoryo nga gisultihan sa Apache 2 nga mag-alagad sa mga file gikan sa kinahanglan nga buhaton ug mapuno sa mga file. Samtang kini nga artikulo magamit sa mga HTML nga file, wala’y posible nga igo nga oras sa paglakaw kung giunsa paghimo ang usa ka hingpit nga naglihok nga website ug gibilin kana nga proseso sa magbabasa.

Mao nga maghimo kita og direktoryo alang sa apache nga pag-alagad ug pagdugang usa ka sukaranan nga html webpage niini nga gitawag nga 'index.html'.

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

Ang mga sugo sa ibabaw maghimo og bag-ong direktoryo nga gitawag og 'tecmint' ingon man usa ka bag-ong file nga gitawag og 'index.html' sa tecmint directory.

Ang echo command magbutang ug pipila ka teksto sa kana nga file aron kini aktwal nga magpakita sa usa ka butang sa web browser kung ang Apache nagsilbi sa website.

Mubo nga sulat: Ang panid nga gihimo alang niini nga panudlo sa tagsulat magpakita sa lahi nga paagi! Karon gamit ang mga sugo nga gihisgutan kaniadto, ang Apache kinahanglan nga sultihan sa pag-alagad niining bag-ong html nga dokumento.

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

Ang katapusan nga sugo sa ibabaw magpamatuod lamang nga ang Apache2 sa pagkatinuod nag-alagad sa bag-ong gibuhat nga website. Niini nga punto, pag-navigate sa usa ka web browser sa IP address sa server pag-usab ug tan-awa kung ang bag-ong nahimo nga website gipakita (sa usab ang mga kompyuter gusto nga mag-cache sa data ug ingon niana, daghang mga pag-refresh mahimong gikinahanglan aron makuha ang bag-ong webpage).

Kung ang bag-ong nahimo nga \Buhi kini!!! Ang site nagpakita, unya ang Apache 2 malampuson nga na-configure ug nagpakita sa website.

Mga pahalipay! Samtang kini usa ka yano nga pag-setup nga nag-andam sa usa ka server sa LAMP sa Linux nga mag-host sa usa ka site, adunay labi ka labi ka komplikado nga mga butang nga mahimo ug ang pag-configure nagdepende pag-ayo sa kana nga katuyoan sa katapusan.