nlvmi/README.md

45 lines
1.8 KiB
Markdown

# nlvmi
Native Lightweight Vm Management Interface
Nlvmi is a management interface for qemu/kvm hosts written in php (with bootstrap) and bash.<br/>
Nlvmi should be able to run on any common Linux distro without much hassle or obscure dependencies. <br/>
Nlvmi is written to be lightweight, functional and easy to understand and modify, while still looking at least acceptable on any device.<br/>
Nlvmi supports multiple users (admins and restricted) on the frontend and also uses these users to run the VMs. No PAM, just su.<br/>
Unix users have /bin/false as shell and the password is stored within the nlvmi database.<br/>
**Deps:** <br/>
bash <br/>
bridge-utils <br/>
nginx / apache / lighttpd <br/>
openssh <br/>
php <br/>
socat <br/>
sqlite3 / mariadb (only sqlite3 for now) <br/>
usermode-utilities <br/>
openssl (for managing remote servers) <br/>
**Manual install:** <br/>
become root <br/>
cd /usr/local <br/>
git clone https://git.nativenet.ch/nativenet.ch/nlvmi.git <br/>
useradd nlvmi <br/>
ln -sf ${PWD}/nlvmi/nlvmi /usr/bin/ <br/>
ln -sf ${PWD}/nlvmi/wrap-nlvmi /usr/bin/ <br/>
ln -sf ${PWD}/nlvmi/web /var/www/localhost/htdocs/nlvmi --or wherever your webroot is<br/>
chown root:nlvmi nlvmi/*nlvmi <br/>
chmod +s nlvmi/wrap-nlvmi <br/>
mkdir /etc/nlvmi <br/>
cp nlvmi/vlvmi.conf /etc/nlvmi/ <br/>
-- if it is the masterserver, create the db - nlvmi createdb <br/>
chown nobody:root /etc/nlvmi <br/>
After that, you should be able to access /nlvmi with a webbrowser.
Create a new user (user will be admin) and add a server. For localhost, the connectstring should stay empty.
Do not forget to load the tun and tap kernel modules.
#not yet implemented... <br/>
mkdir /etc/nginx/nlvmi <br/>
add an "include nlvmi/*.conf" statement within nginx.conf's server declaration. <br/>