MoinMoin Logo
  • Comments
  • Immutable Page
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
  • Login

Navigation

  • Start
  • Sitemap

Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment

  • OpenBSD

Contents

  1. OpenBSD
    1. VirtualBox installation
    2. httpd service
    3. Custom service

OpenBSD

The OpenBSD project produces a FREE, multi-platform 4.4BSD-based UNIX-like operating system.

  • slackers.jpg

  • http://www.openbsd.org

  • http://www.openbsd.org/tshirts.html

  • https://www.openbsd.org/artwork.html

   1 wget http://ftp.fr.openbsd.org/pub/OpenBSD/6.0/amd64/install60.iso
   2 wget https://cdn.openbsd.org/pub/OpenBSD/6.5/amd64/install65.iso
   3 wget https://cdn.openbsd.org/pub/OpenBSD/7.3/amd64/install73.iso
   4 wget https://cdn.openbsd.org/pub/OpenBSD/7.6/i386/install76.iso
   5 wget https://cdn.openbsd.org/pub/OpenBSD/7.6/amd64/install76.iso

VirtualBox installation

  • new
  • name: OpenBSD6
  • type: bsd
  • version: openbsd 64 bit
  • next
  • 512 MB
  • next
  • create disk
  • create
  • vdi
  • next
  • fixed size
  • next
  • 8GB
  • Create
  • Settings
  • Network card Intel PRO/1000 MT Desktop
  • Start
  • install60.iso
  • Start
  • (I)nstall
  • ? choose keyboard
  • pt
  • System hostname: openbsd
  • card: em0
  • IP v4 address: dhcp
  • IP v6: none
  • done
  • password for root: *******
  • start sshd yes
  • expect X11 yes
  • X11 started by xdm: no
  • setup a user: vitor
  • Password for vitor ********
  • Allow root ssh login no
  • root disk wd0
  • use whole disk
  • Auto layout
  • set location cd0
  • pathname 6.0/amd64
  • all
  • done
  • continue without verification yes
  • done
  • Timezone Portugal # Europe/Lisbon
  • yes
  • reboot
  • Unmount ISO
  • Login as vitor
  • VM settings, network, adapter 1, NAT, port forwarding,
    • add rule, protocol tcp, host port 2222, guest port 22
    • add rule, protocol tcp, host port 8080, guest port 80

   1 df -h 
   2 startx # fvwm window manager 
   3 setxkbmap pt
   4 # default shell ksh 
   5 perl -v # 5.20 
   6 du -hs .
   7 
   8 #edit /root/.profile
   9 PKG_PATH=http://ftp.fr.openbsd.org/pub/OpenBSD/6.0/packages/amd64/
  10 export PKG_PATH
  11 exit
  12 login 
  13 env 
  14 pkg_info python
  15 pkg_add python-2.7.12 # pkg_add python-2.7.16 
  16 pkg_info -Q jdk
  17 pkg_add jdk-1.8.0.72p0v0 # pkg_add jdk-11.0.2.9.3p0v0
  18 # You may wish to add /usr/local/jdk-11/man to /etc/man.conf
  19 cd /usr/local/jdk-1.8.0/bin # cd /usr/local/jdk-11/bin
  20 ./java -version 
  21 python2.7 --version 
  22 pkg_info #list installed packages 
  23 #https://www.openbsd.org/faq/faq15.html#PkgMgmt
  24 
  25 #install ntpd
  26 pkg_add ntp
  27 ntpdate pt.pool.ntp.org #update datetime
  28 

httpd service

In /etc/rc.conf remove the value NO for httpd_flags

httpd_flags=

In /etc/httpd.conf

server "localhost"{
  listen on 0.0.0.0 port 80
  root "/htdocs/localhost"

}
  • In the configuration file root points to /var/www
  • The logs are in /var/ww/logs

   1 /etc/rc.d/httpd start
   2 /etc/rc.d/httpd check
   3 pkg_info -Q wget
   4 pkg_add wget-1.20.2
   5 wget http://localhost/
   6 mkdir -p /var/www/htdocs/localhost
   7 echo -e "<html><body>Hello</body></html>" > /var/www/htdocs/localhost/index.html
   8 /etc/rc.d/httpd restart
   9 pkg_add fcgi-2.4.0p16
  10 pkg_add spawn-fcgi-1.6.3p0
  11 # https://web.archive.org/web/20160122022029/http://www.fastcgi.com/drupal/node/6?q=node/21
  12 

fcgi.c

   1 #include "fcgi_stdio.h"
   2 #include <stdlib.h>
   3 
   4 void main(void)
   5 {
   6     int count = 0;
   7     while(FCGI_Accept() >= 0)
   8         printf("Content-type: text/html\r\n"
   9               "\r\n"
  10               "<title>FastCGI Hello!</title>"
  11               "<h1>FastCGI Hello!</h1>"
  12               "Request number %d running on host <i>%s</i>\n",
  13                 ++count, getenv("SERVER_NAME"));
  14 }

   1 cd /var/www/htdocs/localhost
   2 cc fcgi.c -o fcgi -lfcgi -I /usr/local/include -L /usr/local/lib
   3 mkdir -p /var/www/usr/bin
   4 mkdir -p /var/www/usr/lib
   5 mkdir -p /var/www/usr/libexec
   6 cp /usr/lib/libc.so.95.0 /var/www/usr/lib/libc.so.95.0
   7 cp /usr/libexec/ld.so /var/www/usr/libexec/ld.so
   8 cp ./usr/local/lib/libfcgi.so.0.0 /var/www/usr/lib
   9 
  10 mkdir -p /var/www/htdocs/localhost/usr/bin
  11 mkdir -p /var/www/htdocs/localhost/usr/lib
  12 mkdir -p /var/www/htdocs/localhost/usr/libexec
  13 cp /usr/lib/libc.so.95.0 /var/www/htdocs/localhost/usr/lib/libc.so.95.0
  14 cp /usr/libexec/ld.so /var/www/htdocs/localhost/usr/libexec/ld.so
  15 cp /usr/local/lib/libfcgi.so.0.0 /var/www/htdocs/localhost/usr/lib
  16 
  17 pkg_add apache-httpd-2.4.39p1
  18 /etc/rc.d/apache2 start
  19 # http://localhost:8080/
  20 
  21 pkg_add gtar-1.32
  22 wget http://mirrors.up.pt/pub/apache//httpd/mod_fcgid/mod_fcgid-2.3.9.tar.bz2
  23 bunzip2 mod_fcgid-2.3.9.tar.bz2| tar xvf -
  24 tar xvf mod_fcgid-2.3.9.tar
  25 cd mod_fcgid-2.3.9
  26 ./configure.apxs
  27 make
  28 make install
  29 # /usr/local/lib/apache2/mod_fcgid.so
  30 vi /etc/apache2/httpd2.conf
  31 # LoadModule /usr/local/lib/apache2/mod_fcgid.so
  32 # Virtual hosts
  33 Include /etc/apache2/extra/httpd-vhosts.conf
  34 
  35 /var/www/htdocs/localhost/cgi-bin
  36 fcgi.c    fcgi.fcgi
  37 
  38 /etc/apache2/extra/httpd-vhosts.conf
  39 
  40 <VirtualHost *:80>
  41     ServerName localhost
  42     FcgidInitialEnv name value
  43     DocumentRoot "/var/www/htdocs/localhost"
  44     ScriptAlias / /var/www/htdocs/localhost/
  45     <Directory "/var/www/htdocs/localhost">
  46        SetHandler fcgid-script
  47        Options +ExecCGI
  48         Allow from all
  49     </Directory>
  50 </VirtualHost>
  51 
  52 # install pip
  53 pkg_add py-pip-9.0.3
  54 ln -sf /usr/local/bin/pip2.7 /usr/local/bin/pip
  55 pip install flup
  56 pkg_add py3-pip-9.0.3
  57 pip3.6 install flup

Custom service

/usr/local/sbin/beat.py

   1 #!/usr/bin/python
   2 import threading
   3 import time
   4 import os
   5 import syslog
   6 import datetime
   7 import sys 
   8 import signal
   9 
  10 def termHandler(signal,frame):
  11     print('Signal term caught')
  12     sys.exit(0)
  13     
  14 if __name__=="__main__":
  15     f=open('/var/run/beat.pid','wa')
  16     f.write('%d'%(os.getpid()))
  17     f.close()
  18     signal.signal(signal.SIGTERM,termHandler)    
  19     
  20     while True:
  21         syslog.syslog(syslog.LOG_INFO, "Beat %s"%(datetime.datetime.now()) )
  22         time.sleep(5)

/etc/rc.d/beat

daemon="/usr/local/bin/python2.7 /usr/local/sbin/beat.py"
rc_bg=YES

. /etc/rc.d/rc.subr

rc_cmd $1

   1 /etc/rc.d/beat start
   2 /etc/rc.d/beat check
   3 tail -f /var/log/messages
   4 /etc/rc.d/beat stop
   5 
   6 # add in /etc/rc.conf to start service after boot
   7 pkg_scripts=beat
   8 beat_flags=
  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01