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

Revision 44 as of 2022-10-18 18:10:33
  • OpenBSD

OpenBSD

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

  • slackers.jpg

  • http://www.openbsd.org

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

  • wget http://ftp.fr.openbsd.org/pub/OpenBSD/6.0/amd64/install60.iso

  • wget https://cdn.openbsd.org/pub/OpenBSD/6.5/amd64/install65.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
  • /etc/rc.d/httpd start
  • /etc/rc.d/httpd check
  • pkg_info -Q wget
  • pkg_add wget-1.20.2
  • wget http://localhost/

  • mkdir -p /var/www/htdocs/localhost
  • echo -e "<html><body>Hello</body></html>" > /var/www/htdocs/localhost/index.html

  • /etc/rc.d/httpd restart
  • pkg_add fcgi-2.4.0p16
  • pkg_add spawn-fcgi-1.6.3p0
  • https://web.archive.org/web/20160122022029/http://www.fastcgi.com/drupal/node/6?q=node/21

   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 }

cd /var/www/htdocs/localhost cc fcgi.c -o fcgi -lfcgi -I /usr/local/include -L /usr/local/lib

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

pkg_scripts=beat
beat_flags=
  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01