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)
+