This document provides instructions for setting up a multi-engine environment with Apache, ColdFusion, and Railo. It explains how to install and configure Apache as the web server controller to pass requests to the appropriate engine. Key steps include extracting the connection configuration from ColdFusion installers, changing ports to avoid clashes, including modules and virtual hosts, and saving configuration snippets to external include files for reuse across websites.
The shift to cloud computing means that organizations are undergoing a major shift as they develop scale-out infrastructure that can respond to apace of business change faster than ever before. Opscode Chef® is an open-source systems integration framework build specifically for
automating the cloud by making it easy to deploy and scale servers and applications throughout your infrastructure. Join us for this session
containing an introduction to Chef including:
An Overview of Chef
The Chef Architecture
Cookbook Components
System Integration
Live demo launching a Java Stack on Amazon EC2, Rackspace, Ubuntu, and
CentOS
[Presented as part of the Open Source Build a Cloud program on 2/29/2012 - http://cloudstack.org/about-cloudstack/cloudstack-events.html?categoryid=6]
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!MongoDB
Oh no! My backups aren't progressing! If something happens in production now, and I don't have current backups, I'll be out of a job for sure!
If these words resonate with you, don’t worry; you’re not the only one! Backup issues are one of the most common topics we deal with in Technical Services. In this talk, we will go through the backup flow, talk about where things might go wrong, and the symptoms you will see in the logs and the UI. We will also talk about other commands you can run to confirm the diagnosis, and how support can assist if you’re still stuck. Finally, we will talk about the new backup architecture in 4.2 and how it simplifies some of these concerns. This session is suitable for those with all levels of Ops Manager experience, but attendees should have a basic understanding of MongoDB’s replication process before attending this session.
After this talk, you will have leveled up your backup superpowers, and can swoop in to save your job (and the day)!
Current session guides through Vagrant. Shows some tips and tricks and targeted to software developers.
Practical activities can be found here: https://github.com/akranga/devops-hackathon-1
The shift to cloud computing means that organizations are undergoing a major shift as they develop scale-out infrastructure that can respond to apace of business change faster than ever before. Opscode Chef® is an open-source systems integration framework build specifically for
automating the cloud by making it easy to deploy and scale servers and applications throughout your infrastructure. Join us for this session
containing an introduction to Chef including:
An Overview of Chef
The Chef Architecture
Cookbook Components
System Integration
Live demo launching a Java Stack on Amazon EC2, Rackspace, Ubuntu, and
CentOS
[Presented as part of the Open Source Build a Cloud program on 2/29/2012 - http://cloudstack.org/about-cloudstack/cloudstack-events.html?categoryid=6]
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!MongoDB
Oh no! My backups aren't progressing! If something happens in production now, and I don't have current backups, I'll be out of a job for sure!
If these words resonate with you, don’t worry; you’re not the only one! Backup issues are one of the most common topics we deal with in Technical Services. In this talk, we will go through the backup flow, talk about where things might go wrong, and the symptoms you will see in the logs and the UI. We will also talk about other commands you can run to confirm the diagnosis, and how support can assist if you’re still stuck. Finally, we will talk about the new backup architecture in 4.2 and how it simplifies some of these concerns. This session is suitable for those with all levels of Ops Manager experience, but attendees should have a basic understanding of MongoDB’s replication process before attending this session.
After this talk, you will have leveled up your backup superpowers, and can swoop in to save your job (and the day)!
Current session guides through Vagrant. Shows some tips and tricks and targeted to software developers.
Practical activities can be found here: https://github.com/akranga/devops-hackathon-1
Arnold Bechtoldt, Inovex GmbH Linux systems engineer - Configuration Manageme...SaltStack
Arnold gave this presentation at the Secure Linux Admin Conference in Berlin Germany. He provides an overview of what configuration management systems do, explains the fundamentals of SaltStack and provides a look inside.
The following article is the best simplified steps that will help you install and configure LEMP stack. its written by one of the genius engineers or Rootgate.com
SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Depl...SaltStack
Deployment is often omitted from configuration management and orchestration, which typically focuses on the infrastructure and not the core application that the infrastructure supports. This presentation will give an overview of a deployment system I wrote using SaltStack to provide immediately consistent deployment for software. The deployment system has the ability for manual deploys or for continuous deployments using a Heroku-like workflow. It has support for multiple deployment schemes, with a default of Git deployment. The deployment system uses a combination of Salt peer runner calls, runners, modules, returners, pillars and grains as well as a deployment host running Apache, Sartoris (a git-deploy frontend), and Redis (for reporting).
SaltConf14 - Ben Cane - Using SaltStack in High Availability EnvironmentsSaltStack
An overview on the benefits and best practices of using SaltStack for consistency and automation in highly available enterprise environments such as financial services.
Puppet Camp Berlin 2015: Pedro Pessoa | Puppet at the center of everything - ...NETWAYS
Pedro shows a short overview on how they use puppet at Server Density to manage the entire infrastructure and code, content mostly taken from previous presentations.
The focus will be on how to reduce the 4-year-old code base while making more use of forge modules while migrating to Puppet Enterprise 3.
Training Slides: Basics 106: Tungsten Dashboard Overview, Installation and Ar...Continuent
In this training session, we'll provide a Tungsten Dashboard overview and discuss architecture, pre-requisites and security limitations. A simple GUI management tool for Tungsten Clustering for MySQL / MariaDB / Percona Server, the Dashboard is usually installed on a standalone web server with HAProxy installed. This training session uses an example of a 6-node composite cluster.
AGENDA
- Tungsten Dashboard Welcome
- Tungsten Dashboard Overview
- Tungsten Dashboard Prerequisites
- Tungsten Dashboard Security Limitations
- Configure the Tungsten Cluster Manager API
- Test Connectivity to the Tungsten Manager API Directly
- Install the Tungsten Dashboard
- Install and Configure the Apache 2.4 Web Server
- Configure the Tungsten Dashboard
- Install and Configure HAProxy
- Test Connectivity to the Tungsten Manager API via HAProxy
- Access the Tungsten Dashboard GUI via a Browser
Setting up your Multi Engine Environment - Apache Railo and ColdFusionGavin Pickin
Presented at cf.Objective() May 2014.
More info and resources related to presentation available here
http://www.gpickin.com/cfo2014/
Description of Target Audience
Are you a developer looking to setup Multiple CFML Engines in your Development or Server Environment, and after reading all of the different blogs out there, just want a walk through, to help clear things up, well, this session is for you.
Assumed Knowledge
None required, although basic installation / configuration or a web server and cfml engine would be easier to follow along.
Objective of the Topic
To give the audience all the knowledge and resources they need to be able to go home and install their own multiple cfml engine environment.
This topic will help walk the audience through dos and don'ts, and with a step by step on how to get Apache, Railo and Coldfusion to all play nicely together. There are many blogs out there showing users how to set up one engine, or another, but this session will help clear up the process. We will install Apache and connect to Coldfusion, Railo and a Railo Cluster, and install a small App to help manage the Websites, Apache, and Connectors, to save you diving into the CONF files continuously.
Why am I qualified to Present
I have been programming Coldfusion for over 14 years, and having been Team Lead and responsible for Server Install, Maint and Configuration for the last 13 years at 2 companies, I have been involved with the day to day coding in Coldfusion, but also the one in the firing line if Coldfusion server is not performing as required.
Recently my team and I have undertaken a migration Project of 100+ CFML websites (varying types and age), in which testing multiple CFML engines was required, I setup our Dev Staging and Production servers, as well as our Local Developer environments.
I built a couple of tools to help manage the setup, which I will share with the audience.
What Will the Audience Learn
- Basic Apache Config
- How to Install Coldfusion and extract the Connector
- How to Install Railo (instances) and extract the Connector
- How to Setup and Connect to a Railo Cluster
- How to edit the Apache and Tomcat Conf files to make them easier to maintain
- How to use my small App to Manage the Apache / Tomcat configurations
In this article we will be showing you the complete deployment steps of Clojure Web Application on Ubuntu 14.04.
Presented by VEXXHOST, provider of Openstack based Public and Private Cloud Infrastructure
https://vexxhost.com/
Arnold Bechtoldt, Inovex GmbH Linux systems engineer - Configuration Manageme...SaltStack
Arnold gave this presentation at the Secure Linux Admin Conference in Berlin Germany. He provides an overview of what configuration management systems do, explains the fundamentals of SaltStack and provides a look inside.
The following article is the best simplified steps that will help you install and configure LEMP stack. its written by one of the genius engineers or Rootgate.com
SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Depl...SaltStack
Deployment is often omitted from configuration management and orchestration, which typically focuses on the infrastructure and not the core application that the infrastructure supports. This presentation will give an overview of a deployment system I wrote using SaltStack to provide immediately consistent deployment for software. The deployment system has the ability for manual deploys or for continuous deployments using a Heroku-like workflow. It has support for multiple deployment schemes, with a default of Git deployment. The deployment system uses a combination of Salt peer runner calls, runners, modules, returners, pillars and grains as well as a deployment host running Apache, Sartoris (a git-deploy frontend), and Redis (for reporting).
SaltConf14 - Ben Cane - Using SaltStack in High Availability EnvironmentsSaltStack
An overview on the benefits and best practices of using SaltStack for consistency and automation in highly available enterprise environments such as financial services.
Puppet Camp Berlin 2015: Pedro Pessoa | Puppet at the center of everything - ...NETWAYS
Pedro shows a short overview on how they use puppet at Server Density to manage the entire infrastructure and code, content mostly taken from previous presentations.
The focus will be on how to reduce the 4-year-old code base while making more use of forge modules while migrating to Puppet Enterprise 3.
Training Slides: Basics 106: Tungsten Dashboard Overview, Installation and Ar...Continuent
In this training session, we'll provide a Tungsten Dashboard overview and discuss architecture, pre-requisites and security limitations. A simple GUI management tool for Tungsten Clustering for MySQL / MariaDB / Percona Server, the Dashboard is usually installed on a standalone web server with HAProxy installed. This training session uses an example of a 6-node composite cluster.
AGENDA
- Tungsten Dashboard Welcome
- Tungsten Dashboard Overview
- Tungsten Dashboard Prerequisites
- Tungsten Dashboard Security Limitations
- Configure the Tungsten Cluster Manager API
- Test Connectivity to the Tungsten Manager API Directly
- Install the Tungsten Dashboard
- Install and Configure the Apache 2.4 Web Server
- Configure the Tungsten Dashboard
- Install and Configure HAProxy
- Test Connectivity to the Tungsten Manager API via HAProxy
- Access the Tungsten Dashboard GUI via a Browser
Setting up your Multi Engine Environment - Apache Railo and ColdFusionGavin Pickin
Presented at cf.Objective() May 2014.
More info and resources related to presentation available here
http://www.gpickin.com/cfo2014/
Description of Target Audience
Are you a developer looking to setup Multiple CFML Engines in your Development or Server Environment, and after reading all of the different blogs out there, just want a walk through, to help clear things up, well, this session is for you.
Assumed Knowledge
None required, although basic installation / configuration or a web server and cfml engine would be easier to follow along.
Objective of the Topic
To give the audience all the knowledge and resources they need to be able to go home and install their own multiple cfml engine environment.
This topic will help walk the audience through dos and don'ts, and with a step by step on how to get Apache, Railo and Coldfusion to all play nicely together. There are many blogs out there showing users how to set up one engine, or another, but this session will help clear up the process. We will install Apache and connect to Coldfusion, Railo and a Railo Cluster, and install a small App to help manage the Websites, Apache, and Connectors, to save you diving into the CONF files continuously.
Why am I qualified to Present
I have been programming Coldfusion for over 14 years, and having been Team Lead and responsible for Server Install, Maint and Configuration for the last 13 years at 2 companies, I have been involved with the day to day coding in Coldfusion, but also the one in the firing line if Coldfusion server is not performing as required.
Recently my team and I have undertaken a migration Project of 100+ CFML websites (varying types and age), in which testing multiple CFML engines was required, I setup our Dev Staging and Production servers, as well as our Local Developer environments.
I built a couple of tools to help manage the setup, which I will share with the audience.
What Will the Audience Learn
- Basic Apache Config
- How to Install Coldfusion and extract the Connector
- How to Install Railo (instances) and extract the Connector
- How to Setup and Connect to a Railo Cluster
- How to edit the Apache and Tomcat Conf files to make them easier to maintain
- How to use my small App to Manage the Apache / Tomcat configurations
In this article we will be showing you the complete deployment steps of Clojure Web Application on Ubuntu 14.04.
Presented by VEXXHOST, provider of Openstack based Public and Private Cloud Infrastructure
https://vexxhost.com/
Covers overview of CoreOS and current status of CoreOS projects. Presented at Open source meetup, Bangalore(http://www.meetup.com/Bangalore-Open-Source-Meetup/events/229763724/)
Learn Red Hat Enterprise Linux 7.1 for IBM z Systems by Examples. This session shows what's new in the installation method, systemd management, rescue mode and how to use the automatic LUN scanning for NPIV FCP devices.
SenchaCon 2016: Develop, Test & Deploy with Docker - Jonas Schwabe Sencha
Have you ever heard the phrase: "Everything works fine on my machine?" Docker is here to rescue you. Running your toolchain, Ext JS application, back-end server, and even your database - all in a standardized container format that can be transported and reused, throughout your process. In this session, you will learn how to automate a typical workflow, including developing, testing, and deploying, by using Docker containers and common continuous integration solutions.
A new tool for measuring performance in Drupal 8 - Drupal Dev Days MontpellierLuca Lusso
Discovering software bottlenecks is always a difficult task, but detecting them in Drupal can be a real nightmare. A simple contrib module can cause a lot of database queries, service instantiations or events to be triggered.
Classic debug tools like xDebug or XHProf fail to report those kinds of problems because they work at a lower level and they don't have any knowledge of Drupal internal structures.
Luckly Drupal 8 is built on Symfony 2 components and one of those components (the HTTP Kernel) provides the infrastructure for build custom profilers.
In this talk we'll see how to build a profiler to analyze the internal data structures of Drupal 8 and how to exend the profiler to add new data collectors.
The code is available as Drupal 8 module here: http://www.drupal.org/project/webprofiler
Similar to Setting up your multiengine environment Apache Railo ColdFusion (20)
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeAftab Hussain
Understanding variable roles in code has been found to be helpful by students
in learning programming -- could variable roles help deep neural models in
performing coding tasks? We do an exploratory study.
- These are slides of the talk given at InteNSE'23: The 1st International Workshop on Interpretability and Robustness in Neural Software Engineering, co-located with the 45th International Conference on Software Engineering, ICSE 2023, Melbourne Australia
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Crescat
Crescat is industry-trusted event management software, built by event professionals for event professionals. Founded in 2017, we have three key products tailored for the live event industry.
Crescat Event for concert promoters and event agencies. Crescat Venue for music venues, conference centers, wedding venues, concert halls and more. And Crescat Festival for festivals, conferences and complex events.
With a wide range of popular features such as event scheduling, shift management, volunteer and crew coordination, artist booking and much more, Crescat is designed for customisation and ease-of-use.
Over 125,000 events have been planned in Crescat and with hundreds of customers of all shapes and sizes, from boutique event agencies through to international concert promoters, Crescat is rigged for success. What's more, we highly value feedback from our users and we are constantly improving our software with updates, new features and improvements.
If you plan events, run a venue or produce festivals and you're looking for ways to make your life easier, then we have a solution for you. Try our software for free or schedule a no-obligation demo with one of our product specialists today at crescat.io
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
Large Language Models (LLMs) are currently the center of attention in the tech world, particularly for their potential to advance research. In this presentation, we'll explore a straightforward and effective method for quickly initiating inference runs on supercomputers using the vLLM tool with Globus Compute, specifically on the Polaris system at ALCF. We'll begin by briefly discussing the popularity and applications of LLMs in various fields. Following this, we will introduce the vLLM tool, and explain how it integrates with Globus Compute to efficiently manage LLM operations on Polaris. Attendees will learn the practical aspects of setting up and remotely triggering LLMs from local machines, focusing on ease of use and efficiency. This talk is ideal for researchers and practitioners looking to leverage the power of LLMs in their work, offering a clear guide to harnessing supercomputing resources for quick and effective LLM inference.
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
Mobile App Development Company In Noida | Drona InfotechDrona Infotech
Looking for a reliable mobile app development company in Noida? Look no further than Drona Infotech. We specialize in creating customized apps for your business needs.
Visit Us For : https://www.dronainfotech.com/mobile-application-development/
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppGoogle
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-fusion-buddy-review
AI Fusion Buddy Review: Key Features
✅Create Stunning AI App Suite Fully Powered By Google's Latest AI technology, Gemini
✅Use Gemini to Build high-converting Converting Sales Video Scripts, ad copies, Trending Articles, blogs, etc.100% unique!
✅Create Ultra-HD graphics with a single keyword or phrase that commands 10x eyeballs!
✅Fully automated AI articles bulk generation!
✅Auto-post or schedule stunning AI content across all your accounts at once—WordPress, Facebook, LinkedIn, Blogger, and more.
✅With one keyword or URL, generate complete websites, landing pages, and more…
✅Automatically create & sell AI content, graphics, websites, landing pages, & all that gets you paid non-stop 24*7.
✅Pre-built High-Converting 100+ website Templates and 2000+ graphic templates logos, banners, and thumbnail images in Trending Niches.
✅Say goodbye to wasting time logging into multiple Chat GPT & AI Apps once & for all!
✅Save over $5000 per year and kick out dependency on third parties completely!
✅Brand New App: Not available anywhere else!
✅ Beginner-friendly!
✅ZERO upfront cost or any extra expenses
✅Risk-Free: 30-Day Money-Back Guarantee!
✅Commercial License included!
See My Other Reviews Article:
(1) AI Genie Review: https://sumonreview.com/ai-genie-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
#AIFusionBuddyReview,
#AIFusionBuddyFeatures,
#AIFusionBuddyPricing,
#AIFusionBuddyProsandCons,
#AIFusionBuddyTutorial,
#AIFusionBuddyUserExperience
#AIFusionBuddyforBeginners,
#AIFusionBuddyBenefits,
#AIFusionBuddyComparison,
#AIFusionBuddyInstallation,
#AIFusionBuddyRefundPolicy,
#AIFusionBuddyDemo,
#AIFusionBuddyMaintenanceFees,
#AIFusionBuddyNewbieFriendly,
#WhatIsAIFusionBuddy?,
#HowDoesAIFusionBuddyWorks
AI Genie Review: World’s First Open AI WordPress Website CreatorGoogle
AI Genie Review: World’s First Open AI WordPress Website Creator
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-genie-review
AI Genie Review: Key Features
✅Creates Limitless Real-Time Unique Content, auto-publishing Posts, Pages & Images directly from Chat GPT & Open AI on WordPress in any Niche
✅First & Only Google Bard Approved Software That Publishes 100% Original, SEO Friendly Content using Open AI
✅Publish Automated Posts and Pages using AI Genie directly on Your website
✅50 DFY Websites Included Without Adding Any Images, Content Or Doing Anything Yourself
✅Integrated Chat GPT Bot gives Instant Answers on Your Website to Visitors
✅Just Enter the title, and your Content for Pages and Posts will be ready on your website
✅Automatically insert visually appealing images into posts based on keywords and titles.
✅Choose the temperature of the content and control its randomness.
✅Control the length of the content to be generated.
✅Never Worry About Paying Huge Money Monthly To Top Content Creation Platforms
✅100% Easy-to-Use, Newbie-Friendly Technology
✅30-Days Money-Back Guarantee
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
#AIGenieApp #AIGenieBonus #AIGenieBonuses #AIGenieDemo #AIGenieDownload #AIGenieLegit #AIGenieLiveDemo #AIGenieOTO #AIGeniePreview #AIGenieReview #AIGenieReviewandBonus #AIGenieScamorLegit #AIGenieSoftware #AIGenieUpgrades #AIGenieUpsells #HowDoesAlGenie #HowtoBuyAIGenie #HowtoMakeMoneywithAIGenie #MakeMoneyOnline #MakeMoneywithAIGenie
In the ever-evolving landscape of technology, enterprise software development is undergoing a significant transformation. Traditional coding methods are being challenged by innovative no-code solutions, which promise to streamline and democratize the software development process.
This shift is particularly impactful for enterprises, which require robust, scalable, and efficient software to manage their operations. In this article, we will explore the various facets of enterprise software development with no-code solutions, examining their benefits, challenges, and the future potential they hold.
Large Language Models and the End of ProgrammingMatt Welsh
Talk by Matt Welsh at Craft Conference 2024 on the impact that Large Language Models will have on the future of software development. In this talk, I discuss the ways in which LLMs will impact the software industry, from replacing human software developers with AI, to replacing conventional software with models that perform reasoning, computation, and problem-solving.
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
Setting up your multiengine environment Apache Railo ColdFusion
1. Se#ng up your mul.-‐engine environment
Apache, Railo and ColdFusion
Presented by Gavin Pickin
Slides: http://gpickin.com/cfo2014/
Website: http://gpickin.com
Twitter: @gpickin
2. Introduc)on
• Follow along with resources from
h6p://gpickin.com/cfo2014/
• Lots to cover today, so lets get moving.
• If you want to find out more about me, my
website has more than enough informa)on
3. Agenda
• Why would you want a mul)-‐engine
environment?
• Overview of How to Setup Mul)ple Engines
with Apache
• Which versions of ColdFusion – 9, 10, 11 Beta
4. Why would you want a mul)
engine environment?
• Not all servers are running the same CF
Engine. You might need to support mul)ple
versions / plaUorms.
• Migra)on tes)ng for versions, and or
plaUorms, CF vs Railo
5. Why would you want a mul)
engine environment? cont
• Running mul)ple sites out of CF Root directory
using subfolders has its issues
– Shared mappings means less flexibility in which
framework versions etc you use
– Your code and paths have to allow for subfolders
– Using port numbers means you have to remember
more
6. Why Apache
• Apache is supported on Linux, Windows and
Mac OSX – Cross plaUorm + text configura)on
• Apache is a tried and true, trusted Web Server
• Apache can act as your Controller and pass
the requests to the appropriate engine
8. •
•
•
val ••
Apache Configuration
APACHE I
r P RV""r
httpd.conf
Ho Edll OptiOnS Butrers Tools He p
• Load conhq hlu froa the conhq cluctory "/etc/httpcl/conf d"
tnchwlt cont d/' conf
Include /usr/local/nocat/auth•erv/httpd eonf
•• EXUndodStatu> tontrol.t vhotber Apache v1ll goonoru.e "full" otat.uo
• nforaot1on (b ndodStoto.oo On) OT ) ot bone info110.0t>0n (txten4od5toto.oo
• Off) vhen the •server-stotus• hand.Ur •• e..U.d '!he defeult u Off
•#Ext<lndedSta.tuo On
,,.Seet1.on 2 ···.aecver configurat1.on
• 'Iho duect1voo tbu oect•on .. t up the v eo..d by tbe 'ao>n'
• :5etvervh.u.b. tetpO'tUb t.o any tequt'-U that &tV' t bandle4 by a
• <VHW&Uioot> dehmt1on 'lhooo oloo prov>de defeulto for
• any <Vlttualiloot> eonta.>nero you aoy dehn.e Later '" tbe hle
6 All of these cht Ct1Ye.a ••Y "9'()8a..t 1.1alde <VUt.u.tB.ost> COl'lt.a.l.MU,
• >n vh1ch cue tbooo dofeult oott1ngo v1ll be overud.den for the
;vub14l hoot bung dehnd
··" ""'""·-r ··Ll9!>2-1·1t· ······················-J
L!.!
www.
Global Settings
General Global Settings for all
websites running on the server.
Load Module
Loads the module and is
available for every request.
Cannot be loaded inside
Virtual Host
Virtual Hosts
Settings for each Website on the
webserver. Override settings for
logs, aliases I mappings etc
9. Install + Configure Apache
• View my Presenta)on Site for Links and
resources
• Ac)vate VirtualHost by Uncommen)ng
NameVirtualHost in h6pd.conf or virts.conf
• Use ‘Include’ to point to central configura)on
folder.
10. Central Config Folder
• Keep all your ever changing files together in
one loca)on for ease of access, git version
control, and automa)on op)ons.
• {WebConf} -‐ Folder
– Apache -‐ Folder holds all the virts conf files
– Inc_cf*_module.inc – Code that loads the module
– Inc_cf*_conn.inc – Code that uses the module
– Inc_railo_hosts.xml – XML Virtual Hosts for Railo
11. Connec)ng to Apache
• Whenever you install a CFML Engine, you have
the op)on to setup your Web Server to
connect.
• Since we want mul)ple engines, we need to
make a backup of our h6pd.conf file, and
extract those connec)on sefngs so each site
can connect to the engine of its choice.
• So we’ll Install, Connect, Extract Code
12. Installing ColdFusion9, 10, 11
• Resources on my Presenta)on Site
• Highlights
– Setup as single install (easier configura)on)
– Use Built In Webserver
DO NOT SETUP WEB CONNECTOR WHEN
INSTALLING
– Built in Defaults to 8500 in CF9, and CF10, we’ll
need to update the ports to avoid clash. CF11
gives you the op)on to select port during install.
13. Connec)ng CF* to Apache
• Highlights
– ColdFusion usually creates a backup file, but I
make one beforehand just in case.
– Depending on your OS, it is pre6y simple to
connect to Apache, Linux you might need to yum
more libraries and compile the connector.
– The connector creates files / folders as well as the
sefngs in the h6pd.conf itself.
14. What does CF do when you Connect
• Lets Diff the Original h6pd.conf and the new
Connected h6pd.conf
– DirectoryIndex – now has index.cfm added
– Creates a Module, and includes configura)on to
Load the Module
– Includes the configura)on op)ons to allow any
website on the server to server cfml files.
15. How do we Extract the Config
# JRun Settings
LoadModule jrun_module /www/_servers/coldfusion9/runtimellib/wsconfig/1/modj run22.so
Save into {webconf}/inc_cf9_module.inc
<lfModule modjrun22.c>
JRunConfig Verbose false
JRunConfig Apialloc false
JRunConfig lgnoresuffixmap false
JRunConfig Serverstore /www/_servers/coldfusion9/runtime/lib/wsconfig/1{jrunserver.store
JRunConfig Bootstrap 127.0.0.1:51011
#JRunConfig Errorurl uri <optionally redirect to this URLon errors>
#JRunConfig ProxyRetrylnterval 600 <number of seconds to wait before trying to reconnect to
unreachable clustered server>
#JRunConfig ConnectTimeout 15 <number of seconds to wait on a socket connect to a jrun server>
#JRunConfig RecvTimeout 300 <number of seconds to wait on a socket receive to a jrun server>
#JAunConfig SendTimeout 15 <number of seconds to wait on a socket send to a jrun server>
AddHandler jrun-handler .jsp .jws .cfm .cfml .cfc .cfr .cfswf
<llfModule>
Save into {webconf}/inc_cf9_conn.inc
Load
Module
Connect using
the Module
www.
16. •
•
•
•
•
•
.:=•
J
What do we do after we Extract Config
., -
APACHE
T v = 1
httpd.conf
Include Modules
We need to include all the modules
we might use on the webserver
All modules that our engines,
Fda Ed1l OpbOns Bultrt TOCit& Help
""" Lo.e r nlt.._aaolulu/abd_re-vnte to
t.oocblo4W.• prox:y_aodW.e udul. ./aod_pro:xy 10
Le>adJiodule proxy ftp_aodu.Le ao uhtodjto7f:V_ftfJ to
t::=:t: =:; ::.: :0: : 1-bt on:.ct to
LoadJiodule eac:h.e aoctu.U iodulet/aoct caeho eo
d9,d10,d11,&railo need.
Include {webconf}/inc_cf9_module.inc
Loadllodu.le 1u.eaocllU aodul.e:a/a.oa: aueM
Loe duk_eiebe_..dul.. aoduU>hood >k_eoehe oo
t::=f:!!!:e:h!:.:Oti: _.!! acC: o10
Loe.dXodule C:9J._.clule aodulAtlaoG ' 10
• Load eonh9 hles troa
Incl.wle conf d.J• cont
tn.elu.de /uo.c/loc noeat/wthtervlhtt94 eonf
• t:xunded.Ste.tu.t cont.roU vbether be nU CJtnerate ·fW.l" 1t.atu.s
• 1nforuuon (txunatdSt.atu• On) or )U.tt ba.nc Woraauon {btt.tNledSutu.t
1Off) when the •aerver-et.e.tua" ba.ndJAr u eal.le-d 'l'be default n Off
or!><too>dodStotu> On---------------+-+"'Sect-1on 2 'M•tn' eervec eonhC)Ut.t-101'1
:vtct; ·=::·,! :Ctlon1: :.tb . :.:":i by':Un'
# <Yltw.al.Holt> d.-flJUU.OA *- valuu abo prov1d.e d..f.ulu for
• at .y <Vutual.Bo-at.> eont&!Aen you. uy clehna latAc 1.n the hle
1 All of these d.iceeuwa uy appn.c 1nnde <VutullBoat> eonUl.tl.eca,
www.
Include VirtualHosts
Include all of the Virtual Hosts,
each Website or Virtual Host will
includethe inc_d*_conn.inc
dependingon the engine you
want to run in its own .conf
•
·- -- ------------------------------------
Include {webconf}/apache/*.conf
• 1n wtuch c:u• the,.def.ult tettuw)• v1ll be erndd.en for the
1 vutual boat bu.ng dehne-d
--Ll
17. Extrac)ng CF9 Connector from Apache
– The connector also created and loads a module
for jrun
# JRun Sefngs
LoadModule jrun_module /{csome}/run)me/lib/
wsconfig/1/mod_jrun22.so
18. Extrac)ng CF9 Connector from Apache
• Jrun Module Configura)on
• <IfModule mod_jrun22.c>
• JRunConfig Verbose false
• JRunConfig Apialloc false
• JRunConfig Ignoresuffixmap false
• JRunConfig Serverstore /{csome}/run)me/lib/wsconfig/1/jrunserver.store
• JRunConfig Bootstrap 127.0.0.1:51011
• #JRunConfig Errorurl url <op)onally redirect to this URL on errors>
• #JRunConfig ProxyRetryInterval 600 <number of seconds to wait before trying to reconn$
• #JRunConfig ConnectTimeout 15 <number of seconds to wait on a socket connect to a jr$
• #JRunConfig RecvTimeout 300 <number of seconds to wait on a socket receive to a jrun $
• #JRunConfig SendTimeout 15 <number of seconds to wait on a socket send to a jrun serv$
• AddHandler jrun-‐handler .jsp .jws .cfm .cfml .cfc .cfr .cfswf
• </IfModule>
19. Extract CF9 Connector
• Now we need to remove and save the pieces
• Cut the Load Module code
# JRun Sefngs
LoadModule jrun_module /{csome}/run)me/lib/wsconfig/1/mod_jrun22.so
• Save into a file called
/{yourwebconf}/inc_cf9_module.inc
• Cut the remaining connector code and save
into file called
/{yourwebconf}/inc_cf9_conn.inc
20. Change CF9 Webserver Port
• Port 8500 will clash with default sefngs for
other CF versions, so lets update the port.
• Edit /{csome}/run)me/servers/coldfusion/
SERVER-‐INF/jrun.xml
• Search for 8500 and you’ll find the defini)on
for the jrun WebServer.
– Update Port to 8509 (8500 + version)
– Restart CF9 and its now running on port 8509
22. Extrac)ng CF10 Connector from Apache
• Lets Diff the Original h6pd.conf and the new
Connected h6pd.conf
– DirectoryIndex – now has index.cfm added
– The connector added a single line to the end of
the h6pd.conf file
– Include "/{apachehome}/mod_jk.conf"
23. Extrac)ng CF10 Connector from Apache
• # Load mod_jk module
• LoadModule jk_module "/{cf10home}/config/wsconfig/1/mod_jk.so"
• # Where to find workers.proper)es
• JkWorkersFile "/{cf10home}/config/wsconfig/1/workers.proper)es"
• JkMountFile "/{cf10home}/config/wsconfig/1/uriworkermap.proper)es"
• # Where to put jk logs
• JkLogFile "/{cf10home}/config/wsconfig/1/mod_jk.log"
• # Where to put jk shared memory
• JkShmFile "/{cf10home}/config/wsconfig/1/jk_shm"
• # Set the jk log level [debug/error/info]
• JkLogLevel info
• # Select the )mestamp log format
• JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
24. Extrac)ng CF10 Connector from Apache
• AddHandler jakarta-‐servlet .cfm .cfml .cfc .cfr .cfswf
• Alias /CFIDE "/{cf10home}/cfusion/wwwroot/CFIDE"
• <Directory "/{cf10home}/cfusion/wwwroot/CFIDE">
• Op)ons Indexes FollowSymLinks
• AllowOverride None
• Order allow,deny
• Allow from all
• </Directory>
• <Files ~ ".hbmxml$">
• Order allow,deny
• Deny from all
• </Files>
25. Extract CF10 Connector
• Now we need to remove and save the pieces
• Delete the Line from the h6pd.conf file
include "/{apachehome}/mod_jk.conf”
• Cut the Load Module code from mod_jk.conf
From Line
# Load mod_jk module
To the line
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] “
• Save into a file called
/{yourwebconf}/inc_cf10_module.inc
26. Extract CF10 Connector
• Cut the Connector code from mod_jk.conf
From line
AddHandler jakarta-‐servlet .cfm .cfml .cfc .cfr .cfswf
To line
</Files>
• Save into a file called
/{yourwebconf}/inc_cf10_conn.inc
27. Change CF10 Webserver Port
• Port 8500 will clash with default sefngs for
other CF versions, so lets update the port.
• Edit /{cf10}/cfusion/run)me/conf/server.xml
• Search for 8500 and you’ll find the defini)on
for the jrun WebServer.
– Update Port to 8510 (8500 + version)
– Restart CF10 and its now running on port 8510
29. Extrac)ng CF11 Connector from Apache
• Lets Diff the Original h6pd.conf and the new
Connected h6pd.conf
– DirectoryIndex – now has index.cfm added
– The connector added a single line to the end of
the h6pd.conf file
– Include "/{apachehome}/mod_jk.conf”
Note: this is the same file name as CF10.
30. Extrac)ng CF11 Connector from Apache
• # Load mod_jk module
• LoadModule jk_module "/{cf11home}/config/wsconfig/1/mod_jk.so”
• # Where to find workers.proper)es
• JkWorkersFile "/{cf11home}/config/wsconfig/1/workers.proper)es"
• JkMountFile "/{cf11home}/config/wsconfig/1/uriworkermap.proper)es"
• JKIPRestric)onFile "/{cf11home}/config/wsconfig/1/
iprestric)on.proper)es"
• # Where to put jk logs
• JkLogFile "/{cf11home}/config/wsconfig/1/mod_jk.log”
32. Extrac)ng CF11 Connector from Apache
• # Where to put jk shared memory
• JkShmFile "/{cf11home}/config/wsconfig/1/jk_shm"
• # Set the jk log level [debug/error/info]
• JkLogLevel info
• # Select the )mestamp log format
• JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
33. Extrac)ng CF11 Connector from Apache
• AddHandler jakarta-‐servlet .cfm .cfml .cfc .cfr .cfswf
• DirectoryIndex index.cfm
• Alias /CFIDE "/{cf11home}/cfusion/wwwroot/CFIDE"
• <Directory "/{cf11home}/cfusion/wwwroot/CFIDE">
• Op)ons Indexes FollowSymLinks
• AllowOverride None
• Order allow,deny
• Allow from all
• </Directory>
• <Files ~ ".hbmxml$">
• Order allow,deny
• Deny from all
• </Files>
34. Extract CF11 Connector
• Now we need to remove and save the pieces
• Delete the Line from the h6pd.conf file
include "/{apachehome}/mod_jk.conf”
• Cut the Load Module code from mod_jk.conf
Fromline
# Load mod_jk module
To line
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] ”
• Save into a file called
/{yourwebconf}/inc_cf11_module.inc
35. Extract CF11 Connector
• Cut the Connector code from mod_jk.conf
From line
AddHandler jakarta-‐servlet .cfm .cfml .cfc .cfr .cfswf
To line
</Files>
• Save into a file called
/{yourwebconf}/inc_cf11_conn.inc
36. Connec)ng Railo to Apache
• My guide is only a starter guide.
• Highlights
– Depending on your OS, the installer can add the
connector for you, but not all installers do.
– There are several ways to connect to Railo,
mod_proxy, mod_cfml which uses Perl, boncode
connector, and simple ajp, which I prefer for
single and clusters.
37. Railo Serves Files Differently
• Railo and ColdFusion differ greatly with how
the files are served.
• If you request h6p://localhost/index.cfm and
apache’s vhost is /www/localhost/
– ColdFusion will serve /www/localhost/index.cfm
– Railo will serve /{railohome}/webapps/ROOT/
index.cfm
38. Tomcat Virtual Hosts
• Railo uses Tomcat and it maps the passed URI
to its own set of Virtual Hosts.
• ColdFusion’s Tomcat is designed to receive
this URI and serve the file from Apache’s path.
• There are pro’s and con’s with flexibility vs
simplicity.
• In short – make sure Tomcat’s Vhosts match
Apache’s Vhosts
39. Extrac)ng Railo Connector from Apache
• Since we manually added the AJP code, we
can simple cut the code, and save it into a file.
• <Proxy *>
• Allow from 127.0.0.1
• </Proxy>
• ProxyPreserveHost On
• ProxyPassMatch ^/(.+.cf[cm])(/.*)?$ ajp://localhost:8021/$1$2
• Save it into
/{yourwebconf}/inc_railo1_conn.inc
40. Bringing It Together
• Now we have all the pieces, lets configure
Apache to use them all.
• If you have not ac)vated Virtual Hos)ng, you
need to turn that on by uncommen)ng
NameVirtualHost *:80
• This is usually in the main h6pd.conf or /
{apachehome}/extra/h6pd-‐vhosts.conf
41. Enabling Apache Virtual Host
# Use name-based virtual hosting.
#
NameVirtualHost *:80
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServenName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:80>
ServerAdmin gpickin@skiion.com
DocumentRoot "/'IMW/_'IMWroot"
ServerName 127.0.0.1
Directorylndex index.html index.cfm
</VirtualHost>
42. Default Virtual Host
• I usually setup the 127.0.0.1 / localhost in the
Vhost file
• Add all other vhosts in the /{webconf}/apache
folder for easy accessibility.
• Add this line to the bo6om of the h6pd.conf
Include /{yourwebconf}/apache/*.conf
• That is where all the magic happens
44. Local DNS via Hosts File
• Edit your host file to add the local DNS
– 127.0.0.1 railo1.local.com
– 127.0.0.1 cf9.local.com
– 127.0.0.1 cf10.local.com
– 127.0.0.1 cf11.local.com
• /etc/hosts on Mac / Linux
• /Windows/System32/etc/hosts on Windows
49. Add Folders and Index Files
• Create folders for our sites
/{websites}/railo1.local.com
• Create index.html file to know what folder
we’re in
• Create index.cfm file to know what folder and
engine is running
51. Lets test our DNS / Apache Hosts
• Sudo apachectl restart – on Mac OSX
• Service h6pd restart – in Linux
• Windows – Restart the service
• Browse to
h6p://cf9.local.com/index.html -‐ see CF9
• Browse to
h6p://cf9.local.com/index.cfm -‐ see source
52. Lets Startup CF9
• Uncomment the include in the vhost
• Start CF9 & Restart Apache
• Browse to
h6p://cf9.local.com/index.cfm -‐ see Source
• Why? Inc_cf9_conn.inc refers to
mod_jun22.so module, which we haven’t
loaded, gracefully fails.
53. Lets Startup CF9 – Add Module
• Edit the h6pd.conf and add the following line
above the wildcard directory include so it
looks like this
#Include Modules to Load for CF9
Include /www/_servers/conf/inc_cf9_module.inc
#Load Virtual Hosts
Include /www/_servers/conf/apache/*.conf
54. Lets Startup CF9- Add Module
cf9Jocal.com
CF9
co <lfusoon
atruct
Installl<it Nat ve UNIX
appserver JRun4
expriabon {ts '2009-10-3114:41: 53'}
prod<Jctlevel Developer
productnarne ColdFusion Server
productversion 9,0,2,282541
rootCi<i /www/ servers/coldfusion9
supportedlocales Chi!'lese (China),Chinese (Hong Kong),Chinese (Taiwan)D, utch(Belgian),Dutch (Standard),English (Australian),English (Canadian),Engl
(Standard),Swedisn,ar,ar_AE,ar BH,ar DZ,ar EG,ar IQ,ar JO,ar KW,ar LB,ar LV,ar MA,ar OM,ar QA,ar SA,ar SD,ar SV,ar TN,ar '
OS
atruct
addit ol'lalinformabol'l Mac OS X
arch x86 64
bulidn< mber [empty string]
name Mac OS X
version 10.8.5
55. Lets Startup CF10 – Add Module
• Edit the h6pd.conf and add the following line
above the wildcard directory include, below
the CF9 Code, so it looks like this
#Include Modules to Load for CF10
Include /www/_servers/conf/inc_cf10_module.inc
#Load Virtual Hosts
Include /www/_servers/conf/apache/*.conf
56. Lets Startup CF10
• Uncomment the Include in the vhost
• Start CF10 & Restart Apache
• Browse to
h6p://cf10.local.com/index.cfm
• If everything is right, you’ll see the dump on
the next slide.
57. .truct
InstaUKti NativeUNIX
appserver J2EE
expirabM {ts '2014-04-07 15:29: 12'}
productlevel Developer
productnarne ColdFusion Server
productversoo 10 0,0,282462
rootdir /www/ servers/co dfuslon10/duson
supportedloca es Chinese (Ch na),Chinese {Hong Kong) Ch nese (Taiwa.n),Dutdl(Belgian),Outc:h (Standard),Engllsh (Australian) English (canad an)E,
ngll! (Standard),Swedlsh ar,,ar_.AE,ar BH,ar DZ,ar EG,ar Q,ar )O,ar KW,ar LB,ar LY,ar MA,ar OM,ar QA ar SA,ar SO ar SY,ar TN
CflO.Iocal.com/index.cfm
cflOJocal.com
CFlO
coldfusoon
OS
58. Lets Startup CF11
• Wait… didn’t I say earlier that CF11 and CF10
both run on Tomcat, both with the JK
Module? -‐ Yes
• That’s easy though right? – No
• Since the configura)on is different but the
module is the same, you can’t just include
both.
• Solu)on? Instances
59. CF10 and CF11 Instances
• Since CF11 is using the newest version of the
JK Module, we can use most of the sefngs.
• CF10 needs certain sefngs, as does CF11
• Most importantly, how does the JK Module
know which Engine to call?
• Worker.proper)es
60. Worker.proper)es and Instances
• Worker.proper)es normally just has 1 simple
set of instruc)ons.
– List of workers
– Connec)on type
– Host
– Port
– Max Reuse Connec)ons
61. Worker.proper)es and Instances
• To make CF10 and CF11 work within the same
JK Module, we need to update the instance
names, so they’re both not “cfusion”
• Lets start with CF10 First, then we’ll do CF11s,
then we’ll create a mul)-‐worker file with both
instances.
68. CF10 – new instances.xml
<servers>
<server>
<name>cfusion10</name>
<directory>/www/_servers/coldfusion10/cfusion</directory>
</server>
</servers>
Note: just the instance name, not the path.
69. CF11 Instance Name Updates
• To make CF10 and CF11 work within the same
JK Module, we need to update the instance
names, so they’re both not “cfusion”
• Lets start with CF10 First, then we’ll do CF11s,
then we’ll create a mul)-‐worker file with both
instances.
76. New Mul)-‐Worker File
• Now we have all the files updated, we need to
combine the worker file, which allows us to
direct calls to the appropriate instance.
• Copy the two files into one, remove the extra
worker.list line, and make the remaining one a
comma separated list of instances.
78. Upda)ng h6pd to use new Worker File
• Instead of using CF10 or CF11’s module file we
created earlier, we’re going to use a hybrid I
created. (next slide)
• It points to all of the CF11 module sefngs,
except the JKWorkersFile is our new Workerfile
• All the CF10 and CF11 specific stuff has been
removed and we’ll add to the connec)on
include
79. New Mul) Instance Worker File
# Load mod_jk module
LoadModule jk_module "/{cf11home}/config/wsconfig/1/mod_jk.so"
# Where to find workers.proper)es
JkWorkersFile "/{yourwebconf}/workers.proper)es"
JkMountFile "/{cf11home}/config/wsconfig/1/uriworkermap.proper)es"
JKIPRestric)onFile "/{cf11home}/config/wsconfig/1/iprestric)on.proper)es"
# Where to put jk logs
JkLogFile "/{cf11home}/config/wsconfig/1/mod_jk.log”
# Where to put jk shared memory
JkShmFile "/{cf11home}/config/wsconfig/1/jk_shm"
80. Update CF10’s Connec)on Include
• Since all of the JK Module is loaded is CF11, how
can we tell Apache and JK to use CF10’s
instance for this site
• We override the JKMountFile. This sets this
sites extensions, to an instance name cfusion10
• Add this line to the top of the inc_cf10_conn.inc
file
JkMountFile "/{cf10home}/config/wsconfig/1/
uriworkermap.proper)es"
81. Update CF10’s Connec)on Include
• Add this line to the top of the inc_cf10_conn.inc
file above the Add Handler line
JkMountFile "/{cf10home}/config/wsconfig/1/
uriworkermap.proper)es”
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the )mestamp log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
82. Update CF11’s Connec)on Include
• Even though all of the JK Module is loaded is
CF11, we s)ll need to tell Apache and JK to use
CF11’s Mount File, and instance cf11.
• CF11 has a lot of other sefngs, so we’ll add
those on a site by site basis by adding it to the
top of the inc_cf11_conn.inc file above the add
handler
• Some of these sefngs could be shared, but are
separated for flexibility.
84. Update CF11’s Connec)on Include cont
JkEnvVar REDIRECT_SERVER_NAME
JkEnvVar REDIRECT_SERVER_PORT
JkEnvVar REDIRECT_SERVER_SOFTWARE
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the )mestamp log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
85. Update CF11’s Connec)on Include
• Replace the Apache CF10 Module include
#Include Modules to Load for CF10
Include /www/_servers/conf/inc_cf10_module.inc
• With the new Mul) Purpose Module
#Include Modules to Load for CF10+CF11
Include /www/_servers/conf/inc_cfmul)_module.inc
• Restart Apache & Verify CF10
• Start CF11 and Verify CF11
86. Verify CFll Started and Works
cfilJocal.com
CFll
col<!fus.on
•truct
lnstaUKit Native UNIX
app5erver Tomcat
expirabo<'l {ts '2014-05-15 16:40:51'}
producdevel Evaluation
productname ColdFusion Server
productversion 11,0,0,289412
rootdir /www/ servers/ooldruslonllbeta/cfusion
supportedlocales Chinese (China),Chinese (Hong Kong),Chinese (Taiwa'l),Dutch (Belgian),Dutch (Standard),English (Australian),English (Canadian),Eng
(Standard),Swedish,a r,ar ..AE,ar BH,ar OZ,a r EG.ar !Q,ar JO,ar KW,ar LB,ar LV.ar MA.ar OM.ar QA,ar SA,ar SO,ar SV,ar
TN,ar_ c.a-japanese,ko,ko KR,It,lt LT,Iv,lv LV,mk,mk_MKm, s,ms MY,mt,mt_MT,nl,nl Bf,nl Nl,no,no O,no 0 NV,pl,pl PL,pt,pt
BR t PT
updatelevel 0
OS
additionalinformabo'l Mac OS X
arch x86 64
buildn.Jmber [empty string)
name Mac OS X
version 10.8.5
87. ColdFusion Done – Railo’s Turn
• Since Railo’s AJP method just runs via AJP
port, we just need to make sure the port is
free.
• We have used 8020 + Version for AJP
– CF10:8030
– CF11:8031
– Railo1:8021
88. ColdFusion Done – Railo’s Turn
• inc_railo1_conn.inc is set to 8021 already
<Proxy *>
Allow from 127.0.0.1
</Proxy>
ProxyPreserveHost On
ProxyPassMatch ^/(.+.cf[cm])(/.*)?$ ajp://localhost:
8021/$1$2
• Start Railo and Verify
89. Verify Raila
Default
Welcome to the Rallo World!
• Getting Started
• Community Website
• Wlki - Documentation
• Rallo Mailing List
• Support &Consulting
Railo 4.0
You are now successfully running Railo 4.0.
Please check the Railo Server Administrator for available updates and patches.
Important Notes
Thank you for choosing Railo as your CFML engine.If you have installed Railo on a public server, please be sun
If you are new to Railo, please check the Getting Started guide on our page on how to begin. In our Wlki you will
If you want to start running some code in this Railo instance,simply place it in the website'sfolder at:
/www/_sorvers/railo/tomcat/wcbapps/ROOT/
90. What’s wrong with Railo?
• That’s not the right confirma)on page, whats
wrong with Railo?
• Remember the vhosts having to match? This is
what I meant
• Apache sees an index.cfm, Railo serves index.cfm,
but from its vhost which is located at /
{railo1home}/webapps/ROOT/index.cfm
91. Solu)on? Tomcat Hosts in Server.xml
• Add / Edit the appropriate hosts in Catalina/
Tomcat’s Server.xml file.
• Tag structure -‐ Server > Service > Engine – Host
• Hosts have following a6ributes (shown in default file)
– Name – Just like main URL in apache vhost – railo1.local.com
– appBase – this is similar to your project with web and non web
accessible – I usually leave this as webapps (rela)ve or absolute)
– unpackWARs – op)onal – not covered
– autoDeploy – op)onal – not covered
92. Solu)on? Tomcat Hosts in Server.xml
• Tomcat is a fully fledged Web Server, so Hosts
like vhosts can contain many other tags and
sefngs, just like Apaches.
• A Value, shown in the default Server.xml is setup
for logging
• We’re interested in just the basics
– Host – Name A6ribute
– Context tag – Child of the Host tag
<Context path="" docBase="/{webs}/railo1.local.com”></Context>
93. Host Contexts
• The default context is ROOT
• This means cfml is served out of /
{railo1home}/webapps/ROOT/ -‐ note the caps
• Path=“” sets the webroot of the site
• Overriding the ROOT context allows you to
use rela)ve or full path loca)ons for docBase.
94. Host Contexts Cont
• You can set context to include other
mappings, just like ColdFusion/Railo CFML
mappings.
• <Context path=”/coldbox" docBase=”/
frameworks/coldbox”></Context>
• There are lots of a6ributes for you to research
for homework.
95. Railo1’s Virtual Host
• Add right below localhost host in
/{railo1home}/tomcat/conf/server.xml
<Host name=”railo1.local.com" appBase="webapps”>
<Context path="" docBase="/{webs}/railo1.local.com”></
Context>
</Host>
96. Restart Railoland Verify
railolJocal.com
Railol
1.....
- /www/ wwwdo/railol.local.comI
japanese (japan),spanish (peru),english,ja_JP_JP,spanish (panama),serbian (bosnia and herzegovina),macedonia
(cyprus),arabic (qatar),macedonian (macedon a),swedish,german (switzerland),english (united states),finnish (finland
and montenegro),lithuanian,romanian,english (new zealand),no_NO_NY,Iithuanian (l thuania),spanish
(nicaragua),duto
97. Wow, that was easy… NOT
• Few things to remember with mul) engine
• Server.xml ports must be unique
– Shutdown port 8006 default – I use 8000 + version
– Webserver port 8500 default – I use 8500 +
version
– AJP port 8009 default -‐ I use 8020 + version
• You open have to resolve clashes, it is much
easier with a system.
98. Do we have )me for Railo Clusters?
• I have some slides on this on my
presenta)on site
• Hit me up later if you want to talk
more.
99. Too many hosts
• One of the complaints / confusions with Railo
is the mul)ple hosts required in Apache and
Tomcat.
• Tomcat does have a Host Manager
• Automa)on? One big file like that is messy
• Is there an easier way?
100. Include your Hosts
• Like Apache, you can include your hosts, so
every)me you edit your hosts, you are not
messing with your important server.xml file.
• Server.xml file is xml, so you can use an en)ty
include, and include a single xml file.
• This allows you to automate or manually edit
an external file, and Tomcat will parse it each
restart.
101. Your Hosts Include File
• Its just simple XML
<Host name="railo2.local.com" appBase="webapps">
<Context path="" docBase="/{webs}/railo2.local.com"></Context>
</Host>
<Host name="railocluster.local.com" appBase="webapps">
<Context path="" docBase="/{webs}/railocluster.local.com"></Context>
</Host>
Save it as /{yourwebconfs}/inc_railo1_hosts.xml
102. How to Include the File
• In your server.xml file, right under the opening
xml tag, add an en)ty tag
<?xml version='1.0' encoding='uU-‐8'?>
<!DOCTYPE server-‐xml [
<!ENTITY vhosts-‐config SYSTEM "file:///{yourwebconfs}/
inc_railo2_hosts.xml">
]>
• That loads that external xml into a
variable (en)ty) called vhosts-‐config
103. How to Include the File Cont
• Now we have the variable (en)ty) loaded,
scroll down to your hosts, replace the original
XML host tags with the following
&vhosts-‐config;
• Now, when Tomcat starts, it will load the
external xml into that variable and it will
include that xml wherever that variable is
used.
104. Automate to the Cows Come Home
• Now you have your Apache and Tomcat Conf files in
a easy to reach, simple format, you can automate all
your site crea)on.
• Remember, Apache and Tomcat need to be restarted
if you change their Conf files, before they take effect
• Railo star)ng slow? More Hosts, slower the start
Fix here
h6p://tonyjunkes.com/blog/fixing-‐slow-‐railo-‐
startup-‐running-‐on-‐tomcat-‐8
105. My own CFML Web Manager Tool
• I have been working on a tool to help me
manage my dev machines, if you want to try it
out, you can get it from github.
h6ps://github.com/gpickin/CFMLWebManager
• If we have )me I will show it now, or hit me
up later in the conference.
106. The End
• Thanks everyone for making it this far
• We covered lots of content, we moved pre6y
quick… all of the materials will be on my CFO
presenta)on Site:
h6p://www.gpickin.com/cfo2014/
• Hit me up on twi6er @gpickin
• Read more on my blog: h6p://gpickin.com