Thingworx install on Ubuntu 14.04.1 VM
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
VirtualBox VM Install | |
===================== | |
Prerequisites: | |
- VirtualBox installed | |
- Ubuntu ISO image downloaded: ubuntu-14.04.1-server-amd64.iso | |
-- for 64bit architecture AMD/Intel processors | |
- Thingworx packages downloaded | |
Create new VM in VirtualBox, select ISO and use these (or other) settings: | |
Host thing, User Thing | |
Credentials: thing/thing | |
No LVM 64 GB | |
Standard installation, answer Yes to questions | |
Select packets to install: openssh-server (nothing else) | |
Reconfigure the network in VirtualBox settings: | |
- In VirtualBox main Preferences/Network, add a ‘named’ Host-Only network if not yet existing | |
- In the new VM Settings/Network, set Adapter 1 as Host-Only and select the newly created ‘named’ Host-only network. | |
Network Variants: | |
1: When connected to a wireless network, set Adapter 2 to bridge mode | |
2: When not connected to wireless, set Adapter 2 to NAT mode (to avoid timeouts) | |
Reboot VMs after a network change | |
sudo vim /etc/network/interfaces | |
# Change to following (suggestion): | |
auto lo | |
iface lo inet loopback | |
# The primary network interface | |
auto eth0 | |
iface eth0 inet static | |
address 192.168.56.10 | |
netmask 255.255.255.0 | |
network 192.168.56.0 | |
broadcast 192.168.56.255 | |
auto eth1 | |
iface eth1 inet dhcp | |
Execute in VirtualBox window for the VM (on Ubuntu): | |
# To find out the status and IP addresses of the eth0 and eth1 adapters | |
ip addr | |
# On Apple terminal (change IP address based on ip addr output) | |
ssh -l thing 192.168.56.10 | |
# The following is optional if you want shared folders with the host: | |
# Mount VBoxLinuxAdditions.iso via VirtualBox menu | |
sudo apt-get update | |
sudo apt-get install dkms gcc | |
sudo mount /dev/sr0 /media/cdrom | |
cd /media/cdrom | |
sudo ./VBoxLinuxAdditions.run | |
sudo apt-get update | |
# Define Shared Folder in VirtualBox VM settings (named xxxxx) | |
# https://www.virtualbox.org/manual/ch04.html#sharedfolders | |
sudo mkdir /mnt/xxxxx | |
Amazon EC2 Install | |
================== | |
Amazon zone US-West 2 (Oregon) | |
Choose Ubuntu 12.04 LTS Precise HVM EBS-SSD boot ami-ef5e24df | |
# Create/Associate Security Group | |
Open ports SSH, HTTP, HTTPS, 8080, SOCKS5 | |
# Associate elastic IP | |
xx.xx.xx.xx | |
ssh -i .ssh/key.pem ubuntu@xx.xx.xx.xx | |
# The following EBS volume setup is not necessary initially: | |
# Associate new EBS volumes /dev/sdg, /dev/sdh | |
# Format new EBS volumes | |
sudo mkfs -t ext4 /dev/xvdg | |
sudo mkfs -t ext4 /dev/xvdh | |
sudo vim /etc/fstab | |
# Add lines | |
#/dev/xvdm /mnt/ThingworxStorage ext4 noatime 0 0 | |
#/dev/xvdn /mnt/ThingworxBackupStorage ext4 noatime 0 0 | |
sudo mkdir /mnt/ThingworxStorage | |
sudo mkdir /mnt/ThingworxBackupStorage | |
sudo mount /dev/xvdg /mnt/ThingworxStorage | |
sudo mount /dev/xvdh /mnt/ThingworxBackupStorage | |
ThingworX Install | |
================= | |
Based on Thingworx install info: | |
https://twc.thingworx.com/Thingworx/Runtime/index.html#master=ThingWorxCommunity&mashup=ThingWorxHome | |
# ---System | |
sudo aptitude update | |
sudo apt-get install ntp | |
sudo apt-get install authbind | |
sudo touch /etc/authbind/byport/443 | |
sudo chmod 555 /etc/authbind/byport/443 | |
# --- Java | |
# Java: https://www.digitalocean.com/community/tutorials/how-to-install-java-on-ubuntu-with-apt-get | |
sudo apt-get install python-software-properties | |
sudo add-apt-repository ppa:webupd8team/java | |
sudo apt-get update | |
sudo apt-get install oracle-java7-installer | |
sudo update-alternatives --config java | |
# no change, was ok | |
sudo update-alternatives --config javac | |
# no change, was ok | |
sudo vim /etc/environment | |
# Insert line at 0 and change PATH: | |
JAVA_HOME=/usr/lib/jvm/java-7-oracle | |
JAVA_BIN=/usr/lib/jvm/java-7-oracle/bin | |
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:$JAVA_BIN" | |
source /etc/environment | |
# --- Tomcat 7 | |
# The following are not necessary on a new VM without preinstalled tomcat | |
# http://askubuntu.com/questions/173981/installing-tomcat-7-on-ubuntu-server-12-04 | |
sudo apt-get purge tomcat6 | |
sudo apt-get remove tomcat6-common | |
sudo apt-get remove tomcat7 | |
sudo apt-get remove tomcat7-admin | |
sudo apt-get remove tomcat7-common | |
sudo apt-get purge tomcat7-common | |
sudo apt-get purge tomcat7 | |
sudo apt-get autoremove | |
wget http://apache.petsads.us/tomcat/tomcat-7/v7.0.55/bin/apache-tomcat-7.0.55.tar.gz | |
tar -xvf apache-tomcat-7.0.55.tar.gz | |
sudo mv apache-tomcat-7.0.55 /usr/share/tomcat7 | |
cd /usr/share/tomcat7 | |
sudo vim bin/catalina.sh | |
# Add these lines after initial long comment section: | |
JAVA_OPTS="$JAVA_OPTS -Dserver -Dd64 -Xms512m -Xmx2g -XX:+UseNUMA -XX:+UseConcMarkSweepGC" | |
CATALINA_OPTS="$CATALINA_OPTS -Djava.net.preferIPv4Stack=true" | |
sudo vim bin/startup.sh | |
# Change last line (insert the authbind --deep part): | |
exec authbind --deep "$PRGDIR"/"$EXECUTABLE" start "$@" | |
sudo vim conf/tomcat-users.xml | |
# Add in appropriate section: | |
<role rolename="manager"/> | |
<role rolename="admin"/> | |
<role rolename="manager-gui"/> | |
<user username="admin" password="mypasswd" roles="manager,admini,manager-gui"/> | |
sudo vim conf/context.xml | |
# Delete the lines before and after the Manager element, basically uncommenting the Manager element - this way, sessions are NOT persisted when Tomcat is restarted | |
sudo vim conf/server.xml | |
# Change 8080 to 80 to change the port number tomcat listens on | |
sudo vim /etc/init.d/tomcat7 | |
# Insert the following (up to and not including --EOF): | |
#!/bin/bash | |
### BEGIN INIT INFO | |
# Provides: tomcat7 | |
# Required-Start: $network | |
# Required-Stop: $network | |
# Default-Start: 2 3 4 5 | |
# Default-Stop: 0 1 6 | |
# Short-Description: Start/Stop Tomcat server | |
### END INIT INFO | |
PATH=/sbin:/bin:/usr/sbin:/usr/bin | |
start() { | |
sh /usr/share/tomcat7/bin/startup.sh | |
} | |
stop() { | |
sh /usr/share/tomcat7/bin/shutdown.sh | |
} | |
case $1 in | |
start|stop) $1;; | |
restart) stop; start;; | |
*) echo "Run as $0 <start|stop|restart>"; exit 1;; | |
esac | |
---EOF | |
sudo chmod 755 /etc/init.d/tomcat7 | |
sudo update-rc.d tomcat7 defaults | |
# Start tomcat (in the future the daemon scripts autostart) | |
sudo service tomcat7 start | |
# --- ThingworX webapp installation | |
Use the browser to go to http://ipaddr - shows Tomcat main page | |
Select manager or go to http://ipaddr/manager , log in using above admin/thingad7 login | |
In “WAR file to deploy” section, select Thingworx WAR file and upload | |
Wait for upload and start of Thingworx webapp. It should appear as started (Stop is a button, Start is text) in the table of Applications on this page. | |
Go to http://ipaddr/Thingworx and log in as Administrator/admin | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hey,
I have forked your gist and added the steps for using the ubuntu tomcat7 package.
gist:052a91ba0ed873e321f3