SlideShare una empresa de Scribd logo
1 de 43
Descargar para leer sin conexión
MONTREAL 1/3 JULY 2011




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

•   What

•   Why

•   How

•   Q&A
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

Más contenido relacionado

La actualidad más candente

Cloud Capacity Management
Cloud Capacity ManagementCloud Capacity Management
Cloud Capacity Management
Precisely
 

La actualidad más candente (20)

OpenStack Quantum Intro (OS Meetup 3-26-12)
OpenStack Quantum Intro (OS Meetup 3-26-12)OpenStack Quantum Intro (OS Meetup 3-26-12)
OpenStack Quantum Intro (OS Meetup 3-26-12)
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Load Balance with NSX-T.pptx
Load Balance with NSX-T.pptxLoad Balance with NSX-T.pptx
Load Balance with NSX-T.pptx
 
Cloud Foundry Overview
Cloud Foundry OverviewCloud Foundry Overview
Cloud Foundry Overview
 
Cloud Capacity Management
Cloud Capacity ManagementCloud Capacity Management
Cloud Capacity Management
 
Drive into calico architecture
Drive into calico architectureDrive into calico architecture
Drive into calico architecture
 
Let’s get to know Snowflake
Let’s get to know SnowflakeLet’s get to know Snowflake
Let’s get to know Snowflake
 
HBaseCon 2015: HBase Performance Tuning @ Salesforce
HBaseCon 2015: HBase Performance Tuning @ SalesforceHBaseCon 2015: HBase Performance Tuning @ Salesforce
HBaseCon 2015: HBase Performance Tuning @ Salesforce
 
Openstack nova
Openstack novaOpenstack nova
Openstack nova
 
Cloud Application Development – The Future is now
Cloud Application Development – The Future is nowCloud Application Development – The Future is now
Cloud Application Development – The Future is now
 
Cloudstack for beginners
Cloudstack for beginnersCloudstack for beginners
Cloudstack for beginners
 
Automation with ansible
Automation with ansibleAutomation with ansible
Automation with ansible
 
Cloud Computing paradigm
Cloud Computing paradigmCloud Computing paradigm
Cloud Computing paradigm
 
Developing Microservices with Apache Camel
Developing Microservices with Apache CamelDeveloping Microservices with Apache Camel
Developing Microservices with Apache Camel
 
Introduction to OpenNebula - Ignacio M. Llorente
Introduction to OpenNebula - Ignacio M. LlorenteIntroduction to OpenNebula - Ignacio M. Llorente
Introduction to OpenNebula - Ignacio M. Llorente
 
Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)
 
Kubernetes Networking - Sreenivas Makam - Google - CC18
Kubernetes Networking - Sreenivas Makam - Google - CC18Kubernetes Networking - Sreenivas Makam - Google - CC18
Kubernetes Networking - Sreenivas Makam - Google - CC18
 
Virtualization Architecture & KVM
Virtualization Architecture & KVMVirtualization Architecture & KVM
Virtualization Architecture & KVM
 
OpenStack Best Practices and Considerations - terasky tech day
OpenStack Best Practices and Considerations  - terasky tech dayOpenStack Best Practices and Considerations  - terasky tech day
OpenStack Best Practices and Considerations - terasky tech day
 
Cloud stack troubleshooting
Cloud stack troubleshooting Cloud stack troubleshooting
Cloud stack troubleshooting
 

Similar a Deploying to Ubuntu on Linode

Similar a Deploying to Ubuntu on Linode (20)

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

Más de WO Community

In memory OLAP engine
In memory OLAP engineIn memory OLAP engine
In memory OLAP engine
WO Community
 
Using Nagios to monitor your WO systems
Using Nagios to monitor your WO systemsUsing Nagios to monitor your WO systems
Using Nagios to monitor your WO systems
WO Community
 
Build and deployment
Build and deploymentBuild and deployment
Build and deployment
WO Community
 
Chaining the Beast - Testing Wonder Applications in the Real World
Chaining the Beast - Testing Wonder Applications in the Real WorldChaining the Beast - Testing Wonder Applications in the Real World
Chaining the Beast - Testing Wonder Applications in the Real World
WO Community
 
D2W Stateful Controllers
D2W Stateful ControllersD2W Stateful Controllers
D2W Stateful Controllers
WO Community
 
Deploying WO on Windows
Deploying WO on WindowsDeploying WO on Windows
Deploying WO on Windows
WO Community
 
Unit Testing with WOUnit
Unit Testing with WOUnitUnit Testing with WOUnit
Unit Testing with WOUnit
WO Community
 
Apache Cayenne for WO Devs
Apache Cayenne for WO DevsApache Cayenne for WO Devs
Apache Cayenne for WO Devs
WO Community
 
Advanced Apache Cayenne
Advanced Apache CayenneAdvanced Apache Cayenne
Advanced Apache Cayenne
WO Community
 
Migrating existing Projects to Wonder
Migrating existing Projects to WonderMigrating existing Projects to Wonder
Migrating existing Projects to Wonder
WO Community
 
iOS for ERREST - alternative version
iOS for ERREST - alternative versioniOS for ERREST - alternative version
iOS for ERREST - alternative version
WO Community
 
"Framework Principal" pattern
"Framework Principal" pattern"Framework Principal" pattern
"Framework Principal" pattern
WO Community
 
Filtering data with D2W
Filtering data with D2W Filtering data with D2W
Filtering data with D2W
WO Community
 
Localizing your apps for multibyte languages
Localizing your apps for multibyte languagesLocalizing your apps for multibyte languages
Localizing your apps for multibyte languages
WO Community
 

Más de WO Community (20)

KAAccessControl
KAAccessControlKAAccessControl
KAAccessControl
 
In memory OLAP engine
In memory OLAP engineIn memory OLAP engine
In memory OLAP engine
 
Using Nagios to monitor your WO systems
Using Nagios to monitor your WO systemsUsing Nagios to monitor your WO systems
Using Nagios to monitor your WO systems
 
Build and deployment
Build and deploymentBuild and deployment
Build and deployment
 
High availability
High availabilityHigh availability
High availability
 
Reenabling SOAP using ERJaxWS
Reenabling SOAP using ERJaxWSReenabling SOAP using ERJaxWS
Reenabling SOAP using ERJaxWS
 
Chaining the Beast - Testing Wonder Applications in the Real World
Chaining the Beast - Testing Wonder Applications in the Real WorldChaining the Beast - Testing Wonder Applications in the Real World
Chaining the Beast - Testing Wonder Applications in the Real World
 
D2W Stateful Controllers
D2W Stateful ControllersD2W Stateful Controllers
D2W Stateful Controllers
 
Deploying WO on Windows
Deploying WO on WindowsDeploying WO on Windows
Deploying WO on Windows
 
Unit Testing with WOUnit
Unit Testing with WOUnitUnit Testing with WOUnit
Unit Testing with WOUnit
 
Life outside WO
Life outside WOLife outside WO
Life outside WO
 
Apache Cayenne for WO Devs
Apache Cayenne for WO DevsApache Cayenne for WO Devs
Apache Cayenne for WO Devs
 
Advanced Apache Cayenne
Advanced Apache CayenneAdvanced Apache Cayenne
Advanced Apache Cayenne
 
Migrating existing Projects to Wonder
Migrating existing Projects to WonderMigrating existing Projects to Wonder
Migrating existing Projects to Wonder
 
iOS for ERREST - alternative version
iOS for ERREST - alternative versioniOS for ERREST - alternative version
iOS for ERREST - alternative version
 
iOS for ERREST
iOS for ERRESTiOS for ERREST
iOS for ERREST
 
"Framework Principal" pattern
"Framework Principal" pattern"Framework Principal" pattern
"Framework Principal" pattern
 
Filtering data with D2W
Filtering data with D2W Filtering data with D2W
Filtering data with D2W
 
WOver
WOverWOver
WOver
 
Localizing your apps for multibyte languages
Localizing your apps for multibyte languagesLocalizing your apps for multibyte languages
Localizing your apps for multibyte languages
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 

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
  • 3.
  • 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