This documentation is about using Free and Open Source (FOSS) in the small business enterprise. Edoceo specializes in introducing companies to Open Source and supporting those that are already using these technologies. The articles are written with skilled computer professionals (>=8yrs) and moderately skilled Linux users in mind (~3-5yrs).
All of this documentation is based on experiences with the Gentoo or Debian/Ubuntu GNU/Linux distributions.
These alternative to expensive distributions, like RedHat or Novell, will truly deliver the lower TCO promises made by Open Source.
The information can be applied to any Linux distribution with slight changes to paths and such.
For one the apt-get
or emerge
commands may not available so some other package manager must be used or manual installs must be performed.
Those topics are not covered here.
Readers are encouraged to leave feedback and suggest corrections by using the contact page.
Installation & Configuration
Modern Linux is simple enough to install. For Gentoo, simply extract the proper system image tarball (aka: Stage3 or Stage4) to the mounted root target, a few settings and done. For Debian and derivatives there is a very friendly installation process.
System installation base, extlinux bootloader, The Bash Shell - Issuing commands in the default shell fstab, kernel modules, date & timezone, and other system information, upgrading.
Core System Packages
clamav, collectd, crossdev, fcron, iptables, logrotate, nut OpenSSH, OpenSSL, net-snmp, ssmtp, syslog-ng.
System Maintenance
Instructions for maintaining the base system, package managers, network & system configurations.
- Using emerge to manage packages
- Using Monitoring for Performance
- Using screen to resume dropped console or share console and other tricks
- Ubuntu upgrade
Server Configuration
Infrastruture Services
This list covers basic network infrastructure systems including communications and file-sharing.
CUPS Server (AirPrint), DHCP, DNS, GlusterFS, KVM, (windows p2v), LDAP, NTP, Samba (with Windows7), Samba4 (server roles), git-server, Subversion.
Inter-Networking Services
Apache, Apache Authentication, Apache Authentication via SSL, Lighttpd, nginx (SSL), AWStats, Piwik, Postfix (w/Cyrus SASL, Relay Host, Anti-Spam, multiple-instances, null-mail client), OpenDKIM, Dovecot, FreeSWITCH (FreeSWITCH Performance) , Hylafax (troubleshooting), OpenVPN, Pure-FTP, Varnish Cache (redirects, SSL).
Application Servers
chiliproject, CiviCRM, drupal (performance), eJabberd/XMPP, Evergreen ILS (and OpenSRF), Ruby on Rails, Redmine (plugins), Trac, NgIRCd, Unreal IRC, ZoneMinder.
Database Services
couchdb (compaction), mongodb, PostgreSQL ( performance, autovacuum stats-io, replication), MySQL.
Specialty Applications
Some packages just don't fit in :)
Desktop Applications and Configurations
Appendix
Use Gentoo Live CD/USB or Ubuntu Live CD/USB , Binhost, Catalyst, etc
Legacy Notes
- GNU/Linux Basics
- Using Logical Volume Manager (LVM) - Simplifiy storage volume management
- Gentoo Specifics
- Gentoo Live USB - Boot Gentoo from a USB drive
- Gentoo Portage Fundamentals - Gentoo's package management tools
- Portage Mirror with Custom Ebuilds - How to create a mirror that contains custom ebuilds too
- Portage Binhost - Create a BINHOST to reduce install times on other nodes in the domain
- Debian/Kubuntu/Xubuntu Specifics
- APT - The package manager tools
- Base Configuration - Get the base system up and running
- Ubuntu Live USB - Boot Ubuntu from a USB drive
- Base Systems Configuration
- System Hardening - A good start for hardening/securing the machine.
- System Firewall - Protect the exposed network interfaces.
- RAID1 using mdadm - Using mdadm to create a software level RAID1 for boot and root partitions
- VirtualBox Installation and Usage
- SSH - Using OpenSSH, examples demonstrate key based automatic authentication.
- Monitoring with SNMP - Using net-snmp to monitor equipment
Basic network services typically found in business environments.
- AppleTalk - Communicate with Macintosh OSX systems - and TimeMachine!
- OpenLDAP w/TLS - Installation, Configuration and TLS Security
- rsync - Setting up rsync servers and protecting with stunnel.
- Samba and Quickbooks - Requires some tweaking of Samba
Dedicated Database servers, ideally this is the servers single role.
- Database Server Basics - Some preliminaries.
- Postfix Email Server Installation and Configuration - Postfix+SASL2,Courier-IMAP and PostgreSQL enabled email server.
- Postfix with Cyrus-SASL and OpenLDAP
- Spam Filtering - Extends above configuration by hardening Postfix and enabling SpamAssassin.
- Web Servers
HTTP and HTTPS Server options. Ideally this is a servers single role.
- Desktop Environment
Usage of XFCE and various other desktop basics
- Hardware Notes
- Marvell SATA - Needs to use their custom driver.
- EPIA-M 10000 - Linux on a Mini ITX - Story.
Documentation Index
- ack
- ack and ackrc command line examples
- apache
- Apache Installation & Configuration
- apache-authentication
- Apache Authentication via HTTP Basic or Digest
- apache-authentication-ssl
- Apache Authentication with SSL/TLS Certificates
- apache-performance
- Tuning Apache Performance
- apache-security
- Apache Security Configuration
- apache-ssl
- Configuration of Apache with SSL
- apt
- Using apt, aptitude and dpkg
- arachni
- Installing & Configuring Arachni on Gentoo Linux
- atom
- Installing Atom Editor from Scratch
- awk
- Using awk Examples
- awstats
- Installing and Using AWStats
- bash
- BASH Shell Basics
- bfgminer
- bfgminer
- bigbluebutton
- How To: Installing and Configuring BigBlueButton
- bigbluebutton-freeswitch
- BigBlueButton & FreeSWITCH Configuration
- bitcoin-butterfly
- Bitcoin Mining with ButterflyLabs Devices on Gentoo
- bitcoind
- Installing and Running bitcoind
- catalyst
- Gentoo Catalyst - Build Stage1,Stage3,Stage4 How To
- cgminer
- How To: cgminer
- chiliproject
- ChiliProject w/Apache mod_rails (Passenger) Praxis/Gentoo Linux
- chromium-os-build
- Building Chromium OS on Praxis Linux
- civicrm
- Installing and Configuring CiviCRM with Drush
- clamav
- ClamAV on Gentoo
- collectd
- How To: Installing and Configuring Collectd
- comodo-ssl
- COMODO Wildcard SSL and Apache
- config-etc-git
- System Configuration Managment with git
- convert
- Using ImageMagick convert Command Line Examples
- couchdb
- Installing and Configuring CouchDB
- couchdb-compaction
- How To: CouchDB Compaction
- couchdb-views
- CouchDB Views
- courier-imap-ssl
- Configuring Courier IMAP for SSL
- crossdev
- How To: Crossdev, MinGW & NSIS on Gentoo
- cups
- Installation and Configuration of CUPS Server
- cups-airprint
- CUPS & AirPrint from iPhone or iPad
- cups-usage
- CUPS: Administration and Usage
- curl
- curl Command Line Examples
- date-timezone
- Setting System Date, Time and Timezone
- db-server
- Open Source Database Server Hardware
- debian-ubuntu-mods
- How To: Debian/Ubuntu to Praxis
- distelli
- Distelli
- dnsmasq
- Configuring DHCP/DNS with dnsmasq
- dnsmasq-voip
- How To: dnsmasq with VOIP Devices
- dovecot
- How To: Installing and Configuring dovecot
- drupal
- Installing Drupal 7 (D7); Apache + mod_php
- drupal-performance
- Drupal Performance Tips
- ec2-lbssl
- EC2 Load Balancer SSL
- ejabberd
- Installing & Configuring ejabberd
- elastic-stack
- Installing and Configuring ElasticSearch, Logstash and Kibana
- emerge
- Using emerge - Command Line Examples
- equery
- Using equery - Command Line Examples
- evergreen-action-trigger
- Evergreen Action / Trigger
- evergreen-ils
- Installing Evergreen ILS
- extlinux
- EXTLINUX/SYSLINUX Installation and Configuration
- fcron
- Installing & Configuring fcron
- ffmpeg
- ffmpeg command line examples
- fio
- How To: Using fio flexible I/O tester from the command line
- flash-debugging
- How To: Flash Debugger on Linux/Chrome
- freeswitch
- How To: FreeSwitch Installation and Configuration on Linux
- freeswitch-performance
- FreeSWITCH Performance Tuning
- freeswitch-voicemail
- FreeSwitch Voicemail Configuration
- fstab
- fstab configuration
- gentoo-live-usb
- Gentoo Live USB
- gentoo-portage-binhost
- How To: Gentoo Binary Host (PORTAGE_BINHOST)
- gentoo-portage-custom-mirror
- Gentoo Portage Custom Mirror
- gentoo-portage-overlay
- How To: Custom Gentoo Overlay on Github
- geodns
- How To: Install and Configure GeoDNS
- git
- Using git by Example
- git-server
- Creating a git Server
- glusterfs
- How To: GlusterFS Installation and Configuration
- glusterfs-cifs
- How To: GlusterFS and CIFS / Samba
- glusterfs-geo
- GlusterFS Geo-Replication
- glusterfs-heal
- How To: GlusterFS Split-Brain Recovery/Healing
- glusterfs-tricks
- How To: GlusterFS Tricks
- gpg
- gpg command line examples
- guacamole
- How To: Installing Guacamole Client and Server
- hostname
- Configuring the Hostname - Praxis Linux
- htaccess
- htaccess examples
- hylafax
- Installing and Configuring Hylafax
- hylafax-samba
- Hylafax Delivery to Samba Share
- hylafax-troubleshooting
- Hylafax Troubleshooting Tips
- icecast
- Installation & Configuration of Icecast on Praxis Linux
- iptables
- iptables Firewall
- iptables-advanced
- Advanced iptables Configurations
- irssi
- irssi command line examples
- jenkins
- How To: Installing & Configuring Jenkins
- joomla
- How To: Joomla with Lighttpd
- kernel-modules
- Linux Kernel Modules - Load, Unload, Configure
- kvm
- Installing and Running Linux KVM/QEMU on Gentoo
- kvm-clone-live
- Cloning Live Linux System into KVM
- kvm-lvm
- Using LVM Volumes with Linux KVM
- kvm-overview
- Installing and Running Linux KVM on Element|Gentoo GNU/Linux
- lighttpd
- Installation & Configuration of Lighttpd on Linux
- logitech-t650
- Logitech T650 Touchpad Linux
- lvm
- Using LVM
- marvell-sata
- Supermicro & Marvell SATA with Linux
- mdadm
- mdadm command line examples
- mdadm-raid1
- How To: Configuring Bootable RAID1 with mdadm
- mdadm-raid6
- How To: Configuring RAID6 with mdadm
- memcached
- How To: Memcached Installation & Configuration
- mongodb
- Installing and Configuring MongoDB on Praxis/Gentoo Linux
- mount
- Mounting Filesystems
- mysql
- MySQL Server Installation and Configuration
- mysql-performance
- How To: MySQL Performance Tuning Tips and Tricks
- nano
- Using the nano Editor
- ncat
- ncat examples - is better than netcat/nc
- ncftp
- ncftp command line examples
- nginx
- Installing and Configuring Nginx
- nginx-api-proxy
- Nginx REST API Proxy
- nginx-fence
- How To: Protecting Sites and APIs using Nginx Reverse Proxy w/Filter
- nginx-lua
- How To: Securing Web Services with Nginx + Lua
- nginx-php
- How To: Nginx + PHP
- nginx-proxy
- How To: Nginx HTTP & Websocket Proxy
- nginx-varnish-ssl
- Nginx SSL and Varnish
- ngircd
- Installing and Configuring NgIRCd
- nmap
- nmap examples
- nodejs
- How To: Installing and Configuring Node.JS on Gentoo/Praxis Linux
- nut
- UPS Monitoring with NUT - Installation and Configuration
- opendkim
- How To: Installing and Configuring OpenDKIM for multiple domains with Postfix on Linux
- openldap
- Installation and Configuration of OpenLDAP
- openldap-create-directory
- Installation & Configuration of OpenLDAP w/TLS
- openntpd
- How To: Installing and Configuring OpenNTPd
- opensrf
- Installing OpenSRF
- openssh
- Configuring OpenSSH
- openssl
- OpenSSL Command Line Examples
- openvas
- Installing & Configuring OpenVAS + Greenbone Security
- openvpn
- OpenVPN Server Installation and Configuration
- openvpn-auth-user-pass-verify
- OpenVPN Server Auth User Pass Verify
- packages
- How To: Package Mangement on Linux (Debian, Ubunut, CentOS, Gentoo)
- performance-io
- Monitoring & Troubleshooting Performance: I/O
- performance-monitoring
- Performance Monitoring Praxis/Gentoo GNU/Linux
- pg_dump
- Command Line Examples: pg_dump
- phabricator
- How To: Installing Phabricator on Gentoo Linux
- phantomjs
- PhantomJS - Install, Execute on Praxis/Gentoo Linux
- phonegap
- How To: Phonegap/Cordova on Gentoo Linux
- piwik
- Installing and Configuring Piwik under Apache or Lighttpd on Linux
- piwik-performance
- Piwik Performance under Lighttpd on Linux
- postconf
- Using postconf with Examples
- postfix
- How To: Postfix Installation & Configuration Virtual Mailbox
- postfix-cyrus-sasl
- Postfix + Cyrus SASL - Installation & Configuration
- postfix-gateway
- Configuring Postfix as an Inbound Gateway for Exchange or other back-end
- postfix-multiple-instances
- Postfix Multiple Instances
- postfix-nullmailer
- Postfix Null Mailer Configuration
- postfix-relay
- Postfix on Local Network as Relay Host
- postfix-sasl-ldap
- Postfix with SASL & OpenLDAP Authentication
- postfix-security
- Postfix Mailhub Security & SPAM Filtering
- postgresql
- How To: PostgreSQL Install, Configure and Upgrade
- postgresql-benchmark
- PostgreSQL Benchmarking
- postgresql-load
- How To: PostgreSQL Load/Performance Diagnosis
- postgresql-performance
- Performance Tuning Postgresql 9.5
- postgresql-replication
- PostgreSQL Replication and High Availability
- postgresql-stats-collector
- postgres: stats collector process - High I/O
- postgresql-tricks
- PostgreSQL Tricks
- praxis-upgrade
- Praxis Upgrade
- psql
- Using psql Command Line Examples
- pulseaudio
- How To: Pulse Audio on Linux
- pure-ftpd
- Installation and Configuration of Pure-FTPd
- qemu
- qemu-kvm, qemu-img & qemu-nbd command line examples
- qwebchat
- How To: qwebchat Installation and Configuration
- rails
- Enabling Ruby on Rails (Rails3) on Praxis/Gentoo Linux
- redis
- How To: Installing and Configuring Redis
- redmine
- Redmine on Apache with Passenger(mod_rails) or FastCGI
- redmine-plugins
- Redmine Plugins
- roundcube
- How To: Installing and Configuring RoundCube
- rsync
- rsync command line examples
- samba-ldap-migration
- Samba - TDBSAM to LDAP Migration
- samba-move-server
- Moving Samba to a new Server
- samba3-windows7
- How To: Samba 3 Domain & Windows 7
- samba4
- How To: Samba4 AD PDC + Windows XP, Vista and 7
- samba4-server-role
- Samba4 - Server Roles
- screen
- Using Screen for Linux Console Magic
- sdelete
- sdelete, sfree command line examples
- sed
- Examples: sed command line
- selenium
- Headless Selenium WebDriver for Chrome and Firefox
- snmp
- Installing & Configuring net-snmp / snmpd
- snmpwalk
- Using snmpwalk - Examples and How To
- sox
- Using sox from the Command Line
- ssh
- ssh command line examples with openssh
- ssh-config
- How To: SSH Config Files ~/.ssh/config
- ssh-keygen
- ssh-keygen Examples
- ssh-windows
- How To: SSH from Windows to Linux
- ssmtp
- Installation and Configuration of SSMTP
- stanford-nlp
- How To: Stanford Core NLP
- stellard
- Building Stellard on Gentoo
- subversion
- Subversion Server - Installation & Configuration
- subversion-crash-course
- Subversion Crash Course, Daily Usage & Examples
- syslinux-uefi
- SYSLINUX Installation & Configuration on UEFI
- syslinux-vesa
- SYSLINUX/EXTLINUX Pretty Menus with Vesamenu.c32
- syslinux-vesamenu
- SYSLINUX + vesamenu.c32 + Themes
- syslog-ng
- How To: syslog-ng Server
- system-base
- Praxis System Base Install
- system-information
- Checking Linux System Information
- tcpdump
- tcpdump examples
- tftpd
- How To: Installing and Configuring tftpd
- tor
- How To: Using Tor
- trac
- Installing and Configuring Trac on Gentoo Linux
- ubuntu
- How To: Preparing Ubuntu for Web-Application Deployments
- ubuntu-kvm-host
- How To: Ubuntu as a KVM Host
- ubuntu-live-usb
- Create a Bootable Ubuntu Live USB
- ubuntu-upgrade
- Ubuntu Updates from X to Y
- unrealircd
- UnrealIRCd Installation and Configuration on Praxis Linux
- varnish
- Installing and Configuring Varnish Cache
- varnish-performance
- How To: Varnish Cache Performance Tuning
- varnish-redirects
- Varnish Cache Redirector
- virtualbox
- VirtualBox on Gentoo Linux
- vncviewer
- Using vncviewer - Examples and How To
- wget
- wget command line examples
- wordpress
- Instalilng and Configuring Wordpress
- wpa_supplicant
- wpa_supplicant Examples
- xboxdrv
- How To: xboxdrv - XBox 360 Controller on Linux
- xfce
- Installing and Configuring Xfce on Praxis Linux
- xfce-autostart-apps
- Autostart Applications in XFCE
- xfce-custom-uri-handler
- Creating Custom URI/URL Handlers in Xfce/FreeDesktop/XDG
- xfce-menus
- Editing XFCE Menus
- xpra
- How To: XPRA, XDummy for Headless X Window Applications
- zenoss
- Installing Zenoss on Gentoo Linux
- zfs
- How To: ZFS on Linux
- zoneminder
- Installing and Configuring ZoneMinder on Praxis/Gentoo Linux