Amazon Web Services (AWS) is a cloud computing software platform, which users primarily deploy as an infrastructure as a service (IaaS) solution.
Follow the instructions below to install Stratos Private PaaS with Amazon EC2, using a virtual machine (VM) setup:
Ensure that all the following prerequisites have been met based on your environment and IaaS.
Excerpt Install the required applications and set the Maven environment variable.
Info For more information on the prerequisites, see Prerequisites .
Download the Stratos binary Private PaaS binary distribution (
apache-stratos-version-wso2ppaas-4.1.0-SNAPSHOT.zip)
and unzip it.This can be done using any of the following methods:
Method 1 - Download the Stratos Private PaaS binary distribution from Apache Download Mirrors and unzip it.
Methods 2 - Build the Stratos Private PaaS source to obtain the binary distribution and unzip it.
Expand title Click here for instructions Checkout the source from Apache Stratos remote repository to a folder of your choice.
cloneCode Block git
git-wip-us.apache.org/repos/asf/stratos.git <local-folder-name>clone https://
github.com/wso2/product-private-paas.git <local-folder-name>
For example:
cloneCode Block git
git-wip-us.apache.org/repos/asf/stratos.git myLocalRepoclone https://
github.com/wso2/product-private-paas.git myLocalRepo
Build Stratos using Maven.
Navigate to the directory that you checked out the Stratos source distribution.
Code Block cd <local-folder-name>
For example:
cd myLocalRepo
Use Maven to build the source.
Code Block mvn clean install
Tip If you are building the source for the very first time, the building process will take a considerable amount of time. However, when building from source you can avoid running all the unit tests to make this process faster.
trueCode Block mvn clean install -Dmaven.test.skip=
true
Obtain the Stratos binary distribution
apache-stratos-versionwso2ppaas-4.1.0-SNAPSHOT.zip
from the<STRATOS_SOURCE_HOME>/products/stratos/modules/distribution/target
directory and unzip it.
Start ActiveMQ.
Expand title Click here for instructions Download and unzip ActiveMQ .
Navigate to the
<ACTIVEMQ-HOME>/bin/
directory, which is in the unzipped ActiveMQ distribution.Run the following command to start ActiveMQ.
./activemq start
Setup Puppet Master.
Puppet is an open source configuration management utility. In StratosPrivate PaaS, Puppet has been used as the orchestration layer.Info Puppet is an open source configuration management utility. In StratosPrivate PaaS, Puppet has been used as the orchestration layer.
For more informations, see Configuring Puppet Master .Create an EC2 cartridge base image.
Expand title Click here for instructions Include Page 4.1.x Creating a Cartridge on EC24.1.x Creating a Cartridge on EC2 Navigate to the
<apache-stratos-version<wso2ppaas-4.1.0-SNAPSHOT>/repository/conf/mock-iaas.xml
file and disable the Mock IaaS. By default, the Mock IaaS will be enabled.Code Block <mock-iaas enabled="false">
Navigate to the
<apache-stratos-version-<wso2ppaas-4.1.0-SNAPSHOT>/repository/deployment/server/webapps
directory and delete themock-iaas.war
file.When Stratos Private PaaS is run the
mock-iaas.wa
r extracts themock-iaas
folder. Therefore if you have run Stratos Private PaaS previously, delete themock-iaas
folder too.Configure the Cloud Controller.
Tip Prior to carrying out the following steps, make sure to unzip the Stratos Private PaaS binary distribution (
apache-stratos-versionwso2ppaas-4.1.0-SNAPSHOT.zip
). If you are building Stratos Private PaaS using the source distribution, the binary distribution is available in the<STRATOS<PRIVATE_PAAS_SOURCE_HOME>/products/stratosppaas/modules/distribution/target
directory.Follow the instructions below to update the Cloud Controller (CC) configurations:
Configure the IaaS provider details in the
<apache-stratos-version-<wso2ppaas-4.1.0-SNAPSHOT>/repository/conf/
file and comment the IaaS provider details that are not being used.cloud-controller.xml
Update the
identity
,credential
,owner-id
,availabilityZone
,securityGroups
,keyPair
name of the Amazon EC2 IaaS provider.Code Block <cloudController> ... <iaasProvider type="ec2" name="Amazon EC2"> <className>org.apache.stratos.cloud.controller.iaases.ec2.EC2Iaas</className> <provider>aws-ec2</provider> <identity svns:secretAlias="cloud.controller.ec2.identity">identity</identity> <credential svns:secretAlias="cloud.controller.ec2.credential">credential</credential> <property name="jclouds.ec2.ami-query" value="owner-id=owner-id;state=available;image-type=machine"/> <property name="availabilityZone" value="ap-southeast-1b"/> <property name="securityGroups" value="security-group"/> <property name="autoAssignIp" value="true" /> <property name="keyPair" value="keypair-name"/> </iaasProvider> ... </cloudController>
Update the values of the
message-broker-ip
andmessage-broker-port
in themqtttopic.properties
file, which is in the<apache-stratos-version-<wso2ppaas-4.1.0-SNAPSHOT>/repository/conf
directory. The default values aremessage-broker-ip=localhost
andmessage-broker-port=
1883.Code Block mqtturl=tcp://[MB_IP]:[MB_MQTT_PORT] clientID=stratos tempfilelocation=/tmp
Update the values of the
MB_IP
andMB_PORT
in thejndi.properties
file, which is in the<apache-stratos-version<wso2ppaas-4.1.0-SNAPSHOT>/repository/conf
directory.Info The values are as follows:
MB_IP:
The IP address used by ActiveMQ.MB_PORT:
The port used by ActiveMQ. The default value of themessage-broker-port=
61616.Code Block connectionfactoryName=TopicConnectionFactory java.naming.provider.url=tcp://[MB_IP]:[MB_Port] java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory
Update the values of the
PUPPET_IP
andPUPPET_HOST_NAME
in thecartridge-config.properties
file, which is in the<apache-stratos-version<wso2ppaas-4.1.0-SNAPSHOT>/repository/conf
directory.Info The values are as follows:
PUPPET_IP:
The IP address of the running Puppet instance.PUPPET_HOST_NAME
:The host name of the running Puppet instance.Code Block autoscaler.service.url=https://localhost:9443/services/AutoscalerService/ cloud.controller.service.url=https://localhost:9443/services/CloudControllerService/ stratos.manager.service.url=https://localhost:9443/services/StratosManagerService/ puppet.ip=[PUPPET_IP] puppet.hostname=[PUPPET_HOST_NAME] puppet.dns.available=false puppet.environment=stratos
Update the value of the
MB_IP
in theJMSOutputAdaptor
file, which is in the<apache-stratos-version-<wso2ppaas-4.1.0-SNAPSHOT>/r
epository/deployment/server/outputeventadaptors
directory.Info MB_IP
:
he IP address used by ActiveMQ.Code Block <outputEventAdaptor name="JMSOutputAdaptor" statistics="disable" trace="enable" type="jms" xmlns="http://wso2.org/carbon/eventadaptormanager"> <!--property name="java.naming.provider.url">CEP_HOME/repository/conf/jndi.properties</property--> <property name="java.naming.provider.url">tcp://[MB_IP]:61616</property> <property name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</property> <property name="transport.jms.ConnectionFactoryJNDIName">TopicConnectionFactory</property> <property name="transport.jms.DestinationType">topic</property> </outputEventAdaptor>
Navigate to the
<apache-stratos-version-<wso2ppaas-4.1.0-SNAPSHOT>/bin
directory, which is in the unzipped Stratos Private PaaS distribution.Code Block cd <apache-stratos-version-SNAPSHOT>wso2ppaas-4.1.0-SNAPSHOT/bin/
Start StratosPrivate PaaS.
Code Block ./stratoswso2server.sh