Setup httpd in OpenBSD

Modified on: Tue, Nov 1, 2016 at 11:55 am EST

Introduction

OpenBSD 5.6 introduced a new daemon called httpd, which supports CGI (via FastCGI) and TLS. No additional work is needed to install the new httpd daemon because it is included in the base system. This article explains how to setup a basic web server using it.

Configuration

We will be editing the following files.

  • /etc/rc.conf.local
  • /etc/httpd.conf

Simply add httpd_flags="" into /etc/rc.conf.local.

Open /etc/rc.conf.local in your favorite text editor and add:

pkg_scripts="httpd"

Update /etc/httpd.conf. Use the example below as a template, and make changes as noted below in the comments. Replace "example" accordingly.

ext_ip="10.0.0.1" # Change this value to your vultr IP

server "default" {
        listen on $ext_ip port 80 
} 
types { 
        text/css css ; 
        text/html htm html ; 
        text/txt txt ; 
        image/gif gif ; 
        image/jpeg jpg jpeg ; 
        image/png png ; 
        application/javascript js ; 
        application/xml xml ; 
} 
server "www.example.net" { 
        listen on $ext_ip port 80 
        root "/htdocs/example.net" 
} 
server "www.example.com" { 
        listen on $ext_ip port 80 
        root "/htdocs/example.com" 
}

Next, upload your web content and put it into /var/www/htdocs/example.com.

Start the server

Your new httpd daemon is configured for use. Now, you just need to start the server:

$ doas /etc/rc.d/httpd start

Get started in the SSD Cloud!