CMS

Në këtë seksion do të gjeni udhëzues praktikë në lidhje me instalimin dhe konfigurimin e CMS (content management system) të ndryshme Open Source.
Sigurisht, do të trajtojmë instalimet në server GNU/Linux, kush dëshiron mund të shtojë eksperiencën personale në sisteme të tjerë operativë.

Drupal

Kërkesat e sistemit.

Drupal, nuk ka nevojë për konfigurime të komplikuara: një makinë e konfiguruar sipas këtij udhëzuesi përmbush të gjitha kërkesat.

Shkurtimisht përmendim çfarë na duhet:

  • Një server web, këshillohet me forcë Apache, mundësisht në versionin 2.x.
  • PHP
    Versionet Druapal 4.2 deri dhe përfshirë 4.5.2
    Për këta versione kërkohet PHP 4.1+. Versionet më të vjetër të Drupal kërkojnë PHP 4.0.6+.
    Drupal 4.6 (versioni aktual)
    Versioni aktual i Drupal funksionon me PHP 4.3.3+. Të gjithë versionet e ardhshëm (Drupal 4.7.0 pritet të lëshohet këto ditë) funksionojnë edhe me PHP 5.
    Shtesën XML për PHP (për modulët bloggerapi, drupal, jabber, dhe ping).
    Konfigurimi i zakonshëm i PHP e ka këtë shtesë të aktivuar (pra nuk duhet të bëni asgjë).
    Një memorje të PHP prej 8 MB për instalimin bazë të Drupal
    M.q.s. zakonisht shtohen modulë shtesë, ju këshilloj t'a caktoni të paktën në 12 MB. Rruga më e thjeshtë për këtë qëllim është shtimi i direktivës tek file .htaccess i Drupal:
    php_value memory_limit 12M

    tek kartela root e instalimit Drupal. Ky file përmban gjithashtu direktivat e tjera që ndryshojnë nga instalimi normal i PHP: zakonisht nuk duhet të prekni gjë tjetër.
  • Një server databazë i suportuar nga PHP.
    Rekomandohet: MySQL, v3.23.17 ose pasardhës.
    MySQL 4 është i mjaftueshëm.
    Duke filuar nga Drupal 4.7, afrohet suporti për PostgreSQL
    Mund të përdoren versionet 7.3 e sipër.

Instalimi bazë i Drupal

Para se të fillojmë instalimin, le të krijojmë një host virtual për instalimin tonë të provës.
Duke supozuar që keni ndjekur udhëzuesin mbi konfigurimin e një serveri, po konsideroj emrin e domain si shembull.org (ju vendosni emrin tuaj real të domain).

Krijojmë host drupal.shembull.org. Shtojmë rreshtin:

192.168.1.5     drupal.shembull.org    drupal

tek file /etc/hosts, ku 192.168.1.5 është adresa IP e skedës suaj të rrjetit eth0.

Unë, për këtë instalim prove do të përdor directory /opt/www/drupal, ju përdorni pozicionin që ju intereson.

Konfigurojmë apache2
Pozicionet në vazhdim të files të konfigurimit të apache, korrispondojnë me Debian, kontrolloni manualin e apache për sistemin tuaj në përdorim.
cd /etc/apache2/sites-available
Krijoni konfigurimin për sitin e ri drupal.shembull.org:vim drupal.shembull.org dhe shtoni tekstin në vazhdim:
<VirtualHost *>       
ServerName      drupal.shembull.org       
ServerAlias     drupal.localhost       
DocumentRoot    /opt/www/drupal       
ServerAdmin     drupal@shembull.org       
ErrorLog        /var/log/apache2/drupal-error.log       
CustomLog       /var/log/apache2/drupal-access.log combined
</VirtualHost>
Krijojmë databazën dhe përdoruesin e databazës për Drupal.

mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.
Commands end with ; or \g.
Your MySQL connection id is 418 to server version: 5.0.19-Debian_3-log


Type 'help;' or '\h' for help.
Type '\c' to clear the buffer.


mysql>create database drupal_test;
Query OK, 1 row affected (0.03 sec)


mysql> grant all privileges on drupal_test.* to drupal_adm@localhost identified by 'admin05042006';
Query OK, 0 rows affected (0.06 sec)


mysql> flush privileges;
Query OK, 0 rows affected (0.05 sec)


mysql> \q
Bye

Pra, në këtë menyrë, krjuam databazën drupal_test, me përdorues drupal_adm, me fjalëkalim admin05042006.

Mbas këtyre parapërgatitjeve, jemi gati të fillojmë instalimin tonë të provës.

Instalimi

Shkojmë në pozicionin ku do të shkarkojmë dhe instalojmë Drupal.
Unë po shkarkoj versionin e fundit në dispozicion të Drupal: Drupal 4.7 RC1.

Shkarkojmë Drupal nga siti zyrtar:

cd /opt/www
wget http://drupal.org/files/projects/drupal-4.7.0-rc1.tar.gz
--11:48:13-- http://drupal.org/files/projects/drupal-4.7.0-rc1.tar.gz => `drupal-4.7.0-rc1.tar.gz'
Resolving drupal.org... 140.211.166.46
Connecting to drupal.org|140.211.166.46|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 476.965 (466K) [application/x-gzip]


100%[====================================>] 476.965 110.53K/s ETA 00:00


11:48:18 (110.30 KB/s) - `drupal-4.7.0-rc1.tar.gz' saved [476965/476965]


tar xvfz drupal-4.7.0-rc1.tar.gz
.......
mv drupal-4.7.0-rc1 drupal
Ngarkojmë databazën e drupal:
cd drupal/database
mysql -udrupal_adm -padmin05042006 drupal_test < database.mysql
Krijojmë konfigurimin për sitin tonë:

cd ../sites
cp -R default drupal.shembull.org
cd drupal.shembull.org
File i konfigurimit ndodhet në kartelën ku sapo u futëm. E ndryshojmë sipas të dhënave tona:

vim settings.php

<?php
// $Id: settings.php,v 1.27 2006/04/24 19:25:37 dries Exp $

/**
* @file
* Drupal site-specific configuration file.
*
* The configuration file to be loaded is based upon the rules below.
*
* The configuration directory will be discovered by stripping the
* website's hostname from left to right and pathname from right to
* left. The first configuration file found will be used and any
* others will be ignored. If no other configuration file is found
* then the default configuration file at 'sites/default' will be used.
*
* For example, for a fictitious site installed at
* http://www.drupal.org/mysite/test/, the 'settings.php'
* is searched in the following directories:
*
*  1. sites/www.drupal.org.mysite.test
*  2. sites/drupal.org.mysite.test
*  3. sites/org.mysite.test
*
*  4. sites/www.drupal.org.mysite
*  5. sites/drupal.org.mysite
*  6. sites/org.mysite
*
*  7. sites/www.drupal.org
*  8. sites/drupal.org
*  9. sites/org
*
* 10. sites/default
*
* If you are installing on a non-standard port number, prefix the
* hostname with that number.  For example,
* http://www.drupal.org:8080/mysite/test/ could be loaded from
* sites/8080.www.drupal.org.mysite.test/.
*/

/**
* Database settings:
*
* Note that the $db_url variable gets parsed using PHP's built-in
* URL parser (i.e. using the "parse_url()" function) so make sure
* not to confuse the parser. If your username, password
* or database name contain characters used to delineate
* $db_url parts, you can escape them via URI hex encodings:
*
*   : = %3a   / = %2f   @ = %40
*   + = %2b   ( = %28   ) = %29
*   ? = %3f   = = %3d   & = %26
*
* To specify multiple connections to be used in your site (i.e. for
* complex custom modules) you can also specify an associative array
* of $db_url variables with the 'default' element used until otherwise
* requested.
*
* You can optionally set prefixes for some or all database table names
* by using the $db_prefix setting. If a prefix is specified, the table
* name will be prepended with its value. Be sure to use valid database
* characters only, usually alphanumeric and underscore. If no prefixes
* are desired, leave it as an empty string ''.
*
* To have all database names prefixed, set $db_prefix as a string:
*
*   $db_prefix = 'main_';
*
* To provide prefixes for specific tables, set $db_prefix as an array.
* The array's keys are the table names and the values are the prefixes.
* The 'default' element holds the prefix for any tables not specified
* elsewhere in the array. Example:
*
*   $db_prefix = array(
*     'default'   => 'main_',
*     'users'     => 'shared_',
*     'sessions'  => 'shared_',
*     'role'      => 'shared_',
*     'authmap'   => 'shared_',
*     'sequences' => 'shared_',
*   );
*
* Database URL format:
*   $db_url = 'mysql://username:password@localhost/databasename';
*   $db_url = 'mysqli://username:password@localhost/databasename';
*   $db_url = 'pgsql://username:password@localhost/databasename';
*/
$db_url = 'mysql://username:password@localhost/databasename';
$db_prefix = '';

/**
* Base URL (optional).
*
* If you are experiencing issues with different site domains,
* uncomment the Base URL statement below (remove the leading hash sign)
* and fill in the URL to your Drupal installation.
*
* You might also want to force users to use a given domain.
* See the .htaccess file for more information.
*
* Examples:
*   $base_url = 'http://www.example.com';
*   $base_url = 'http://www.example.com:8888';
*   $base_url = 'http://www.example.com/drupal';
*   $base_url = 'https://www.example.com:8888/drupal';
*
* It is not allowed to have a trailing slash; Drupal will add it
* for you.
*/
# $base_url = 'http://www.example.com';  // NO trailing slash!

/**
* PHP settings:
*
* To see what PHP settings are possible, including whether they can
* be set at runtime (ie., when ini_set() occurs), read the PHP
* documentation at http://www.php.net/manual/en/ini.php#ini.list
* and take a look at the .htaccess file to see which non-runtime
* settings are used there. Settings defined here should not be
* duplicated there so as to avoid conflict issues.
*/
ini_set('arg_separator.output',     '&amp;');
ini_set('magic_quotes_runtime',     0);
ini_set('magic_quotes_sybase',      0);
ini_set('session.cache_expire',     200000);
ini_set('session.cache_limiter',    'none');
ini_set('session.cookie_lifetime'2000000);
ini_set('session.gc_maxlifetime',   200000);
ini_set('session.save_handler',     'user');
ini_set('session.use_only_cookies', 1);
ini_set('session.use_trans_sid',    0);
ini_set('url_rewriter.tags',        '');

/**
* Variable overrides:
*
* To override specific entries in the 'variable' table for this site,
* set them here. You usually don't need to use this feature. This is
* useful in a configuration file for a vhost or directory, rather than
* the default settings.php. Any configuration setting from the 'variable'
* table can be given a new value.
*
* Remove the leading hash signs to enable.
*/
# $conf = array(
#   'site_name' => 'My Drupal site',
#   'theme_default' => 'pushbutton',
#   'anonymous' => 'Visitor'
# );
?>

E ndryshojmë/plotësojmë si në vazhdim (rreshtat $db_url = dhe $base_url =) :
<?php
........
$base_url = 'http://drupal.shembull.org';
........
$db_url = 'mysql://drupal_adm:admin05042006@localhost/drupal_test';
......
...
etj....
?>

Me kaq përfunduar proçedurën e instalimit, kalojmë tani tek konfigurimi i parë...

Konfigurimi i parë

Edhe një hap tjetër para se të futemi në sitin tonë të ri Drupal: aktivojmë sitin e ri drupal.shembull.org dhe rinisim apache (komandat jepen si root):

a2ensite drupal.shembull.org

/etc/init.d/apache2 reload

Tani jemi gati për tu futur në sitin tonë të ri Drupal.
Hapim shfletuesin web dhe shkruajmë adresën URL: http://drupal.shembull.org

Hapet faqja e përshëndetjes së parë të Drupal:

Krijojmë përdoruesin e parë (që do të jetë dhe administratori i sitit):
Kliko tek lidhja "create the first account"

Krijojmë përdoruesin dhe identifikohemi në sistem.
Veprimi i parë që duhet të kryejmë eshtë caktimi i një fjalëkalimi:
Klikojmë tek pulsanti "Submit (ruajmë ndryshimet).
Tek shtylla/blloku i majtë klikojmë tek administer e pastaj tek modules:
Aktivojmë modulët që na interesojnë (unë në këtë shembull i kam aktivuar të gjithë), duke patur kujdes të aktivojmë modulin locale (mbasi ne e duam sitin në shqip, apo jo?).
Tani shtylla/blloku i majtë pasurohet me shumë zëra të rinj: janë lidhjet nga ku mund të konfigurohet çdo modul.
Fillojmë me shtimin e gjuhës shqipe: shkarkojmë përkthimet në shqip nga siti zyrtar i Drupal:
cd /opt/www
$ wget http://drupal.org/files/projects/sq-4.7.0.tar.gz
--13:12:47-- 
http://drupal.org/files/projects/sq-4.7.0.tar.gz           => `sq-4.7.0.tar.gz'
Resolving drupal.org... 140.211.166.46
Connecting to drupal.org|140.211.166.46|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 131.618 (129K) [application/x-gzip]
100%[====================================>] 131.618       70.08K/s
13:12:50 (69.89 KB/s) - `sq-4.7.0.tar.gz' saved [131618/131618]

Hapim file e shkarkuar:

cd /opt/www
$ tar xvfz sq-4.7.0.tar.gz
sq/LICENSE.txt
sq/README.txt
sq/sq.po

File që duhet të ngarkojmë në drupal (unë shkarkova në /opt/www/) është /opt/www/sq/sq.po.
Kalojmë tek siti ynë Drupal dhe klikojmë tek zëri "localization" i menusë së administrimit (blloku majtas):

Klikojmë tek "add language" dhe nga menu e shpalosëshme e gjuhëve, zgjedhim Albanian (Shqip):

Klikojmë tek zëri "import", pastaj Browse..." për tek pozicioni ku shkarkuar file sq.po dhe e zgjedhim, e në fund tek pulsanti "Import":

Mbas disa çastesh përkthimet do të jenë ngarkuar: aktivojmë dhe caktojmë shqipen si gjuhën e prezgjedhur, e ruajmë konfigurimin ("Save configuration").

Personalizimi

Tani duhet të kemi një sit krejtësisht funksionues, por që (me përjashtim të gjuhës) nuk ndryshon aspak nga dhjetra site të tjerë Drupal në internet.
Duhet të fillojmë personalizimin e sitit tonë Drupal.
Hapi i parë është seksioni i rregullimeve të përgjithshme administrimi >> rregullimet:

Rregullimet e përgjithshme
Ndikojnë në paraqitjen e përgjithshme të sitit. Mund të përcaktohet emri i sitit, misioni, adresa e-mail, etj...
Trajtimi i gabimeve
Vlera e prezgjedhur, tani për tani është në rregull.
Rregullimet e cache
Vlera e prezgjedhur, tani për tani është në rregull.
Rregullimet e file të sistemit
Krijoni një kartelë (vlera e prezgjedhur ka emrin files):
mkdir /opt/www/drupal/files && chmod 766 /opt/www/drupal/files

Rregullimet e burimit RSS
Vlera e prezgjedhur, tani për tani është në rregull.
Rregullimet e datës
Konfiguroni zonën tuaj orare (me bazë GMT):
Mirëmbajtja e sitit
Nëse siti juaj ka një domain real, deri sa të përfundoni rregullimet e sitit dhe të materialeve, mund t'a vendosni në modalitetin Jashtë-linje: Vizituesit mund të shohin vetëm mesazhin që përcaktoni vetë ju në këtë Opsion. Ju vetë, apo administratorë të tjerë, mund të futen rregullisht në sit.
Trajtimi i frazave
Suporti Unicode
Proçeset e planifikuar
Nga këtu mund të aktivoni dhe konfiguroni cron, tepër i nevojshëm për funksionimin korrekt të Drupal.

Ja si paraqitet siti mbasi të kemi ruajtur këto konfigurime:

Përkthimi në shqip i DRUPAL

01/09/2008.
Shënim: Informacionet në vijim janë të vjetra.
Për të shkarkuar përkthimet në shqip për Drupal, përdorni faqen përkatëse nga siti zyrtar i Drupal: Albanian translation.
Kush dëshiron të ndihmojë në përkthimet në shqip për Drupal, mund të përdorë serverin e përkthimeve në linjë:

Rregullat bazë për përkthimet në shqip

Në këtë faqe do të jepen disa këshilla të thjeshta për të gjithë përkthyesit, në menyrë që të krijohen përkthime koerente.

Rregulla e parë e që duhet respektuar gjithmonë është: mos mbishkruaj punën e një përkthyesi tjetër, nëse nuk dëshiron që puna juaj të mos mbishkruhet; është praktikë e mirë shtimi i versionit tuaj të përkthimeve si një propozim për përkthimin ekzistues!

Është i mirëpritur çdo diskutim në lidhje me përkthime të reja të mundshme, interpretime apo mënyra dhe metodollogji përkthimi. Diskutimet mund të ndiqen në faqen e Forumit kushtuar përkthimeve të DRUPAL.

DRUPAL 5 RC1

Në këtë temë do të ndiqet progresi i përkthimeve në shqip për versionin 5 të Dupal.
Disa nga modulët janë shënuar si të lirë: kush dëshiron mund të kontribojë në përkthimin e tyre...

Përkthimet për DRUPAL-5 RC1:

ProjektiGjëndja e përkthimit (%)Pa përkthyerPërmban propozimeVersioni
general.po10010000DRUPAL-6--1
includes.po10010000DRUPAL-6--1
modules-book.po3333046DRUPAL-6--1

DRUPAL 6.x

Duke filluar nga versioni 6 i DRUPAL ka ndryshuar skema e instalimit të file me përkthimet (pozicioni relativ i file të gjuhës).
Që këtej e tutje, çdo modul duhet të përmbajë një kartelë të quajtur translations në të cilën duhet të vendoset file i gjuhës me përkthimet përkatëse.

Le të shohim një rast konkret:

Moduli user: Në brendësi të tij duhet krijuar kartela translations dhe në të shtohet file modules-user.sq.po. Pra struktura e modulit për file e përkthimeve do të jetë: user/translations/modules-user.sq.po
Sikurse mund të shihet edhe vetë emri i file me përkthimet respekton një standard të ri, pra modules-emri_modulit.gjuha.po.

Duhet të shtojmë edhe pak sqarime për modulin system: në këtë modul, përveç file me përkthimet për vetë modulin (modules-system.sq.po) vendosen edhe disa file të rendësishëm për krejt sistemin: general.sq.po, includes.sq.po dhe misc.sq.po.

Sa më sipër për të njohur ndryshimet në strukturë dhe në emërtim të përkthimeve, kush shkarkon përkthimet nga siti zyrtar i Drupal nuk ka nevojë të krijojë directory e nevojshme: një script vendos automatikisht përkthimet në pozicionet e duhura përkatëse.

Gjëndja e përkthimeve në shqip, për versionin 6.x të Drupal, mund të ndiqet tek kjo faqe.

DRUPAL 5 RC2

Përkthimet për DRUPAL-5 RC2:

LlojiAdresaShënime
host203.121.79.215
host195.137.140.165

Invalid Table ID

DRUPAL 5.0

Këtu do të gjeni përkthimin në shqip për versionin 5.0 të Drupal.

Modulët shtesë

Në këtë faqe do të gjeni listën e modulëve shtesë (pra që nuk bëjnë pjesë në pakon zyrtare të Drupal) për të cilët ekzistojnë përkthimet në shqip.

Në këtë rast, file i përkthimit (zakonisht sq.po) shkarkohet së bashku me modulin e dëshiruar, në versionin e dëshiruar.

Modulë shtesë për DRUPAL:

Invalid Table ID