diff --git a/README.md b/README.md index d2705e1..14e8c1f 100644 --- a/README.md +++ b/README.md @@ -1,61 +1,65 @@ # Backup Commander -Add this line in the sudoers file (use visudo) and it must go AFTER the %sudo line +Backup Commander is a simple web-based backup platform powered by PHP offering: -www-data ALL=(ALL) NOPASSWD: /usr/bin/php /var/www/html/bin/run-bu-by-id.php * +- Easy installation +- Intuitive UI +- Incremental file backup +- Backup scheduling -> [!NOTE] -> A test note +### Installation +-------- +Backup Commander requires a running webserver such as apache using php +1. Grab the latest version from the repository: `git clone http://pearcey.net:8080/johnpearcey/backup-commander` +2. Navigate to the install folder `cd install` +3. Run the install bash script. Note that you must specify the web user which apache is serving as, e.g. www-root or http etc.. + +The install.sh script will automatically pull the latest version so it can be run at any time to update the system. + +The first time install.sh is run, it will require the presence of conf.php. You will need to fill this in with specific information +relative to your setup. An template file is supplied as conf-sample.php. + +The last thing which needs to be done is to edit the sudoers file using visudo. The following line should be added: +> www-data ALL=(ALL) NOPASSWD: /usr/bin/php /var/www/html/bin/run-bu-by-id.php * + +This line shoul be towards the end of the file, e.g. AFTER the %sudo line if you have one. + +>
Test by switching user to www-data: su -s /bin/bash www-data cd /var/www/html php bin/run-bu-by-id.php 19 0 where 19 is the backup id and 0/1 is not-test/test - ++ Comment out /inc/secure.php in post_handler.php if the login is not required - -Highlighted `wxallowed` -html anchor [mount(8)](https://man.openbsd.org/mount.8)) - + ### Project directory structure -```sh - +
backup-commander └─html All web code. You can create a symlink to this directory for your web-server ├─bin Binary scripts runnable via bash. This directory is NOT served ├─css All CSS files ├─img All image files ├─inc All php files. This directory is NOT served - └─js All JS files + ├─data All data files. This directory is NOT served + └─js All JS files └─install Install and update scripts - -``` - -### Updating the App - -To pull down the latest changes from the repo, navigate to you project directory (where the original clone was -performed) and then the install folder. In there, run the bash script install.sh - -Note that you need to specify the user which your web-server is running as. - -This script will pull the latest changes from the repo and perform any additionally required data/file updates - -TODO: - - create an install script: -- currently all manually done - - First version on Las-server - Pre-requesite to push onto pearcey.net - Generate a database schema with default login - add the sudo entry for www-data (or other webserver user) - kick off the schedule runner at the install stage ++### TODO +-------- + +
create the schedule runner in php. simple polling of the DB + update install script to ask questions to fill in details for conf.php + get passwords from BD create a user credential page: new user+password change own password but only if the login is enabled (in post_handler.php) +