SlideShare a Scribd company logo
MONTREAL 1/3 JULY 2011




Deploying to Ubuntu on Linode
David LeBer
Align Software Inc.
Overview

•   What

•   Why

•   How

•   Q&A
Deploying to Ubuntu on Linode
Linode Overview
•   VPS Supplier

•   Xen Virtualized Servers

•   Multiple available Linux Distros

•   Distributed data centers (1 x UK, 4 x USA)

•   Multiple Linode sizes

•   Pro-rated billing
Linode Sizes
Why Linode
•   Familiar distros (Ubuntu 10.04 LTS)

•   Pricing

•   Pooled bandwidth

•   Awesome performance (IO and network)

•   Private network access

•   Free DNS

•   Virtual console (Lish)
Linode Creation
Creating a Linode - 1
Creating a Linode - 2
Creating a Linode - 3
Creating a Linode - 4
Creating a Linode - 5
Creating a Linode - 6
Creating a Linode - 7
Creating a Linode - 8
KEEP NOTES!
Preliminary Setup
•   Apply Updates:

    •   sudo apt-get update

    •   sudo apt-get upgrade --show-upgradegraded

•   Set hostname

    •   echo "demo" > /etc/hostname

    •   hostname -F /etc/hostname
Preliminary Setup
•   Configure Network:

    •   Add private IP

    •   sudo nano /etc/network/interfaces

•   Edit hosts file

    •   nano /etc/hosts

•   Configure DNS
Preliminary Setup

•   Set Timezone

    •   dpkg-reconfigure tzdata

•   Create admin user

    •   adduser admin
Preliminary Setup

•   Add admin user to /etc/sudoers

    •   visudo

    •   add “admin ALL=(ALL) ALL” to User priveleges

•   Test ssh login with admin

•   Test sudo with admin
Secure SSH
•   On Linode (as admin)

    •   cd ~

    •   mkdir .ssh

•   On local machine

    •   ssh-keygen -t dsa

    •   ssh admin@demo.domain.com "echo `cat ~/.ssh/id_dsa.pub`
        >> ~/.ssh/authorized_keys"
Secure SSH
•   Test login

•   sudo nano /etc/ssh/sshd_config

    •   Change port: Port 22022

    •   Disable root login: PermitRootLogin no

    •   Allow only admin user: AllowUsers admin

    •   Disable password auth: PasswordAuthentication no
Secure SSH


•   Restart: sudo /etc/init.d/ssh restart

•   Do not close terminal!

•   Test login
Firewall

•   sudo apt-get install ufw

•   sudo ufw allow 22022

•   sudo ufw allow 80

•   sudo ufw allow ...

•   sudo ufw enable
Oh Crap!
Linode Typical Types
 512
Apache                         2048
 PHP                          MySQL


 1024
Apache                512
wotaskd             Jenkins
 apps                 SVN
           512
          Monitor
Install Java

•   sudo echo "deb http://archive.canonical.com/ lucid partnern
    deb-src http://archive.canonical.com/ lucid partner " >> /etc/apt/
    sources.list

•   apt-get update

•   apt-get install sun-java6-jdk
Installing Software


•   Ubuntu - apt-get

•   Linode Library
Linode StackScripts

•   Scripts to automate Linode setup

•   Hooks for user input

•   Extensive library

•   Create your own

•   API for external control
Install WO Frameworks



•   Wait... Actually don’t.
Prepare for WO Apps


•   Apache 2.2?

•   Apache Adapter?
Build Apache Adaptor

•   Curl Wonder source from webobjects.mdimension.com

•   cd Wonder/Utilities/Adaptors/

•   nano make.config and change ADAPTOR_OS

•   remove srandomdev() call as per wiki

•   make and install as per wiki
Prepare WO Directories


•   mkdir -p /opt/Library/WebObjects/JavaApplications/

•   mkdir -p /opt/Local/Library/WebObjects/Applications/

•   mkdir -p /opt/Local/Library/Logs/
Generate WO Users


•   sudo groupadd appserveradm

•   sudo useradd -g appserveradm appserver
Install wotaskd


•   Curl wotaskd.woa.tar.gz from webobjects.mdiminsion.com

•   untar and mv into /opt/Library/WebObjects/JavaApplications/

•   Fix permissions
Install JavaMonitor


•   Curl JavaMonitor.woa.tar.gz from webobjects.mdiminsion.com

•   untar and mv into /opt/Library/WebObjects/JavaApplications/

•   Fix permissions
Ubuntu Upstart


•   Replacement for rc.d scripts

•   Similar in concept to launchd

•   Can perform auto relaunch
Upstart Example
Upstart


•   File /etc/init/webobjects.conf

•   Started with:

    •   services webobjects start
WO App Installation

•   Curl the app.woa from the build server

•   Untar and mv to /opt/Local/Library/WebObjects/Applications/

•   Curl the WSR app.woa from the build server

•   Untar and mv to /srv/www/xxx.com/public_html/WebObjects/

•   Fix permissions
Linode Performance Tuning

•   Choose the correct size Linode for the job

•   Tune config for the service

    •   Apache

    •   MySQL

•   Linode Library as lots of tips
Linode Backup

•   Linode offers a file system level backup service

•   Enabled per Linode ($5 - $40/mo)

•   4 Snapshots (today, 1 weekly, 2 week, user triggered)

•   DB export may be required for full coverage
MONTREAL 1/3 JULY 2011




Q&A

More Related Content

PPTX
Various Cloud offerings AWS/AZURE/GCP
PDF
NIST Cloud Computing Standards
PPTX
Getting Started with Azure Artifacts
PPTX
IBM MQ vs Apache ActiveMQ
PDF
Load balancing and Service in Kubernetes
PPTX
Cloud Computing Training PPT
PDF
aws caf ebook.pdf
PPSX
Key Challenges In CLOUD COMPUTING
Various Cloud offerings AWS/AZURE/GCP
NIST Cloud Computing Standards
Getting Started with Azure Artifacts
IBM MQ vs Apache ActiveMQ
Load balancing and Service in Kubernetes
Cloud Computing Training PPT
aws caf ebook.pdf
Key Challenges In CLOUD COMPUTING

What's hot (20)

DOCX
Case study on cloud computing
PPTX
Presentation on Cloud computing
PPTX
Cloud Deployment Model
PPTX
Basics of Cloud Computing
PDF
Cloud computing saas
PDF
Resilient Design Using Queue Theory
PPTX
Research in Cloud Computing
PPTX
Types of cloud computing
PPT
Introduction To Cloud Computing
PPTX
Cloud Computing Architecture
PPTX
Human Computer Interaction (HCI)
PPTX
What Is Cloud Computing? | Cloud Computing For Beginners | Cloud Computing Tr...
PPTX
Cloud computing
PPTX
Cloud computing
PDF
Cluster Schedulers
PDF
Cloud Computing Risk Management (Multi Venue)
PDF
How to Containerize WebSphere Application Server Traditional, and Why You Mig...
PPT
A Study on:Green Cloud Computing
PPTX
Cloud Service Models
PPSX
History of computers
Case study on cloud computing
Presentation on Cloud computing
Cloud Deployment Model
Basics of Cloud Computing
Cloud computing saas
Resilient Design Using Queue Theory
Research in Cloud Computing
Types of cloud computing
Introduction To Cloud Computing
Cloud Computing Architecture
Human Computer Interaction (HCI)
What Is Cloud Computing? | Cloud Computing For Beginners | Cloud Computing Tr...
Cloud computing
Cloud computing
Cluster Schedulers
Cloud Computing Risk Management (Multi Venue)
How to Containerize WebSphere Application Server Traditional, and Why You Mig...
A Study on:Green Cloud Computing
Cloud Service Models
History of computers
Ad

Similar to Deploying to Ubuntu on Linode (20)

PDF
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)
PDF
Road to Opscon (Pisa '15) - DevOoops
PDF
Automation with ansible
PPTX
Detailed Introduction To Docker
PDF
VMware, SoftLayer, OpenStack, Heat, Cloud Foundry and Docker put together
PDF
Building with Virtual Development Environments
PDF
DevOPS training - Day 2/2
PPTX
Vagrant + Docker
PPTX
Docker introduction
PPTX
PDF
Virtualization with Vagrant (ua.pycon 2011)
PDF
Killer Docker Workflows for Development
ODP
Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...
PDF
Introduction to docker
PDF
IT Automation with Ansible
PDF
Deep Dive into the AOSP
PDF
Building with Virtual Development Environments
KEY
20100425 Configuration Management With Puppet Lfnw
PDF
Docker module 1
ODP
Nagios Conference 2014 - Mike Weber - Expanding NRDS Capabilities on Linux Sy...
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)
Road to Opscon (Pisa '15) - DevOoops
Automation with ansible
Detailed Introduction To Docker
VMware, SoftLayer, OpenStack, Heat, Cloud Foundry and Docker put together
Building with Virtual Development Environments
DevOPS training - Day 2/2
Vagrant + Docker
Docker introduction
Virtualization with Vagrant (ua.pycon 2011)
Killer Docker Workflows for Development
Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...
Introduction to docker
IT Automation with Ansible
Deep Dive into the AOSP
Building with Virtual Development Environments
20100425 Configuration Management With Puppet Lfnw
Docker module 1
Nagios Conference 2014 - Mike Weber - Expanding NRDS Capabilities on Linux Sy...
Ad

More from WO Community (20)

PDF
KAAccessControl
PDF
In memory OLAP engine
PDF
Using Nagios to monitor your WO systems
PDF
Build and deployment
PDF
High availability
PDF
Reenabling SOAP using ERJaxWS
PDF
Chaining the Beast - Testing Wonder Applications in the Real World
PDF
D2W Stateful Controllers
PDF
Deploying WO on Windows
PDF
Unit Testing with WOUnit
PDF
Life outside WO
PDF
Apache Cayenne for WO Devs
PDF
Advanced Apache Cayenne
PDF
Migrating existing Projects to Wonder
PDF
iOS for ERREST - alternative version
PDF
iOS for ERREST
PDF
"Framework Principal" pattern
PDF
Filtering data with D2W
PDF
PDF
Localizing your apps for multibyte languages
KAAccessControl
In memory OLAP engine
Using Nagios to monitor your WO systems
Build and deployment
High availability
Reenabling SOAP using ERJaxWS
Chaining the Beast - Testing Wonder Applications in the Real World
D2W Stateful Controllers
Deploying WO on Windows
Unit Testing with WOUnit
Life outside WO
Apache Cayenne for WO Devs
Advanced Apache Cayenne
Migrating existing Projects to Wonder
iOS for ERREST - alternative version
iOS for ERREST
"Framework Principal" pattern
Filtering data with D2W
Localizing your apps for multibyte languages

Recently uploaded (20)

PDF
Modernizing your data center with Dell and AMD
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
Cloud computing and distributed systems.
PPTX
MYSQL Presentation for SQL database connectivity
PDF
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Advanced IT Governance
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
KodekX | Application Modernization Development
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Machine learning based COVID-19 study performance prediction
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
NewMind AI Monthly Chronicles - July 2025
Modernizing your data center with Dell and AMD
Understanding_Digital_Forensics_Presentation.pptx
Cloud computing and distributed systems.
MYSQL Presentation for SQL database connectivity
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
The AUB Centre for AI in Media Proposal.docx
NewMind AI Weekly Chronicles - August'25 Week I
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Diabetes mellitus diagnosis method based random forest with bat algorithm
“AI and Expert System Decision Support & Business Intelligence Systems”
Advanced IT Governance
Unlocking AI with Model Context Protocol (MCP)
20250228 LYD VKU AI Blended-Learning.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
KodekX | Application Modernization Development
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Machine learning based COVID-19 study performance prediction
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
NewMind AI Monthly Chronicles - July 2025

Deploying to Ubuntu on Linode

  • 1. MONTREAL 1/3 JULY 2011 Deploying to Ubuntu on Linode David LeBer Align Software Inc.
  • 2. Overview • What • Why • How • Q&A
  • 4. Linode Overview • VPS Supplier • Xen Virtualized Servers • Multiple available Linux Distros • Distributed data centers (1 x UK, 4 x USA) • Multiple Linode sizes • Pro-rated billing
  • 6. Why Linode • Familiar distros (Ubuntu 10.04 LTS) • Pricing • Pooled bandwidth • Awesome performance (IO and network) • Private network access • Free DNS • Virtual console (Lish)
  • 17. Preliminary Setup • Apply Updates: • sudo apt-get update • sudo apt-get upgrade --show-upgradegraded • Set hostname • echo "demo" > /etc/hostname • hostname -F /etc/hostname
  • 18. Preliminary Setup • Configure Network: • Add private IP • sudo nano /etc/network/interfaces • Edit hosts file • nano /etc/hosts • Configure DNS
  • 19. Preliminary Setup • Set Timezone • dpkg-reconfigure tzdata • Create admin user • adduser admin
  • 20. Preliminary Setup • Add admin user to /etc/sudoers • visudo • add “admin ALL=(ALL) ALL” to User priveleges • Test ssh login with admin • Test sudo with admin
  • 21. Secure SSH • On Linode (as admin) • cd ~ • mkdir .ssh • On local machine • ssh-keygen -t dsa • ssh admin@demo.domain.com "echo `cat ~/.ssh/id_dsa.pub` >> ~/.ssh/authorized_keys"
  • 22. Secure SSH • Test login • sudo nano /etc/ssh/sshd_config • Change port: Port 22022 • Disable root login: PermitRootLogin no • Allow only admin user: AllowUsers admin • Disable password auth: PasswordAuthentication no
  • 23. Secure SSH • Restart: sudo /etc/init.d/ssh restart • Do not close terminal! • Test login
  • 24. Firewall • sudo apt-get install ufw • sudo ufw allow 22022 • sudo ufw allow 80 • sudo ufw allow ... • sudo ufw enable
  • 26. Linode Typical Types 512 Apache 2048 PHP MySQL 1024 Apache 512 wotaskd Jenkins apps SVN 512 Monitor
  • 27. Install Java • sudo echo "deb http://archive.canonical.com/ lucid partnern deb-src http://archive.canonical.com/ lucid partner " >> /etc/apt/ sources.list • apt-get update • apt-get install sun-java6-jdk
  • 28. Installing Software • Ubuntu - apt-get • Linode Library
  • 29. Linode StackScripts • Scripts to automate Linode setup • Hooks for user input • Extensive library • Create your own • API for external control
  • 30. Install WO Frameworks • Wait... Actually don’t.
  • 31. Prepare for WO Apps • Apache 2.2? • Apache Adapter?
  • 32. Build Apache Adaptor • Curl Wonder source from webobjects.mdimension.com • cd Wonder/Utilities/Adaptors/ • nano make.config and change ADAPTOR_OS • remove srandomdev() call as per wiki • make and install as per wiki
  • 33. Prepare WO Directories • mkdir -p /opt/Library/WebObjects/JavaApplications/ • mkdir -p /opt/Local/Library/WebObjects/Applications/ • mkdir -p /opt/Local/Library/Logs/
  • 34. Generate WO Users • sudo groupadd appserveradm • sudo useradd -g appserveradm appserver
  • 35. Install wotaskd • Curl wotaskd.woa.tar.gz from webobjects.mdiminsion.com • untar and mv into /opt/Library/WebObjects/JavaApplications/ • Fix permissions
  • 36. Install JavaMonitor • Curl JavaMonitor.woa.tar.gz from webobjects.mdiminsion.com • untar and mv into /opt/Library/WebObjects/JavaApplications/ • Fix permissions
  • 37. Ubuntu Upstart • Replacement for rc.d scripts • Similar in concept to launchd • Can perform auto relaunch
  • 39. Upstart • File /etc/init/webobjects.conf • Started with: • services webobjects start
  • 40. WO App Installation • Curl the app.woa from the build server • Untar and mv to /opt/Local/Library/WebObjects/Applications/ • Curl the WSR app.woa from the build server • Untar and mv to /srv/www/xxx.com/public_html/WebObjects/ • Fix permissions
  • 41. Linode Performance Tuning • Choose the correct size Linode for the job • Tune config for the service • Apache • MySQL • Linode Library as lots of tips
  • 42. Linode Backup • Linode offers a file system level backup service • Enabled per Linode ($5 - $40/mo) • 4 Snapshots (today, 1 weekly, 2 week, user triggered) • DB export may be required for full coverage
  • 43. MONTREAL 1/3 JULY 2011 Q&A