OpenVPN 2

General Information

This guide will help you set up OpenVPN to allow remote users to securely connect to the internal LAN or use the VPN tunnel as an endpoint when on insecure wireless access points, allowing safe transmission of data without worries of being sniffed or intercepted.

[Read more...]

Daemontools

General Information

This guide will help you set up Dan Bernstein’s daemontools, which is a program that supervises another daemon so that when it does fail, it will automatically be restarted.

[Read more...]

Folding@Home using daemontools

General Information

This guide will help you set up Folding@Home using Dan Bernstein’s daemontools, for easy maintenance and also so that on a server reboot folding@home automatically comes back up.

Requirements

You will need the following items to be able to complete this guide:

  1. Root access to a FreeBSD machine
  2. Daemontools running
  3. Linux compatibility installed

Installing Linux Compat

Folding@home only makes Linux binaries. If you do not have the Linux emulation mode enabled, then run the following command:

# pkg_add -r linux_base-8
# echo 'linux_enable="YES"' >> /etc/rc.conf

If you wish, you can compile from source, using the /usr/ports/emulators/linux_base-8/

At this point you need to restart, for the new linux emulation mode to become enabled.

# shutdown -r now

Setting up Folding@home

Here one creates the service directory and also a directory where the Folding@home client is run.

# mkdir /usr/local/folding@home/
# mkdir /usr/local/folding@home/root

Next we need to get the binary. Yes this is the Linux binary eventhough it contains an .exe extension.

# cd /usr/local/folding@home/root/
# fetch http://www.stanford.edu/group/pandegroup/release/FAH502-Linux.exe
# chmod +x FAH502-Linux.exe
# brandelf -t Linux FAH502-Linux.exe

You can always get the latest version of the client at http://folding.stanford.edu/download.html.

# mkdir /usr/local/folding@home/log
# mkdir /usr/local/folding@home/env
# mkdir /usr/local/folding@home/log/main

We create the directory structure needed for folding@home to be run under Dan Bernstein’s daemontools. We also need to chown/chmod them to the right permissions:

# cd /usr/local/folding@home
# chown -R nobody:nobody root env log/main
# chmod 2755 root log log/main

Now before doing anything else, we need to get the client set up. You need to give it a username to be able to say that you contributed, or you can stay anonymous.

# cd root
# setuidgid nobody ./FAH502-Linux.exe -configonly
# cd ..

Next set up the run file, this is the most important file, as it runs your Folding@home client using daemontools’ supervise, which will make sure it is always up.

# cat << EOF > run
# #!/bin/sh
# exec 2>&1
# exec envdir ./env sh -c '
#  cd /usr/local/folding@home/root/
#  exec setuidgid nobody /usr/bin/nice -n 20 /usr/local/folding@home/root/FAH502-Linux.exe -freeBSD
# '
# EOF
# chmod 700 run

Logging is important. Of course, we want to know how far along we are.

# cat << EOF > log/run
# #!/bin/sh
# exec setuidgid nobody multilog t ./main
# EOF
# chmod 700 log/run

Starting Folding@home

Now, to get Folding@Home started using svscan and have it running under supervise, we have to let svscan know about our service.

# cd /var/service
# ln -s /usr/local/folding@home

It should now be running, to see if it really is running, check with ps.

# ps auxwwww | grep -i fah

You should see several different processes named FAH*-Core.exe, this means you are good to go. To check how long it has been running, use svstat like follows:

# svstat /var/service/folding@home/

Secure Installation of Postgresql

General Information

This guide will help you set up, and start running PostgreSQL using the ports tree. For information of how to use PostgreSQL, try google. This guide will not help you with PostgreSQL past installing it.

[Read more...]

djbdns dnscache

General Information

This guide will walk you through setting up a DJB dnscache resolver.

[Read more...]

Qmail with smtp-auth, vpopmail, binc-imap and qmailAdmin

General Information

Hosting your own e-mail is a handy thing. This guide will show you how to set up a secure mail server using qmail, vpopmail, qmailAdmin for user management, and smtp-auth so only valid users can send mail.

[Read more...]

Managing Users/Groups With pw

General Information

This guide will let you know how to manage FreeBSD accounts using pw, a critical application which can manipulate a lot of things that have to do with the /etc/passwd file and /etc/groups file. It can also set certain things like how long the account can be active, until what date it is active and other cool things. The easiest way to learn how to use pw is to play with it on a test install.

[Read more...]