18
@johntron DevOps!

DevOps! - files.meetup.com.pdf · ¥ DevOps ¥ Back-end ¥ SaaS ¥ Scalability ¥ Virtualization ¥ Web services. @johntron Tonight ¥ LAMP stack (not really) ¥ vi ¥ BASH tips ¥

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: DevOps! - files.meetup.com.pdf · ¥ DevOps ¥ Back-end ¥ SaaS ¥ Scalability ¥ Virtualization ¥ Web services. @johntron Tonight ¥ LAMP stack (not really) ¥ vi ¥ BASH tips ¥

@johntron

DevOps!

Page 2: DevOps! - files.meetup.com.pdf · ¥ DevOps ¥ Back-end ¥ SaaS ¥ Scalability ¥ Virtualization ¥ Web services. @johntron Tonight ¥ LAMP stack (not really) ¥ vi ¥ BASH tips ¥

@johntron

Buzzwords• DevOps• Back-end• SaaS• Scalability• Virtualization•Web services

Page 3: DevOps! - files.meetup.com.pdf · ¥ DevOps ¥ Back-end ¥ SaaS ¥ Scalability ¥ Virtualization ¥ Web services. @johntron Tonight ¥ LAMP stack (not really) ¥ vi ¥ BASH tips ¥

@johntron

Tonight• LAMP stack (not really)• vi• BASH tips• Monit

Explain order

Page 4: DevOps! - files.meetup.com.pdf · ¥ DevOps ¥ Back-end ¥ SaaS ¥ Scalability ¥ Virtualization ¥ Web services. @johntron Tonight ¥ LAMP stack (not really) ¥ vi ¥ BASH tips ¥

@johntron

Environment• Linux (Ubuntu)• Apache 2+• PHP 5.3+• MySQL 5.1+

Page 5: DevOps! - files.meetup.com.pdf · ¥ DevOps ¥ Back-end ¥ SaaS ¥ Scalability ¥ Virtualization ¥ Web services. @johntron Tonight ¥ LAMP stack (not really) ¥ vi ¥ BASH tips ¥

@johntron

Supporting Software• Shell• Editor• SSH• Package manager• System services• Version control• System monitoring

Page 6: DevOps! - files.meetup.com.pdf · ¥ DevOps ¥ Back-end ¥ SaaS ¥ Scalability ¥ Virtualization ¥ Web services. @johntron Tonight ¥ LAMP stack (not really) ¥ vi ¥ BASH tips ¥

@johntron

Where we’re at• Installed Ubuntu 12.04 LTS 64-bit• One user account: johntron• Nothing else

How many people use Ubuntu?Other Linux distros?My reasons http://distrowatch.com/dwres.php?resource=popularity

Page 7: DevOps! - files.meetup.com.pdf · ¥ DevOps ¥ Back-end ¥ SaaS ¥ Scalability ¥ Virtualization ¥ Web services. @johntron Tonight ¥ LAMP stack (not really) ¥ vi ¥ BASH tips ¥

@johntron

APT

apt-cache searchsudo apt-get install openssh-server vim apache2 php5 mysql-server curl monit

Page 8: DevOps! - files.meetup.com.pdf · ¥ DevOps ¥ Back-end ¥ SaaS ¥ Scalability ¥ Virtualization ¥ Web services. @johntron Tonight ¥ LAMP stack (not really) ¥ vi ¥ BASH tips ¥

@johntron

sudo apt-get install openssh-server vim apache2 php5 mysql-server curl monit

Lied about “nothing else”

Page 9: DevOps! - files.meetup.com.pdf · ¥ DevOps ¥ Back-end ¥ SaaS ¥ Scalability ¥ Virtualization ¥ Web services. @johntron Tonight ¥ LAMP stack (not really) ¥ vi ¥ BASH tips ¥

@johntron

vi(m)

Who thinks they don’t need a powerful, standard editor?>>>But first! (next slide)<<<

Page 10: DevOps! - files.meetup.com.pdf · ¥ DevOps ¥ Back-end ¥ SaaS ¥ Scalability ¥ Virtualization ¥ Web services. @johntron Tonight ¥ LAMP stack (not really) ¥ vi ¥ BASH tips ¥

@johntron

SSH shared keysDo it.

How many use them?Disable plaintext!12 min.

mkdir ~/.sshifconfigexit

ssh-keygenscp ~/.ssh/id_rsa.pub johntron@<ip>:~

Page 11: DevOps! - files.meetup.com.pdf · ¥ DevOps ¥ Back-end ¥ SaaS ¥ Scalability ¥ Virtualization ¥ Web services. @johntron Tonight ¥ LAMP stack (not really) ¥ vi ¥ BASH tips ¥

@johntron

• command mode – ESC• insertion mode – i• line mode – :

vi(m)

Who thinks they don’t need a powerful, standard editor?

Page 12: DevOps! - files.meetup.com.pdf · ¥ DevOps ¥ Back-end ¥ SaaS ¥ Scalability ¥ Virtualization ¥ Web services. @johntron Tonight ¥ LAMP stack (not really) ¥ vi ¥ BASH tips ¥

@johntron

• Changing modes• Cutting, paste, copy• Multi-line operations• Saving and quitting

vi(m)

sudo vi /etc/ssh/sshd_configx:esci:<line>:$:1,$d:w:q

Page 13: DevOps! - files.meetup.com.pdf · ¥ DevOps ¥ Back-end ¥ SaaS ¥ Scalability ¥ Virtualization ¥ Web services. @johntron Tonight ¥ LAMP stack (not really) ¥ vi ¥ BASH tips ¥

@johntron

Job control

ctrl-zjobsbg 1fg 1%1# disable root login# disable password authentication# restart ssh

Page 14: DevOps! - files.meetup.com.pdf · ¥ DevOps ¥ Back-end ¥ SaaS ¥ Scalability ¥ Virtualization ¥ Web services. @johntron Tonight ¥ LAMP stack (not really) ¥ vi ¥ BASH tips ¥

@johntron

There’s no place like ~

Page 15: DevOps! - files.meetup.com.pdf · ¥ DevOps ¥ Back-end ¥ SaaS ¥ Scalability ¥ Virtualization ¥ Web services. @johntron Tonight ¥ LAMP stack (not really) ¥ vi ¥ BASH tips ¥

@johntron

Those who cannot remember the past are condemned to repeat it

– George Santayana

Page 16: DevOps! - files.meetup.com.pdf · ¥ DevOps ¥ Back-end ¥ SaaS ¥ Scalability ¥ Virtualization ¥ Web services. @johntron Tonight ¥ LAMP stack (not really) ¥ vi ¥ BASH tips ¥

@johntron

History

!!history!<number><up arrow>!!:s/sudo //history -cblah !$

Page 17: DevOps! - files.meetup.com.pdf · ¥ DevOps ¥ Back-end ¥ SaaS ¥ Scalability ¥ Virtualization ¥ Web services. @johntron Tonight ¥ LAMP stack (not really) ¥ vi ¥ BASH tips ¥

@johntron

Monit!

Who’s bored?sudo vi /etc/monit/monitrc# change delay# enable web consolesudo addgroup johntron monitman apache2# lookup pid locationsudo vi /etc/monit/conf.d/apache2http://mmonit.com/monit/documentation/monit.html#configuration_examples#change httpd to apache2sudo service apache2 stop

Page 18: DevOps! - files.meetup.com.pdf · ¥ DevOps ¥ Back-end ¥ SaaS ¥ Scalability ¥ Virtualization ¥ Web services. @johntron Tonight ¥ LAMP stack (not really) ¥ vi ¥ BASH tips ¥

company

posix_getpid()