bgERP.com

Ръководство за ръчно инсталиране


Предупреждение!
Информацията по-долу е предназначена само за хора с опит в системното администриране. Ако нямате такъв опит, а ви е необходима пълна инсталация на bgERP, потърсете професионалист в тази област.

Обща информация


bgERP е Open Source проект и чрез инсталирането му вие получавате пълната версия и изходния код на системата, без ограничения по време или функционалност. Това е безплатно и не ви обвързва с финансови ангажименти. Ако желаете, може да помогнете за развитието на проекта.

bgERP е уеб-приложение, за чиято работа се изисква да имате инсталирани:
  • PHP 5.3+;
  • MySql 5.0+
  • Apache WEB сървър 2.

За да си ги набавите най-лесният начин е да инсталирате готов пакет:
При изтеглянето на пакетите задължително обърнете внимание на платформата за която са: 32 или 64 bit.

Сваляне на кода

Кодът на bgERP приложението се съдържа в репозитори, което хоства в http://github.com/bgerp/ - може да го свалите от https://github.com/bgerp/bgerp/archive/DC2.zip

Сваляне на кода чрез GIT

Алтернативно може да изтеглите кода, чрез git протокола. Предимството на този подход, е че лесно можете да поддържате пакета актуален.
За целта е необходимо да имате git клиент за използваната от вас операционна система. Можете да си го набавите по следния начин:
  • За Linux дистрибуции използващи apt, като пакетен мениджър /Debian, Ubintu .../
sudo apt-get install git
  • За Windows най подходящо е tortoisegit, но разбира се не е единственият избор.
След това трябва да влезете в корена на приложението /директория, която е описана в по долната точка/ и да изпълните командата:
git clone git://github.com/bgerp/bgerp.git
По този начин ще се създаде директорията на приложението. За всяко обновяване е необходимо да изпълнявате командата git update съответно в създадената папка.


Настройки в mysql сървъра

За работата на системата е необходимо да се създаде база и потребител с пълни права над нея, в която bgERP ще съхранява данните си. Това може да се постигне с phpMyAdmin или директно от командния ред:
$ mysql -u root -p
mysql> CREATE DATABASE bgerp;
mysql> GRANT ALL ON bgerp.* TO bgerp@localhost \\
       IDENTIFIED BY 'mypassword';
Така създаваме база bgerp с потребител bgerp и парола 'mypassword' с пълни права над базата.

Структура на директориите и пътищата

Визуално структурата на bgERP изглежда по следният начин:
/home/user/ef_root            ---> Корен на приложението
                  /bgerp      ---> Пакет bgERP
                  /conf       ---> Конфигурационни файлове
                  /webroot    ---> DocumentRoot-a на Apache
                  /uploads     ---> Потребителски файлове

Ако инсталирате bgERP под Линукс е важно да дадете права за запис на Apache в директориите /webroot и /uploads

Директорията bgerp се получава по единия от описаните по горе начини - след разархивиране на изтегления архив или с git командата. Поставянето им в една и съща директория не е задължително, но е улеснение поради това че местонахождението им ще бъде обозначено с една константа.
Изпълняват се следните стъпки:
  • от папка bgerp/_docs се копират директориите conf и webroot в корена на приложението.
  • преименува се файла conf/myapp.cfg.php в conf/bgerp.cfg.php

Конфигурационни константи

bgERP има богат набор от константи. Пълното им описание може да се види от файла bgerp/_docs/tpl/conf/bgerp.template.cfg.php. Тук ще разгледаме минимума необходим за функционирането на приложението.
Всички стойности на константи по долу са съобразени с описанието дотук. Ако са използвани други имена на директории, потребители или пароли, трябва да се променят по съответният начин.
  • редактираме файл webroot/index.cfg.php, и задаваме следните константи:
DEFINE('EF_ROOT_PATH', '/home/user/ef_root');
DEFINE('EF_APP_NAME', 'bgerp');
  • във файл conf/bgerp.cfg.php задаваме константите необходими за връзката с базата данни и титлата на приложението:
DEFINE('EF_APP_TITLE', 'MyCompany');
DEFINE('EF_DB_PASS', 'mypassword');
Тук трябва да се отбележи, че ако името на потребителя към mysql сървъра и базата са както името на приложението, в случая bgerp - редовете:
DEFINE('EF_DB_NAME', EF_APP_NAME);
DEFINE('EF_DB_USER', EF_APP_NAME);
нямат нужда от промяна.

Константи свързани със сигурността:

Тези константи трябва да са различни за различните инсталации. Но веднъж инсталирана системата те НЕ трябва да се променят.

  • Обща сол
DEFINE('EF_SALT', 'Поне 10-20 символа произволен стринг');

  • "Подправка" за кодиране на паролите
DEFINE('EF_USERS_PASS_SALT', 'Поне 10-20 символа произволен стринг');

  • Брой хеширания
Препоръчителна стойност между 200 и 800 - Голямата стойност може да забави логването при по слаби клиентски устройства - например мобилни телефони
DEFINE('EF_USERS_HASH_FACTOR', 400);

Първоначално стартиране на системата

Ето и финалните стъпки за изпълнение преди да видим приложението:
  • създаваме папка: /home/user/ef_root/uploads
  • задаваме на apache права да записва в нея, както и в /home/user/ef_root/webroot папката
  • Apache трябва да се настрои, така че DocumentRoot-а му да сочи към /home/user/ef_root/webroot
ето това трябва да съдържа конфигурационния файл:
DocumentRoot /home/user/ef_root/webroot
<Directory /home/user/ef_root/webroot/>
   Options FollowSymLinks MultiViews
   AllowOverride All
   Require all granted
   Order allow,deny
   allow from all
</Directory>
Обърнете внимание, че опцията AllowOverride задължително трябва да е All
  • Отваряме любимият си Интернет браузър и набираме адрес:
http://127.0.0.1/

Стартира се инсталационен скрипт, който проверява:
    - Дали приемате GPLv3 лиценза;
    - Дали има по-нова версия на системата;
    - Налични ли са необходимите модули на PHP и Apache;
    - Инициализира базата и налива първоначалните данни;

След приключването на скрипта натискаме бутона стартирай bgERP и въвеждаме в новопоявилата се форма първоначален административен потребител за системата.

След като влезете в системата, трябва да:
    - Коригирате данните на вашата фирма;
    - Добавите един или няколко имейл акаунта (може и от abv.bg, mail.bg, gmail.com, yahoo.com, но най-голяма полза от bgERP има, когато тя управлява имейлите на целя ваш фирмен домейн).
    - Може да добавяте нови потребители с различни роли;

Задаване стартирането на периодични процеси

Голяма част от функционалността на bgERP зависи от изпълнението на периодични задачи. В bgERP има модул, който се грижи другите модули да изпълняват периодично различни задачи:

  • проверяване за нови имейли
  • изтриване на стари логове
  • приключване на сделки
  • мн. други.

За целта е необходимо да направим така, че на всяка минута да бъде стартирано следното Url:

 http://127.0.0.1/core_Cron/cron

За различните операционни системи това може да стане така:

Под Линукс:

1. Редактираме файла /etc/crontab, като добавяме следния ред:
* * * * *  root wget -q --spider --no-check-certificate "http://127.0.0.1/core_Cron/cron"

Под Windows:
1. Създаваме файл с име примерно: fetchurl.vbs
2. Добавяме в него следните редове:
'Задаване на урл за извикване

strFileURL = "http://127.0.0.1/core_Cron/cron"
    
'Извикване

Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")
objXMLHTTP.setOption 2, 13056
objXMLHTTP.open "GET", strFileURL, false
objXMLHTTP.send()

Set objXMLHTTP = Nothing

3. Влизаме в Task Scheduler и задаваме fetchurl.vbs да се стартира на всяка минута.

Допълнителен софтуер

За да работи системата пълнофункционално тя се нуждае от външни програми и софтуерни пакети. Според операционната система, тези пакети трябва да бъдат инсталирани. Не всички са задължителни за нормалната работа.