Apache module_webdav 0600 file mask problem (Ubuntu Lucid)

I’m using WebDAV as our central access point for the users web homes. The running apache is an MPM-ITK. This Version of the apche server uses a special Multi-Processing Module which allows to run each vhost under a separate uid and gid…, cool :-). So you can have quotas and all the other user related stuff in your vhosts.

I forgot the OS is a Ubuntu Lucid LTS, just for info.

A few days ago colleagues told me that the have problems to read/execute files via normal HTTP access which they have uploaded before. A quick look via SSH turned out that the newly created files had all 0600 rights. Because of that the access user/group schema is XYuser/www-data the web server couldn’t access the files anymore.

Hmm, shit, this shouldn’t happen here. So as a brave Linux user, i added umask 022 to the apache environment variable. But,.. what the hell, the files are always created with 0600. ….Oook this will not be a 5min job.

After an hour digging around with google it turns out that this is bug (link) in the recent WebSVN module used by the Lucid distro.

To fix this i downloaded from Debian testing the apache2.2-bin deflated it and copied the corresponding DAV modules to my server. … FIXED 🙂

Remember that taking packages from Debian or another Ubuntu distro is only a temporary solution! 🙂

Have fun

IPhone programming part I

Yes it happened, I have started to program the iStuff!

The initial burn came from one of my fellow workers who wants to have a mobile application based information system for our campus.

As of now iPhone/iPad programming will also become one of our course topics @Medical Information Technology 🙂

First Step, get the tools.

What do you need for developing:

First of all you need a  Mac OSX . (Snow Leopard preferably). The rumor says there is a chance to get it run under VMware, well, see for your self and read the apple OS license stuff 🙂

The next step is to get an IDE to program your applications. The IDE for programming iStuff is named XCode. XCode offers you all the needed tools to configure, manage, code, compile, debug, simulate and upload your applications to a device.

OK, but where do you get the goodies? Although XCode is free of charge you can not download it on the fly. Yes, you work with apple stuff and apple thinks different. Before you can download your development utils you have to register a developer account at apple. Go ahead -> iPhone Deveoper Center.

You can choose between 5 developer programs -> developer programs comparison link.

As you can see from the comparison chart you have to pay if you want to deploy your application to a physical device.

But we are lucky, for our first steps on iPhone developing we do not really need a hardware. XCode comes with an iPhone simulator. To write and run apps on the simulator you only have to be registered as developer! A registered developer can download the IDE but he cannot create certificates nor provisioning profiles. – But who wants that, … yet 🙂

OK, now we are a registered iPhone Dev., have installed our Xcode IDE + SDK, what next?… Next we have to learn Objective-C (ObjC). what…… C … no problem.

How to write your first application with ObjC and what are the essential parts in the iPhone SDK will be discussed in Part II. stay tuned,…

Have fun!

AVR Linux Toolchain gcc 4.4.4

Over the weekend I had time to build a new AVR toolchain with the latest 4.4.x gcc.

Linux AVR Toolchain:

  • C,C++ support added (22.08.2010)
  • gcc 4.4.4 (xmega support)
    • gmp 5.0.1
    • mpfr 3.0.0
      • latest cumulative patchset see
  • binutils 2.20.1
    • avr patchset: size, new devices, xmega and new sections
  • AVR Libc 1.7.0
  • gdb 7.1

Toolchain download size 93M.

Have fun!

Please give me some feedback if you use this chain. 🙂

umulative

Little Linux server tuning, blacklist not needed modules

For my VM Linux Severs I’m using following kernel module blacklist:

 blacklist mii
 blacklist serio_raw
 blacklist pcspkr
 blacklist psmouse
 blacklist lp
 blacklist parport
 blacklist snd
 blacklist soundcore
 blacklist snd_via82xx
 blacklist gameport
 blacklist snd_ac97_codec
 blacklist parport_pc

Don’t forget to call update-initramfs -u after altering the blacklist.conf !

Do only blacklist the mii module if you have the vmxnet module up and running !!

have fun 🙂

VMware – force the load of the vmxnet module

I noticed that on our virtual environments (VMware ESX) based on  GNU/Linux (mostly Debian or Ubuntu distros ) the vmxnet modul is not used or not correctly loaded. Because of  lsmod shows also a loaded pcnet32 module which uses mii.

I added follwing script snippet to the /etc/init.d/open-vm-tools

 log_progress_msg "vmhgfs"; modprobe vmhgfs
 log_progress_msg "vmsync"; modprobe vmsync
 log_progress_msg "vmxnet - stoping network"; /etc/init.d/networking stop
 log_end_msg 0
 log_progress_msg "vmxnet - removing pcnet32"; rmmod pcnet32
 log_end_msg 0
 log_progress_msg "vmxnet - removing vmxnet"; rmmod vmxnet
 log_end_msg 0
 log_progress_msg "vmxnet - loading vmxnet "; modprobe vmxnet
 log_end_msg 0
 log_progress_msg "vmxnet - starting network";/etc/init.d/networking start
 log_end_msg 0

Check the dmesg out for:

[ 42.273810] vmxnet 0000:00:11.0: PCI INT A disabled
[ 51.808321] VMware vmxnet virtual NIC driver
[ 51.808422] vmxnet 0000:00:11.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
[ 51.815601] Found vmxnet/PCI at 0x1424, irq 18.
[ 51.816793] features: ipCsum zeroCopy partialHeaderCopy
[ 51.820787] numRxBuffers = 100, numRxBuffers2 = 1
[ 62.762575] eth0: no IPv6 routers present

This addon to the startup script removes the pcnet32 and vmxnet32 modules and loads explicit vmxnet. 🙂
Take care if you get an symbol not found error while loading the vmghfs module. If so you have to uncomment the loading of this module.

Have fun.