Lucee on AWS


#1

Good morning all!

I am looking for help for how to go about installing Lucee on an Amazon EC2
instance. I have been using Lucee for the past year or so via a hosted
server but I’d like to leverage Amazon’s EC2 service for my personal
development projects.

I’ve Googled the subject but anytime I start to try and figure out AWS (EC2
and Elastic Beanstalk mostly) I end up getting confused and frustrated.
What I’d like to produce is a step by step guide for how to go from
possessing an Amazon AWS account to having a functioning Lucee powered site
(with maybe a MySQL backend). I have clients who have asked about whether
we can move their projects into the cloud and while I know it’s possible,
there is no single guide to do so in everyday language (basically, no
“Lucee on AWS For Dummies”).

I’ve considered farming out this task as an Amazon Mechanical Turk HIT
request (as I’d be pleased to pay someone to show me the step by step for
how to get Lucee running on AWS) but I wanted to ask here first if anyone
has an easy to follow guide or resource for what I’m trying to do. I’m
looking at something I could give to someone who knows nothing about AWS
(aka: “me”) and be reasonably well assured they’d end up with a CF site
powered by Lucee as an end result.

Any actual experience doing this would be greatly appreciated. Hell, I’d
be happy to pay for such a guide. :slight_smile:

Thanks in advance.

Craig


#2

Craig, if you are just moving from a hosting service, I would recommend
something like Digital Ocean VPS to start with. Amazon is great but you
don’t even have the basic down; let alone trying to wrangle all their
services and terminology. If you aren’t familiar with Linux at all, using
Amazon might be needed in order to get a Windows environment.

If you are okay with Linux or learning, I would start looking
here: https://github.com/foundeo/ubuntu-nginx-lucee. They are some rather
basic scripts to run to get Lucee installed with Tomcat / Java on Ubuntu.
They can then be moved from there into Chef / Puppet / Ansible scripts.

IMO, do not start with Docker containers if you aren’t already used to
them. Basic docker development environments, let alone good production
docker environments, aren’t easy to put together. We run a variety of
things in containers through development and production and there are
catches at quite a few turns.


#3

Using Amazon’s Elastic container service might be a lot easier. You can just use the provided Lucee docker files?

Regards

Mark Drew

CMD
develop • deploy • deliver
http://cmdhq.io+44 7971 852296


#4

So, I don’t use Docker. Where does one start with that? Understand, I
don’t have a CF app that I want to deploy as yet…right now, I’m trying to
do this in smaller steps and am looking to get a dev site on AWS up and
running and showing the Lucee admin login. That would qualify as a major
accomplishment for me at this stage.

I’ve got a default instance running that I set up using Elastic Beanstalk
(64bit Amazon Linux 2016.09 running v2.5.0 running Tomcat 8 Java 8…or so
it tells me) but how to get Lucee running on that is where I’m needing
guidance. Hell, I can’t even figure out how to SSH onto that instance.


#5

Hi Craig. This is Patrick Quinn, Product Manager for Lucee. I just wanted
to chime in quickly with another option. It won’t help you in the short
term, but it may in the medium term. We plan to launch an official AMI
(Amazon Machine Image) in the AWS Marketplace later this year. (We had
hoped to have this ready in 2016, but all of our available bandwidth was
dedicated to shipping 5 and 5.1, and then shoring up our development team
and process.) This will be an EC2 instance with Lucee pre-installed, and
optimized (fully-patched, thread and memory settings pre-tuned, etc.). Our
goal is to have it be point-and-click easy to get up and running w/ Lucee
in AWS. It will be a free server as far as Lucee goes, of course (EC2 and
related charges apply), and, we’ll also eventually be launching a version
that includes support (nominal hourly charge).

Please do keep in touch if this is of interest to you.

Best,
Patrick


#6

You could always create your own Lucee Container (based of the existing one) and deploy it to AWS’s EC2 container service?

(ok, do the EC2 + support, help out the project) :slight_smile:

MD


#7

Hi Patrick,

When this does become available where will you be posting it’s
availability? Here in the forum or by email?

Thanks


#8

Hi Risto. We will make sure the availability is posted everywhere–this
Google Group, the #Lucee channel of the CFML Slack team, the Lucee Twitter
account, the Lucee.org blog, etc. And we’ll also be sure to repeat it
often, in case anyone misses it.

Best,
Patrick


#9

Good thought, Mark. I view the container approach as a parallel option to
running Lucee on EC2 servers. Containerization is trending, for sure, but,
in our experience in the marketplace, the vast majority of systems (both
Lucee and ACF) are still traditionally server-based, rather than
containerized. I suspect that the Lucee community will be ahead of ACF in
adopting containers, but I nonetheless expect containers to trail far
behind traditional server-based deployments (or even infrastructure-as-code
deployments, such as via CloudFormation, as opposed to containers) for the
foreseeable future.


#10

Hi Patrick

Is there an update on when we can expect the official Lucee AMI to be available?

Many thanks

Dom


#11

Hi Dom. Sorry for the delay in responding. I’ve been buried in Lucee sprint planning. We can’t yet set a concrete date for the availability of the official Lucee AMI in the AWS marketplace. That said, it’s still a top priority, and our goal is to make this happen in 2017. Holler w/ questions/comments.


#12

Hi Patrick. No worries, I’ll stay tuned for further news.


#13

I have several AWS EC2 instances (they are all Windows OS based). I copied the Lucee installer for Windows to one instance, and installed Lucee without a hitch and tested the installation to be working.
This instance environment is Windows Server 2008 R2. So, this approach seems viable as well.

Cheers,

Don


#14

Hi Don. Yep, entirely viable approach. Even as LAS members, that’s how we do it. :slight_smile: The point about the official Lucee AMIs in the Marketplace is that they’ll be point-and-click easy to spin up, and Lucee will be not only fully installed, but patched and pre-optimized as well (e.g., memory and thread settings). We aim to start with free AMIs, naturally, and then hopefully down the road we can provide support-included paid AMIs as well. Stay tuned.


#15

Patrick, yeah, that makes perfect sense. Also, I’d like to discuss something off Lucee dev, pls pm me or send me your email.

Cheers,

Don


#17

Here’s how I got Lucee on AWS. Works like a champ! This was my first test after getting Solution Architech certified.

Get a version of Lucee and put it in S3 bucket. You’ll pull that version while creating EC2.

Put following in advanced area when creating you ec2 instance-these lines run on first boot:

#!/bin/bash
sudo yum -y update
cd /tmp
curl -O https://s3.us-east-2.amazonaws.com/XXXXBUCKETNAMEXXXX/lucee-5.2.4.037-pl0-linux-x64-installer.run
chmod u+x lucee-5.2.4.037-pl0-linux-x64-installer.run

------------------ login to run install as it has prompts -----------------
sudo ./lucee-5.2.4.037-pl0-linux-x64-installer.run
sudo cp /opt/lucee/lucee_ctl /etc/init.d/
sudo service lucee_ctl restart
sudo chkconfig lucee_ctl on

Forget why I wrote this down:

sudo chown -R ec2-user:ec2-user /opt/lucee/tomcat/webapps/ROOT
sudo chmod -R 755 /opt/lucee/tomcat/webapps/ROOT