awesome-sysadmin/README.md
2014-05-27 10:55:17 +02:00

316 lines
16 KiB
Markdown

# Awesome Sysadmin
A curated list of amazingly awesome open source sysadmin resources inspired by [Awesome PHP](https://github.com/ziadoz/awesome-php)
* [Awesome Sysadmin](#awesome-sysadmin)
* [Backups](#backups)
* [Cloning](#cloning)
* [Cloud Computing](#cloud-computing)
* [Cloud Storage](#cloud-storage)
* [Configuration Management Database](#configuration-management-database)
* [Configuration Management](#configuration-management)
* [Continuous Integration](#continuous-integration)
* [Distributed Filesystems](#distributed-filesystems)
* [DNS](#dns)
* [Hosting Control Panels](#hosting-control-panels)
* [IMAP/POP3](#imappop3)
* [IT Asset Management](#it-asset-management)
* [LDAP](#ldap)
* [Monitoring](#monitoring)
* [Network Configuration Management](#network-configuration-management)
* [Newsletter](#newsletters)
* [NoSQL](#nosql)
* [RDBMS](#rdbms)
* [SMTP](#smtp)
* [SSH](#ssh)
* [Statistics](#statistics)
* [Ticketing systems](#ticketing-systems)
* [Troubleshooting](#troubleshooting)
* [Project Management](#project-management)
* [Version control](#version-control)
* [Virtualization](#virtualization)
* [VPN](#vpn)
* [Web](#web)
* [Webmails](#webmails)
* [Wikis](#wikis)
* [Resources](#resources)
* [Books](#books)
* [Editors](#editors)
* [Websites](#websites)
* [Contributing](#contributing)
## Backups
*Backup software.*
* [Amanda](http://www.amanda.org/) - Client-server model backup tool.
* [Bacula](http://www.bacula.org) - Another Client-server model backup tool.
* [Burp](http://burp.grke.org/) - Network backup and restore program.
* [Rsnapshot](http://www.rsnapshot.org/) - Filesystem Snapshotting Utility.
* [SafeKeep](http://safekeep.sourceforge.net/) - Centralized pull-based backup using `rdiff-backup`.
* [UrBackup](http://www.urbackup.org/) - Another client-server backup system.
* [TarSnap](https://www.tarsnap.com/) - Secure backup service with an open-source client.
## Cloning
*Cloning software.*
* [Clonezilla](http://clonezilla.org/) - Partition and disk imaging/cloning program.
* [Fog](http://www.fogproject.org/) - Another computer cloning solution.
## Cloud Computing
* [CloudStack](http://cloudstack.apache.org/) - Cloud computing software for creating, managing, and deploying infrastructure cloud services.
* [OpenNebula](http://opennebula.org/) - An user-driven cloud management platform for sysadmins and devops.
* [OpenStack](https://www.openstack.org/) - Open source software for building private and public clouds.
## Cloud Storage
* [git-annex assistant](http://git-annex.branchable.com/assistant/) - A synchronised folder on each of your OSX and Linux computers, Android devices, removable drives, NAS appliances, and cloud services.
* [ownCloud](http://owncloud.org) - Provides universal access to your files via the web, your computer or your mobile devices.
* [Seafile](http://seafile.com) - Another Open Source Cloud Storage solution.
* [TahoeLAFS](https://tahoe-lafs.org/trac/tahoe-lafs) - Cloud storage (it's described as "like bittorrent, with upload" by @zooko)
## Configuration Management Database
*Configuration management database (CMDB) software.*
* [i-doit](http://www.i-doit.org/) - Open Source IT Documentation and CMDB.
* [iTop](http://www.combodo.com/-Overview-.html) - A complete open source, ITIL, web based service management tool.
## Configuration Management
*Configuration management tools.*
* [Ansible](http://www.ansibleworks.com/) - It's written in Python and manages the nodes over SSH.
* [CFEngine](http://cfengine.com/) - Lightweight agent system. Configuration state is specified via a declarative language.
* [Chef](http://www.opscode.com/chef/) - It's written in Ruby and Erlang and uses a pure-Ruby DSL.
* [Puppet](http://puppetlabs.com/) - It's written in Ruby and uses Puppet's declarative language or a Ruby DSL.
* [Salt](http://www.saltstack.com/) - It's written in Python.
* [Slaughter](http://steve.org.uk/Software/slaughter/) - It's written in Perl.
## Continuous Integration
*Continuous integration software.*
* [Go](http://www.thoughtworks.com/products/go-continuous-delivery) - Open source agile build and release management software.
* [GitLab CI](https://www.gitlab.com/gitlab-ci/) - Based off of ruby. They also provide GitLab, which manages git repositories.
* [Jenkins](http://jenkins-ci.org/) - An extendable open source continuous integration server.
## Distributed Filesystems
*Network distributed filesystems.*
* [Ceph](http://ceph.com/) - Distributed object store and file system.
* [DRBD](http://www.drbd.org/) - Disributed Replicated Block Device.
* [GlusterFS](http://www.gluster.org/) - Scale-out network-attached storage file system.
* [HDFS](http://hadoop.apache.org/) - Distributed, scalable, and portable file-system written in Java for the Hadoop framework.
* [Lustre](http://lustre.opensfs.org/) - A type of parallel distributed file system, generally used for large-scale cluster computing.
* [MooseFS](http://www.moosefs.org/) - Fault tolerant, network distributed file system.
* [XtreemFS](http://www.xtreemfs.org/) - XtreemFS is a fault-tolerant distributed file system for all storage needs.
## DNS
*DNS servers.*
* [Bind](https://www.isc.org/downloads/bind/) - The most widely used name server software.
* [djbdns](http://cr.yp.to/djbdns.html) - A collection of DNS applications, including tinydns.
* [NSD](http://www.nlnetlabs.nl/projects/nsd/) - Authoritative only, high performance, simple name server.
* [PowerDNS](https://www.powerdns.com/) - DNS server with a variety of data storage back-ends and load balancing features.
* [Unbound](https://unbound.net/) - Validating, recursive, and caching DNS resolver.
## Hosting Control Panels
*Web hosting control panels*
* [ISPConfig](http://www.ispconfig.org) - Hosting control panel for Linux.
* [VestaCP](http://www.vestacp.com/) - Hosting panel for Linux but with Nginx.
* [Virtualmin](http://www.virtualmin.com/) - Control panel for Linux based on webmin.
* [Feathur](http://feathur.com) - VPS Provisioning and Management Software
## IMAP/POP3
*IMAP/POP3 mail servers.*
* [Courier IMAP/POP3](http://www.courier-mta.org/imap/) - Fast, scalable, enterprise IMAP and POP3 server.
* [Cyrus IMAP/POP3](http://cyrusimap.org/) - Intended to be run on sealed servers, where normal users are not permitted to log in.
* [Dovecot](http://www.dovecot.org/) - IMAP and POP3 server written primarily with security in mind.
* [Qpopper](http://www.eudora.com/products/unsupported/qpopper/) - One of the oldest and most popular server implementations of POP3.
## IT Asset Management
*IT Assets Management software.*
* [GLPI](http://www.glpi-project.org/spip.php?lang=en) - Information Resource-Manager with an additional Administration Interface.
* [OCS Inventory NG](http://www.ocsinventory-ng.org/en/) - Enables users to inventory their IT assets.
## LDAP
*LDAP servers.*
* [389 Directory Server](http://port389.org) - Developed by Red Hat.
* [Apache Directory Server](http://directory.apache.org/) - Apache Software Foundation project written in Java.
* [OpenDJ](http://opendj.forgerock.org/) - Fork of OpenDS.
* [OpenDS](https://opends.java.net/) - Another directory server written in Java.
* [OpenLDAP](http://openldap.org/) - Developed by the OpenLDAP Project.
## Monitoring
*Monitoring software.*
* [Cacti](http://www.cacti.net) - Web-based network monitoring and graphing tool.
* [check_mk](http://mathias-kettner.com/check_mk.html) - Collection of extensions for Nagios.
* [Icinga](https://www.icinga.org/) - Fork of Nagios.
* [LibreNMS](https://github.com/librenms/librenms/) - fork of Observium.
* [Monit](http://mmonit.com/monit/#home) - Small Open Source utility for managing and monitoring Unix systems.
* [Munin](http://munin-monitoring.org/) - Networked resource monitoring tool.
* [Naemon](http://www.naemon.org/) - Network monitoring tool based on the Nagios 4 core with performance enhancements and new features.
* [Nagios](http://www.nagios.org/) - Computer system, network and infrastructure monitoring software application.
* [Sensu](http://sensuapp.org/) - Open source monitoring framework.
* [Shinken](http://www.shinken-monitoring.org/) - Another monitoring framework.
* [Thruk](http://www.thruk.org/) - Multibackend monitoring webinterface with support for Naemon, Nagios, Icinga and Shinken.
* [Observium](http://www.observium.org/) - SNMP monitoring for servers and networking devices. Runs on linux.
* [Opsview](http://www.opsview.com/solutions/core) - Based on Nagios 4, Opsview Core is ideal for small IT and test environments.
* [Xymon](http://www.xymon.com/) - Network monitoring inspired by Big Brother.
* [Zabbix](http://www.zabbix.com/) - Eenterprise-class software for monitoring of networks and applications
* [Zenoss](http://community.zenoss.org) - Application, server, and network management platform based on Zope.
## Network Configuration Management
*Network configuration management tools.*
* [RANCID](http://www.shrubbery.net/rancid/) - Monitors network device's configurarion and maintain history of changes.
* [rConfig](http://www.rconfig.com/) - Another network device configuration management tool.
## Newsletters
*Newsletter software.*
* [phpList](http://www.phplist.com/) - Newsletter manager.
## NoSQL
*NoSQL servers.*
* [Cassandra](http://cassandra.apache.org/) - Distributed DBMS designed to handle large amounts of data across many servers.
* [CouchDB](http://couchdb.apache.org/) - Ease of use, with multi-master replication document-oriented database system.
* [MongoDB](http://www.mongodb.org/) - Another document-oriented database system.
* [Redis](http://redis.io/) - Networked, in-memory, key-value data store with optional durability.
* [Riak](http://basho.com/riak/) - Another fault-tolerant key-value NoSQL database.
Comparison of NoSQL servers: http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis
## RDBMS
*Relational DBMS.*
* [Firebird](http://www.firebirdsql.org/) - True universal open source database.
* [MariaDB](https://mariadb.org/) - Community-developed fork of the MySQL.
* [MySQL](http://dev.mysql.com/) - Most popular RDBMS server.
* [Percona Server](http://www.percona.com/software) - Enhanced, drop-in MySQL replacement.
* [PostgreSQL](http://www.postgresql.org/) - Object-relational database management system (ORDBMS).
* [SQLite](http://sqlite.org/) - Library that implements a self-contained, serverless, zero-configuration, transactional SQL DBS.
## SMTP
*SMTP servers.*
* [Exim](http://www.exim.org/) - Message transfer agent (MTA) developed at the University of Cambridge.
* [Qmail](http://cr.yp.to/qmail.html) - Secure Sendmail replacement.
* [Postfix](http://www.postfix.org/) - Fast, easy to administer, and secure Sendmail replacement.
* [Sendmail](http://www.sendmail.com/sm/open_source/) - Message transfer agent (MTA).
## SSH
*SSH tools.*
* [Cluster SSH](http://sourceforge.net/projects/clusterssh/) - Controls a number of xterm windows via a single graphical console.
* [Mosh](http://mosh.mit.edu/) - The mobile shell.
* [parallel-ssh](http://code.google.com/p/parallel-ssh/) - Provides parallel versions of OpenSSH and related tools.
* [SSH Power Tool](http://code.google.com/p/sshpt/) - Execute commands and upload files to many servers simultaneously without using pre-shared keys.
## Statistics
*Analytics software.*
* [Piwik](http://piwik.org/) - Free and open source web analytics application.
## Ticketing systems
*Web-based ticketing system.*
* [Bugzilla](http://www.bugzilla.org/) - General-purpose bugtracker and testing tool originally developed and used by the Mozilla project.
* [Flyspray](http://flyspray.org) - Web-based bug tracking system written in PHP.
* [MantisBT](http://www.mantisbt.org/) - Another web-based bug tracking system.
* [osTicket](http://osticket.com/) - Open source support ticket system.
* [Request Tracker](http://www.bestpractical.com/rt/) - Ticket-tracking system written in Perl.
## Troubleshooting
*Troubleshooting Tools.*
* [Sysdig](http://www.sysdig.org/) - Capture system state and activity from a running Linux instance, then save, filter and analyze.
## Project Management
*Web-based project management and bug tracking systems.*
* [Redmine](http://www.redmine.org/) - Written in ruby on rails.
* [The Bug Genie](http://www.thebuggenie.com/) - Written in PHP.
* [Trac](http://trac.edgewall.org/) - Written in python.
## Version control
*Software versioning and revision control.*
* [Git](http://git-scm.com/) - Distributed revision control and source code management (SCM) with an emphasis on speed.
* [Mercurial](http://mercurial.selenic.com/) - Another distributed revision control.
* [Subversion](http://subversion.apache.org/) - Client-server revision control system.
## Virtualization
*Virtualization software.*
* [Ganeti](https://code.google.com/p/ganeti/) - Cluster virtual server management software tool built on top of KVM and Xen.
* [KVM](http://www.linux-kvm.org) - Linux kernel virtualization infrastructure.
* [OpenVZ](http://openvz.org) - Container-based virtualization for Linux
* [oVirt](http://www.ovirt.org/) - Manages virtual machines, storage and virtual networks.
* [VirtualBox](https://www.virtualbox.org/) - Virtualization product from Oracle Corporation.
* [Xen](http://www.xenproject.org/) - Virtual machine monitor for 32/64 bit Intel / AMD (IA 64) and PowerPC 970 architectures.
## VPN
*VPN software.*
* [OpenVPN](https://community.openvpn.net) - Uses a custom security protocol that utilizes SSL/TLS for key exchange.
* [Pritunl](http://pritunl.com/) - OpenVPN based solution. Easy to set up.
* [SoftEther VPN](https://www.softether.org/) - Alternative to OpenVPN.
* [sshuttle](https://github.com/apenwarr/sshuttle) - Poor man's VPN.
* [strongSwan](http://www.strongswan.org/) - Complete IPsec implementation for Linux.
* [tinc](http://www.tinc-vpn.org/) - Distributed p2p VPN.
## Webmails
*Webmail applications.*
* [RainLoop](http://rainloop.net/) - Simple, modern & fast web-based IMAP client.
* [Roundcube](http://roundcube.net/) - Browser-based IMAP client with an application-like user interface.
## Web
*Web servers.*
* [Apache](http://httpd.apache.org/) - Most popular web server.
* [Cherokee](http://cherokee-project.com/) - Lightweight, high-performance web server/reverse proxy.
* [Lighttpd](http://www.lighttpd.net/) - Web server more optimized for speed-critical environments.
* [Nginx](http://nginx.org/) - Reverse proxy, load balancer, HTTP cache, and web server.
## Wikis
*Wiki software.*
* [DokuWiki](https://www.dokuwiki.org/dokuwiki) - Simple to use and highly versatile wiki that doesn't require a database.
* [ikiwiki](http://ikiwiki.info/) - A wiki compiler.
* [Mediawiki](http://www.mediawiki.org/wiki/MediaWiki) - Used to power Wikipedia.
* [TiddlyWiki](http://tiddlywiki.com) - Complete interactive wiki in JavaScript.
# Resources
Various resources, such as books, websites and articles, for improving your skills and knowledge.
## Books
*Sysadmin related books.*
* [The Linux Command Line](http://linuxcommand.org/tlcl.php) - A book about the Linux command line by William Shotts.
* [The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win](http://itrevolution.com/books/phoenix-project-devops-book/) - How DevOps techniques can fix the problems that happen in IT organizations.
* [The Practice of System and Network Administration](http://everythingsysadmin.com/books.html) - The first and second editions describes the best practices of system and network administration, independent of specific platforms or technologies.
* [The Visible Ops Handbook: Implementing ITIL in 4 Practical and Auditable Steps](http://www.itpi.org/the-visible-ops-handbook-review.html) - Is a methodology designed to jumpstart implementation of controls and process improvement.
* [UNIX and Linux System Administration Handbook](http://www.admin.com/) - Approaches system administration from a practical perspective.
## Editors
*Open source code editors.*
* [Atom](https://atom.io/) - A hackable text editor from Github.
* [Brackets](http://brackets.io/) - Open source code editor for web designers and front-end developers.
* [Eclipse](http://eclipse.org/) - IDE written in Java with an extensible plug-in system.
* [Geany](http://www.geany.org/) - GTK2 text editor.
## Websites
*Useful sysadmin related websites.*
* [Ops School](http://www.opsschool.org) - Comprehensive program that will help you learn to be an operations engineer.
* [Dotdeb](http://www.dotdeb.org/) - Repository with LAMP updated packages.
# Contributing
Please see [CONTRIBUTING](https://github.com/kahun/awesome-sysadmin/blob/master/CONTRIBUTING.md) for details.