Kuunda Seva Yako ya Wavuti na Kukaribisha Tovuti kutoka kwa Sanduku lako la Linux


Wengi wenu mngekuwa mtayarishaji programu wa wavuti. Baadhi yenu huenda mnadaiwa na tovuti na bila shaka mtakuwa mkiihariri na kuisasisha mara kwa mara. Ingawa wachache hawana ujuzi wa kutosha wa teknolojia za wavuti bado wangekuwa wanapanga kuwa na moja.

Kupitia kifungu hiki, nitafahamisha jinsi unavyoweza kukuza tovuti inayofanya kazi ukiwa na ufahamu mdogo sana na unaweza kuikaribisha kwa kutumia kisanduku chako cha Linux. Mambo yanaweza kuwa rahisi kama hayo.

Mahitaji:

Sanduku la Linux (Hata hivyo, Unaweza kutumia Windows lakini mambo hakika hayatakuwa rahisi na kamili kama yatakavyokuwa kwenye Mashine ya Linux, Debian imetumika hapa kwa mfano kunukuu). Ikiwa huna mfumo wa uendeshaji uliowekwa, au hujui jinsi ya kufunga mfumo wa uendeshaji wa Linux, basi hapa kuna miongozo machache ambayo inaonyesha jinsi ya kufunga mfumo wa uendeshaji wa Linux.

  • Jinsi ya Kusakinisha Seva ndogo ya Debian 10 (Buster)
  • Jinsi ya Kusakinisha Seva ya Ubuntu 20.04
  • Usakinishaji wa \CentOS 8.0″ na Picha za skrini

Apache, PHP, na MySQL (ukiwa na ufahamu wa haraka wa SQL nyingine yoyote, unaweza kuitumia lakini mifano kwenye kifungu itakuwa ikitumia MySQL.

  • Jinsi ya Kusakinisha LAMP kwenye Seva ya Debian 10
  • Jinsi ya Kusakinisha Rafu ya LAMP katika Ubuntu 20.04
  • Jinsi ya Kusakinisha Seva ya LAMP kwenye CentOS 8

Mfumo wa Usimamizi wa Maudhui - Drupal na KompoZer, au unaweza kutumia WordPress au Joomla.(Lakini hapa nilitumia Drupal kama Mfumo wangu wa Kusimamia Maudhui (CMS)).

  • Jinsi ya Kusakinisha WordPress Pamoja na LAMP kwenye Debian 10
  • Jinsi ya kusakinisha WordPress na Apache katika Ubuntu 20.04
  • Sakinisha WordPress 5 ukitumia Apache, MariaDB 10, na PHP 7 kwenye CentOS 8/7

  • Jinsi ya Kusakinisha Drupal kwenye Debian 10
  • Jinsi ya Kusakinisha Drupal kwenye Ubuntu
  • Jinsi ya Kusakinisha Drupal kwenye CentOS 8

  • Jinsi ya kusakinisha Joomla kwenye Debian 10
  • Jinsi ya kusakinisha Joomla kwenye Ubuntu
  • Jinsi ya kusakinisha Joomla kwenye CentOS 8

Kuanzisha Seva ya Wavuti na Kukaribisha Tovuti katika Linux

Muunganisho wa Mtandao na IP Isiyobadilika (Inayopendelea) iliyounganishwa kupitia modemu iliyo na kifaa cha upangishaji pepe (Kwa Uhalisia si ngumu kama inavyosikika hapa).

Apache ni programu ya seva ya wavuti. Inakuja kusakinishwa na kusanidiwa kwenye Mifumo mingi. Angalia ikiwa imewekwa kwenye mfumo wako au la.

# apt-cache policy apache2 (On Debian based OS)
apache2:
  Installed: (none)
  Candidate: 2.4.38-3+deb10u3
  Version table:
     2.4.38-3+deb10u3 500
        500 http://httpredir.debian.org/debian buster/main amd64 Packages
     2.4.38-3 -1
        100 /var/lib/dpkg/status
     2.4.25-3+deb9u9 500
        500 http://security.debian.org/debian-security stretch/updates/main amd64 Packages
# yum search httpd (On Red Hat based OS)
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * base: ftp.iitm.ac.in
 * epel: mirror.smartmedia.net.id
 * extras: ftp.iitm.ac.in
 * updates: ftp.iitm.ac.in
Installed Packages
httpd.i686	2.2.15-28.el6.centos	@updates

Kutoka kwa matokeo hapo juu, ni wazi kuwa Apache imewekwa kwenye kisanduku, ikiwa haiko katika kesi yako unaweza 'apt' au 'yum' kifurushi kinachohitajika. Mara tu Apache ikiwa imewekwa, anza kama.

# apt-get install apache2 (On Debian based OS)
# service apache2 start
# yum install httpd (On Red Hat based OS)
# service httpd start

Kumbuka: Unaweza kulazimika kuandika 'httpd' na sio 'apache' kwenye seva fulani Viz., RHEL. Mara tu seva ya 'apache2' au 'http' aka 'httpd' inapoanzishwa unaweza kuiangalia kwenye kivinjari chako kwa kwenda kwa kiungo chochote kati ya vifuatavyo.

http://127.0.0.1
http://localhost
http://your-ip-address

Kiungo hiki kitafunguka kwenye ukurasa uliopangishwa ambayo ina maana kwamba Apache imesakinishwa na kuanza kwa mafanikio.

MySQL ni programu ya seva ya hifadhidata. Inakuja imejaa idadi ya distros. Angalia ikiwa imewekwa kwenye mfumo wako au la na imesakinishwa wapi.

# whereis mysql
mysql: /usr/bin/mysql /etc/mysql /usr/lib/mysql /usr/bin/X11/mysql /usr/share/mysql 
/usr/share/man/man1/mysql.1.gz

Kutoka kwa pato hapo juu, ni wazi kwamba MySQL imewekwa pamoja na eneo la faili za binary. Ikiwa haijasakinishwa, fanya 'apt' au 'yum' ili kuisakinisha na kuianzisha.

# apt-get install mariadb-server mariadb-client (On Debian based OS)
# service mysql start
# yum install mariadb-server mariadb-client (On Red Hat based OS)
# service mariadb start

Kumbuka: Huenda ukalazimika kuandika \mysqld badala ya mysql, bila shaka bila nukuu, katika eneo fulani, yaani, RHEL. Angalia hali ya MySQL, endesha.

# service mysql status (On Debian based OS)
● mariadb.service - MariaDB 10.3.23 database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2020-01-08 01:05:32 EST; 1min 42s ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
  Process: 2540 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
  Process: 2537 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 2457 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_STAR
  Process: 2452 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 2450 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
 Main PID: 2506 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 30 (limit: 4915)
   CGroup: /system.slice/mariadb.service
           └─2506 /usr/sbin/mysqld

Matokeo hapo juu yanaonyesha kuwa MySQL inaendesha kwa dakika 11 na sekunde 58.

PHP ni lugha ya uandishi ya upande wa seva iliyoundwa kwa ukuzaji wa wavuti na hutumiwa kwa kawaida kama lugha ya upangaji wa madhumuni ya jumla. Lazima tu upeleke hati ya php baada ya kusakinisha php. Kama nilivyosema hapo juu tumia 'apt' au 'yum' kusanikisha kifurushi kinachohitajika kwa sanduku lako.

# apt-get install php php-mysql (On Debian based OS)
# yum install php php-mysqlnd (On Red Hat based OS)

Ikiwa ulisakinisha php kwa ufanisi kwenye mfumo wako, unaweza kuangalia ikiwa inafanya kazi kwa usahihi au la kwa kuunda faili \info.php kwenye saraka yako ya '/var/www/html' au '/var/www' (ambayo ni saraka yako ya Apache) na yaliyomo hapa chini.

<?php

     phpinfo ();
?>

Sasa nenda kwenye kivinjari chako na uandike kiungo chochote kati ya vifuatavyo.

http://127.0.0.1/info.php
http://localhost/info.php
http://your-ip-address/info.php

Inayomaanisha kuwa php imewekwa na inafanya kazi kwa usahihi. Sasa unaweza kuunda tovuti yako katika saraka yako ya Apache, hata hivyo, sio wazo nzuri kila wakati kuunda tena gurudumu tena na tena.

Kwa hili, kuna Mfumo wa Usimamizi wa Maudhui (CMF), yaani, Drupal, Joomla, WordPress. Unaweza kupakua mfumo mpya zaidi kutoka kwa kiungo kilichotolewa hapa chini na unaweza kutumia mojawapo ya mifumo hii, hata hivyo, tutakuwa tukitumia Drupal katika mifano yetu.

  • Drupal: https://drupal.org/project/drupal
  • Joomla: http://www.joomla.org/download.html
  • WordPress: http://wordpress.org/download/

Pakua Drupal kutoka kwa kiungo hapo juu ambacho kinaweza kuwa kumbukumbu ya tar. Hamisha kumbukumbu ya tar kwenye saraka yako ya Apache '/var/www/html' au '/var/www'. Itoe kwa mzizi wa saraka ya apache. Ambapo 'x.xx' itakuwa nambari ya toleo.

# mv drupal-x.xx.tar.gz /var/www/ (mv to Apache root directory)
# cd /var/www/ (change working directory)
# tar -zxvf drupal-7.22.tar.gz (extract the archieve)
# cd drupal-7.22 (Move to the extracted folder)
# cp * -R /var/www/ (Copy the extracted archieve to apache directory)

Ikiwa kila kitu kitaenda sawa, fungua tena kivinjari chako na uende kwenye viungo vilivyo hapa chini na utasalimiwa navyo.

http://127.0.0.1
http://localhost
http://your-ip-address

Chagua mipangilio ya lugha yako.

Inatafuta mahitaji na ruhusa ya faili. Toa ruhusa inayofaa kwa faili na folda zinazohitajika. Huenda ukahitaji kuunda faili fulani kwa mikono, ambayo sio mpango mkubwa.

Sanidi Hifadhidata, mchakato wa nyuma.

Ikiwa mpangilio wa Hifadhidata unakwenda profaili kamili husakinishwa kiatomati.

Kusanidi kunamaanisha kuweka 'Jina la Tovuti', 'Barua pepe', 'Jina la Mtumiaji', 'Nenosiri', 'Saa za Eneo', n.k.

Na ikiwa kila kitu kitaenda sawa, utapata skrini kitu kama hiki.

Fungua ukurasa wako kwa kurejelea anwani http://127.0.0.1.

Huruma!!!

Kompozer ni zana inayokuruhusu kufanya kazi katika GUI kwa kubuni tovuti katika html na unaweza kuingiza hati ya php popote unapotaka. Kompozer ilifanya iwe rahisi sana kuunda ukurasa wa wavuti.

  1. Kompozer: http://www.kompozer.net/download.php

vizuri hauitaji kuisanikisha kwenye mfumo mwingi wa Linux. Pakua tu, toa, na uendeshe Kompozer.

Ikiwa ni wabunifu, kompozer iko hapo kwa ajili yako.

Maneno machache kuhusu Anwani za Itifaki ya Mtandao (IP).

http://127.0.0.1

Kwa ujumla inaitwa loopback IP address au localhost, na daima inaelekeza kwenye mashine ambayo inavinjariwa. Mashine zote kwenye mtandao zinazorejelea anwani iliyo hapo juu zitarejea kwenye mashine yake yenyewe.

Ipconfig/ifconfig: Endesha hii kwenye terminal yako ili kujua anwani ya karibu ya mashine yako.

# ifconfig
eth0      Link encap:Ethernet  HWaddr **:**:**:**:**:**  
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0 
          inet6 addr: ****::****:****:****:****/** Scope:Link 
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 
          RX packets:107991 errors:0 dropped:0 overruns:0 frame:0 
          TX packets:95076 errors:0 dropped:0 overruns:0 carrier:0 
          collisions:0 txqueuelen:1000 
          RX bytes:76328395 (72.7 MiB)  TX bytes:20797849 (19.8 MiB) 
          Interrupt:20 Memory:f7100000-f7120000

Tafuta innet addr:192.168.1.2 hapa 192.168.1.2 ni IP yangu ya ndani. Kompyuta yoyote kwenye LAN yako ikijumuisha unaweza kurejelea ukurasa wako wa wavuti uliopangishwa kwa kutumia anwani hii.

Hata hivyo kompyuta iliyo nje ya LAN yako haitaweza kufikia ukurasa wako wa wavuti kwa kutumia anwani hii ya IP. Utalazimika kuuliza mtoa huduma wako wa mtandao akupe IP tuli (Hiyo haibadiliki na wakati). Mara tu unapopata anwani yako ya IP isiyobadilika, njia rahisi zaidi ya kupata IP yako ni kuandika \IP yangu ni kwenye google na kuandika matokeo.

Hutaweza kufikia IP hii kutoka kwa mashine yako mwenyewe au mashine nyingine yoyote kwenye LAN yako. Hata hivyo, unaweza kutumia seva mbadala (www.kproxy.com) kufikia ukurasa uliopangishwa kwa kutumia IP yako tuli. Lakini kabla ya hapo, unahitaji kusanidi seva ya kawaida na mtoa huduma wako hakika atasaidia katika suala hili.

Hmmm! Hiyo sio ngumu hata kidogo. Kwanza, unahitaji kujua apache ya bandari inatumia, ambayo katika hali nyingi ni 80.

# netstat -tulpn

matokeo yatakuwa kitu kama:

tcp6       0      0 :::80                   :::*                    LISTEN      6169/apache2

Sasa nenda kwa kipanga njia chako ambacho kwa ujumla ni http://192.168.1.1 na jina la mtumiaji/nenosiri litakuwa admin-admin, hata hivyo, inaweza kuwa tofauti katika kesi yako kulingana na mtoa huduma na eneo.

Ifuatayo, nenda kwenye kichupo cha seva ya Virtual. Jaza nambari ya mlango, jina la huduma, na anwani ya karibu ya IP, julisha na uhifadhi. Omba usaidizi kutoka kwa ISP wako.

Kumbuka Utaweza tu kufikia seva hii ya tovuti kutoka kwa mashine yako, mashine nyingine yoyote kwenye LAN yako, au kompyuta kwenye Mtandao wakati mashine yako iko JUU na inaendesha MySQL na Apache kwa wakati mmoja.

Kwa nguvu kubwa, inakuja jukumu kubwa. Na sasa ni jukumu lako kulinda mashine yako. Usiwahi kutoa anwani yako ya IP kwa mtu yeyote asiyejulikana hadi ujue njia zako za kuingia na kutoka.

Kwa hakika tutajaribu kuangazia masuala yanayohusiana na usalama na jinsi ya kuulinda. Jisikie huru kutoa maoni yako muhimu na uwashiriki na marafiki zako. Unajua ‘Kushiriki ni Kujali’. Maoni yako Chanya yanatutia moyo na kututia moyo.