By Jem Matzan
January 2007
Pages: 59
Series: Short Cut
Format: PDF
ISBN 10: 0-596-51015-2 |
ISBN 13: 9780596510152
![]()
![]()
![]()
![]()
(Average of 4 Customer Reviews)
OpenBSD is a Unix-like computer operating system that is widely regarded for its excellent documentation and its fanatical focus on security. "The OpenBSD Crash Course" Short Cut will help you get an x86 or AMD64/EM64T server, desktop, or network appliance up and running quickly with OpenBSD. You'll learn how to install or upgrade OpenBSD on x86 and AMD64 machines, how to configure it for server or workstation use, and how to properly maintain it until the next release.
I have not read the entire 59-page book, only the sample on the author's website (http://www.thejemreport.com/mambo/content/view/295) . Unfortunately, there are some errors in the sample that would seriously compromise the author's stated intent of providing copy-and-paste examples for configuring an OpenBSD server.
(1) The OpenBSD-modified Apache 1.3 comes with the following modules installed and enabled by default:
The modules are installed by default and disabled. They need to be enabled in /var/www/conf/httpd.conf before they can be used.
(2) By default Apache runs in a chrooted environment -- in other words, Apache operates as though nothing exists outside of the document root, which is by default /var/www/htdocs. So if you have extra Apache modules installed that need to use programs or configuration files in any directory outside of /var/www/htdocs and its subdirectories, then they will not be able to function properly.
httpd chroots to the ServerRoot (/var/www), not the DocumentRoot (/var/www/htdocs). Any programs, libraries, files, or directories that need to be available to the web server can be created in (or copied to) the ServerRoot. For example, copying the appropriate timezone file to /var/www/etc/localtime will allow cgi programs to report the correct localtime, and some php programs may require access to /var/www/tmp to function.
(3)To make mysqld start automatically at boot time, add these lines (or something similar that fits your needs) to /etc/rc.conf.local:
if [ -x /usr/local/bin/mysqld_safe ]; then
echo -n ' mysql'; /usr/local/bin/mysqld_safe &
fi
If /etc/rc.conf.local does not yet exist, go ahead and create it, adding this one line.
This is wrong. /etc/rc.conf.local is an extension of /etc/rc.conf, which is used to set variables for /etc/rc, which is run by init. Custom startup scripts belong in /etc/rc.local, which is part of the default install.
/etc/rc.conf and /etc/rc.conf.local are sourced early in /etc/rc, while /etc/rc.local is sourced late -- after the network is brought up, the firewall turned on, system daemons are running... including my favorite, syslogd. As a result, scripts that are run in /etc/rc.conf[.local] will be started before the system is fully initialized -- which may not have the desired effect, if the daemon loads at all. Perhaps this is the "Crash" referred to in the title? /etc/rc.conf[.local] is for configuration variables only.
And it's three lines, not one.
O'Reilly is generally regarded as a source of high-quality reference material, but while I applaud the effort of putting together a guide for OpenBSD, the bit that I read does not give me confidence that this book would be worth the $9.99 download without serious editing.