Installing FreePBX-12 on ArchLinux

I have been using FreePBX successfully on Debian for awhile (native install - download asterisk & FreePBX, compile, and install so I am familiar with a more “complex” installation versus an “image” build). More importantly I have also been running Asterisk-12 on ArchLinux ARM for about six months and am so excited about FreePBX-12 beta that I can hardly contain myself ( e.g., hard to sleep at night :slight_smile: )

Yes I realize ArchLinux is “outside” the normal FreePBX comfort zone, but ArchLinux runs really well on tiny/inexpensive ARM based systems so I wanted to get FreePBX-12 up and running to work with Asterisk-12 on the ArchLinux ARM platform, and yes I also know about and have ARM versions of Debian that currently run Asterisk and FreePBX.

What’s really interesting is that the ArchLinux ARM community actually has Asterisk-12 as a fully precompiled very-easy-to-install package. Like apt-get for the Debian world, we call it (pacman), in ArchLinux ARM, Asterisk-12 is very simple to install no dependencies to worry about, no compiling, etc. My objective is to also build a simple, ready-to-go installation for FreePBX-12 that users can install as simply as Asterisk-12, all they would have to do is an “apt-get” so to speak. The ArchLinux repository would be setup to stay in sync with FreePBX (e.g., new versions of FreePBX would automatically “update” in the ArchLinux repository). I realize it’s an ambitious project, but it’s been done with Asterisk-12, so I figured it can be done with FreePBX-12 and the wide range of roughly $75 ARM computers make very nice FreePBX/Asterisk “appliances” for small applications (e.g., 10-20 simultaneous “voice/call” events)

Anyway, I have managed to tweak a few items such as the php sessions directory being located in /usr/include/php/sessions versus /var/lib/php/sessions and other adjustments, but I am having a little trouble with some parts of the installation scripts and could use some assistance.

Below is the output from a (./install_amp --cleaninstall). I have highlighted (bold & italics) a few of the error messages that I am unable to decipher and would appreciate any suggestions.

[root@beaglebone freepbx]# ./install_amp --cleaninstall
Checking for PEAR DB…OK
Checking for PEAR Console::Getopt…OK
Remove /etc/amportal.conf?:
[y] y
Removing /etc/amportal.conf…Done!
Remove /etc/freepbx.conf?:
[y] y
Removing /etc/freepbx.conf…Done!
Remove /usr/local/sbin/amportal?:
[y] y
Removing /usr/local/sbin/amportal…Done!
Remove All FreePBX Tools in /var/lib/asterisk/bin?:
[y] y
Removing /var/lib/asterisk/bin/archive_recordings…Done!
Removing /var/lib/asterisk/bin/freepbx_engine…Done!
Removing /var/lib/asterisk/bin/gen_amp_conf.php…Done!
Removing /var/lib/asterisk/bin/libfreepbx.confgen.php…Done!
Removing /var/lib/asterisk/bin/retrieve_conf…Done!
Removing /var/lib/asterisk/bin/freepbx-cron-scheduler.php…Done!
Removing /var/lib/asterisk/bin/freepbx_setting…Done!
Removing /var/lib/asterisk/bin/generate_hints.php…Done!
Removing /var/lib/asterisk/bin/module_admin…Done!
Removing /var/lib/asterisk/bin/retrieve_parse_amportal_conf.pl…Done!
Remove /srv/http/freepbx?:
[y] y
Removing /srv/http/freepbx…Done!
Reinitalize & Reinstall Freepbx’s Asterisk Database?:
[y] y
Erasing FreePBX Asterisk Database…Done
Reinstalling FreePBX Asterisk DB Structure…Done
Reinitalize & Reinstall Freepbx’s CDR Database?:
[y] y
Erasing FreePBX CDR Database…Done
Reinstalling FreePBX CDR DB Structure…Done!
Checking user…OK
Checking if Asterisk is running…running with PID: 12741…OK
Checking for /etc/amportal.conf…/etc/amportal.conf does not exist, copying default
Creating new /etc/amportal.conf
Enter your USERNAME to connect to the ‘asterisk’ database:
[asteriskuser]
Enter your PASSWORD to connect to the ‘asterisk’ database:
[amp109]
Enter the hostname of the ‘asterisk’ database:
[localhost]
Enter a USERNAME to connect to the Asterisk Manager interface:
[admin]
Enter a PASSWORD to connect to the Asterisk Manager interface:
[amp111]
Enter the path to use for your AMP web root:
[/var/www/html]
/srv/http/freepbx
Created /srv/http/freepbx
Enter the IP ADDRESS or hostname used to access the AMP web-admin:
[192.168.1.1] 192.168.179.42
Use simple Extensions [extensions] admin or separate Devices and Users [deviceanduser]?
[extensions]
Enter directory in which to store AMP executable scripts:
[/var/lib/asterisk/bin]

Enter directory in which to store super-user scripts:
[/usr/local/sbin]

/etc/amportal.conf writtenAssuming new install, --install-moh added to command line
OK
Reading /etc/amportal.conf…parsed amp_conf variables from /etc/amportal.conf:
amp_conf [AMPDBHOST] =[localhost]
amp_conf [AMPDBENGINE] =[mysql]
amp_conf [AMPENGINE] =[asterisk]
amp_conf [AMPMGRUSER] =[admin]
amp_conf [AMPMGRPASS] =[amp111]
amp_conf [AMPBIN] =[/var/lib/asterisk/bin]
amp_conf [AMPSBIN] =[/usr/local/sbin]
amp_conf [AMPWEBROOT] =[/srv/http/freepbx]
amp_conf [AMPCGIBIN] =[/var/www/cgi-bin ]
amp_conf [FOPWEBROOT] =[/var/www/html/panel]
amp_conf [FOPPASSWORD] =[passw0rd]
amp_conf [AUTHTYPE] =[database]
amp_conf [AMPEXTENSIONS] =[extensions]
amp_conf [AMPDBUSER] =[asteriskuser]
amp_conf [AMPDBPASS] =[amp109]
amp_conf [AMPWEBADDRESS] =[192.168.179.42]
amp_conf [AMPDBNAME] =[asterisk]
OK
Checking for /etc/asterisk/asterisk.conf…OK
Reading /etc/asterisk/asterisk.conf…OK
Using asterisk as PBX Engine
Checking for Asterisk version…12.3.2
Checking for selinux…OK
Connecting to database…OK
Checking current version of FreePBX…2.11.0rc1
Installing new FreePBX files…/etc/asterisk/cdr_mysql.conf has been changed from the original version.
Overwrite (y=yes/a=all/n=no/d=diff/s=shell/x=exit)? y
/etc/asterisk/manager.conf has been changed from the original version.
Overwrite (y=yes/a=all/n=no/d=diff/s=shell/x=exit)? y
OK (356 files copied, 26 skipped)
amportal…no fpbx…freepbx_engine…freepbx_setting…gen_amp_conf.php…done
apply username/password changes to conf files:
running apply_conf.sh from /etc/amportal.conf
Reading /etc/amportal.conf
Updating configuration…
/etc/asterisk/cdr_mysql.conf user: [asteriskuser] password: [amp109] hostname: [localhost]
/etc/asterisk/manager.conf user: [admin] secret: [amp111]
Adjusting File Permissions…

    SETTING FILE PERMISSIONS
    Permissions OK
    Removing any dangling symlinks
    Dangling symlinks removed
    Done

done with apply_conf.sh
creating missing #include files…OK
Module ‘manager’ reloaded successfully.
Setting permissions on files…OK
Loading Bootstrap…OK
Checking for upgrades…9 found
Upgrading to 2.11.0…
-Running PHP script /usr/src/freepbx/upgrades/2.11.0/migration.php
Upgrading to 2.11.0…OK
Upgrading to 12.0.1alpha1…
-Running PHP script /usr/src/freepbx/upgrades/12.0.1alpha1/upgrade.php
Upgrading to 12.0.1alpha1…OK
Upgrading to 12.0.1alpha4…
-Running PHP script /usr/src/freepbx/upgrades/12.0.1alpha4/upgrade.php
Upgrading to 12.0.1alpha4…OK
Upgrading to 12.0.1alpha6…
-Running PHP script /usr/src/freepbx/upgrades/12.0.1alpha6/upgrade.php
Upgrading to 12.0.1alpha6…OK
Upgrading to 12.0.1alpha15…
-Running PHP script /usr/src/freepbx/upgrades/12.0.1alpha15/upgrade.php
Upgrading to 12.0.1alpha15…OK
Upgrading to 12.0.1alpha16…
-Running PHP script /usr/src/freepbx/upgrades/12.0.1alpha16/upgrade.php
Upgrading to 12.0.1alpha16…OK
Upgrading to 12.0.1alpha31…
-Running PHP script /usr/src/freepbx/upgrades/12.0.1alpha31/upgrade.php
Upgrading to 12.0.1alpha31…OK
Upgrading to 12.0.1alpha45…
-Running PHP script /usr/src/freepbx/upgrades/12.0.1alpha45/upgrade.php
Upgrading to 12.0.1alpha45…OK
Upgrading to 12.0.1beta10…
-Running PHP script /usr/src/freepbx/upgrades/12.0.1beta10/upgrade.php
Upgrading to 12.0.1beta10…OK
…OK
Setting freepbx settings form /etc/amportal.conf
freepbx setting [AMPDBHOST] DOES NOT EXIST, can’t set to [localhost]
freepbx setting [AMPDBENGINE] DOES NOT EXIST, can’t set to [mysql]
freepbx setting [AMPENGINE] set to [asterisk]
sed: -e expression #1, char 1: unknown command: `"'
freepbx setting [AMPMGRUSER] set to [admin]
PHP Notice: Undefined variable: db in /usr/src/freepbx/amp_conf/htdocs/admin/libraries/utility.functions.php on line 1163
freepbx setting [AMPMGRPASS] set to [amp111]
freepbx setting [AMPBIN] set to [/var/lib/asterisk/bin]
freepbx setting [AMPSBIN] set to [/usr/local/sbin]
freepbx setting [AMPWEBROOT] set to [/srv/http/freepbx]
freepbx setting [AMPCGIBIN] set to [/var/www/cgi-bin ]
freepbx setting [FOPWEBROOT] set to [/var/www/html/panel]
freepbx setting [FOPPASSWORD] DOES NOT EXIST, can’t set to [passw0rd]
freepbx setting [AUTHTYPE] set to [database]
freepbx setting [AMPEXTENSIONS] set to [extensions]
freepbx setting [AMPDBUSER] DOES NOT EXIST, can’t set to [asteriskuser]
freepbx setting [AMPDBPASS] DOES NOT EXIST, can’t set to [amp109]
freepbx setting [AMPWEBADDRESS] set to [192.168.179.42]
freepbx setting [AMPDBNAME] DOES NOT EXIST, can’t set to [asterisk]
freepbx setting [ASTETCDIR] set to [/etc/asterisk]
freepbx setting [ASTMODDIR] set to [/usr/lib/asterisk/modules]
freepbx setting [ASTVARLIBDIR] set to [/var/lib/asterisk]
freepbx setting [ASTAGIDIR] set to [/var/lib/asterisk/agi-bin]
freepbx setting [ASTSPOOLDIR] set to [/var/spool/asterisk]
freepbx setting [ASTRUNDIR] set to [/run/asterisk]
freepbx setting [ASTLOGDIR] set to [/var/log/asterisk]
freepbx setting [FPBXDBUGFILE] set to [/var/log/asterisk/freepbx_debug]
Generating AMP configs…
Generating Configurations.conf, (if Asterisk is not running, you will get an error)
In case of error, start Asterisk and hit the red bar in the GUI to generate the Configurations.conf files
PHP Fatal error: Uncaught exception ‘PDOException’ with message ‘could not find driver’ in /srv/http/freepbx/admin/libraries/BMO/Database.class.php:62
Stack trace:
#0 /srv/http/freepbx/admin/libraries/BMO/Database.class.php(62): PDO->__construct(‘mysql:host=loca…’, ‘asteriskuser’, ‘amp109’)
#1 /srv/http/freepbx/admin/libraries/BMO/Self_Helper.class.php(116): Database->__construct(Object(FreePBX))
#2 /srv/http/freepbx/admin/libraries/BMO/Self_Helper.class.php(36): Self_Helper->autoLoad(‘Database’)
#3 /srv/http/freepbx/admin/libraries/BMO/DB_Helper.class.php(47): Self_Helper->__get(‘Database’)
#4 /srv/http/freepbx/admin/libraries/BMO/DB_Helper.class.php(184): DB_Helper::checkDatabase()
#5 /srv/http/freepbx/admin/libraries/BMO/Hooks.class.php(96): DB_Helper->setConfig(‘hooks’, Array)
#6 /var/lib/asterisk/bin/retrieve_conf(20): Hooks->updateBMOHooks()
#7 {main}
thrown in /srv/http/freepbx/admin/libraries/BMO/Database.class.php on line 62
Generating AMP configs…OK
Framework has been detected as being in Developer mode, Please make sure to run ‘./install_amp --update-links’ manually so that any database or system settings can be updated
Module framework successfully installed

SETTING FILE PERMISSIONS
Permissions OK
Removing any dangling symlinks
Dangling symlinks removed
Please update your modules and reload Asterisk by visiting http://192.168.179.42/admin

You need to install the mysql PDO driver through pacman. This is often a problem when starting completely barebones.

Once you have finished your work please provide the guide back here so that I can add it to the wiki. We can also add you to the wiki if you prefer.

Thank you for the replies guys, I apologize, I was not sure what information I should include being that I have never had any previous issues with FreePBX on Debian/Ubuntu. When I complete this ArchLinux “package” PKGBUILD, I will be very happy to share a guide for others. My objective is to make FreePBX-12 with Asterisk-12 easily available to anyone running ArchLinx and especially ArchLinux ARM.

Anyway, tm1000 your comment about the mysql (mariadb in Arch) driver was on target, thank you. Your comment was enough to prod my memory into realizing I needed to load that extension so I enable the pdo_mysql.so extension in the php.ini and the install_amp error went away.

Regarding your comment jfinstrom, which looks like it was deleted; so far I made the following changes to the php.ini located at /etc/php/php.ini_orig. I enabled the mysql.so, posix.so, and pdo_mysql.so extensions, I disabled open_basedir because I received some error messages from the install (install_amp) script, and I set the upload_max_filesize to 20M. Below are the sed scripts I created.

sed -i ‘s:;extension=mysql.so:extension=mysql.so:’ /etc/php/php.ini
sed -i ‘s:;extension=posix.so:extension=posix.so:’ /etc/php/php.ini
sed -i ‘s:open_basedir =:; open_basedir =:’ /etc/php/php.ini
sed -i ‘s:(^upload_max_filesize = ).*:\120M:’ /etc/php/php.ini
sed -i ‘s:;extension=pdo_mysql.so:extension=pdo_mysql.so:’ /etc/php/php.ini

I also loaded the following packages: git apache mariadb php php-apache php-gd php-pear

The Asterisk build on ArchLinux automatically loads:
alsa-lib speex popt libvorbis curl libxml2 jansson libxslt pjproject sqlite3 gsm

Finally I kept getting an error from install_amp complaining about not finding /var/lib/php/session. After lots of searching, I found the line of code that I think caused the complaint located in ./freepbx/amp_conf/bin/freepbx_engine. I changed /var/lib/php/session to /usr/include/php/ext/session. The error went away but who knows if something else will blow up later. For the record, I am uncomfortable making direct changes to any of FreePBX scripts; I think it is a dangerous practice, but I did not know how to solve the issue any other way. Below is the sed script I used.

sed -i ‘s:/var/lib/php/session:/usr/include/php/ext/session:’ ./amp_conf/bin/freepbx_engine

So tm1000 your much appreciated comment helped me clear up the MySQL PDO problem, but from my original post, I still see the sed script error and the PHP Notice about Undefined variable db.

Other than that, I have been following the Debian installation guidelines developing a very rough script listed below that I eventually plan to use to create an official ArchLinux package. At least from my script you can see what I have been doing. I have not yet moved to the “amportal a ma installall” step. I am waiting to complete the “./install_amp” step without incident.

# Warning this is a very rough work in progress and is not ready for release.
# Proper README notes and comments will be completed when script is working.
# The installation of Asterisk first (pacman -Sy asterisk) actually takes care of some of the
# dependencies and creating certain users/groups

export VER_FREEPBX=12.0
export ASTERISK_DB_PW=amp109

pacman -Sy asterisk libxslt pjproject git apache mariadb php php-apache php-gd php-pear
systemctl enable mysqld.service
systemctl start mysqld.service
systemctl enable httpd.service
systemctl start httpd.service
pear install db

cd /usr/src
git clone Browse FreePBX / framework - FreePBX GIT freepbx
cd freepbx
git checkout release/${VER_FREEPBX}

cp /etc/php/php.ini /etc/php/php.ini_orig
sed -i ‘s:;extension=mysql.so:extension=mysql.so:’ /etc/php/php.ini
sed -i ‘s:;extension=posix.so:extension=posix.so:’ /etc/php/php.ini
sed -i ‘s:open_basedir =:; open_basedir =:’ /etc/php/php.ini
sed -i ‘s:(^upload_max_filesize = ).*:\120M:’ /etc/php/php.ini
sed -i ‘s:;extension=pdo_mysql.so:extension=pdo_mysql.so:’ /etc/php/php.ini

# Set User & Group to asterisk in Apache config
cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf_orig
sed -i ‘s:^(User|Group).*:\1 asterisk:’ /etc/httpd/conf/httpd.conf

# Change session path from /var/lib/php/session to /usr/include/php/ext/session
cp ./amp_conf/bin/freepbx_engine ./amp_conf/bin/freepbx_engine_orig
sed -i ‘s:/var/lib/php/session:/usr/include/php/ext/session:’ ./amp_conf/bin/freepbx_engine

systemctl restart httpd.service

mysqladmin -u root create asterisk
mysqladmin -u root create asteriskcdrdb

mysql -u root -e “GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY ‘${ASTERISK_DB_PW}’;”
mysql -u root -e “GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY ‘${ASTERISK_DB_PW}’;”
mysql -u root -e “flush privileges;”

# ./start_asterisk start
# ./install_amp --installdb --username=asteriskuser --password=${ASTERISK_DB_PW}
# amportal a ma installall
# amportal a reload
# amportal chown

1 Like

Sweet!!

Run these two commands on your system and tell me what they return:

php -r "echo ini_get('session.save_path');"

php -r "echo session_save_path();"

Hello tm1000, I ran both commands, both returned nothing (no errors, no info, etc.)

Also, could you tell me what codes to include in my posts to make text turn red?

Below is the current state of my “installation notes” which will eventually turn into an install script.

# Set variables per FreePBX notes
VER_FREEPBX=12.0
ASTERISK_DB_PW=amp109
PHPINI=/etc/php/php.ini
APACHECONF=/etc/httpd/conf/httpd.conf

# Install Asterisk, MySQL (aka MariaDB), Apache, PHP and associated dependencies
pacman -Sy asterisk mariadb apache php php-apache php-gd php-pear pjproject git

# Enable/start MySQL
systemctl enable mysqld.service
systemctl start mysqld.service

# Enable/start Apache
systemctl enable httpd.service
systemctl start httpd.service

# Setup pear db
pear install db

# Move to /usr/src then download/extract the FreePBX files
cd /usr/src
git clone Browse FreePBX / framework - FreePBX GIT freepbx
cd freepbx
git checkout release/${VER_FREEPBX}

# Changes to PHP
cp ${PHPINI} ${PHPINI}_orig
# Activate mysql.so
sed -i ‘s/;extension=mysql.so/extension=mysql.so/’ $PHPINI
# Activate posix.so
sed -i ‘s/;extension=posix.so/extension=posix.so/’ $PHPINI
# Deactivate open_basedir
sed -i ‘s/open_basedir =/; open_basedir =/’ $PHPINI
# Increase upload_max_filesize
sed -i ‘s/(^upload_max_filesize = ).*/\120M/’ $PHPINI
# Activate pro_mysel.so (thanks tm1000)
sed -i ‘s/;extension=pdo_mysql.so/extension=pdo_mysql.so/’ $PHPINI

# Changes to Apache
cp ${APACHECONF} ${APACHECONF}_orig
# Set User & Group to asterisk
sed -i ‘s/^(User|Group).*/\1 asterisk/’ $APACHECONF
# Change to mod_mpm_preform.so allowing libphp5.so to work preventing “threaded MPM” error
sed -i ‘s/LoadModule mpm_event_module modules/mod_mpm_event.so/LoadModule mpm_prefork_module modules/mod_mpm_prefork.so/’ $APACHECONF
# Add LoadModule for libphp5.so after “LoadModule dir_module modules/mod_dir.so”
sed -i ‘/LoadModule dir_module modules/mod_dir.so/aLoadModule php5_module modules/libphp5.so’ $APACHECONF
# Add Include php5_module.conf at end of Includes
sed -i ‘/Include conf/extra/httpd-default.conf/aInclude conf/extra/php5_module.conf’ $APACHECONF

# Changes to freepbx_engine (I really hate doing this)
cp ./amp_conf/bin/freepbx_engine ./amp_conf/bin/freepbx_engine_orig
# Change session path from /var/lib/php/session to /usr/include/php/ext/session
sed -i ‘s//var/lib/php/session//usr/include/php/ext/session/’ ./amp_conf/bin/freepbx_engine

# Restart Apache
systemctl restart httpd.service

# Create MySQL (MariaDB) databases
mysqladmin -u root create asterisk
mysqladmin -u root create asteriskcdrdb

# Set privileges on database
mysql -u root -e “GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY ‘${ASTERISK_DB_PW}’;”
mysql -u root -e “GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY ‘${ASTERISK_DB_PW}’;”
mysql -u root -e “flush privileges;”

What turns the text red is called syntax parsing. There is nothing I can tell you or send you to do it. It’s automatic.

That said you should think about setting your session save path in php.ini so you don’t have to modify freepbx

tm10009, if setting the session path variable means I do not need to modify the FreePBX install scripts, that would make me very happy. I think it is very bad programming practice for me to modify the FreePBX scripts to adjust for ArchLinux.

Are we talking about a “typical” shell script variable (e.g., session.save_path=xxxxx)?

http://www.php.net/manual/en/session.configuration.php#ini.session.save-path

Thank you tm1000, I think I am making good progress towards an automated installation script or clear set of instructions on how to install on ArchLinux.

Do you have any ideas about the two error messages highlighted (bold) below? One seems to be a sed script that is failing, I don’t understand the “db error”

Setting freepbx settings form /etc/amportal.conf
freepbx setting [AMPDBHOST] DOES NOT EXIST, can’t set to [localhost]
freepbx setting [AMPDBENGINE] DOES NOT EXIST, can’t set to [mysql]
freepbx setting [AMPENGINE] set to [asterisk]
sed: -e expression #1, char 1: unknown command: `"’
freepbx setting [AMPMGRUSER] set to [admin]
PHP Notice: Undefined variable: db in /usr/src/freepbx/amp_conf/htdocs/admin/libraries/utility.functions.php on line 1163
freepbx setting [AMPMGRPASS] set to [amp111]
freepbx setting [AMPBIN] set to [/var/lib/asterisk/bin]
freepbx setting [AMPSBIN] set to [/usr/local/sbin]

After running pear install db I did receive this error message, I have not begun to look into it.
WARNING: “pear/DB” is deprecated in favor of “pear/MDB2”

Not something I am going to fix, it’s a per system problem dealing with setting up manager.conf, you may have manager connection issues in the end.

I have committed a fix for this.

Ignore this.

A lot of progress has been made, thank you for your input so far.

It looks like “PHP Notice: Undefined variable: db in /usr/src/freepbx/amp_conf/htdocs/admin/libraries/utility.functions.php on line 1163” error has been resolved in the latest download, I don’t see that error any more.

I wanted to start over load a clean version of ArchLinux and run the script below. There are some other error messages that I had not seen previously, that seem to be related to permissions, but I am not sure if its file permissions or something else. If you have a chance to look and can point me in the right direction, I can do more research and try to resolve.

Current Script:

# Set variables per FreePBX notes
VER_FREEPBX=12.0
ASTERISK_DB_PW=amp109
PHPINI=/etc/php/php.ini
APACHECONF=/etc/httpd/conf/httpd.conf

# Install Asterisk, MySQL (aka MariaDB), Apache, PHP and associated dependencies
pacman -Sy asterisk mariadb apache php php-apache php-gd php-pear pjproject git

# Enable/start MySQL
echo “Enable/Start MySQL”
systemctl enable mysqld.service
systemctl start mysqld.service

# Enable/start Apache
echo “Enable/Start Apache”
systemctl enable httpd.service
systemctl start httpd.service

# Setup pear db
echo “Enable Pear DB”
pear install db

# Move to /usr/src then download/extract the FreePBX files
echo “Download/Extract FreePBX”
cd /usr/src
git clone Browse FreePBX / framework - FreePBX GIT freepbx
cd freepbx
git checkout release/${VER_FREEPBX}

# Changes to PHP
echo “Adjusting PHP”
cp ${PHPINI} ${PHPINI}_orig
# Activate mysql.so
sed -i ‘s/;extension=mysql.so/extension=mysql.so/’ $PHPINI
# Activate posix.so
sed -i ‘s/;extension=posix.so/extension=posix.so/’ $PHPINI
# Deactivate open_basedir
sed -i ‘s/open_basedir =/; open_basedir =/’ $PHPINI
# Increase upload_max_filesize
sed -i ‘s/(^upload_max_filesize = ).*/\120M/’ $PHPINI
# Activate pro_mysel.so (thanks tm1000)
sed -i ‘s/;extension=pdo_mysql.so/extension=pdo_mysql.so/’ $PHPINI
# Set session.save_path to /usr/include/php/ext/session/
sed -i ‘/session.save_path/asession.save_path="/usr/include/php/ext/session"’ $PHPINI

# Changes to Apache
echo “Adjusting Apache”
cp ${APACHECONF} ${APACHECONF}_orig
# Set User & Group to asterisk
sed -i ‘s/^(User|Group).*/\1 asterisk/’ $APACHECONF
# Change to mod_mpm_preform.so allowing libphp5.so to work preventing “threaded MPM” error
sed -i ‘s/LoadModule mpm_event_module modules/mod_mpm_event.so/LoadModule mpm_prefork_module modules/mod_mpm_prefork.so/’ $APACHECONF
# Add LoadModule for libphp5.so after “LoadModule dir_module modules/mod_dir.so”
sed -i ‘/LoadModule dir_module modules/mod_dir.so/aLoadModule php5_module modules/libphp5.so’ $APACHECONF
# Add Include php5_module.conf at end of Includes
sed -i ‘/Include conf/extra/httpd-default.conf/aInclude conf/extra/php5_module.conf’ $APACHECONF
# Enable .htaccess (hypertext access)
sed -i ‘s/#LoadModule rewrite_module modules/mod_rewrite.so/LoadModule\ rewrite_module modules/mod_rewrite.so/’ $APACHECONF
sed -i ‘s/AllowOverride none/AllowOverride All/’ $APACHECONF

# Restart Apache
echo “Restart Apache”
systemctl restart httpd.service

# Create MySQL (MariaDB) databases
echo “Configure MySQL Database”
mysqladmin -u root create asterisk
mysqladmin -u root create asteriskcdrdb

# Set privileges on database
echo “Set Privileges on Database”
mysql -u root -e “GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY ‘${ASTERISK_DB_PW}’;”
mysql -u root -e “GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY ‘${ASTERISK_DB_PW}’;”
mysql -u root -e “flush privileges;”

./start_asterisk start
./install_amp --installdb --username=asteriskuser --password=${ASTERISK_DB_PW}

Output from ./install_amp

Checking for PEAR DB…OK
Checking for PEAR Console::Getopt…OK
Using username: asteriskuser
Using password: ******
Checking user…OK
Checking if Asterisk is running…running with PID: 604…OK
Checking for /etc/amportal.conf…/etc/amportal.conf does not exist, copying default
Creating new /etc/amportal.conf
Enter your USERNAME to connect to the ‘asterisk’ database:
[asteriskuser]
Enter your PASSWORD to connect to the ‘asterisk’ database:
[amp109]
Enter the hostname of the ‘asterisk’ database:
[localhost]
Enter a USERNAME to connect to the Asterisk Manager interface:
[admin]
Enter a PASSWORD to connect to the Asterisk Manager interface:
[amp111]
Enter the path to use for your AMP web root:
[/var/www/html]
/srv/http/freepbx
Created /srv/http/freepbx
Enter the IP ADDRESS or hostname used to access the AMP web-admin:
[192.168.1.1] 192.168.179.42
Use simple Extensions [extensions] admin or separate Devices and Users [deviceanduser]?
[extensions]
Enter directory in which to store AMP executable scripts:
[/var/lib/asterisk/bin]

Created /var/lib/asterisk/bin
Enter directory in which to store super-user scripts:
[/usr/local/sbin]

/etc/amportal.conf writtenAssuming new install, --install-moh added to command line
OK
Reading /etc/amportal.conf…parsed amp_conf variables from /etc/amportal.conf:
amp_conf [AMPDBHOST] => [localhost]
amp_conf [AMPDBENGINE] => [mysql]
amp_conf [AMPENGINE] => [asterisk]
amp_conf [AMPMGRUSER] => [admin]
amp_conf [AMPMGRPASS] => [amp111]
amp_conf [AMPBIN] => [/var/lib/asterisk/bin]
amp_conf [AMPSBIN] => [/usr/local/sbin]
amp_conf [AMPWEBROOT] => [/srv/http/freepbx]
amp_conf [AMPCGIBIN] => [/var/www/cgi-bin ]
amp_conf [FOPWEBROOT] => [/var/www/html/panel]
amp_conf [FOPPASSWORD] => [passw0rd]
amp_conf [AUTHTYPE] => [database]
amp_conf [AMPEXTENSIONS] => [extensions]
amp_conf [AMPDBUSER] => [asteriskuser]
amp_conf [AMPDBPASS] => [amp109]
amp_conf [AMPWEBADDRESS] => [192.168.179.42]
amp_conf [AMPDBNAME] => [asterisk]
OK
Checking for /etc/asterisk/asterisk.conf…OK
Reading /etc/asterisk/asterisk.conf…OK
Using asterisk as PBX Engine
Checking for Asterisk version…12.3.2
Checking for selinux…OK
Connecting to database…OK
Checking state of FreePBX DB…FreePBX DB is empty, inserting standard rows…Done!
Checking state of FreePBX CDRDB…FreePBX DB is empty, inserting standard rows…Done!
Checking current version of FreePBX…2.11.0rc1
Installing new FreePBX files…/etc/asterisk/meetme.conf has been changed from the original version.
Overwrite (y=yes/a=all/n=no/d=diff/s=shell/x=exit)? a
/etc/asterisk/musiconhold.conf has been changed from the original version.
Overwrite (y=yes/a=all/n=no/d=diff/s=shell/x=exit)? a
/etc/asterisk/cdr_mysql.conf has been changed from the original version.
Overwrite (y=yes/a=all/n=no/d=diff/s=shell/x=exit)? a
/etc/asterisk/manager.conf has been changed from the original version.
Overwrite (y=yes/a=all/n=no/d=diff/s=shell/x=exit)? a
/etc/asterisk/enum.conf has been changed from the original version.
Overwrite (y=yes/a=all/n=no/d=diff/s=shell/x=exit)? a
/etc/asterisk/indications.conf has been changed from the original version.
Overwrite (y=yes/a=all/n=no/d=diff/s=shell/x=exit)? a
/etc/asterisk/phone.conf has been changed from the original version.
Overwrite (y=yes/a=all/n=no/d=diff/s=shell/x=exit)? a
/etc/asterisk/queues.conf has been changed from the original version.
Overwrite (y=yes/a=all/n=no/d=diff/s=shell/x=exit)? a
/etc/asterisk/modules.conf has been changed from the original version.
Overwrite (y=yes/a=all/n=no/d=diff/s=shell/x=exit)? a
OK (381 files copied, 0 skipped)
amportal…no fpbx…freepbx_engine…freepbx_setting…gen_amp_conf.php…done
apply username/password changes to conf files:
running apply_conf.sh from /etc/amportal.conf
Reading /etc/amportal.conf
Updating configuration…
/etc/asterisk/cdr_mysql.conf user: [asteriskuser] password: [amp109] hostname: [localhost]
/etc/asterisk/manager.conf user: [admin] secret: [amp111]
Adjusting File Permissions…

    SETTING FILE PERMISSIONS
    Permissions OK
    Removing any dangling symlinks
    Dangling symlinks removed
    Done

done with apply_conf.sh
creating missing #include files…OK
Module ‘manager’ reloaded successfully.
Setting permissions on files…OK
Loading Bootstrap…OK
Checking for upgrades…9 found
Upgrading to 2.11.0…
→ Running PHP script /usr/src/freepbx/upgrades/2.11.0/migration.php
Upgrading to 2.11.0…OK
Upgrading to 12.0.1alpha1…
→ Running PHP script /usr/src/freepbx/upgrades/12.0.1alpha1/upgrade.php
Upgrading to 12.0.1alpha1…OK
Upgrading to 12.0.1alpha4…
→ Running PHP script /usr/src/freepbx/upgrades/12.0.1alpha4/upgrade.php
Upgrading to 12.0.1alpha4…OK
Upgrading to 12.0.1alpha6…
→ Running PHP script /usr/src/freepbx/upgrades/12.0.1alpha6/upgrade.php
Upgrading to 12.0.1alpha6…OK
Upgrading to 12.0.1alpha15…
→ Running PHP script /usr/src/freepbx/upgrades/12.0.1alpha15/upgrade.php
Upgrading to 12.0.1alpha15…OK
Upgrading to 12.0.1alpha16…
→ Running PHP script /usr/src/freepbx/upgrades/12.0.1alpha16/upgrade.php
Upgrading to 12.0.1alpha16…OK
Upgrading to 12.0.1alpha31…
→ Running PHP script /usr/src/freepbx/upgrades/12.0.1alpha31/upgrade.php
Upgrading to 12.0.1alpha31…OK
Upgrading to 12.0.1alpha45…
→ Running PHP script /usr/src/freepbx/upgrades/12.0.1alpha45/upgrade.php
Upgrading to 12.0.1alpha45…OK
Upgrading to 12.0.1beta10…
→ Running PHP script /usr/src/freepbx/upgrades/12.0.1beta10/upgrade.php
Upgrading to 12.0.1beta10…OK
…OK
Setting freepbx settings form /etc/amportal.conf
freepbx setting [AMPDBHOST] DOES NOT EXIST, can’t set to [localhost]
freepbx setting [AMPDBENGINE] DOES NOT EXIST, can’t set to [mysql]
freepbx setting [AMPENGINE] set to [asterisk]
sed: -e expression #1, char 1: unknown command: `"’
freepbx setting [AMPMGRUSER] set to [admin]
freepbx setting [AMPMGRPASS] set to [amp111]
freepbx setting [AMPBIN] set to [/var/lib/asterisk/bin]
freepbx setting [AMPSBIN] set to [/usr/local/sbin]
freepbx setting [AMPWEBROOT] set to [/srv/http/freepbx]
freepbx setting [AMPCGIBIN] set to [/var/www/cgi-bin ]
freepbx setting [FOPWEBROOT] set to [/var/www/html/panel]
freepbx setting [FOPPASSWORD] DOES NOT EXIST, can’t set to [passw0rd]
freepbx setting [AUTHTYPE] set to [database]
freepbx setting [AMPEXTENSIONS] set to [extensions]
freepbx setting [AMPDBUSER] DOES NOT EXIST, can’t set to [asteriskuser]
freepbx setting [AMPDBPASS] DOES NOT EXIST, can’t set to [amp109]
freepbx setting [AMPWEBADDRESS] set to [192.168.179.42]
freepbx setting [AMPDBNAME] DOES NOT EXIST, can’t set to [asterisk]
freepbx setting [ASTETCDIR] set to [/etc/asterisk]
freepbx setting [ASTMODDIR] set to [/usr/lib/asterisk/modules]
freepbx setting [ASTVARLIBDIR] set to [/var/lib/asterisk]
freepbx setting [ASTAGIDIR] set to [/var/lib/asterisk/agi-bin]
freepbx setting [ASTSPOOLDIR] set to [/var/spool/asterisk]
freepbx setting [ASTRUNDIR] set to [/run/asterisk]
freepbx setting [ASTLOGDIR] set to [/var/log/asterisk]
freepbx setting [FPBXDBUGFILE] set to [/var/log/asterisk/freepbx_debug]
Generating AMP configs…
Generating Configurations.conf, (if Asterisk is not running, you will get an error)
In case of error, start Asterisk and hit the red bar in the GUI to generate the Configurations.conf files
Checking for PEAR Console::Getopt…OK
PHP Warning: file_put_contents(/var/log/asterisk/freepbx.log): failed to open stream: Permission denied in /srv/http/freepbx/admin/libraries/utility.functions.php on line 111
Running module install.php and install.sql scripts
PHP Warning: file_put_contents(/var/log/asterisk/freepbx.log): failed to open stream: Permission denied in /srv/http/freepbx/admin/libraries/utility.functions.php on line 111
Skipping extension and destination registry checks
PHP Warning: file_put_contents(/var/log/asterisk/freepbx.log): failed to open stream: Permission denied in /srv/http/freepbx/admin/libraries/utility.functions.php on line 111
PHP Warning: file_put_contents(/var/log/asterisk/freepbx.log): failed to open stream: Permission denied in /srv/http/freepbx/admin/libraries/utility.functions.php on line 111
PHP Warning: file_put_contents(/var/log/asterisk/freepbx.log): failed to open stream: Permission denied in /srv/http/freepbx/admin/libraries/utility.functions.php on line 111
PHP Warning: file_put_contents(/var/log/asterisk/freepbx.log): failed to open stream: Permission denied in /srv/http/freepbx/admin/libraries/utility.functions.php on line 111
PHP Warning: file_put_contents(/var/log/asterisk/freepbx.log): failed to open stream: Permission denied in /srv/http/freepbx/admin/libraries/utility.functions.php on line 111
PHP Warning: file_put_contents(/var/log/asterisk/freepbx.log): failed to open stream: Permission denied in /srv/http/freepbx/admin/libraries/utility.functions.php on line 111
PHP Warning: file_put_contents(/var/log/asterisk/freepbx.log): failed to open stream: Permission denied in /srv/http/freepbx/admin/libraries/utility.functions.php on line 111
PHP Warning: file_put_contents(/var/log/asterisk/freepbx.log): failed to open stream: Permission denied in /srv/http/freepbx/admin/libraries/utility.functions.php on line 111
PHP Warning: file_put_contents(/var/log/asterisk/freepbx.log): failed to open stream: Permission denied in /srv/http/freepbx/admin/libraries/utility.functions.php on line 111
PHP Warning: file_put_contents(/var/log/asterisk/freepbx.log): failed to open stream: Permission denied in /srv/http/freepbx/admin/libraries/utility.functions.php on line 111
PHP Warning: file_put_contents(/var/log/asterisk/freepbx.log): failed to open stream: Permission denied in /srv/http/freepbx/admin/libraries/utility.functions.php on line 111
PHP Warning: file_put_contents(/var/log/asterisk/freepbx.log): failed to open stream: Permission denied in /srv/http/freepbx/admin/libraries/utility.functions.php on line 111
no crontab for asterisk
no crontab for asterisk
Please update your modules and reload Asterisk by visiting http://192.168.179.42/admin
Generating AMP configs…OK
Framework has been detected as being in Developer mode, Please make sure to run ‘./install_amp --update-links’ manually so that any database or system settings can be updated
Module framework successfully installed

SETTING FILE PERMISSIONS
Permissions OK
Removing any dangling symlinks
Dangling symlinks removed
Please update your modules and reload Asterisk by visiting http://192.168.179.42/admin


  • Note: It’s possible that if you click the red ‘Update Now’ bar BEFORE *
  • updating your modules, your machine will start dropping calls. Ensure *
  • that all modules are up to date BEFORE YOU CLICK THE RED BAR. As long *
  • as this is observed, your machine will be fully functional whilst the *
  • upgrade is in progress. *


  • At This Time Please Restart Asterisk *

those can be ignored. it would be a good idea to probably set the correct permissions on /var/log/asterisk though

var/log/asterisk was set to 775 with asterisk as owner/group, I would have thought that to be OK, but I went ahead and changed it to 777 per your suggestion.

I seem to have FreePBX running (for the most part) so I thought I would attempt to address a few run-time issues. I realize we are in beta so some items might simply be related to beta, some might be related to my install script, or some may be related to the differences between ArchLinux and Debian/Ubuntu. I’ve been working through the correct configuration for .htaaccess, but do not need to report an error or problem yet. I do want to report an issue with fail2ban.

Fail2Ban:
I have no experience with fail2ban, but I have fail2ban installed and running, at least I can produce a PID, but FreePBX is still warning me to have fail2ban running.

root 268 1 0 10:49 ? 00:00:00 /usr/bin/python /usr/bin/fail2ban-server -b -s /var/run/fail2ban/fail2ban.sock -p /var/run/fail2ban/fail2ban.pid -x

Do you have any thoughts or recommendations?

I ned to bring the developer into this thread that worked on that @xrobau

This is the screenshot, I assume the flames icon next to fail2ban means FreePBX think’s it’s not activated.

tm1000,

Just a quick FYI, I ran a complete fresh reinstall of ArchLinux & Asterisk/FreePBX and I ensured /var/log/asterisk was set to 777 with asterisk owner/group and still got that error message when I got to the ./install_amp step. It’s very strange.

PHP Warning: file_put_contents(/var/log/asterisk/freepbx.log): failed to open stream: Permission denied in /srv/http/freepbx/admin/libraries/utility.functions.php on line 111

All I can do for now is ignore the message, but at some point it would be good to get to the bottom of it.

This is my most recent FreePBX-12 to ArchLinux ARM installation script. I have added additional PHP dependencies and additional sed scripts to enable more PHP extensions. It is still a work in progress.

# WARNING: This script is under development ... use for reference only!
#
# Version 0.4 - July 20, 2014
# This installation script downloads/installs/configures Asterisk-12 and FreePBX-12
# for ArchLinux ARM.  It has not yet been tested on ArchLinux, but there are no
# indications why it would not work on ArchLinux.

# Known Issues:
# - FreePBX still complaining about fail2ban even though it's installed and running
# - ./install_amp still throwning (sed: -e expression #1, char 1: unknown command: `"') error, will eventually dig into this.
# - Running ./install_amp still issues PHP Warning even with /var/log/asterisk permissions set to 777
#   PHP Warning: file_put_contents(/var/log/asterisk/freepbx.log): failed to open stream: Permission denied in /srv/http/freepbx/admin/libraries/utility.functions.php on line 111

# Set variables per FreePBX notes
	VER_FREEPBX=12.0
	ASTERISK_DB_PW=amp109
	PHPINI=/etc/php/php.ini
	APACHECONF=/etc/httpd/conf/httpd.conf

# Install Asterisk, MySQL (aka MariaDB), Apache, PHP and associated dependencies
	pacman -Sy asterisk mariadb apache php php-apache php-gd php-pear php-ldap php-sqlite php-xsl git fail2ban

# Enable/start MySQL
	echo "Enable/Start MySQL"
	systemctl enable mysqld.service
	systemctl start mysqld.service

# Enable/start Apache
	echo "Enable/Start Apache"
	systemctl enable httpd.service
	systemctl start httpd.service
	
# Enable/start Fail2Ban
	echo "Enable/Start Fail2Ban"
	systemctl enable fail2ban.service
	systemctl start fail2ban.service

# Setup pear db
	echo "Enable Pear DB"
	pear install db

# Move to /usr/src then download/extract the FreePBX files
	echo "Download/Extract FreePBX"
	cd /usr/src
	git clone http://git.freepbx.org/scm/freepbx/framework.git freepbx
	cd freepbx
	git checkout release/${VER_FREEPBX}

# Changes to PHP
	echo "Adjusting PHP"
	cp ${PHPINI} ${PHPINI}_orig
# Activate gd.so
	sed -i 's/;extension=gd.so/extension=gd.so/' $PHPINI
# Activate ldap.so
	sed -i 's/;extension=ldap.so/extension=ldap.so/' $PHPINI
# Activate mysqli.so
	sed -i 's/;extension=mysqli.so/extension=mysqli.so/' $PHPINI
# Activate mysql.so
	sed -i 's/;extension=mysql.so/extension=mysql.so/' $PHPINI
# Activate openssl.so
	sed -i 's/;extension=openssl.so/extension=openssl.so/' $PHPINI	
# Activate pdo_mysql.so (thanks tm1000)
	sed -i 's/;extension=pdo_mysql.so/extension=pdo_mysql.so/' $PHPINI	
# Activate pdo_sqlite.so (thanks tm1000)
	sed -i 's/;extension=pdo_sqlite.so/extension=pdo_sqlite.so/' $PHPINI	
# Activate phar.so
	sed -i 's/;extension=phar.so/extension=phar.so/' $PHPINI
# Activate posix.so
	sed -i 's/;extension=posix.so/extension=posix.so/' $PHPINI
# Activate sysvmsg.so
	sed -i 's/;extension=sysvmsg.so/extension=sysvmsg.so/' $PHPINI
# Activate sysvsem.so
	sed -i 's/;extension=sysvsem.so/extension=sysvsem.so/' $PHPINI
# Activate sysvshm.so
	sed -i 's/;extension=sysvshm.so/extension=sysvshm.so/' $PHPINI
# Activate xmlrpc.so
	sed -i 's/;extension=xmlrpc.so/extension=xmlrpc.so/' $PHPINI
# Activate xsl.so
	sed -i 's/;extension=xsl.so/extension=xsl.so/' $PHPINI
# Activate zip.so
	sed -i 's/;extension=zip.so/extension=zip.so/' $PHPINI
# Deactivate open_basedir
	sed -i 's/open_basedir =/; open_basedir =/' $PHPINI
# Increase upload_max_filesize
	sed -i 's/\(^upload_max_filesize = \).*/\120M/' $PHPINI
# Set session.save_path to /usr/include/php/ext/session/
	sed -i '/session.save_path/asession.save_path=\"\/usr\/include\/php\/ext\/session\"' $PHPINI

# Changes to Apache
	echo "Adjusting Apache"
	cp ${APACHECONF} ${APACHECONF}_orig
# Set User & Group to asterisk
	sed -i 's/^\(User\|Group\).*/\1 asterisk/' $APACHECONF
# Change to mod_mpm_preform.so allowing libphp5.so to work preventing "threaded MPM" error
	sed -i 's/LoadModule mpm_event_module modules\/mod_mpm_event.so/LoadModule mpm_prefork_module modules\/mod_mpm_prefork.so/' $APACHECONF
# Add LoadModule for libphp5.so after "LoadModule dir_module modules/mod_dir.so"
	sed -i '/LoadModule dir_module modules\/mod_dir.so/aLoadModule php5_module modules\/libphp5.so' $APACHECONF
# Add Include php5_module.conf at end of Includes
	sed -i '/Include conf\/extra\/httpd-default.conf/aInclude conf\/extra\/php5_module.conf' $APACHECONF
# Enable .htaccess (hypertext access)
	echo " " >> $APACHECONF
	echo "# HTAccess for FreePBX" >> $APACHECONF
	echo "<Directory \"/srv/http/freepbx\">" >> $APACHECONF
	echo "AllowOverride all" >> $APACHECONF
	echo "</Directory>" >> $APACHECONF

# Changes to install_amp - change webroot directory from /var/www/html to /srv/http/freepbx
# Leaving this here for now, but I am generally against making any changes to any FreePBX scripts
cp install_amp install_amp_orig
sed -i 's/\/var\/www\/html/\/srv\/http\/freepbx/' install_amp
	
# Change permissions on /var/log/asterisk
# Still not sure if this command is needed, but leaving it here for now
chmod 777 /var/log/asterisk

# Restart Apache
	echo "Restart Apache"
	systemctl restart httpd.service

# Create MySQL (MariaDB) databases
	echo "Configure MySQL Database"
	mysqladmin -u root create asterisk
	mysqladmin -u root create asteriskcdrdb

# Set privileges on database
	echo "Set Privileges on Database"
	mysql -u root -e "GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY '${ASTERISK_DB_PW}';"
	mysql -u root -e "GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY '${ASTERISK_DB_PW}';"
	mysql -u root -e "flush privileges;"

# Subsequent commands to be run to finalize intallation
# At some point may need to embrace systemctl for starting/stopping/restarting Asterisk
# but for now leaving the FreePBX script "start_asterisk" as the method for controlling Asterisk
./start_asterisk start
./install_amp --installdb --username=asteriskuser --password=${ASTERISK_DB_PW}
./start_asterisk stop
./start_asterisk start
amportal a ma installall
amportal a reload
amportal chown

Hi, I installed freepbx by you script. how can I update freepbx now?
I want to install astersik 2.15 from aur. there is no possible problem fot that?
thank you
(Sory for my english!)