Jinsi ya Kufunga Drupal na Apache kwenye Debian na Ubuntu


Kuendeleza tovuti yako kutoka mwanzo inaweza kuwa kazi ya kutisha. Inatumia muda na gharama kubwa ikiwa unapanga kuajiri msanidi programu. Njia rahisi ya kuondoa blogu au tovuti yako ni kutumia CMS (mfumo wa kudhibiti maudhui) kama vile Drupal.

Drupal ni mfumo huria wa usimamizi wa maudhui (CMS), ulioandikwa kwa PHP na kutolewa chini ya GPL. Ilitolewa kwa mara ya kwanza Januari 2001 ili kuendesha blogu za kibinafsi, tovuti za kampuni, na aina yoyote ya tovuti ambazo watu wanaweza kuhitaji. Leo, Drupal ni mojawapo ya CMS maarufu duniani inayoendesha mamilioni ya tovuti duniani kote.

Toleo la hivi punde la Drupal wakati wa kuandika mwongozo huu ni Drupal 9.

  1. Chanzo huria na huria.
  2. Vipengele msingi kama vile uwezo wa kuchapisha machapisho, kurasa na mfumo wa maoni, mipasho ya RSS, usajili wa watumiaji. sakinisha na urekebishe violezo na viongezi.
  3. Zaidi ya moduli 30000 zinazopatikana za kupakua bila malipo kutoka kwa duka la Drupal.
  4. Inapatikana katika zaidi ya lugha 110 kwa kutumia lugha za RTL kama vile Kiarabu.
  5. Usaidizi wa tovuti nyingi na usaidizi wa uhariri na uundaji wa maudhui ya watumiaji wengi.
  6. Msaada wa kuunda blogu, vikao, kura za maoni kwa kutumia moduli ambazo zimesakinishwa kwa chaguomsingi.
  7. Husasisha mfumo vizuri sana ili kukuarifu kuhusu masasisho ya usalama.
  8. Vipengele vingine vingi.

Katika mwongozo huu, tutasakinisha Drupal kwenye Debian 10/9 na Ubuntu 20.04/18.04.

Kwa kuwa Drupal ni CMS inayoendeshwa na PHP ambayo inafikiwa kutoka sehemu ya mbele na watumiaji, unahitaji kuwa na rundo la LAMP iliyosakinishwa kwenye mfano wako wa Debian/Ubuntu. LAMP ni mrundikano wa programu unaotumika kupima na kupeleka tovuti na unajumuisha vipengele 3 kuu:

  • Seva ya wavuti ya Apache.
  • Seva ya hifadhidata ya MariaDB.
  • PHP (Kwa Drupal 9, PHP 7.3 na matoleo ya baadaye yanapendekezwa).

Kwa kukidhi mahitaji, wacha tuanze!

Hatua ya 1: Sakinisha Apache, MariaDB, na PHP

1. Ili kusakinisha Drupal, utahitaji seva ya wavuti inayoendesha na seva ya hifadhidata, katika makala hii tutafanya kazi na Apache, PHP, na MariaDB, unaweza kuzisakinisha kwa urahisi kwa usaidizi wa chombo cha meneja wa kifurushi kinachoitwa apt.

$ sudo apt install apache2 mariadb-server mariadb-client php libapache2-mod-php php-cli php-fpm php-json php-common php-mysql php-zip php-gd php-intl php-mbstring php-curl php-xml php-pear php-tidy php-soap php-bcmath php-xmlrpc 

2. Kwenye seva za uzalishaji, lazima uwashe baadhi ya hatua za kimsingi za usalama kwa usakinishaji wa hifadhidata ya MariaDB, kwa kuendesha hati ifuatayo ya usalama ambayo husafirishwa na kifurushi cha MariaDB.

$ sudo mysql_secure_installation

Baada ya kuendesha hati, itakupitisha katika mfululizo wa maswali ambapo unaweza kujibu ndiyo(y) ili kuwasha baadhi ya chaguo msingi za usalama kama inavyoonyeshwa.

  • Ingiza nenosiri la sasa la mzizi (andika bila): Ingiza
  • Je, ungependa kuweka nenosiri la msingi? [Y/n] y
  • Ungependa kuondoa watumiaji wasiojulikana? [Y/n] y
  • Ungependa kutoruhusu kuingia kwa mizizi ukiwa mbali? [Y/n] y
  • Ungependa kuondoa hifadhidata ya majaribio na uifikie? [Y/n] y
  • Pakia upya majedwali ya upendeleo sasa? [Y/n] y

Hiyo ndiyo yote, umeweka kwa ufanisi vifurushi vyote vinavyohitajika na pia umeongeza nenosiri la MySQL. Sasa ni wakati wa kusonga mbele na kuunda hifadhidata kwa usakinishaji wa Drupal.

Hatua ya 2: Unda Hifadhidata ya Drupal

3. Tutahitaji kuunda hifadhidata kwa usakinishaji wetu wa Drupal, ili kufanya hivyo, endesha amri ifuatayo ili kuunganisha kwenye shell ya mysql.

$ sudo mysql -u root -p

Kumbuka: Itakuuliza uweke nenosiri la mizizi ya MySQL, ambalo umeweka wakati wa kupata kifurushi cha MySQL, ingiza na utaelekezwa kwa terminal ya mysql.

4. Kisha, endesha mfululizo wa amri zifuatazo kwenye terminal ya MySQL ili kuunda mtumiaji mpya wa 'drupal', hifadhidata na kutoa mapendeleo.

## Creating New User for Drupal Database ##
MariaDB [(none)]> CREATE USER drupal@localhost IDENTIFIED BY "your_password_here";

## Create New Database ##
MariaDB [(none)]> create database drupal;

## Grant Privileges to Database ##
MariaDB [(none)]> GRANT ALL ON drupal.* TO drupal@localhost;

## FLUSH privileges ##
MariaDB [(none)]> FLUSH PRIVILEGES;

## Exit ##
MariaDB [(none)]> exit

Kumbuka: Ikiwa unataka, unaweza kubadilisha jina la mtumiaji na jina la hifadhidata kwa jina lingine lolote.

Hatua ya 3: Pakua na Usakinishe Drupal katika Ubuntu

5. Drupal inapatikana kupakuliwa kutoka hazina rasmi ya Ubuntu/Debian kama kifurushi, hata hivyo, ni toleo la zamani kutoka kwa Drupal ambalo lina udhaifu mwingi wa kiusalama, na toleo la sasa la Drupal ni 9.0.6), ndiyo sababu tutakuwa tukipakua. Drupal kutoka kwa tovuti rasmi

Vinginevyo, unaweza kutumia wget amri ifuatayo kunyakua toleo la hivi karibuni moja kwa moja.

$ sudo wget https://www.drupal.org/download-latest/tar.gz -O drupal.tar.gz

6. Kisha, toa faili ya tarball na usogeze folda ya drupal ambayo haijabanwa hadi kwenye njia ya /var/www/html kama inavyoonyeshwa.

$ sudo tar -xvf drupal.tar.gz
$ sudo mv drupal-9.0.6 /var/www/html/drupal

7. Ili Drupal iweze kufikiwa, toa ruhusa zilizoonyeshwa:

$ sudo chown -R www-data:www-data /var/www/html/drupal/
$ sudo chmod -R 755 /var/www/html/drupal/

Hatua ya 4: Unda Apache Drupal Virtual Host

8. Sehemu ya mwisho ya usanidi inatuhitaji kuunda faili ya seva pangishi ya Apache kwa tovuti yetu ya Drupal. Endelea na uunda faili ya mwenyeji halisi kama inavyoonyeshwa:

$ sudo vim /etc/apache2/sites-available/drupal.conf

Bandika yaliyomo hapa chini.

<VirtualHost *:80>
     ServerAdmin [email 
     DocumentRoot /var/www/html/drupal/
     ServerName  example.com  
     ServerAlias www.example.com

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

     <Directory /var/www/html/drupal/>
            Options FollowSymlinks
            AllowOverride All
            Require all granted
     </Directory>

     <Directory /var/www/html/>
            RewriteEngine on
            RewriteBase /
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteCond %{REQUEST_FILENAME} !-d
            RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
    </Directory>
</VirtualHost>

Baada ya hapo, hifadhi na uondoke faili ya usanidi.

9. Pamoja na seva pangishi pepe, tunahitaji kuiwasha kwa kutumia amri zilizo hapa chini:

$ sudo a2ensite drupal.conf
$ sudo a2enmod rewrite

10. Kisha anzisha upya seva ya wavuti ya Apache ili mabadiliko yatekelezwe.

$ sudo systemctl restart apache2

Hatua ya 6: Sanidi Drupal kutoka kwa Kivinjari

11. Katika hatua hii tunafunga usakinishaji wa Drupal kwa kuiweka kwenye kivinjari. Kwa hivyo zindua kivinjari chako na uelekeze kwa anwani ya IP ya seva yako kama inavyoonyeshwa:

http://www.server-ip/
OR
http://www.example.com/

12. Katika ukurasa unaoonekana, chagua lugha unayopendelea na ubofye kitufe cha 'Hifadhi na uendelee'.

13. Hatua inayofuata inakupa wasifu 3 wa usakinishaji ambao unaweza kujiinua. Ili kufanya mambo kuwa rahisi na moja kwa moja, chagua chaguo la kwanza ambalo ni Wasifu wa Kawaida, na ubofye kitufe cha 'Hifadhi na uendelee'.

14. Katika hatua inayofuata jaza maelezo ya hifadhidata.

15. Hivi karibuni, ufungaji wa faili zote muhimu utaanza. Hii inachukua takriban dakika 5 na uvumilivu fulani utafanya.

16. Jaza sehemu zote zinazohitajika kuhusu tovuti yako kama vile jina la tovuti, anwani ya barua pepe ya tovuti, eneo na saa za eneo.

17. Hatimaye, utapata dashibodi chaguo-msingi ya Drupal kama inavyoonyeshwa:

Kuanzia hapa, unaweza kuanza kuunda tovuti yako mwenyewe sikivu na maridadi kwa kutumia mada zinazopatikana au kutumia mada za hali ya juu za Drupal. Hiyo ndiyo tu tuliyokuwa nayo kwa leo. Tunatumahi kuwa unaweza kusanidi Drupal kwa raha kwenye Debian 10/9 na Ubuntu 20.04/18.04.