SlideShare une entreprise Scribd logo
1  sur  43
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Tendances (20)

MLops workshop AWS
MLops workshop AWSMLops workshop AWS
MLops workshop AWS
 
ABD317_Building Your First Big Data Application on AWS - ABD317
ABD317_Building Your First Big Data Application on AWS - ABD317ABD317_Building Your First Big Data Application on AWS - ABD317
ABD317_Building Your First Big Data Application on AWS - ABD317
 
Amazon SageMaker 모델 배포 방법 소개::김대근, AI/ML 스페셜리스트 솔루션즈 아키텍트, AWS::AWS AIML 스페셜 웨비나
Amazon SageMaker 모델 배포 방법 소개::김대근, AI/ML 스페셜리스트 솔루션즈 아키텍트, AWS::AWS AIML 스페셜 웨비나Amazon SageMaker 모델 배포 방법 소개::김대근, AI/ML 스페셜리스트 솔루션즈 아키텍트, AWS::AWS AIML 스페셜 웨비나
Amazon SageMaker 모델 배포 방법 소개::김대근, AI/ML 스페셜리스트 솔루션즈 아키텍트, AWS::AWS AIML 스페셜 웨비나
 
Machine Learning Operations & Azure
Machine Learning Operations & AzureMachine Learning Operations & Azure
Machine Learning Operations & Azure
 
Load balancing and Service in Kubernetes
Load balancing and Service in KubernetesLoad balancing and Service in Kubernetes
Load balancing and Service in Kubernetes
 
AWS Elastic Container Registry
AWS Elastic Container RegistryAWS Elastic Container Registry
AWS Elastic Container Registry
 
Firebase
FirebaseFirebase
Firebase
 
Getting Started on AWS
Getting Started on AWS Getting Started on AWS
Getting Started on AWS
 
Curry functions in Javascript
Curry functions in JavascriptCurry functions in Javascript
Curry functions in Javascript
 
Building Your First Graph Application with Amazon Neptune - Workshop (DAT310-...
Building Your First Graph Application with Amazon Neptune - Workshop (DAT310-...Building Your First Graph Application with Amazon Neptune - Workshop (DAT310-...
Building Your First Graph Application with Amazon Neptune - Workshop (DAT310-...
 
Introduction to Google Cloud Services / Platforms
Introduction to Google Cloud Services / PlatformsIntroduction to Google Cloud Services / Platforms
Introduction to Google Cloud Services / Platforms
 
Puppet overview
Puppet overviewPuppet overview
Puppet overview
 
Nagios XI Best Practices
Nagios XI Best PracticesNagios XI Best Practices
Nagios XI Best Practices
 
AWS_Meetup_BLR_July_22_Social.pdf
AWS_Meetup_BLR_July_22_Social.pdfAWS_Meetup_BLR_July_22_Social.pdf
AWS_Meetup_BLR_July_22_Social.pdf
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
Intro to AWS: Database Services
Intro to AWS: Database ServicesIntro to AWS: Database Services
Intro to AWS: Database Services
 
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트) IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
 
Introduction to Chaos Engineering with Microsoft Azure
Introduction to Chaos Engineering with Microsoft AzureIntroduction to Chaos Engineering with Microsoft Azure
Introduction to Chaos Engineering with Microsoft Azure
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring Boot
 
Exploiting IAM in the google cloud platform - dani_goland_mohsan_farid
Exploiting IAM in the google cloud platform - dani_goland_mohsan_faridExploiting IAM in the google cloud platform - dani_goland_mohsan_farid
Exploiting IAM in the google cloud platform - dani_goland_mohsan_farid
 

Similaire à Deploying to Ubuntu on Linode

Similaire à 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
 
Automation with ansible
Automation with ansibleAutomation with ansible
Automation with ansible
 
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...
 

Plus 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
 

Plus 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
 

Dernier

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Dernier (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 

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