Phpietadmin is an easy to use webinterface to control the iet daemon (http://sourceforge.net/projects/iscsitarget/) written in php and javascript.
The main reason for developing this was, to create a way to configure the daemon while it’s in use. The iet daemon reads the config file only at start/restart. Changes after the daemon was started are only possible via the ietadm command line tool. This tool alters the configuration of the daemon while it’s running. Unfortunatly, the changes are not reflected in the config file itself. Which means, if the daemon gets restart the changes made via ietadm are gone, because the daemons loads only the targets from the config file. Phpietadmin saves all changes in the config file and passes them directly to the daemon via php’s „exec“ function. This prevents any inconsistency between the config file and the daemon live config.
Phpietadmin is tested on 8. But it’s not limited to debian. It should run just fine on any other linux distribution.
https://github.com/MrCrankHank/phpietadmin/wiki/Screens-v05
Take a look at the github releases for detailed information about the features.
- [ ] Parse function could overwrite comments
- [ ] The same object can be added multiple times to a iqn
In version 0.6:
-
LVM
- Lvm snapshots (No merging...)
- Add lvextend, lvremove, lvrename features
-
Frontend
- Disable the auto logout by using a 0 in the config menu
- Put hostname in title
- Bar for PV/VG usage
- Cool sliders (http://www.jqueryrain.com/?ot4e1H_o)
- Better counter (html5 number doesn't look so good... http://www.virtuosoft.eu/code/bootstrap-touchspin/)
- Nested tables for iet volumes and iet sessions (https://github.com/wenzhixin/bootstrap-table-examples/blob/master/options/sub-table.html)
- Override option, if user is already logged in
- Create logging gui
- Improved ajax menu with error handling
- Use custom data attributes to store data in dom
- Configure target: Show if target has open sessions
- Rework the javascript code
- Select all checkbox
- Release "compressed" javascript files
-
Backend
- Create a target model with all functions which are necessary to add/delete/change a target
- Create a lvm model
- Basic error logging
- Login/Logout logging
- Debug logging
- Use namespaces with basic autoloader
- New lsblk parser
- Replace version file with .json
- Use bcrypt for storing passwords
- Prevent comments from being deleted, when editing a config file
- Rewrite file parser for the iet files
- New session implementation
- Delete the "Detach/delete lun" functions
- Prevent iqn and objects from having whitespaces
- Log also successful messages
- User Model: Delete user, develop better way to check if user is in use
- Rework controller/models
- Targets
- Users
- User model
- Config
- Config model
- Dashboard
- Overview
- Stop/Reboot/Logout
- Objects
- LVM
- Services
- Database model
- phpietadmin user
- Database error log
- Support for live resizing of targets (with workaround, since iet doesn't support)
- Create backup before editing a config file
- Create first user via gui
-
Misc
- Create development branch after release of v0.6 (master should be stable)
In version 0.7:
-
LVM
- Volume group menu (select which volume groups phpietadmin should use)
- Optional lv prefix (append LV_ or some other user chosen string)
- Add snapshot merge feature to gui
- Add enable/disable logical volume feature to gui
-
Frontend
- Use jwindow to dynamically display the status of running commands
- Drag & Drop with HTML5
- Menu to import orphaned objects into database
- Display input validation with bootstrap css Validation states (http://formvalidation.io/validators/integer/)
- Bootstrap-table Table Select Checkbox
- Awesome checkboxes (https://github.com/designmodo/Flat-UI)
- Improve configure target settings menu
- Improve nested table row handling
- Add target and lvm name to url
- Overview/Logical volumes VG selector
- Add "Edit file directly" option
- Searchable table for overview menu
-
Backend
- Write process class to execute commands in the background (+ jwindow)
- Create complete documentation on https://readthedocs.org/
- Use unity testing
- Replace all error codes with exceptions
- Support "All" permission in ietd config files
- Write phpietadmin-cli
-
In version 0.8:
- Support for DRBD (show status)
- Support for HA Clusters (Corosync & Pacemaker, only for iet)
-
In version 0.9:
- Support for nfs
- Software raid status
- Support for samba shares
- Show and configure network settings
- Enable/Disable features
- Support for apcupsd
- Manual selection of block devices
- HDD temp
- Pie Chart for volume groups
- Smart data
- Backup config files (http://code.stephenmorley.org/php/diff-implementation/)
- Menu to restore config files
- function naming convention in models (prepend class name to function name)
- Create "consistency", which displays if the daemon config and the config file are identically
- Use composer
- Use json for tables
- Change duplication check (Try to select the specific value from the database)
- Use own exception class for error handling
- Sign archives
- Separate database models
- SSH login via web gui (https://github.com/liftoff/GateOne)
- Add bar to snapshot delete gui
Items are completely random ;-)
If you have any problems, please open an issue!