2017-03-25 18:41:47 +01:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
|
|
#move to script directory so all relative paths work
|
|
|
|
|
cd "$(dirname "$0")"
|
|
|
|
|
|
|
|
|
|
#includes
|
|
|
|
|
. ./config.sh
|
|
|
|
|
. ./colors.sh
|
|
|
|
|
|
2017-04-01 23:34:06 +02:00
|
|
|
#set the current working directory
|
|
|
|
|
cwd=$(pwd)
|
|
|
|
|
|
2017-03-25 18:41:47 +01:00
|
|
|
#send a message
|
|
|
|
|
verbose "Installing the web server"
|
|
|
|
|
|
2017-03-26 00:49:24 +01:00
|
|
|
#install nginx
|
|
|
|
|
pkg install --yes nginx
|
2017-03-25 18:41:47 +01:00
|
|
|
|
2017-03-26 00:49:24 +01:00
|
|
|
#enable nginx
|
|
|
|
|
echo 'nginx_enable="YES"' >> /etc/rc.conf
|
2017-04-01 11:56:09 +02:00
|
|
|
echo 'php_fpm_enable="YES"' >> /etc/rc.conf
|
2017-03-25 18:41:47 +01:00
|
|
|
|
2017-04-02 02:22:11 +02:00
|
|
|
#set the default version of postgres
|
2017-04-02 06:46:21 +02:00
|
|
|
echo "DEFAULT_VERSIONS+=pgsql=$database_version" >> /etc/make.conf
|
|
|
|
|
echo "DEFAULT_VERSIONS+=ssl=openssl" >> /etc/make.conf
|
2017-04-02 02:22:11 +02:00
|
|
|
|
2017-03-25 18:41:47 +01:00
|
|
|
#install dependencies
|
|
|
|
|
if [ ."$php_version" = ."5" ]; then
|
2017-04-01 23:36:25 +02:00
|
|
|
pkg install --yes php56 php56-phar php56-pgsql php56-pdo php56-pdo_pgsql php56-pdo_odbc php56-pdo_sqlite php56-json php56-gd
|
|
|
|
|
pkg install --yes php56-imap php56-ldap php56-mcrypt php56-openssl php56-sockets php56-simplexml php56-xml php56-session
|
2017-03-25 18:41:47 +01:00
|
|
|
fi
|
|
|
|
|
if [ ."$php_version" = ."7" ]; then
|
2017-04-02 07:16:12 +02:00
|
|
|
#pkg install --yes php70 php70-phar php70-pgsql php70-pdo php70-pdo_pgsql php70-pdo_odbc php70-pdo_sqlite php70-json php70-gd
|
|
|
|
|
#pkg install --yes php70-imap php70-ldap php70-mcrypt php70-openssl php70-sockets php70-simplexml php70-xml php70-session
|
2017-04-25 08:22:50 +02:00
|
|
|
pkg install --yes postgresql96-client-9.6.2 postgresql96-contrib-9.6.2 postgresql96-server-9.6.2 php71-7.1.3
|
|
|
|
|
pkg install --yes php71-phar php71-pdo php71-pdo_odbc php71-pdo_sqlite php71-json php71-gd php71-imap php71-ldap
|
|
|
|
|
pkg install --yes php71-mcrypt php71-openssl php71-sockets php71-simplexml php71-xml php71-session
|
2017-06-24 03:32:25 +02:00
|
|
|
if [ ."$database_version" = ."9.3" ]; then
|
|
|
|
|
pkg install --yes php71-pdo_pgsql php71-pgsql
|
|
|
|
|
else
|
|
|
|
|
cd /usr/ports/databases/php71-pdo_pgsql/ && make install clean BATCH=yes
|
|
|
|
|
cd /usr/ports/databases/php71-pgsql && make install clean BATCH=yes
|
|
|
|
|
fi
|
2017-03-25 18:41:47 +01:00
|
|
|
fi
|
|
|
|
|
|
2017-04-01 23:34:06 +02:00
|
|
|
#reset the current working directory
|
|
|
|
|
cd $cwd
|
|
|
|
|
|
2017-03-25 18:41:47 +01:00
|
|
|
#enable fusionpbx nginx config
|
2017-03-26 22:07:55 +02:00
|
|
|
mv /usr/local/etc/nginx/nginx.conf /usr/local/etc/nginx/nginx.conf-orig
|
|
|
|
|
cp nginx/nginx.conf /usr/local/etc/nginx
|
|
|
|
|
mkdir -p /usr/local/etc/nginx/conf.d
|
2017-03-27 10:28:40 +02:00
|
|
|
mkdir -p /usr/local/etc/nginx/sites-available/
|
|
|
|
|
mkdir -p /usr/local/etc/nginx/sites-enabled/
|
|
|
|
|
cp nginx/fusionpbx.conf /usr/local/etc/nginx/sites-available/fusionpbx
|
|
|
|
|
ln -s /usr/local/etc/nginx/sites-available/fusionpbx /usr/local/etc/nginx/sites-enabled/fusionpbx
|
2017-03-25 18:41:47 +01:00
|
|
|
|
2017-04-03 05:35:59 +02:00
|
|
|
#set the IP= address
|
|
|
|
|
common_name=$(ifconfig $interface_name | grep 'inet ' | awk '{print $2}')
|
|
|
|
|
|
2017-03-25 18:41:47 +01:00
|
|
|
#self signed certificate
|
2017-04-03 05:35:59 +02:00
|
|
|
openssl req -new -newkey rsa:4096 -days 3650 -nodes -x509 \
|
|
|
|
|
-subj "/C=US/ST=Online/L=SelfSigned/O=FusionPBX/CN=$common_name" \
|
|
|
|
|
-keyout /usr/local/etc/nginx/server.key -out /usr/local/etc/nginx/server.crt
|
2017-03-25 18:41:47 +01:00
|
|
|
|
|
|
|
|
#add the letsencrypt directory
|
|
|
|
|
mkdir -p /var/www/letsencrypt/
|
|
|
|
|
|
2017-03-26 00:49:24 +01:00
|
|
|
#restart php fpm and nginx
|
|
|
|
|
service php-fpm restart
|
2017-03-25 18:41:47 +01:00
|
|
|
service nginx restart
|
2017-03-26 00:49:24 +01:00
|
|
|
|