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/11/05 06:46] oemb1905computing:freebsd [2019/01/14 02:18] (current) oemb1905
Line 1: Line 1:
-#freeBSD Basics +------------------------------------------- 
-#Jonathan Haack +  * **freeBSD**  
-#Haack's Networking +  * **Jonathan Haack** 
-#netcmnd@jonathanhaack.com+  * **Haack's Networking** 
 +  * **netcmnd@jonathanhaack.com** 
  
 ------------------------------------------- -------------------------------------------
  
-#When installing, make sure to include "documentation" on text install screen. +After installation, run:
-#After succesful install, run these commands first to get the ports installed+
  
-#If you did not do this, then for 10.X > freeBSD, bootstrap the entire system:+  /usr/sbin/pkg
  
-/usr/sbin/pkg+With no internet, you must build from source (if you even still want it):
  
-#With no internet, obtain the ports and migrate by disc to host, then:+  cd /usr/ports/ports-mgmt/pkg 
 +  make 
 +  make install  
 +  make clean
  
-cd /usr/ports/ports-mgmt/pkg +Update ports after you have internet:
-make +
-make install  +
-make clean+
  
 +  portsnap fetch
 +  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.  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 out, and then use those names with pkg and sit back while it does the work!)
  
-#If you have internet, but are running beneath 10.X and cannot bootstrap (above), then:+  pkg install <pkgname>
  
-portsnap fetch+And of course installing pkg from source is but one example of the whole ports system, which is a 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:
  
-#Extract them into /usr/ports/ with the following+  cd /usr/ports/<pkgname> 
 +  make install  
 +  make clean
  
-portsnap extract+freeBSD has other port managers besides portsnap
  
-#As of 10.X > freeBSD will automatically allow the native pkg manager to install ports: +  pkg install portmaster 
-#This allows the user to avoid compiling from source and navigating to directories, e.g.:+  pkg install portupgrade
  
-pkg install <pkgname>+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:
  
-#You may still, however, compile the package from source +  pkg install mate mate-desktop [or] 
-#Just like the non-internet step installation of pkg requires above:+  pkg install gnome3 [or] 
 +  pkg install xfce [or] 
 +  pkg install xorg 
 +  pkg install slim
  
-cd /usr/ports/<pkgname> +Add the following like below the last device (/dev):
-make install  +
-make clean+
  
-#freeBSD has port managers, mostly that predate 10.X > freeBSD, but still help, such as:+  nano /etc/fstab 
 +  proc /proc procfs rw 0 0
  
-pkg install portmaster+Then, edit your rc.conf file:
  
-#And, notably, portupgrade listed below relies on Ruby, similar to Homebrew:+  dbus_enable="YES" 
 +  hald_enable="YES" 
 +  mate_enable="YES" [or] 
 +  xfce_enable="YES" [or] 
 +  gnome3_enable="YES" [or] 
 +  slim_enable="YES"
  
-pkg install portupgrade+Add .xinitrc to ~ and /root, enter the syntax listed below the nano commands.
  
--------------------------------------------+  nano /root/.xinitrc 
 +  exec start gnome3 
 +  nano /home/username/.xinitrc 
 +  exec start gnome3
  
-#Okthis is a good time to:+Nowfine tune your user settings for your regular user.  Edit /etc/group 
  
-reboot+  su - root 
 +  cd /etc 
 +  nano group
  
-#Thenprobably get all your common packages:+Once inside the editor nanoplease edit the operator and wheel lines as follows:
  
-pkg install cmus +  operator:*:5:root,<add-username> 
-pkg install irssi +  wheel:*:0:root,<add-username>
-pkg install lynx +
-pkg install nano +
-pkg install libreoffice +
-pkg install gimp +
-pkg install firefox +
-pkg install chromium +
-pkg install alpine +
-pkg install mutt +
-pkg install <lotsmore>+
  
-#Once nanoxorg, & mate-desktop are installed, set-up a "desktop" (GUI) such as: +Oredit the group file directly from the command line:
-#KDE, Gnome, MATE, etc.  Tap F1 at the log-in screen to toggle between+
  
-pkg install mate mate-desktop+  pw group mod <username> -m <username> 
 +   
 +Or, alternately, you can install sudo (recommended):
  
-#Desktops require "Window Managers" in order to function, such as: +  pkg install sudo 
-#Fluxbox, WindowMaker, X11, xwm, etc. - for ease, use xorg:+  nano /usr/local/etc/sudoers
  
-pkg install xorg+In that file that you just opened called sudoers, there is a line that reads "root ALL=(ALL) ALL."  You want to create a line directly underneath that similar to this:
  
-#You will need a way to switch between desktops, and one convenient package is:+  username ALL=(ALL) ALL 
 +   
 +Close and save the file and reboot:
  
-pkg install slim+  reboot
  
--------------------------------------------+Basic updating:
  
-#Technically, that is all you need file-wise, but the /etc/ directory needs adjusting:+  freebsd-update fetch 
 +  freebsd-update install
  
-#Consider adjusting build release date for pkg+To upgrade to a new major release:
  
-nano /etc/pkg/FreeBSD.conf +  freebsd-update -r 9.1-RELEASE upgrade 
-%Replace /latest with /release/0/ or whatever+  freebsd-update install
  
-#If you do that, then run these to update the package manager to that version: +After either updating or installing a new release:
-pkg upgrade +
-pkg update+
  
-#nano /etc/fstab +  shutdown -r now
-#Add the following like below the last device (/dev):+
  
-proc /proc procfs rw 0 0+After restarting, run the update again to remove old shared libraries and objects
  
-#Then, edit your rc.conf file:+  freebsd-update install 
 +   
 +-- FEMP Stack on BSD --
  
-dbus_enable="YES" 
-hald_enable="YES" 
-mate_enable="YES" 
-slim_enable="YES" 
  
-#Or, add other desktops, ifconfigs, etc., such as:+   
 +-- Dokuwiki on BSD-- 
 +   
 +Setting up dokuwiki on freeBSD and securing data directory (required on BSD) (Only making BSD specific permission changes at present.)
  
-kdm4_enable="YES"+  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 "seethat move.  
  
-------------------------------------------- +  mv /usr/local/www/nginx/dokuwiki/data /usr/local/www/data 
- +  cd /usr/local/www/nginx/dokuwiki/conf/ 
-#Next up, changing wireless settings, adding keys, etc., etc. +  nano local.php
- +
-------------------------------------------- +
- +
-#Add to wheel and operator groups +
- +
-#edit /etc/group  +
- +
-login root +
-cd /etc +
-nano group +
- +
-#Once inside the editor nano, please edit the operator and wheel lines as follows: +
- +
-operator:*:5:root,<username> +
-wheel:*:0:root,<username> +
- +
-#Or, edit the group file directly from the command line: +
- +
-pw group mod <username> -m <username> +
- +
-------------------------------------------- +
- +
-#To update freeBSD from the command line: +
- +
-freebsd-update fetch +
-freebsd-update install +
- +
-#To upgrade to a specific distribution, for example, to 9.1 from 9.0: +
- +
-freebsd-update -r 9.1-RELEASE upgrade +
-freebsd-update install +
- +
-#After either updating or installing a new release: +
- +
-shutdown -r now +
- +
-#After restarting, run the update again to remove old shared libraries and objects +
- +
-freebsd-update install +
- +
--------------------------------------------+
  
 +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:
  
- --- //[[netcmnd@jonathanhaack.com|oemb1905]] 2016/11/05 06:46//+  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.1478328370.txt.gz · Last modified: 2018/11/25 01:33 (external edit)