Server

From Things and Stuff Wiki
Revision as of 21:12, 11 August 2012 by Milk (talk | contribs) (→‎Management)
Jump to navigation Jump to search


General

SSH

SSH keys

Basic key setup:

ssh-keygen -t rsa
ssh-copy-id [-i [identity_file]] [user@]remote
  default identity_file is ~/.ssh/id_rsa.pub

SCP

  • scp -P [port] file.txt user@remotehose:~/file.txt

When scp on remote is initiated, it done so with -t flag, which is undocumented but might be required for precise command persmission configuration.

SSHFS

Rsync

  • Rsync over alt SSH port: --rsh='ssh -p8023'

Security

X11 forwarding

Tools

Continuous Integration

Provision

Puppet

apt-get install puppet puppetmaster facter rubygems puppet-module

Chef

Other

  • Capistrano is a utility and framework for executing commands in parallel on multiple remote machines, via SSH. It uses a simple DSL (borrowed in part from Rake) that allows you to define tasks, which may be applied to machines in certain roles. It also supports tunneling connections via some gateway machine to allow operations to be performed behind VPN's and firewalls. Capistrano was originally designed to simplify and automate deployment of web applications to distributed environments, and originally came bundled with a set of tasks designed for deploying Rails applications.

Logging

Basics

  • logrotate is designed to ease administration of systems that generate large numbers of log files. It allows automatic rotation, compression, removal, and mailing of log files. Each log file may be handled daily, weekly, monthly, or when it grows too large.

Systems

  • logger - a shell command interface to the syslog(3) system log module
  • Rsyslog is an enhanced syslogd supporting, among others, MySQL, PostgreSQL, failover log destinations, syslog/tcp, fine grain output format control, high precision timestamps, queued operations, the ability to filter on any message part and encryption protected syslog relay chains. It is quite compatible to stock sysklogd and can be used as a drop-in replacement.
  • glTail.rb - Real-time visualization of server traffic, events and statistics with Ruby, SSH and OpenGL.
  • log.io Real-time log monitoring in your browser. Powered by node.js + socket.io

Monitoring

If it's up... A.K.A... It's down... per year
90% n/a 876 hours
95% n/a 438 hours
99% two 9s 87 hours, 36 minutes
99.9% three 9s 8 hours, 45 minutes, 36 seconds
99.99% four 9s 52 minutes, 33.6 seconds
99.999% five 9s 5 minutes, 15.36 seconds
99.9999% six 9s 31.68 seconds
  • Nagios is a powerful monitoring system that enables organizations to identify and resolve IT infrastructure problems before they affect critical business processes. Designed with scalability and flexibility in mind, Nagios gives you the peace of mind that comes from knowing your organization's business processes won't be affected by unknown outages.
  • Splunk is powerful and versatile IT search software that takes the pain out of tracking and utilizing the information in your data center. If you have Splunk, you won't need complicated databases, connectors, custom parsers or controls--all that's required is a web browser and your imagination. Splunk handles the rest.

Backup

Management

  • Webmin is a web-based interface for system administration for Unix. Using any modern web browser, you can setup user accounts, Apache, DNS, file sharing and much more. Webmin removes the need to manually edit Unix configuration files like /etc/passwd, and lets you manage a system from the console or remotely.
  • Virtualmin is a powerful and flexible web hosting control panel for Linux and UNIX systems based on the well-known Open Source web-based systems management GUI, Webmin. Manage your virtual domains, mailboxes, databases, applications, and the entire server, from one comprehensive and friendly interface.
  • Ehcp is a Hosting Control Panel to facilate the process of managing domains, e-mail, users, etc.

Virtualisation

VirtualBox config;

  • Enable host Linux modules: vboxnetflt and vboxnetadp
  • Enable host-only adapter 'virtualbox0' in VB Preferences > Network if not previously enabled, then select in guest preferences
  • https://github.com/milkmiruku/boxbootstrap
  • Keep VM names lowercase and no spaces for easier command-line stuff

Provisioning VirtualBoxes for local dev work;

vagrant package --vagrantfile Vagrantfile.pkg --include README.txt
  stored in ~/.vagrant.d/boxes
vagrant box add lucid32 http://files.vagrantup.com/lucid32.box
vagrant box remove lucid32
vagrant box list

Filesystem

IaaS

Knowledge management

Video streaming

Hosting

https://devcenter.heroku.com/articles/quickstart

PaaS

gem install heroku foreman

GitHub Pages & Jekyll

GitHub Gist

Google Cloud

GoDaddy

Dropbox

  • scriptogr.am - A simple online tool that converts static Markdown text files located in your Dropbox, into a beautiful web log.

Storage

WebDAV

"Linux users can mount WebDAV shares using the davfs2 and the fusedav file system modules which mount them as Coda or FUSE filesystems. KDE has native WebDAV support as part of kio_http. This enables Dolphin, Konqueror, and every other KDE application to interact directly with WebDAV servers. Nautilus also has WebDAV support built in. Many Linux distributions also include the cadaver command-line client interface, which provides an FTP-like command set. The Apache HTTP Server provides WebDAV modules based on both davfs and Apache Subversion (svn)."

  • fusedav is a Linux userspace file system driver for mounting WebDAV shares. It makes use of FUSE as userspace file system API and neon as WebDAV API.

Other

Remote