Skip to content
Ricky Ng-Adam edited this page Aug 11, 2016 · 27 revisions

Introduction

Based on:

Pre-reqs

Reasonable package management on the host machine.

On MacOS X, http://brew.sh

Basics: using vim (finish vimtutor) & bash

Environment setup (Virtual Machine)

We've selected Ubuntu 14.04 as our preferred Linux distribution.

We use vagrant to create VM:

$ brew cask install virtualbox
$ brew cask install vagrant
$ brew cask install vagrant-manager
  • vagrant box add ubuntu/trusty64 (this installs the image for Ubuntu 14.04)
  • in a new directory:
vagrant init ubuntu/trusty64
vagrant up 
vagrant ssh

Project

Overall goal:

  • Setup 3-tier WebApp architecture and optimize:
  • Webserver: (NGINX)
  • Application server (NodeJS)
  • database (PostgreSQL)

...also, add data analysis (Jupyter).

Meta: collect, analysis, report on data generated by the system itself

System administration specific tasks

  • optimize for China (packages from Chinese mirrors)
  • configure timezone for China (make sure to use NTP)
  • security
  • automate setup and installation
  • test different workloads
  • benchmark and tune operating system and each tier
  • depending on simulated load and hardware profile, select:
  • sysctl settings tweaks
  • service configuration and optimization
  • filesystem / configuration
  • VPN setup
  • services monitoring
  • load monitoring (memory, disk, cpu)
  • log monitoring
  • networking configuration
  • firewall configuration

Measurement/test

  • transactions or queries per second

Exercises

  • setup and install an instance of Ubuntu 14.04 LTS Server with Internet connectivity
  • list all services running
  • update packages source
  • install nginx, postgresql and nodejs
  • list all services running
  • list files installed by nginx using the package manager
  • make sure that nginx is up, running and listening to port 80
  • from your own host and using your browser, access http://localhost and make sure the above serves the nginx welcome page
  • change the nginx webserver configuration to serve your own index.html file
  • make sure that Postgresql is up
  • create a database
  • using port forwarding, access this database using the pgadmin3 GUI from your workstation
Clone this wiki locally