LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices


Reply
  Search this Thread
Old 05-23-2013, 03:40 AM   #1
displace
Member
 
Registered: Jan 2013
Location: EU
Distribution: Debian
Posts: 268

Rep: Reputation: 25
Linux remote configuration app... for dummies


I'm trying to setup a device that's acting as a LAN audio player running mpd (the mpd is controlled over LAN). It's basically a diy-NAS with speakers attached running headless debian. The device is currently up and running, but it's going to be given away to people who don't have a clue about linux. They'll need to be able to configure certain parameters of the device. So I was wondering... rather than giving these people full shell access, is there an easier way?


Is there an app (a c/c++ daemon or perhaps a python script) for linux which allows remote users to admin the device, and edit certain options? Perhaps a app that listens on a given TCP port? Then I can create my own custom GUI in VB.NET that people are going to use on their Windows PC's to connect to this port and configure the player. The linux app should be able to edit various settings in /etc folder and possibly restart services afterwards. But it should expose only certain configuration options, not all of them. I.e. I'd like to allow users to edit the "workgroup" parameter inside /etc/samba/smb.conf file, but not any of the other options. It should also be possible to configure the WiFi, select a country (for CRDA), etc.

Another idea I had was to run a http server and host a web configuration interface. I have heard of webmin, but it offers way too many options for my setup. Is there a simpler webgui that can be configured to display appropriate options?


Best regards!
 
Old 05-23-2013, 06:14 AM   #2
bmarien
LQ Newbie
 
Registered: Jan 2009
Posts: 11

Rep: Reputation: 0
Well,

This is quite a broad question. Ill answer shortly covering the main issues i suspect you will run in to.


If you will be handing out these devices, i assume they will end up connected to some private(home) network. So you won't be able to connect to it directly(due to nat). You will make it yourself pretty hard if you want to open ports on that remote network for remote administration(plus add stuff like dynamic ip's etc...).

I think the way to go is using al classic client server setup, where your nasbox is the client, and you have some service publicly available.

From an support/maintenance perspective, it will make your life easier if you host some kind of management webgui on your server, and let the clients check in for updates from time to time(cron). This way all configuration for all clients is at your end. (allows for easy debugging etc).

The managment webgui itself doesn't have to be to complicated. A simple php page with a login and the necesary config options....
On the nasbox you can then use curl or wget (you'll need some kind of unique identiefer here (mac address for example) to pull the latest config file and execute it with some custom script on the nasbox.

Depending what kind of volume you're looking at deploying, choosing your tools carefully is essential. A quick and dirty sollution will get back at you sooner rather then later.

Also, end users are very demanding/inpatient, and will get frustrated very quickly if things don't seem to work (and eventually give up). At all times you want to avoid having these users on the phone and having to direct them how to log in via putty en execute some hocus pocus command(i'm speaking out of experiance here).

Personally i would use the configuration management tool 'puppet'. I must warn you that there will quite a learing curve. But it will cover what you need for all the above here. It will rid you of programming all configuration scripts and logic yourself, and let you focus on whats important: remote configuration.


Feel free to ask for any specifics...
 
Old 05-23-2013, 06:46 AM   #3
displace
Member
 
Registered: Jan 2013
Location: EU
Distribution: Debian
Posts: 268

Original Poster
Rep: Reputation: 25
Hey. Thank you for your suggestions.

Yes, these devices will be connected to various home LAN's - they will be installed in users' homes. The end users will access them either via wired ethernet or by wifi. The wifi will have to be configured somehow, perhaps by having the user first connect over ethernet port (automatic DHCP), and access the webgui to select an AP. Another option is to have the device act as an AP itself. Either way they're only meant to be accessed and controlled from a local network. I do not plan to connect to these devices over the internet.

The devices should be configured in a way that requires minimal user interaction. A WiFi setup is something that cannot be done without user interaction, so this is one example why a configuration interface is needed.

A device (NAS box) will be the server - it will have a public samba share where users can upload music to a HDD. Then MPD will be running on the device, and play music by using a locally attached sound card.

Clients are the users' computers or mobile devices. They will be used only to control the MPD on the nasbox, but themselves will not play the music. They can access the music files over the public share and play them locally, but that's not the primary purpose. There are numerous existing MPD client applications out there - I'll use one of them to control the server music player MPD. This is all already sorted out nicely and beautifully. The only thing I'm missing is a configuration interface for settings like wifi, samba, crda (country), etc. I know of no appropriate software package for the job.

I see you mentioned puppet, I'll have a look at it.

Best regards!
 
Old 05-23-2013, 07:03 AM   #4
bmarien
LQ Newbie
 
Registered: Jan 2009
Posts: 11

Rep: Reputation: 0
Ok,

Thanks for clearifying.
The wifi config is indeed an interactive processes. Hooking up the nas to a wired network for this initial step should not be an issue, commercial network devices often require this too. Or you could indeed set up a default AP to allow for easy configuration over wifi (but not sure if you can actualy use your wifi card as AP and client at the same time while you check the entered configuration)

The puppet tool will only make sense if you set this up at your end (but realy have a good look a this, it's a very powerfull tool).
Puppet has a build in message bus (based on Mcollective) which you could use during the initial configuration process or other interactive processes, IF the box is connected to internet.
 
Old 05-24-2013, 05:01 AM   #5
displace
Member
 
Registered: Jan 2013
Location: EU
Distribution: Debian
Posts: 268

Original Poster
Rep: Reputation: 25
Not sure puppet is what I'm looking for. I was hoping for something simpler. I found OpenPanel, which is closer to what I need. Do you know of any other alternatives?
 
Old 05-26-2013, 03:46 AM   #6
bmarien
LQ Newbie
 
Registered: Jan 2009
Posts: 11

Rep: Reputation: 0
I agree puppet is not the easiest of them all.

If your looking for an out of the box web config tool, i'm afraid i won't be able to help you.

But just out of curiosity, how will you update/patch the end user device? Or make sure configuration is consistent over all devices(and here i mean system settings, not end user config). While for ex. openpanel will allow you configure the local machine it wil not replicate this change to all devices.

I guess at the end it boils down to: are you the one who will support the device, and how many devices will you support. If you will be supporting more then say a handful, i would highly recommend that you focus on manageability at your end, and keep the features/configuration at the end user side nice and simple. The openpanel tool for example looks way complex for an end user. (And you probably need a whole stack of dependencies like mysql etc...(which also needs to be managed)).

Not sure if i can help you any further.

Good luck with the device!
 
  


Reply

Tags
configuration, remote


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Is there a remote desktop app for Linux ? sorvad Linux - Software 1 12-18-2012 11:37 AM
best app for remote administration? bezdomny Linux - Software 4 08-10-2008 09:25 PM
Is there a Linux to Linux remote desktop app? properganda Linux - Software 7 01-11-2008 06:29 PM
is there a remote backup script or app like norton ghost for linux? mikfig Linux - Software 2 09-11-2006 08:16 AM
SUSE Linux 9.3 for Dummies (For Dummies S.) samuelmp SUSE / openSUSE 11 08-01-2005 01:42 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software

All times are GMT -5. The time now is 04:29 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration