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 48 as of 2023-06-01 13:20:02
  • 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

   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

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

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