Skip to content
This repository has been archived by the owner on Mar 30, 2022. It is now read-only.

1. Installation

Tim Davis edited this page Sep 25, 2020 · 6 revisions

Deployment Guide

I personally have deployed this to remote hosted (DigitalOcean - $5/month) Ubuntu 16 and self hosted Ubuntu 16, Windows, and MacOS. The following guide will explain how to install on Ubuntu 16 (specifically using DigitalOcean, although it should apply to any Ubuntu 16 server).

  1. Install LAMP stack (Apache2, MySQL, PHP 7.4) DigitalOcean Ubuntu 20 LAMP stack
  2. If running with low available memory, add Swap to the server - this improves performance DigitalOcean Adding SWAP
  3. Install PHPMyAdmin (OPTIONAL), it will assist with database maintenance DigitalOcean Secure PHPMyAdmin Install
  4. Install zip, bz2 and xml
sudo apt-get install php7.4-zip
sudo apt-get install php7.4-bz2
sudo apt-get install php7.4-xml

  1. Clone Git Repository to /var/www/html this will create a folder called 'buysys'

cd /var/www/html
git clone https://github.com/binarygod/BuySYS.git
  1. Edit /etc/apache2/sites-enabled/000-default.conf and add new VirtualHost using your own information. The important parts are the DocumentRoot and Directory configuration. (NOTE: Apache ^2.4 uses Require all granted instead of Order Allow,Deny & Allow from All)
<VirtualHost *:80>
        ServerName sub.yourdomain.com
        ServerAlias sub.yourdomain.com

        DocumentRoot /var/www/html/buysys/web
        <Directory /var/www/html/buysys/web>
                AllowOverride All
                Order Allow,Deny
                Allow from All
        </Directory>
</VirtualHost>
  1. Navigate to /var/www/html/buysys and download/install Composer with the commands on the site.
  2. Using PHPMyAdmin create two databases, one is for Amsys data, the other is for Eve SDE data. Create a user and GRANT full access on both databases.
  3. Create SSO Information
    1. Access Eve Developers and login using SSO.
    2. Click create new application
    3. Provide Name and Description
    4. Select 'Authentication'
    5. Callback URL is 'http://yourdomain.com/sso/callback'
    6. Save
    7. Click on created application and record the Client Id and Secret Key.
  4. Install dependencies by running php composer.phar install, if you a 'Killed' message see Troubleshooting below
    1. Provide configuration details when prompted (These can be edit later via buysys/app/config/parameters.yml)
  5. Fix permissions on the application, from the /var/www/html/buysys directory, run the following (If ACL isn't installed you will need to sudo apt-get install acl, as of Ubuntu 12 ACL is already enabled on the filesystem)
HTTPDUSER=$(ps axo user,comm | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\  -f1)

 sudo setfacl -dR -m u:"$HTTPDUSER":rwX -m u:$(whoami):rwX var
 sudo setfacl -R -m u:"$HTTPDUSER":rwX -m u:$(whoami):rwX var
  1. Navigate to /var/www/html/buysys/app/config and check the values of your Parameters.yml for accuracy
  2. Navigate to /var/www/html/buysys, run php bin/console doctrine:schema:update --force to create database tables
  3. Run php bin/console buysys:settings:populate to create default settings
  4. Run php bin/console buysys:sde:update to download latest SDE from Fuzzworks
  5. Run php bin/console buysys:cache:update to pull all Ore/Minerals/Ice/Gas/PI prices and create the cache
  6. Restart Apache
sudo systemctl restart apache2 
  1. Navigate to the web address (the the virtual host points to) and you should see the login page

After installation, the next step is to create a System Admin User

Clone this wiki locally