Hi everybody !
Just a message to announce that I succeeded installing Asterisk and Freepbx on my Fedora 12 Amahi installation.
I've spent days and nights trying all combinations of paths, users and permissions, so I don't remember how I did it exactly.
But I can provide any conf file or path/users/permissions to any packager who wants to try an automated installation.
In a nutshell (I'm not sure) :
- I use yum to download ALL asterisk (asterisk*) files
- I created a webapp with amahi (freepbx)
- I downloaded freepbx and I've modified the amportal.conf (I've put here the default password, I've changed mine for security reason)
Code: Select all
# This file is part of FreePBX.
#
# FreePBX is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# FreePBX is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with FreePBX. If not, see <http://www.gnu.org/licenses/>.
#
# This file contains settings for components of the Asterisk Management Portal
# Spaces are not allowed!
# Run /usr/src/AMP/apply_conf.sh after making changes to this file
# AMPDBHOST: the host to connect to the database named 'asterisk'
AMPDBHOST=localhost
# AMPDBUSER: the user to connect to the database named 'asterisk'
# AMPDBUSER=asteriskuser
# AMPDBENGINE: the type of database to use
AMPDBENGINE=mysql
# AMPDBPASS: the password for AMPDBUSER
# AMPDBPASS=amp109
# AMPENGINE: the telephony backend engine to use
AMPENGINE=asterisk
# AMPMGRUSER: the user to access the Asterisk manager interface
AMPMGRUSER=admin
# AMPMGRPASS: the password for AMPMGRUSER
AMPMGRPASS=amp111
# AMPBIN: where command line scripts live
AMPBIN=/var/lib/asterisk/bin
#AMPSBIN: where (root) command line scripts live
AMPSBIN=/usr/local/sbin
# AMPWEBROOT: the path to Apache's webroot (leave off trailing slash)
AMPWEBROOT=/var/hda/web-apps/freepbx/html
# AMPCGIBIN: the path to Apache's cgi-bin dir (leave off trailing slash)
AMPCGIBIN=/var/hda/web-apps/freepbx/cgi-bin
# AMPWEBADDRESS: the IP address or host name used to access the AMP web admin
#AMPWEBADDRESS=freepbx
AMPWEBADDRESS=
# FOPWEBROOT:web root for the Flash Operator Panel
FOPWEBROOT=/var/hda/web-apps/freepbx/html/panel
# FOPPASSWORD: the secret code for performing transfers and hangups in the Flash Operator Panel
FOPPASSWORD=passw0rd
# FOPSORT: FOP should sort extensions by Last Name [lastname] or by Extension [extension]
FOPSORT=extension
# FOPRUN: set to true if you want FOP started by freepbx_engine (amportal_start), false otherwise
FOPRUN=true
# AUTHTYPE: authentication type to use for web admin
# If type set to 'database', the primary AMP admin credentials will be the AMPDBUSER/AMPDBPASS above
# valid: none, database
AUTHTYPE=none
# AMPADMINLOGO: Defines the logo that is to be displayed at the TOP RIGHT of the admin screen.
# This enables you to customize the look of the administration screen.
# NOTE: images need to be saved in the ..../admin/images directory of your AMP install
# This image should be 55px in height
AMPADMINLOGO=logo.png
# USECATEGORIES: Controls if the menu items in the admin interface are sorted by category (true),
# or sorted alphebetically with no categories shown (false). Defaults to true.
#USECATEGORIES=false
# AMPEXTENSIONS: the type of view for extensions admin
# If set to 'deviceanduser' Devices and Users will be administered seperately, and Users will be able to "login" to devices.
# If set to 'extensions' Devices and Users will me administered in a single screen.
AMPEXTENSIONS=extensions
# ENABLECW: Enable call waiting by default when an extension is created (DEFAULT is yes)
# Set to 'no' to if you don't want phones to be commissioned with call waiting already
# enabled. The user would then be required to dial the CW feature code (*70 default) to
# enable their phone. Most installations should leave this alone. It allows multi-line
# phones to receive multiple calls on their line appearances.
ENABLECW=yes
#CWINUSEBUSY: Set to yes for extensions that have CW enabled to report as busy if
# they don't answer (resulting in busy voicemail greeting). Otherwise they simply
# report as no-answer (e.g. busy greeting servers no purpose
CWINUSEBUSY=yes
# AMPBADNUMBER: Set to false if you do not want the bad-number context generated which
# traps any bogus number or freature code and plays a message to the effect. If you use
# the Early Dial feature on some Grandstream phones, you will want to set this to false
AMPBADNUMBER=true
# The following are used to optionally have the freepbx backup program optionally
# send the generated backup to an ftp server
#
# FTPBACKUP=YES to enable
# FTPUSER, FTPPASSWORD, FTPSERVER must be set
# FTPSUBDIR is an optional subdirectory at the ftp server, it will cause ftp to do a cd
#
# There is no error checking so you should check to make sure these are set correctly. The
# ftp is saved after the backup, so it will not cause the local backup file to be effected
#
# FTPBACKUP=yes
#FTPUSER=asterisk
#FTPPASSWORD=password
#FTPSUBDIR=mybackupfolder
#FTPSERVER=myftpserver
# SSH BACKUP INFO: must have a valid SSHRSAKEY file and server, only supported through
# ssh. SUBDIR is optional and will be created if it does not exist.
#
# If SSHUSER is not set, it will default to the current user which is asterisk in any
# standard configuration.
#
#SSHBACKUP=yes
#SSHUSER=backups
#SSHRSAKEY=/etc/asterisk/backup_rsa
#SSHSUBDIR=mysubdir
#SSHSERVER=mybackupserver.com
# AMPPROVROOT=/var/ftp /tftpboot
# One or more directories where there are provisioning files that should be included in the backup. Currently
# these get backed up only, the FreePBX utility does not automatically restore them.
#
#AMPPROVROOT=/var/ftp /tftpboot
# AMPPROVEXCLUDE=/var/ftp/exclude-from-file-list
# a file containing a list of file/directories to exclude, (will be used in tar's --exclude-from argument)
#
#AMPPROVEXCLUDE=/var/ftp/exclude-from-file-list
#AMPPROVEXCLUDELIST=/dir file
# a list of files/directories to exclude, (will be used in tar's --exclude argument)
#
#AMPPROVEXCLUDELIST=/etc/selinux /tftpboot/polycom /tftpboot/*.ld /tftpboot/*.cmp /tftpboot/*.st
#AMPBACKADMIN=true|false
#option to exclude the admin/ web dir from backups. This is will result in significantly smaller backups
# defaults to true - always backup admin dir
#AMPBACKADMIN=true
# If CUSTOMASERROR is set to false, then the Destination Registry will not report unknow destinations as errors
# this should be left to the default true and custom destinations should be moved into the new custom apps registry
# CUSTOMASERROR=false
# if DYNAMICHINTS is set to true, Core will not statically generate hints. Instead it will make a call to the
# AMPBIN php script, generate_hints.php, through an Asteirsk's #exec call. This requires Asterisk.conf to be
# configured with "execincludes=yes" set in the [options] section.
# DYNAMICHINTS=true
# XTNCONFLICTABORT, BADDESTABORT
# setting either of these to true will result in retrieve_conf aborting during a reload if an extension
# conflict is detected or a destination is detected. It is usually better to allow the reload to go
# through and then correct the problem but these can be set if a more strict behavior is desired
# both default to false if not set
XTNCONFLICTABORT=false
BADDESTABORT=false
# SERVERINTITLE if set to true, the browser title will be preceded with the server name. default false
SERVERINTITLE=false
# USEDEVSTATE = true|false # DEFAULT VALUE false
# If this is set, it assumes that you are running Asterisk 1.4 or higher and want to take advantage of the
# func_devstate.c backport available from Asterisk 1.6 which allows custom hints to be created to support
# BLF for server side feature codes such as daynight, followme, etc.
#
USEDEVSTATE=true
# MODULEADMINWGET=true|false # DEFAULT VALUE false
# Module Admin normally tries to get its online information through direct file open type calls to URLs that
# go back to the freepbx.org server. If it fails, typically because of content filters in firewalls that don't
# like the way PHP formats the requests, the code will fall back and try a wget to pull the information.
# This will often solve the problem. However, in such environemnts there can be a significant timeout before
# the failed file open calls to the URLs return and there are often 2-3 of these that occur. Setting this value
# will force FreePBX to avoid the attempt to open the URL and go straight to the wget calls.
#
MODULEADMINWGET=true
# AMPDISABLELOG=true|false # DEFAULT VALUE true
# Whether or not to invoke the freepbx log facility
# AMPSYSLOGLEVEL=LOG_EMERG|LOG_ALERT|LOG_CRIT|LOG_ERR|LOG_WARNING|LOG_NOTICE|LOG_INFO|LOG_DEBUG|LOG_SQL|SQL # DEFAULT VALUE LOG_ERR
# Where to log if enabled, SQL, LOG_SQL logs to old MySQL table, others are passed to syslog system to determine where to log
# AMPENABLEDEVELDEBUG=true|false # DEFAULT VALUE false
# Whether or not to include log messages marked as 'devel-debug' in the log system
# AMPMPG123=true|false # DEFAULT VALUE true
# When set to false, the old MoH behavior is adopted where MP3 files can be loaded and WAV files converted to MP3
# The new default behavior assumes you have mpg123 loaded as well as sox and will convert MP3 files to WAV. This is
# highly recommended as MP3 files heavily tax the system and can cause instability on a busy phone system.
# CDR DB Settings: Only used if you dont use the default values provided by freepbx.
# CDRDBHOST: hostname of db server if not the same as AMPDBHOST
# CDRDBPORT: Port number for db host
# CDRDBUSER: username to connect to db with if its not the same as AMPDBUSER
# CDRDBPASS: password for connecting to db if its not the same as AMPDBPASS
# CDRDBNAME: name of database used for cdr records
# CDRDBTYPE: mysql or postgres mysql is default
# CDRDBTABLENAME: Name of the table in the db where the cdr is stored cdr is default
# AMPVMUMASK: defaults to 077 allowing only the asterisk user to have any permissions on VM files. If set to something
# like 007, it would allow the group to have permissions. This can be used if setting apache to a different
# user then asterisk, so that the apache user (and thus ARI) can have access to read/write/delete the
# voicemail files. If changed, some of the voicemail directory strucuters may have to be manually changed.
# DASHBOARD_STATS_UPDATE_TIME=integer_seconds
# DEFAULT VALUE: 6
# DASHBOARD_INFO_UPDATE_TIME=integer_seconds
# DEFAULT VALUE: 20
# These can be used to change the refresh rate of the System Status Panel. Most of
# the stats are updated based on the STATS interval but a few items are checked
# less frequently (such as Astersisk Uptime) based on the INFO value
# FOPDISABLE=true|false # DEFAULT VALUE false
# Disables FOP in interface and retrieve_conf. Usefull for sqlite3 or if you don't want FOP.
# ZAP2DAHDICOMPAT=true|false
# DEFAULT VALUE: false
# If set to true, FreePBX will check if you have chan_dadhi installed. If so, it will
# automatically use all your ZAP configuration settings (devices and trunks) and
# silently convert them, under the covers, to DAHDI so no changes are needed. The
# GUI will continue to refer to these as ZAP but it will use the proper DAHDI channels.
# This will also keep Zap Channel DIDs working.
# CHECKREFERER=true|false
# DEFAULT VALUE: true
# When set to the default value of true, all requests into FreePBX that might possibly add/edit/delete settings will
# be validated to assure the request is coming from the server. This will protect the system from CSRF (cross site
# request forgery) attacks. It will have the effect of preventing legitimately entering URLs that could modify
# settings which can be allowed by changing this field to false
#
# USEQUEUESTATE=true|false
# DEFAULT VALUE: false
# Setting this flag will generate the required dialplan to integrate with the following Asterisk patch:
# https://issues.asterisk.org/view.php?id=15168
# This feature is planned for a future 1.6 release but given the existance of the patch can be used prior. Once
# the release version is known, code will be added to automatically enable this format in versions of Asterisk
# that support it.
AMPDBUSER=asteriskuser
AMPDBPASS=amp109
AMPDBNAME=asterisk
ASTETCDIR=/etc/asterisk
ASTMODDIR=/usr/lib/asterisk/modules
ASTVARLIBDIR=/var/lib/asterisk
ASTAGIDIR=/var/lib/asterisk/agi-bin
ASTSPOOLDIR=/var/spool/asterisk
ASTRUNDIR=/var/run/asterisk
ASTLOGDIR=/var/log/asterisk
AMPDISABLELOG=true
#AMPASTERISKUSER=apache
#AMPASTERISKGROUP=asterisk
- I compiled freepbx and installed it.
(you need, among others : yum install -y php5 php5-cli php5-mysql mysql-server php-pear php-db openssh-server
curl sox apache2 subversion build-essential libncurses5-dev libssl-dev libmysqlclient15-dev e2fsprogs-devel keyutils-libs-devel krb5-devel libogg libselinux-devel libsepol-devel libxml2-devel libtiff-devel gmp php-pear php-pear-DB php-gd php-mysql php-pdo kernel-devel ncurses-devel audiofile-devel libogg-devel openssl-devel mysql-devel zlib-devel perl-DateManip sendmail-cf sox bison bison-doc libasound2 libgsm1 libltdl3 libpq4 libspeex1 libsqlite0 libtonezone1 libaudiofile0 libaudiofile-dev )
(you'll need also :
http://dl.atrpms.net/all/mpg123-devel-1 ... 2.i686.rpm and
http://dl.atrpms.net/all/mpg123-1.9.1-13.fc12.i686.rpm)
PERMISSIONS
/etc/amportal.conf = root
/var/hda/web-apps/freepbx/=apache
/var/hda/web-apps/freepbx/html =root
/var/hda/web-apps/freepbx/html/ (everything inside) =asterisk
INIT SCRIPT
I had a problem with the amportal start.
So I've put in the init scripts something to start asterisk first (just "asterisk" and THEN amportal)
FIREWALL
Don't forget to open sip ports!
I can assist any packagers who wants more information.
Cheers!