root/freepbx/tags/2.5.1/INSTALL

Revision 6949, 9.9 kB (checked in by mickecarlsson, 5 years ago)

Enclosed test string in page.modules, updates swedish language

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1 ###
2 Installing FreePBX
3
4 ###
5 Important Warning!
6 FreePBX _will_ overwrite any exisiting asterisk configurations you may have. This project attempts
7 to manage as much of asterisk as it can, and this means lots of automatically generated dialplans.
8 Please visit both the Documentation wiki (http://www.aussievoip.com.au/wiki/FreePBX) and the Dev
9 wiki (http://www.freepbx.org/wiki) for instructions, hints and tips. As a rule of thumb, any
10 existing sip, iax, or extensions files can be copied to the same name with _custom.conf appended,
11 and things will continue to work as before.
12
13 ###############################################################################################
14 ###############################################################################################
15 ###                             THESE INSTRUCTIONS ARE OUTDATED!!!!! (JULY, 2008)           ###
16 ###           PLEASE VISIT:                                     ###
17 ###               http://www.freepbx.org/support/documentation/installation                 ###
18 ###                          ###
19 ###         FOR UP TO DATE INSTRUCTIONS                              ###
20 ###############################################################################################
21 ###############################################################################################
22
23
24 ###
25 FreePBX has several requirements, including the following packages (names may vary based on distro):
26
27   libxml2
28   libxml2-devel
29   libtiff
30   libtiff-devel
31   lame
32   httpd (or Apache2)
33   mysql (or mysql-client)
34   mysql-devel (or libmysqlclient10-dev)
35   mysql-server
36   php (or php4) NOTE!!! Only standard php is supported, hardened PHP projects are NOT supported!!
37   (on debian, also install libapache2-mod-php4)
38   php4-pear (if pear is not included with your php)
39   php-mysql
40   (on SUSE, also install php4-gettext and php4-session)
41   php-gd
42   openssl
43   openssl-devel (or libssl-dev)
44   kernel-devel (or linux-source)
45   perl
46   perl-CPAN
47   bison
48   ncurses-devel (or libncurses5-dev)
49   audiofile-devel (or libaudiofile-devel)
50   curl
51   sox
52
53  
54 ###
55 FreePBX requires the following changes to php and apache for uploading new MOH files:
56 (Note: Thise are reasonably distro specifc. Check http://www.aussievoip.com/wiki/FreePBX
57 for more documentation)
58
59
60   - vi +482 /etc/php.ini  (or /etc/php4/apache2/php.ini)
61     upload_max_filesize=20M
62   - vi +14 /etc/httpd/conf.d/php.conf (if you have it)
63     LimitRequestBody 20000000
64
65 ###
66 Download the latest FreePBX files:
67
68   - download the latest FreePBX tarball to /usr/src
69   - tar -zxvf freepbx<version>.tar.gz
70
71 ###
72 Getting Asterisk and Zaptel from SVN or download the latest Asterisk and Zaptel source archives
73 (FreePBX uses the v2.0 branch)
74
75   - cd /usr/src
76   - svn checkout http://svn.digium.com/svn/asterisk/branches/1.2 asterisk-1.2
77   - svn checkout http://svn.digium.com/svn/zaptel/branches/1.2 zaptel-1.2
78   - svn checkout http://svn.digium.com/svn/libpri/branches/1.2 libpri-1.2
79
80 ###
81 For TDM zap devices (FXO/FXS):
82
83   - cd /usr/src/zaptel
84   - make && make install
85
86   If you will be using a Digium telephony card that supports T1/E1 signaling do this step as well:
87   - cd /usr/src/libpri
88   - make && make install
89  
90 ###
91 Patching Asterisk with softfax/spandsp.
92
93   - Download the latest 0.2 spandsp files from http://www.soft-switch.org
94   - cd /usr/src/spandsp-xxx
95   - ./configure
96   - make && make install
97
98   The spandsp libraries are installed to /usr/local/lib.  Therefore /usr/local/lib must be added to the LD_LIBRARY_PATH environment variable of the user that starts the asterisk process. To be safe, also add it to /etc/ld.so.conf and run ldconfig.
99
100   Copy the following files (from soft-switch.org) to /usr/src/asterisk/apps/ :
101
102   - cp app_rxfax.c /usr/src/asterisk/apps/
103   - cp app_txfax.c /usr/src/asterisk/apps/
104   - cp apps_makefile.patch /usr/src/asterisk/apps/
105
106   - cd /usr/src/asterisk/apps
107   - patch < apps_makefile.patch
108
109    
110 ###
111 Create a group and non-root user:
112
113   - groupadd asterisk
114   - useradd -c "asterisk PBX" -d /var/lib/asterisk -g asterisk asterisk
115  
116  
117 ###
118 Building Asterisk and configuring it to run as a non-root user
119
120   - mkdir /var/run/asterisk
121   - cd /usr/src/asterisk
122   - make clean && make && make install
123
124 ###
125 Get and build cdr_mysql module for asterisk
126
127   - cd /usr/src/asterisk-addons
128   - perl -p -i.bak -e 's/CFLAGS.*D_GNU_SOURCE/CFLAGS+=-D_GNU_SOURCE\nCFLAGS+=-DMYSQL_LOGUNIQUEID/' Makefile
129   - make clean && make && make install
130  
131 ###
132 Install asterisk-sounds
133
134   - cd /usr/src/asterisk-sounds
135   - make install
136  
137 ###
138 Setting up MySQL for CDR and FreePBX web interface
139
140   - /usr/bin/mysql_install_db
141   - /etc/init.d/mysqld start (or /etc/init.d/mysql start)
142
143   - mysqladmin -u root password 'db_root_pwd'
144   - mysqladmin create asteriskcdrdb -p
145   - mysql --user=root --password=db_root_pwd asteriskcdrdb < /usr/src/freepbx<version>/SQL/cdr_mysql_table.sql
146  
147   - mysqladmin create asterisk -p
148   - mysql --user root -p asterisk < /usr/src/freepbx<version>/SQL/newinstall.sql
149
150  
151 ###
152 Grant access to these two databases you just created
153
154 **Note the default mysql username/password is asteriskuser/amp109. 
155 **If you change either of these, you will be prompted for them while running ./install below
156
157   - mysql --user root -p
158
159     mysql> GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'amp109';
160     Query OK, 0 rows affected (0.00 sec)
161
162     mysql> GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'amp109';
163     Query OK, 0 rows affected (0.00 sec)
164    
165     mysql> quit
166
167 ###
168 Run the "install" script to install all the FreePBX files: 
169
170   - /usr/src/FreePBX/install_amp
171  
172 ###
173 Configure zaptel driver:
174
175   a. Edit /etc/zaptel.conf to reflect installed Digium telephony card(s).
176  
177         Only the parameters/values relevant to a TDM400P with 4 FXO modules are included below:
178
179   fxsks=1-4
180   loadzone=us
181   defaultzone=us
182
183         Only the parameters/values relevant to a TE110P (T1 configuration) are included below:
184        
185   span=1,1,0,esf,b8zs
186   bchan=1-23
187   dchan=24
188   loadzone=us
189   defaultzone=us
190
191   b. ztcfg -v
192
193       Zaptel Configuration
194       ======================
195      
196       1 channels configured.
197  
198   If you get a warning about unable to open master device /dev/zap/ctl, that's ok.  It's a result
199   of the zaptel module(s) not loaded yet.
200
201   Detailed information with regard to Asterisk's configuration files can be found here:
202   http://voip-info.org/wiki-Asterisk+config+files
203
204 ###
205 Configure zapata module in asterisk config.
206
207   - edit /etc/asterisk/zapata.conf to reflect installed digium interfaces (see zapata.conf.template)
208
209   Only the parameters/values relevant to a TDM400P with 4 FXO modules are included below:
210
211   [channels]
212   language=en
213   #include zapata_additional.conf
214   context=from-pstn
215   signalling=fxs_ks
216   faxdetect=incoming
217   usecallerid=yes
218   callerid=asreceived
219   echocancel=yes
220   callprogress=no
221   busydetect=no
222   echocancelwhenbridged=no
223   echotraining=800
224   group=0
225   channel=1-4
226
227
228   Only the parameters/values relevant to a TE110P (T1 configuration) are included below:
229
230   [channels]
231   language=en
232   #include zapata_additional.conf
233   context=from-pstn
234   switchtype=national
235   pridialplan=national
236   signalling=pri_cpe
237   faxdetect=incoming
238   usecallerid=yes
239   echocancel=yes
240   callerid=asreceived
241   echocancelwhenbridged=no
242   echotraining=800
243   group=0
244   channel=1-23
245
246
247   Note: if your configuration is using zap channels as FXS endpoints, zapata.conf must
248   contain the following line in order to provision these endpoints in FreePBX's Extensions admin:
249   #include zapata_additional.conf
250
251   Detailed information with regard to Asterisk's configuration files can be found here:
252   http://voip-info.org/wiki-Asterisk+config+files
253
254 ###
255 httpd (Apache) configuration
256
257   - Edit /etc/httpd/conf/httpd.conf (or /etc/apache2/apache2.conf) so that:
258
259     User asterisk
260     Group asterisk
261    
262 ###
263 Chown the PHP session.save_path directory:
264
265   - chown asterisk /var/lib/php/session
266
267    
268 ###
269 Amportal Control Script
270
271   FreePBX's amportal control script starts, stops or kills services in the FreePBX environment, and sets permissions on directories/files in the
272   FreePBX environment:
273
274   [root@pbx root]# amportal
275  
276   ----------AMP Control Script-----------
277   Usage: amportal start|stop|kill|chown
278   start: Starts Asterisk and Flash Operator Panel server
279   stop: Gracefully stops Asterisk and the FOP server
280   kill: Kills Asterisk and the FOP server
281   chown: Sets appropriate permissions on files
282  
283   The amportal script is the recommended way to stop and start asterisk:
284  
285   [root@pbx root]# /usr/sbin/amportal stop
286   [root@pbx root]# /usr/sbin/amportal start
287
288 ###
289 Auto Start
290
291   The module/driver that you load at boot time depends upon whether you are using a
292   TDM400P or TE110P. The wcfxs module should be loaded for the former and the wcte11xp
293   module should be loaded for the latter.
294
295   The following scripts are for RedHat and derivatives that use an rc.local:
296  
297   Edit /etc/rc.d/rc.local to include the following for the TDM400P:
298   #!/bin/sh
299   #
300   # This script will be executed *after* all the other init scripts.
301   # You can put your own initialization stuff in here if you don't
302   # want to do the full Sys V style init stuff.
303   touch /var/lock/subsys/local
304   echo Loading wcfxs
305   /sbin/modprobe wcfxs
306   /usr/sbin/amportal start
307
308   Edit /etc/rc.d/rc.local to include the following for the TE110P:
309
310   #!/bin/sh
311   #
312   # This script will be executed *after* all the other init scripts.
313   # You can put your own initialization stuff in here if you don't
314   # want to do the full Sys V style init stuff.
315   touch /var/lock/subsys/local
316   echo Loading wcte11xp
317   /sbin/modprobe wcte11xp
318   /usr/sbin/amportal start
319
320   For Debian and others (?), you'll have to add startup script(s) to /etc/init.d and link them
321   to the appropriate rc?.d runlevel.
322
323  
324   Also ensure that mysql and apache are set to start at bootup. For RedHat-based systems do the following:
325  
326   - chkconfig --level 3 httpd on
327   - chkconfig --level 3 mysqld on
328
329 ###
330 Start everything (or reboot and it should start automagically):
331
332   - As root run:
333
334     service httpd restart
335     (or /etc/init.d/apache2 restart)
336
337   - As root run:
338
339     amportal start
340
341   - Point your browser to:
342
343     http://[ip address]  (default login is admin/admin)
344
345 If you notice any errors or updates that are needed to this document, please e-mail:
346 info@coalescentsystems.ca
Note: See TracBrowser for help on using the browser.