Remote Installation
Requirements
You will need:
- Your own forked FOSSBilling repository already cloned on your development workstation.
- A remote hosting service meeting the appropriate system requirements. Installation instructions and options are available here (opens in a new tab).
For the purposes of developer workflow, ignore the sections regarding downloading and uploading FOSSBilling files. This workflow guide replaces that process.
General Workflow
- Modify relevant files via your locally cloned repository.
- Use a File Sync method to sync your modified files into your remote installation.
- Visit your remote installation to test and debug.
- Refer back to Developer Workflow for submitting commits and pull requests.
File Sync Methods
You can use any of these methods to sync files into your remote installation. Use the method that works best for you.
All methods involve copying the src/
folder from your local repository into the public folder for your remote installation, refered to as www
. All examples assume you are working from the project root directory.
Command Line: rsync
Utilize rsync (opens in a new tab) via command line to sync only files that have changed.
rsync -ahP src/ user@domainorip:/path/to/www
Add the -I
flag to force sync all files regardless of changes:
rsync -ahPI src/ user@domainorip:/path/to/www
To skip uploading the src/install
folder, use the --exclude
flag:
rsync -ahPI --exclude 'src/install' src/ user@domainorip:/path/to/www
Use explain shell (opens in a new tab) for an interactive description.
FTP / SFTP GUI
Use a FTP/SFTP client with a GUI such as FileZilla (opens in a new tab).
Once connected, simply drag and drop your updates into your remote www
folder.
Visual Studio Code
Use the inline terminal to run your required sync commands or scripts. This allows you to edit and deploy all from one area.
For a more interactive but still inline solution, consider an extension like SFTP (opens in a new tab) to help automatically sync your code on each change.
Install Folder Handling
Syncing in your local repository into an existing FOSSBilling installation will cause the src/install/
folder to reappear. An error will be thrown in FOSSBilling requesting you to delete the install
folder.
You have a few options to work around this. Pick one of the following:
- Skip uploading the
src/install
folder when you upload your latest files. - Manually delete your remote
www/install
folder each time after uploading. - Set
'debug' => true,
in yourconfig.php
. This will bypass the restriction and allow you to access FOSSBilling without deleting thewww/install
folder. You will still be shown warnings inside the UI to delete the folder, but the UI will be functional.