User Tools

Site Tools


computing:freebsd

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
computing:freebsd [2016/04/24 04:34] oemb1905computing:freebsd [2019/01/14 02:18] (current) oemb1905
Line 1: Line 1:
-#freeBSD Basics 
-#Jonathan Haack 
-#Haack's Networking 
-#netcmnd@jonathanhaack.com 
- 
 ------------------------------------------- -------------------------------------------
- +  * **freeBSD**  
-#When installing, make sure to include "documentation" on text install screen. +  * **Jonathan Haack** 
-#After succesful install, run these commands first to get the ports installed +  * **Haack's Networking** 
- +  * **netcmnd@jonathanhaack.com** 
-#If you did not do this, then for 10.X > freeBSD, bootstrap the entire system: +
- +
-/usr/sbin/pkg +
- +
-#With no internet, obtain the ports and migrate by disc to host, then: +
- +
-cd /usr/ports/ports-mgmt/pkg +
-make +
-make install  +
-make clean +
- +
- +
- +
-#If you have internet, but are running beneath 10.X and cannot bootstrap (above), then: +
- +
-portsnap fetch +
- +
-#Extract them into /usr/ports/ with the following +
- +
-portsnap extract +
- +
-#As of 10.X > freeBSD will automatically allow the native pkg manager to install ports: +
-#This allows the user to avoid compiling from source and navigating to directories, e.g.: +
- +
-pkg install <pkgname> +
- +
-#You may still, however, compile the package from source +
-#Just like the non-internet step installation of pkg requires above: +
- +
-cd /usr/ports/<pkgname> +
-make install  +
-make clean +
- +
-#freeBSD has port managers, mostly that predate 10.X > freeBSD, but still help, such as: +
- +
-pkg install portmaster +
- +
-#And, notably, portupgrade listed below relies on Ruby, similar to Homebrew: +
- +
-pkg install portupgrade+
  
 ------------------------------------------- -------------------------------------------
  
-#Okthis is a good time to:+After installationrun:
  
-reboot+  /usr/sbin/pkg
  
-#Thenprobably get all your common packages:+With no internetyou must build from source (if you even still want it):
  
-pkg install cmus +  cd /usr/ports/ports-mgmt/pkg 
-pkg install irssi +  make 
-pkg install lynx +  make install  
-pkg install nano +  make clean
-pkg install libreoffice +
-pkg install gimp +
-pkg install firefox +
-pkg install chromium +
-pkg install alpine +
-pkg install mutt +
-pkg install <lotsmore>+
  
-#Once nano, xorg, & mate-desktop are installed, set-up a "desktop" (GUI) such as: +Update ports after you have internet:
-#KDE, Gnome, MATE, etc.  Tap F1 at the log-in screen to toggle between+
  
-pkg install mate mate-desktop+  portsnap fetch 
 +  portsnap extract
  
-#Desktops require "Window Managers" in order to function, such as: +As of 10.X > freeBSD will automatically allow the native pkg manager to install ports This allows the user to avoid compiling from source and navigating to directories.  Therefore, there is now a reason to build pkg from source it will do this work for you more effectively.  (So what?  You can now search ports and geek outand then use those names with pkg and sit back while it does the work!)
-#Fluxbox, WindowMaker, X11, xwm, etc. - for ease, use xorg:+
  
-pkg install xorg+  pkg install <pkgname>
  
-#You will need way to switch between desktops, and one convenient package is:+And of course installing pkg from source is but one example of the whole ports system, which is set of binaries ready to compile.  They are sorted by intuitive names in the directory below, and it is wise to look around and then switch back to pkg, or if you know what you are doing, build from source as follows:
  
-pkg install slim+  cd /usr/ports/<pkgname> 
 +  make install  
 +  make clean
  
--------------------------------------------+freeBSD has other port managers besides portsnap
  
-#Technically, that is all you need file-wise, but the /etc/ directory needs adjusting:+  pkg install portmaster 
 +  pkg install portupgrade
  
-#Consider adjusting build release date for pkg+You can set up a DE by installing nano, xorg, & mate-desktop, xfce, gnome3, kde, etc., and an appropriate window manager and window server.  I choose gnome3 on bigger machines and xfce on smaller, but everyone has their preference.  For servers, I leave it off.  I always use xorg and slim for xfce, and gnome has its own when using that.  Anyway, here goes:
  
-nano /etc/pkg/FreeBSD.conf +  pkg install mate mate-desktop [or] 
-%Replace /latest with /release/0/ or whatever+  pkg install gnome3 [or
 +  pkg install xfce [or] 
 +  pkg install xorg 
 +  pkg install slim
  
-#If you do that, then run these to update the package manager to that version: +Add the following like below the last device (/dev):
-pkg upgrade +
-pkg update+
  
-#nano /etc/fstab +  nano /etc/fstab 
-#Add the following like below the last device (/dev):+  proc /proc procfs rw 0 0
  
-proc /proc procfs rw 0 0+Then, edit your rc.conf file:
  
-#Then, edit your rc.conf file:+  dbus_enable="YES" 
 +  hald_enable="YES" 
 +  mate_enable="YES" [or] 
 +  xfce_enable="YES" [or] 
 +  gnome3_enable="YES" [or] 
 +  slim_enable="YES"
  
-dbus_enable="YES" +Add .xinitrc to ~ and /root, enter the syntax listed below the nano commands.
-hald_enable="YES" +
-mate_enable="YES" +
-slim_enable="YES"+
  
-#Or, add other desktops, ifconfigs, etc., such as:+  nano /root/.xinitrc 
 +  exec start gnome3 
 +  nano /home/username/.xinitrc 
 +  exec start gnome3
  
-kdm4_enable="YES"+Now, fine tune your user settings for your regular user.  Edit /etc/group 
  
--------------------------------------------+  su root 
 +  cd /etc 
 +  nano group
  
-#Next upchanging wireless settings, adding keys, etc., etc.+Once inside the editor nanoplease edit the operator and wheel lines as follows:
  
--------------------------------------------+  operator:*:5:root,<add-username> 
 +  wheel:*:0:root,<add-username>
  
-#Add to wheel and operator groups+Or, edit the group file directly from the command line:
  
-#edit /etc/group +  pw group mod <username> -m <username> 
 +   
 +Or, alternately, you can install sudo (recommended):
  
-login root +  pkg install sudo 
-cd /etc +  nano /usr/local/etc/sudoers
-nano group+
  
-#Once inside the editor nanoplease edit the operator and wheel lines as follows:+In that file that you just opened called sudoersthere is a line that reads "root ALL=(ALL) ALL."  You want to create a line directly underneath that similar to this:
  
-operator:*:5:root,<username> +  username ALL=(ALL) ALL 
-wheel:*:0:root,<username>+   
 +Close and save the file and reboot:
  
-#Or, edit the group file directly from the command line:+  reboot
  
-pw group mod <username> -m <username>+Basic updating:
  
--------------------------------------------+  freebsd-update fetch 
 +  freebsd-update install
  
-#To update freeBSD from the command line:+To upgrade to a new major release:
  
-freebsd-update fetch +  freebsd-update -r 9.1-RELEASE upgrade 
-freebsd-update install+  freebsd-update install
  
-#To upgrade to specific distribution, for example, to 9.1 from 9.0:+After either updating or installing new release:
  
-freebsd-update -r 9.1-RELEASE upgrade +  shutdown -r now
-freebsd-update install+
  
-#After either updating or installing a new release:+After restarting, run the update again to remove old shared libraries and objects
  
-shutdown -r now+  freebsd-update install 
 +   
 +-- FEMP Stack on BSD --
  
-#After restarting, run the update again to remove old shared libraries and objects 
  
-freebsd-update install+   
 +-- Dokuwiki on BSD-- 
 +   
 +Setting up dokuwiki on freeBSD and securing data directory (required on BSD).  (Only making BSD specific permission changes at present.)
  
--------------------------------------------+  su root 
 +  cd /usr/ports/www/dokuwiki 
 +  make install clean 
 +  mv /usr/local/www/dokuwiki /usr/local/www/nginx/dokuwiki 
 +  sudo chmod -R 755 /usr/local/www/nginx/dokuwiki/conf 
 +  sudo chown -R www /usr/local/www/nginx/dokuwiki/conf 
 +  sudo chown www /usr/local/www/nginx/dokuwiki/data 
 +  sudo chmod -R 775 /usr/local/www/nginx/dokuwiki/data 
 +  sudo chmod -R 755 /usr/local/www/nginx/dokuwiki/lib 
 +  sudo chown -R www /usr/local/www/nginx/dokuwiki/lib 
 +  
 +Now, go to https://domain.com/dokuwiki/install.php and run the installer. Now, it is time to move the data directory and to configure dokuwiki's main .php configuration file to "see" that move.  
  
 +  mv /usr/local/www/nginx/dokuwiki/data /usr/local/www/data
 +  cd /usr/local/www/nginx/dokuwiki/conf/
 +  nano local.php
  
 +Ok, inside the .php main configuration file for dokuwiki that you just opened, add the following line below that others that specify other global parameters.
  
 +  $conf['savedir'] = '/usr/local/www/data/';
 +  
 +When you moved the data directory it likely lost its permissions from the above changes.  If not, or if you are unsure, execute:
  
 +  sudo chmod -R 775 /usr/local/www/data
 +  sudo chown www -R /usr/local/www/data
 +  
 +Remove the original data directory and restore root as owner of the main configuration directory.
  
 +  sudo rm -r /usr/local/www/nginx/dokuwiki/data
 +  sudo chown -R root /usr/local/www/nginx/dokuwiki/conf
  
 +Reload the primary page, make a test submission.  Also, log in and select Admin and you should see the security warning removed now.  At this point, follow these standard permission recommendations from dokuwiki.  (The user is www for nginx, not www-data, and the group is wheel, but do not specify the group.):
  
 +  chmod g+rwx /usr/local/www/nginx/dokuwiki
 +  chmod -R 775 /usr/local/www/data
 +  chown -R www /usr/local/www/data
 +  chmod -R 2775 /usr/local/www/data/attic /usr/local/www/data/cache /usr/local/www/data/index /usr/local/www/data/locks /usr/local/www/data/media /usr/local/www/data/meta /usr/local/www/data/pages /usr/local/www/data/tmp
 +  chown -R www /usr/local/www/data/attic /usr/local/www/data/cache /usr/local/www/data/index /usr/local/www/data/locks /usr/local/www/data/media /usr/local/www/data/meta /usr/local/www/data/pages /usr/local/www/data/tmp
 +  
 +Probably a good idea to restart php, nginx.
  
 +  service nginx restart
 +  service php-fpm restart
  
 +Dokuwiki details their permission recommendations here:  [[https://www.dokuwiki.org/install:permissions|Install Permissions]].  The page is a bit complicated so the above is a simpler (but longer in syntax) version of the whole page, including the partial synopsis they put at the end, which I reprint below.
  
 +  yourwiki> chmod -R 775 data/
 +  yourwiki> chown -R www-data:foo data/
 +  everything below the data directory:
 +  yourwiki/data> chmod 2775 {attic,cache,index,locks,media,meta,pages,tmp}
 +  yourwiki/data> chown www-data:foo {attic,cache,index,locks,media,meta,pages,tmp}
  
 +This tutorial is a designated "Invariant Section" of the "Technotronic" section of Haack's Wiki as described on the [[https://jonathanhaack.com/dokuwiki/doku.php?id=start|Start Page]].
  
 + --- //[[netcmnd@jonathanhaack.com|oemb1905]] 2019/01/06 20:00//
computing/freebsd.1461472462.txt.gz · Last modified: 2018/11/25 01:33 (external edit)