StratoSTACK Billing Portal
PHP HTML Other
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
app Fix password reset and refactor layouts (#20) Feb 20, 2017
bootstrap
config Make app name, cloudstack config and email configurable using environ… Feb 19, 2017
database Laravel 5.3 Shift (#3) Feb 13, 2017
public
resources Fix password reset and refactor layouts (#20) Feb 20, 2017
routes (feat) add Reinstall VM to instances Feb 17, 2017
storage Shift core files Dec 12, 2016
tests Adopt PSR-2 coding style Dec 12, 2016
.env.example Make app name, cloudstack config and email configurable using environ… Feb 19, 2017
.gitattributes Billing Portal Initial Commit May 25, 2016
.gitignore Billing Portal Initial Commit May 25, 2016
artisan Billing Portal Initial Commit May 25, 2016
composer.json Laravel 5.3 Shift (#3) Feb 13, 2017
composer.lock Laravel 5.3 Shift (#3) Feb 13, 2017
customize.md Billing Portal Initial Commit May 25, 2016
gulpfile.js Laravel 5.3 Shift (#3) Feb 13, 2017
package.json Laravel 5.3 Shift (#3) Feb 13, 2017
phpspec.yml Billing Portal Initial Commit May 25, 2016
phpunit.xml Merge 5.2 updates on a number of files we hadn't directly customized. Dec 12, 2016
readme.md Billing Portal Initial Commit May 25, 2016
server.php Billing Portal Initial Commit May 25, 2016

readme.md

StratoSTACK Billing Portal

Pre-requisites

Packages:
Apache2
MySQL 5.5+
PHP-5.5.9+
Redis-server

Other:
StratoSTACK Bill Records Generation Server
PowerDNS Server
TaxCloud Account
Authorize.Net Account

Installation

StratoSTACK uses Composer for dependency management. See its Download Guide for installation instructions.

Ubuntu

Ubuntu 16.04 Package Dependencies

# sudo apt install apache2 php mysql-server php-mysql php-mcrypt php-mbstring libapache2-mod-php php-bcmath php-xml

Ubuntu 14.04 Package Dependencies

# sudo apt-get install apache2 php5 mysql-server-5.5 php5-mysql redis-server php5-mcrypt

Move to the html directory:

# cd /var/www/html

Install StratoSTACK Billing Portal

# composer create-project --prefer-dist 1stel/stratostack-portal portal

Add a MySQL-compatible database named cloud_billing for portal's usage

# mysqladmin -u<your user> -p create cloud_billing

Edit configuration files

Edit .env, adding database access configuration.

DB_HOST=localhost
DB_DATABASE=cloud_billing
DB_USERNAME=homestead
DB_PASSWORD=secret

Edit config/cloud.php. Add management server, API credentials and the Bill Records Generation API key.

Edit config/taxcloud.php, config/authorizenet.php and config/powerdns.php, entering the values for your TaxCloud, Authorize.Net accounts and PowerDNS server credentials.

Populate the database

In /var/www/html/portal, run these commands

# php artisan migrate: install
# php artisan migrate --seed

Update Apache Configuration

Edit /etc/apache2/sites-enabled/000-default.conf

Change DocumentRoot to /var/www/html/portal/public

Add the following under DocumentRoot:

<Directory /var/www/html>
	Options FollowSymLinks
	AllowOverride All
</Directory>

Enable mod_rewrite:

# a2enmod rewrite

Restart Apache:

# service apache2 restart

Set permissions on the Portal

# chown www-data.www-data /var/www/html/portal -R

Add Laravel's event scheduler to cron

Add the following to your crontab:

* * * * * root php /var/www/html/portal/artisan schedule:run >> /dev/null 2>&1

Run the queue processor upon startup

Add the following to /etc/rc.local:

php /var/www/html/portal/artisan queue:listen --sleep=5 --tries=3 &

Customization

See customize.md for more information on customizing the StratoSTACK installation for your needs.