Manage server restarts by (administrator) user through web interface

The (privileged/administrator) user without particular system administration knowledge and specific direct access rights to the server should be able to manage server restarts through web interface. The operating system of the server is Debian, the HTTP web server is Apache Tomcat, and the user access Java application. It should be possible that the respective user knows the next scheduled restart time, postpones or re-schedules the restart times. On the one side, it is required to allow fine-grained configuration of the exact restart times: on which dates of the month, on which days of the week, at which hour/minute, etc. On the other side, the feature should be as simple as possible: to be able to learn and to understand it within at most of ca. half an hour.

Incremental backups with duplicity under Debian Linux

Duplicity is a command-line utility that creates incremental backups from linux file systems.

Duplicity uses standard GNU-tar archives. The data inside is encrypted and signed using GnuPG. This guarantees, that no information can be read at the backup site, as well as every modification of the data at the remote site will be detected when restoring.

Duplicity can store the backup files local or remote and supports multiple protocols to transfer the data (scp, ssh, ftp, rsync, Amazon S3, ...)

The same thing - backing up and restoring - can be accomplished by using separate standard tools (rdiff, tar, gnupg, sftp), but duplicity is much easier to use and has an easy to remember syntax.


Use usb-switch and network-manager

  1. Download and install the usb-modeswitch from (with 'sudo make install') respectively (just install .deb package by double clicking)
  2. Edit the file usb_modeswitch.conf. To do that open /etc/usb_modeswitch.conf with admin rights in your favorite editor.
  3. Find the modem "ZTE MF626" in the file and uncomment the lines (by deleting the # and ; ) It should look like this afterwards: ZTE MF628+ (tested version from Telia / Sweden)ZTE MF626Contributor: Joakim WennergrenDefaultVendor= 0x19d2DefaultProduct= 0x2000TargetVendor= 0x19d2TargetProduct= 0x0031MessageEndpoint=0x01MessageContent="55534243123456782000000080000c8501 0101180101010101000000000000"</code>
  4. Save the file and close the editor.
  5. Plug the modem, wait a few moments, then run lsusb in a console. One device must have the ID "19d2:2000".
  6. Run sudo /usr/sbin/usb_modeswitch -W -c /etc/usb_modeswitch.conf in the terminal. By running lsusb again, the ID should have changed to "19d2:0031" or something similar.
  7. If the modem is not already recognized by the network manager applet, open /usr/share/hal/fdi/information/20thirdparty/20-zte-mf626.fdi with admin rights in your favorite editor. Fill the file with<code><!-- -*- SGML -*- --><deviceinfo version="0.2"><device><!-- ZTE MF626 HSDPA USB Modem --><match key="@info.parent:usb.vendor_id" int="0x19d2"><match key="@info.parent:usb.product_id" int="0x0031"><match key="@info.parent:usb.interface.number" int="3"><append key="modem.command_sets" type="strlist">GSM-07.07</append><append key="modem.command_sets" type="strlist">GSM-07.05</append><append key="info.capabilities" type="strlist">modem</append></match></match></match></device></deviceinfo></code>save it and quit.
  8. Create the mobile broadband configurations with network manager according to your provider's instructions. If something does not work yet, restart and try again.


Setting up a Subversion repository and corresponding Trac app on a (Debian/Apache) server

So the basic problem here is how to best work together productively in a programming/development project and the question which are good tools providing capabilities to potentially support and improve this. One such tool is a version control systems (VCS) which basically helps to keep the code and especially its progress under (version) control in a code repository (transparently). A specific such VCS is Subversion (a.k.a. SVN). This is at the time one of the most popular and up-to-date systems of its kind (i.e., centralized VCS). Its basic slogan is "CVS done right" (which consequently can be seen as Subversion's indirect predecessor system). There are many tools available to work with Subversion from a client/user perspective like stand-alone client apps, integration in editors, e.g., via special plugins or also complete integration in a full-blown IDE (integrated development environment). Now, what's up to do is to actually setup a Subversion system on a server and to create a code repository for a programming/development project. In this case a Debian-based OS with an Apache Web server is chosen as infrastructure. Additionally a Trac app should be installed which among other things offers nice and convenient Web visualization of the code repository (and its progress) to users. When all this is in place users can take the benefits of using Subversion for version control of the code of the project.
Subscribe to debian