Project

General

Profile

How to install iGestis » History » Version 1

Olivier Bitsch, 03/09/2020 10:33 AM

1 1 Olivier Bitsch
# How to install iGestis
2
3
Introduction
4
------------
5
6
iGestis is an ERP designed for small companies. iGestis can support the account creation for employees, 
7
customers and providers with account access. iGestis can also manage multiple companies with one instance. 
8
You can also connect iGestis to a directory of your choice (OpenLDAP, Active Directory,...).
9
10
iGestis needs to have a working database installation to store all information. For the moment, 
11
only Mysql is supported.
12
13
Installation with Debian package (version 2)
14
--------------------------------------------
15
16
We provide ready package for Debian/Ubuntu. The installation is straigh forward.
17
18
Add the ready source list for the apt repository
19
20
    wget http://open.iabsis.com/iabsis.list -O /etc/apt/sources.list.d/iabsis.list
21
22
Add the repository certificate
23
24
    wget http://open.iabsis.com/open.iabsis.com.asc -O- | apt-key add -
25
26
Refresh the package list 
27
28
    apt-get update
29
30
And finally install iGestis
31
32
    apt-get install igestis
33
34
iGestis will ask you some question.
35
36
 * Choose the wanted authentication method: choose your actual directory (OpenLDAP or Active Directory). If none, choose **Internal**
37
 * Choose the admin account name: only change if you don't like the default one. This account must exists within your directory.
38
 * Specify the uris for the directory: replace here the address of your server. In case of Samba4 usage, keep the proposed ldapi url.
39
 * Specify the directory base tree: type the FQDN domain name (example: *domain.local*)
40
 * Specify the directory admin account for the directory : The bind dn of the Administrator account. By example **dc=admin,dc=domain,dc=local** for OpenLDAP or **Administrator@domain.local** for Samba4 or Active Directory.
41
 * Please specify the admin password for the directory : Your Administrator password.
42
 * Create a user in iGestis when present in the directory ? Prefered **Yes**
43
 * Configure database for igestis with dbconfig-common? Yes
44
 * Password of the database's administrative user: Your Mysql Root password
45
 * MySQL application password for igestis: Keep empty for a random password.
46
 * Web server to reconfigure automatically : Keep *apache2* for an automated Apache2 configuration.
47
48
Open your browser and type the server url and happend **/igestis**, by example
49
50
> http://my_ip_server/igestis
51
52
Installation with Debian package (version 3)
53
--------------------------------------------
54
55
We provide ready package for Debian/Ubuntu. The installation is straigh forward.
56
57
Add the ready source list for the apt repository
58
59
    wget http://open.iabsis.com/iabsis.list -O /etc/apt/sources.list.d/iabsis.list
60
61
Edit the file just downloaded with
62
63
    nano /etc/apt/sources.list.d/iabsis.list
64
65
And uncomment the following line
66
67
    deb http://open.iabsis.com/debian testing main
68
69
Add the repository certificate
70
71
    wget http://open.iabsis.com/open.iabsis.com.asc -O- | apt-key add -
72
73
Refresh the package list 
74
75
    apt-get update
76
77
And finally install iGestis
78
79
    apt-get install igestis
80
81
iGestis will ask you some question.
82
83
 * Choose the wanted authentication method: choose your actual directory (OpenLDAP or Active Directory). If none, choose **Internal**
84
 * Choose the admin account name: only change if you don't like the default one.
85
 * Specify the uris for the directory: replace here the address of your server. In case of Samba4 usage, keep the proposed ldapi url.
86
 * Specify the directory base tree : type the FQDN domain name (example: *domain.local*)
87
 * Specify the directory admin account for the directory : The bind dn or the Administrator account. By example **dc=admin,dc=domain,dc=local** for OpenLDAP or **Administrator@domain.local** for Samba4 or Active Directory.
88
 * Please specify the admin password for the directory : Your Administrator password.
89
 * Create a user in iGestis when present in the directory ? Prefered Yes
90
 * Configure database for igestis with dbconfig-common? Yes
91
 * Password of the database's administrative user: Your Mysql Root password
92
 * MySQL application password for igestis: Keep empty for a random password.
93
 * Web server to reconfigure automatically : Keep *apache2* for an automated Apache2 configuration.
94
95
Open your browser and type the server url and happend **/igestis**, by example
96
97
> http://my_ip_server/igestis
98
99
Manual Installation
100
-------------------
101
102
You can get iGestis on https://github.com/olivierb2/igestis/releases. This guide assume you have at least 
103
iGestis version 3.0 from the branche master.
104
105
Once copied to your server, extract the file with your prefered archive manager, or use the command 
106
`tar xfz igestis-xx.tar.gz` or `unzip igestis-xx.zip`. Move the extracted folder somewhere not accessible
107
by apache, by example **/usr/share/** or **/opt**. Then configure apache with an alias or make a symbolic link
108
to let the **public** folder accessible by apache. By example `ln -s /usr/share/igestis/public/ /var/www/igestis`.
109
Apache alias can be **Alias /igestis /usr/share/igestis/public**.
110
111
You can already use your prefered web browser and access to the folder something like **http://your_server/igestis**.
112
The first time you open this page, you will get an install check page, to check your server settings.
113
114
### Configuration
115
116
During the configuration, you can anytime refresh the webpage to check what you done.
117
118
#### Fix permission right
119
120
First off all, make the folder **document** and **cache** writeable for Apache username. Depending of your 
121
distribution, let do a `chown www-data documents cache` or `chown apache documents cache`.
122
123
#### Create the database in MySQL
124
125
Create an empty database under MySQL. From command line, you can access to the prompt with the command.
126
127
	mysql -uroot -p
128
129
Then create an empty database and user dedicated for iGestis.
130
131
	create database igestis;
132
	create user 'igestis'@'localhost' identified by 'igestis1234';
133
	grant all privileges on igestis.* to 'igestis'@'localhost';
134
	quit
135
136
Replace igestis1234 by the password you want.
137
138
#### Create the config.ini file.
139
140
Then create a `config.ini` file by copying the `config.ini-template.ini` with the command 
141
`cp config/igestis/config.ini-template.ini config/igestis/config.ini`. Use your prefered text
142
editor and edit the file, by example `nano config/igestis/config.ini`. Change the value for the fourth 
143
first lines to adapt the MYSQL configuration you defined before.
144
145
	MYSQL_HOST = "localhost"
146
	MYSQL_DATABASE = "igestis"
147
	MYSQL_LOGIN = "igestis"
148
	MYSQL_PASSWORD = ""
149
150
Also change the **ENCRYPT_KEY** value by defining a random key. This key will be used to 
151
encrypt all sensitive data in the database that must be decipherable.
152
153
	ENCRYPT_KEY = "TBXvZGkFMiKoCsMY1AjlEuexFR6XMo"
154
155
In the case of the database is stollen without the configuration file, it will be no way to recover
156
the encrypted data.
157
158
#### Install MySQL database.
159
160
Go back to the check install web page, check at least everything are green or orange, and then click 
161
on **Launch database update**.
162
163
#### Ldap configuration (optionnal).
164
165
In the of you would like to let user use their **Active directory** or **OpenLDAP** account, you can 
166
configure iGestis to use and manage the Users LDAP information.
167
168
Uncomment the values you want to use. The minimum that you need to define are :
169
170
	USE_LDAP = true
171
	LDAP_URIS = "ldap://localhost:389"
172
	LDAP_BASE = "dc=example,dc=local"
173
	LDAP_ADMIN = "cn=admin,dc=example,dc=local"
174
	LDAP_PASSWORD = ""
175
	LDAP_USERS_OU = "ou=Users,dc=example,dc=local"
176
	LDAP_CUSTOMERS_OU = "ou=Customers,dc=example,dc=local"
177
	LDAP_SUPPLIERS_OU = "ou=Suppliers,dc=example,dc=local"
178
179
* **LDAP_ADMIN** must be a LDAP account with write privilage on the directory. Don't forgot to define the 
180
**LDAP_PASSWORD** as well.
181
182
* **LDAP\_USERS\_OU** is the location in the directory where the new employee will be written **LDAP\_CUSTOMERS\_OU** 
183
is for new customers and **LDAP\_SUPPLIERS\_OU** is for new suppliers.
184
185
Others optionnal values can be configured :
186
187
* **LDAP\_AUTO\_IMPORT\_USER** allow a user existing in the directory but not in iGestis to be created on fly in 
188
iGestis when the user tries to login in iGestis. Note the employee will be automatically assigned to the first company available.
189
190
* **LDAP_READONLY** (not implemented yet) restricts iGestis for writting in the directory. The only way to 
191
create new employees will be using a third party tool.
192
193
* **LDAP_SCHEMA** (not implemented yet) lets you choose the schema you want to enable and use with your 
194
directory.
195
196
* **LDAP\_AD\_MODE** (deprecated) define if the directory is directory is an **Active Directory** or not.
197
198
* **LDAP\_USER\_RDN** by default, iGestis create an employee with "uid=%username%". 
199
But Active Directory use the convention "cn=%username%".
200
201
202
Modules installation (version 3)
203
--------------------------------
204
205
iGestis is provided with few optional modules.
206
207
|                                                                               | iGestis v2            | iGestis v3 | Package name       |
208
|-------------------------------------------------------------------------------|-----------------------|------------|--------------------|
209
| Commercial: let you manage your quotation, invoicing, orders and accounting   | Yes (but not updated) | Yes        | igestis-commercial |
210
| Ajaxplorer: Access remotely to your files (not available for iGestis 3 yet    | Yes                   | Not yet    | igestis-ajaxplorer |
211
| Roundcube: Display and manage your mail within iGestis                        | Yes                   | Yes        | igestis-roundcube  |
212
| OpenChange: Extend Active Directory attributes to manage OpenChange.          | Yes                   | Not yet    | igestis-roundcube  |
213
| Samba: Extend OpenLDAP attributes to manage Samba 3/4.                        | Yes                   | Yes        | igestis-roundcube  |
214
| ServerMgmt: Easily setup your folder access right within iGestis.             | No                    | Yes        | igestis-roundcube  |
215
216
Troubleshooting
217
---------------
218
219
In the case of you encounter an issue with iGestis, follow this process.
220
221
### iGestis v2
222
223
Enable the debug mode with the following command :
224
225
    nano /usr/share/igestis/index.php
226
227
And then change the line
228
229
    define("DEBUG_MODE", false);
230
231
Into
232
233
    define("DEBUG_MODE", true);
234
235
Open the web page and try again the failed step, you should now have a more detail error of the issue.
236
237
### iGestis v3
238
239
Enable the debug mode with the following command:
240
241
    nano /etc/igestis/config.ini
242
243
And then add the line
244
245
    DEBUG_MODE=true
246
247
Open the web page and try again the failed step, you should now have a more detail error of the issue.