{"id":2989,"date":"2010-05-05T03:57:34","date_gmt":"2010-05-05T07:57:34","guid":{"rendered":"http:\/\/g33kinfo.com\/info\/?p=2989"},"modified":"2010-05-05T03:57:34","modified_gmt":"2010-05-05T07:57:34","slug":"how-to-create-a-centos-5-4-amazon-ami-with-java-and-tomcat","status":"publish","type":"post","link":"https:\/\/g33kinfo.com\/info\/how-to-create-a-centos-5-4-amazon-ami-with-java-and-tomcat\/","title":{"rendered":"How to create a CentOS 5.4 Amazon AMI with java and tomcat"},"content":{"rendered":"<p>From <a href=\"http:\/\/www.kampx.com\" target=\"_blank\" rel=\"noopener noreferrer\">kampx.com<\/a><br \/>\nAfter some experimenting with Google App Engine, there is one thing that bothers me the most; I cannot run any background programs. <\/p>\n<p>So, I thought it was time to check out the competition at Amazon ec2. I like centos and I wanted to create an Amazon Machine Image (AMI) which runs on 5.4, contains a servlet engine (Apache Tomcat) and is able to receive http requests on port 80. There are a lot of resources available (here, here, here, here, here, here,here and here) but none of them did exactly what I want.<\/p>\n<p>The script I wrote (below) does the following things:<br \/>\n<!--more--><\/p>\n<p>Uses the 32 bit version of CentOS 5.4 (only for Small or High-CPU Medium instances)<br \/>\na 5GB file system<br \/>\nreroute traffic from port 8080 to 80 (using iptables)<br \/>\nInstall a xen compatible kernel<br \/>\nPrevent the re spawning of tty2 to 6<br \/>\nInstall java<br \/>\nInstall tomcat &#038; auto start<br \/>\nIf you have any remarks\/comments, please let me know, than I can improve this script.<\/p>\n<p>First I installed centos 5.4 in a VMware environment and from there I created the Amazon AMI.<\/p>\n<p><code><br \/>\n#create a 5GB image:<br \/>\ndd if=\/dev\/zero of=centos54ami.sf bs=1M count=5120<br \/>\n#create a filesystem:<br \/>\n\/sbin\/mke2fs -F -j centos54ami.sf<br \/>\n#create mountpoint:<br \/>\nmkdir \/mnt\/ec2-fs<br \/>\n#mount on loopback:<br \/>\nmount -o loop centos54ami.sf \/mnt\/ec2-fs<br \/>\n#create devices:<br \/>\nmkdir \/mnt\/ec2-fs\/dev<br \/>\n\/sbin\/MAKEDEV -d \/mnt\/ec2-fs\/dev\/ -x console<br \/>\n\/sbin\/MAKEDEV -d \/mnt\/ec2-fs\/dev\/ -x null<br \/>\n\/sbin\/MAKEDEV -d \/mnt\/ec2-fs\/dev\/ -x zero<br \/>\n#create etc:<br \/>\nmkdir \/mnt\/ec2-fs\/etc<br \/>\n#Create a proc point for the image and mount it:<br \/>\nmkdir \/mnt\/ec2-fs\/proc<br \/>\nmount -t proc none \/mnt\/ec2-fs\/proc<br \/>\n#vi yum-xen.conf file (on the local filesystem\/not on the mount)<br \/>\nvi yum-xen.conf<\/p>\n<p>[main]<br \/>\ncachedir=\/var\/cache\/yum<br \/>\ndebuglevel=2<br \/>\nlogfile=\/var\/log\/yum.log<br \/>\nexclude=*-debuginfo<br \/>\ngpgcheck=0<br \/>\nobsoletes=1<br \/>\npkgpolicy=newest<br \/>\ndistroverpkg=redhat-release<br \/>\ntolerant=1<br \/>\nexactarch=1<br \/>\nreposdir=\/dev\/null<br \/>\nmetadata_expire=1800<br \/>\n[base]<br \/>\nname=CentOS-5.4 \u2013 Base<br \/>\nbaseurl=http:\/\/mirror.centos.org\/centos\/5.4\/os\/i386\/<br \/>\ngpgcheck=1<br \/>\ngpgkey=http:\/\/mirror.centos.org\/centos\/RPM-GPG-KEY-CentOS-5<br \/>\npriority=1<br \/>\nprotect=1<br \/>\n#released updates<br \/>\n[update]<br \/>\nname=CentOS-5.4 \u2013 Updates<br \/>\nbaseurl=http:\/\/mirror.centos.org\/centos\/5.4\/updates\/i386\/<br \/>\ngpgcheck=1<br \/>\ngpgkey=http:\/\/mirror.centos.org\/centos\/RPM-GPG-KEY-CentOS-5<br \/>\npriority=1<br \/>\nprotect=1<br \/>\n#packages used\/produced in the build but not released<br \/>\n[addons]<br \/>\nname=CentOS-5.4 \u2013 Addons<br \/>\nbaseurl=http:\/\/mirror.centos.org\/centos\/5.4\/addons\/i386\/<br \/>\ngpgcheck=1<br \/>\ngpgkey=http:\/\/mirror.centos.org\/centos\/RPM-GPG-KEY-CentOS-5<br \/>\npriority=1<br \/>\n[extras]<br \/>\nname=CentOS 5.4 Extras $releasever \u2013 $basearch<br \/>\nbaseurl=http:\/\/mirror.centos.org\/centos\/5.4\/extras\/i386\/<br \/>\nenabled=1<br \/>\n#Run the yum installer and install the Core group:<br \/>\nyum -c yum-xen.conf \u2013installroot=\/mnt\/ec2-fs -y groupinstall Core<br \/>\n#setup network settings:<br \/>\nvi \/mnt\/ec2-fs\/etc\/sysconfig\/network-scripts\/ifcfg-eth0<\/p>\n<p>DEVICE=eth0<br \/>\nBOOTPROTO=dhcp<br \/>\nONBOOT=yes<br \/>\nTYPE=Ethernet<br \/>\nUSERCTL=yes<br \/>\nPEERDNS=yes<br \/>\nIPV6INIT=no<\/p>\n<p>#Turn on networking:<br \/>\nvi \/mnt\/ec2-fs\/etc\/sysconfig\/network<\/p>\n<p>NETWORKING=yes<br \/>\n#create resolv.conf:<br \/>\nvi \/mnt\/ec2-fs\/etc\/resolv.conf<br \/>\nsearch z-2.compute-1.internal?nameserver 172.16.0.23<\/p>\n<p>#Set up the hard drives:<br \/>\nvi \/mnt\/ec2-fs\/etc\/fstab<\/p>\n<p>\/dev\/sda1 \/ ext3 defaults 1 1<br \/>\nnone \/dev\/pts devpts gid=5,mode=620 0 0<br \/>\nnone \/dev\/shm tmpfs defaults 0 0<br \/>\nnone \/proc proc defaults 0 0<br \/>\nnone \/sys sysfs defaults 0 0<br \/>\n\/dev\/sda2 \/mnt ext3 defaults 0 0<br \/>\n\/dev\/sda3 swap swap defaults 0 0<\/p>\n<p>#Install wget, curl and iptables<br \/>\nyum -c yum-xen.conf \u2013installroot=\/mnt\/ec2-fs -y install wget<br \/>\nyum -c yum-xen.conf \u2013installroot=\/mnt\/ec2-fs -y install curl<br \/>\nyum -c yum-xen.conf \u2013installroot=\/mnt\/ec2-fs -y install iptables<\/p>\n<p>#disable selinux<br \/>\nvi \/mnt\/ec2-fs\/etc\/selinux\/config<\/p>\n<p>SELINUX=disabled<\/p>\n<p>#comment out the respawning of tty2 to 6<\/p>\n<p>vi \/mnt\/ec2-fs\/etc\/inittab<\/p>\n<p>comment out mingetty tty2 to 6<\/p>\n<p>#create script to retrieve the public key<br \/>\nvi \/mnt\/ec2-fs\/usr\/local\/sbin\/get-credentials.sh<\/p>\n<p>#!\/bin\/sh<br \/>\nif [ ! -d \/root\/.ssh ] ;<br \/>\nthen mkdir -p \/root\/.ssh<br \/>\nchmod 700 \/root\/.ssh<br \/>\nfi<\/p>\n<p># Fetch public key using HTTP<\/p>\n<p>curl -f http:\/\/169.254.169.254\/latest\/meta-data\/public-keys\/0\/openssh-key > \/tmp\/my-key<br \/>\nif [ $? -eq 0 ] ;<br \/>\nthen<br \/>\ncat \/tmp\/my-key >> \/root\/.ssh\/authorized_keys<br \/>\nchmod 600 \/root\/.ssh\/authorized_keys<br \/>\nrm -f \/tmp\/my-key<br \/>\nfi<\/p>\n<p>#add execute rights<br \/>\nchmod +x \/mnt\/ec2-fs\/usr\/local\/sbin\/get-credentials.sh<\/p>\n<p>#add line to rc.local:<br \/>\nvi \/mnt\/ec2-fs\/etc\/rc.local<\/p>\n<p>\/usr\/local\/sbin\/get-credentials.sh<\/p>\n<p>#download & install java<br \/>\nwget http:\/\/javadl.sun.com\/webapps\/download\/AutoDL?BundleId=37391<br \/>\nmv jre-6u18-linux-i586.bin<br \/>\nchmod +x jre-6u18-linux-i586.bin<br \/>\n.\/jre-6u18-linux-i586.bin<br \/>\nmv jre1.6.0_18 \/mnt\/ec2-fs\/usr\/lib\/<\/p>\n<p>#download & install tomcat<br \/>\nwget http:\/\/archive.apache.org\/dist\/tomcat\/tomcat-5\/v5.5.28\/bin\/apache-tomcat-5.5.28.tar.gz<br \/>\ntar -xzf apache-tomcat-5.5.28.tar.gz<br \/>\nmv apache-tomcat-5.5.28 \/mnt\/ec2-fs\/opt\/tomcat<br \/>\necho \u201cexport CATALINA_HOME=\/opt\/tomcat\u201d >> \/mnt\/ec2-fs\/root\/.bashrc<br \/>\necho \u201cCATALINA_BASE=\/opt\/tomcat\u201d >> \/mnt\/ec2-fs\/root\/.bashrc<\/p>\n<p>#autostartup tomcat<br \/>\nvi \/mnt\/ec2-fs\/etc\/init.d\/tomcat<\/p>\n<p>#!\/bin\/bash<br \/>\n#<br \/>\n# tomcat<br \/>\n#<br \/>\n# chkconfig: 2345 80 30<br \/>\n# description: Start up the Tomcat servlet engine.<\/p>\n<p># Source function library.<br \/>\n. \/etc\/init.d\/functions<\/p>\n<p>RETVAL=$?<br \/>\nCATALINA_HOME=\u201d\/opt\/tomcat\u201d<br \/>\nexport JAVA_HOME=\u201d\/usr\/lib\/jre\u201d<br \/>\ncase \u201c$1? in<br \/>\nstart)<br \/>\nif [ -f $CATALINA_HOME\/bin\/startup.sh ];<br \/>\nthen<br \/>\necho $\u201dStarting Tomcat\u201d<br \/>\n\/bin\/su tomcat $CATALINA_HOME\/bin\/startup.sh<br \/>\nfi<br \/>\n;;<br \/>\nstop)<br \/>\nif [ -f $CATALINA_HOME\/bin\/shutdown.sh ];<br \/>\nthen<br \/>\necho $\u201dStopping Tomcat\u201d<br \/>\n\/bin\/su tomcat $CATALINA_HOME\/bin\/shutdown.sh<br \/>\nfi<br \/>\n;;<br \/>\n*)<br \/>\necho $\u201dUsage: $0 {start|stop}\u201d<br \/>\nexit 1<br \/>\n;;<br \/>\nesac<\/p>\n<p>exit $RETVAL<br \/>\nthen<\/p>\n<p>chmod +x \/mnt\/ec2-fs\/etc\/init.d\/tomcat<br \/>\ncd \/mnt\/ec2-fs\/etc\/rc5.d<br \/>\nln -s \/mnt\/ec2-fs\/etc\/init.d\/tomcat \/mnt\/ec2-fs\/etc\/rc5.d\/S71tomcat<\/p>\n<p>#Chroot and auto start the services sshd and tomcat:<\/p>\n<p>\/usr\/sbin\/chroot \/mnt\/ec2-fs \/bin\/sh<br \/>\n\/sbin\/chkconfig \u2013level 345 sshd on<br \/>\n\/sbin\/chkconfig tomcat on<\/p>\n<p>#create link for java lib<\/p>\n<p>cd \/usr\/lib<br \/>\nln -s jre1.6.0_18 jre<\/p>\n<p>#set the correct java path<\/p>\n<p>echo \u201cexport JAVA_HOME=\/usr\/lib\/jre\u201d >> \/root\/.bashrc<br \/>\necho \u201cexport PATH=\/usr\/lib\/jre\/bin:$PATH\u201d >> \/root\/.bashrc<br \/>\n\/usr\/sbin\/useradd -d \/opt\/tomcat tomcat<br \/>\nchown -R tomcat:tomcat \/opt\/tomcat<\/p>\n<p>#remove default installed applications<\/p>\n<p>cd \/opt\/tomcat\/webapps<br \/>\nrm -r balancer\/<br \/>\nrm -r webdav\/<br \/>\nrm -r tomcat-docs\/<br \/>\nrm -r servlets-examples\/<br \/>\nrm -r jsp-examples\/<\/p>\n<p>#install custom kernel<\/p>\n<p>cd\/<br \/>\nwget http:\/\/s3.amazonaws.com\/ec2-downloads\/modules-2.6.16-ec2.tgz<br \/>\ngunzip modules-2.6.16-ec2.tgz<br \/>\ntar -xvf modules-2.6.16-ec2.tar<br \/>\n\/sbin\/depmod -ae 2.6.16-xenU<\/p>\n<p>#fix some Xen guest kernels things<\/p>\n<p>vi \/etc\/ld.so.conf.d\/libc6-xen.conf<\/p>\n<p># This directive teaches ldconfig to search in nosegneg subdirectories<br \/>\n# and cache the DSOs there with extra bit 0 set in their hwcap match<br \/>\n# fields. In Xen guest kernels, the vDSO tells the dynamic linker to<br \/>\n# search in nosegneg subdirectories and to match this extra hwcap bit<br \/>\n# in the ld.so.cache file.<br \/>\nhwcap 0 nosegneg<\/p>\n<p>#create the necessary links and cache<\/p>\n<p>\/sbin\/ldconfig<\/p>\n<p>#redirect port 80 to 8080<\/p>\n<p>\/sbin\/iptables \u2013flush<br \/>\n\/sbin\/iptables \u2013table nat \u2013flush<br \/>\n\/sbin\/iptables -t nat -A PREROUTING -j REDIRECT -p tcp \u2013destination-port 80:80 \u2013to-ports 8080<br \/>\n\/sbin\/iptables-save<\/p>\n<p>#Exit out of your chroot:<\/p>\n<p>exit<\/p>\n<p>#cleanup<\/p>\n<p>yum -c yum-xen.conf \u2013installroot=\/mnt\/ec2-fs clean all<\/p>\n<p>#Unmount the image<\/p>\n<p>umount \/mnt\/ec2-fs\/proc<br \/>\numount -d \/mnt\/ec2-fs<\/p>\n<p>#install ruby<\/p>\n<p>yum install ruby<\/p>\n<p>#Download the EC2 AMI Tools:<br \/>\nwget http:\/\/s3.amazonaws.com\/ec2-downloads\/ec2-ami-tools.noarch.rpm<\/p>\n<p>#Install the EC2 AMI Tools<\/p>\n<p>rpm -Uvh ec2-ami-tools.noarch.rpm<\/p>\n<p>#bundle the your image<\/p>\n<p>\/usr\/local\/bin\/ec2-bundle-image -i centos54ami.sf -c -k -u <\/p>\n<p>#upload to s3<\/p>\n<p>\/usr\/local\/bin\/ec2-upload-bundle -b -m \/tmp\/centos54ami.sf.manifest.xml -a -s <\/p>\n<p>With the AWS console, you can now register and startup the AMI<\/p>\n<p>#log on to the newly created instance<\/p>\n<p>ssh -i<\/code><\/p>\n<p>From <a href=\"http:\/\/www.kampx.com\" target=\"_blank\" rel=\"noopener noreferrer\">kampx.com<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>From kampx.com After some experimenting with Google App Engine, there is one thing that bothers me the most; I cannot run any background programs. So, I thought it was time to check out the competition at Amazon ec2. I like centos and I wanted to create an Amazon Machine Image (AMI) which runs on 5.4,&#8230; <\/p>\n<div class=\"read-more navbutton\"><a href=\"https:\/\/g33kinfo.com\/info\/how-to-create-a-centos-5-4-amazon-ami-with-java-and-tomcat\/\">Read More<i class=\"fa fa-angle-double-right\"><\/i><\/a><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[],"class_list":["post-2989","post","type-post","status-publish","format-standard","hentry","category-info"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to create a CentOS 5.4 Amazon AMI with java and tomcat - Linux Shtuff<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/g33kinfo.com\/info\/how-to-create-a-centos-5-4-amazon-ami-with-java-and-tomcat\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to create a CentOS 5.4 Amazon AMI with java and tomcat - Linux Shtuff\" \/>\n<meta property=\"og:description\" content=\"From kampx.com After some experimenting with Google App Engine, there is one thing that bothers me the most; I cannot run any background programs. So, I thought it was time to check out the competition at Amazon ec2. I like centos and I wanted to create an Amazon Machine Image (AMI) which runs on 5.4,... Read More\" \/>\n<meta property=\"og:url\" content=\"https:\/\/g33kinfo.com\/info\/how-to-create-a-centos-5-4-amazon-ami-with-java-and-tomcat\/\" \/>\n<meta property=\"og:site_name\" content=\"Linux Shtuff\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/fb.me\/g33kinf0\" \/>\n<meta property=\"article:author\" content=\"https:\/\/fb.me\/g33kinf0\" \/>\n<meta property=\"article:published_time\" content=\"2010-05-05T07:57:34+00:00\" \/>\n<meta name=\"author\" content=\"g33kadmin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/drsinger1111\" \/>\n<meta name=\"twitter:site\" content=\"@drsinger1111\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/how-to-create-a-centos-5-4-amazon-ami-with-java-and-tomcat\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/how-to-create-a-centos-5-4-amazon-ami-with-java-and-tomcat\\\/\"},\"author\":{\"name\":\"g33kadmin\",\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/#\\\/schema\\\/person\\\/c022e4c40b13ea1b678e6f020756f547\"},\"headline\":\"How to create a CentOS 5.4 Amazon AMI with java and tomcat\",\"datePublished\":\"2010-05-05T07:57:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/how-to-create-a-centos-5-4-amazon-ami-with-java-and-tomcat\\\/\"},\"wordCount\":192,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/#\\\/schema\\\/person\\\/c022e4c40b13ea1b678e6f020756f547\"},\"articleSection\":[\"General Info\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/g33kinfo.com\\\/info\\\/how-to-create-a-centos-5-4-amazon-ami-with-java-and-tomcat\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/how-to-create-a-centos-5-4-amazon-ami-with-java-and-tomcat\\\/\",\"url\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/how-to-create-a-centos-5-4-amazon-ami-with-java-and-tomcat\\\/\",\"name\":\"How to create a CentOS 5.4 Amazon AMI with java and tomcat - Linux Shtuff\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/#website\"},\"datePublished\":\"2010-05-05T07:57:34+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/how-to-create-a-centos-5-4-amazon-ami-with-java-and-tomcat\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/g33kinfo.com\\\/info\\\/how-to-create-a-centos-5-4-amazon-ami-with-java-and-tomcat\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/how-to-create-a-centos-5-4-amazon-ami-with-java-and-tomcat\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to create a CentOS 5.4 Amazon AMI with java and tomcat\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/#website\",\"url\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/\",\"name\":\"Linux Shtuff\",\"description\":\"Because I have CRS Syndrome...\",\"publisher\":{\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/#\\\/schema\\\/person\\\/c022e4c40b13ea1b678e6f020756f547\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/#\\\/schema\\\/person\\\/c022e4c40b13ea1b678e6f020756f547\",\"name\":\"g33kadmin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/minion-researchA.gif\",\"url\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/minion-researchA.gif\",\"contentUrl\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/minion-researchA.gif\",\"width\":512,\"height\":512,\"caption\":\"g33kadmin\"},\"logo\":{\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/minion-researchA.gif\"},\"description\":\"I am a g33k, Linux blogger, developer, student and Tech Writer for Liquidweb.com\\\/kb. My passion for all things tech drives my hunt for all the coolz. I often need a vacation after I get back from vacation....\",\"sameAs\":[\"https:\\\/\\\/thelinuxreport.com\",\"https:\\\/\\\/fb.me\\\/g33kinf0\",\"https:\\\/\\\/x.com\\\/https:\\\/\\\/twitter.com\\\/drsinger1111\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to create a CentOS 5.4 Amazon AMI with java and tomcat - Linux Shtuff","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/g33kinfo.com\/info\/how-to-create-a-centos-5-4-amazon-ami-with-java-and-tomcat\/","og_locale":"en_US","og_type":"article","og_title":"How to create a CentOS 5.4 Amazon AMI with java and tomcat - Linux Shtuff","og_description":"From kampx.com After some experimenting with Google App Engine, there is one thing that bothers me the most; I cannot run any background programs. So, I thought it was time to check out the competition at Amazon ec2. I like centos and I wanted to create an Amazon Machine Image (AMI) which runs on 5.4,... Read More","og_url":"https:\/\/g33kinfo.com\/info\/how-to-create-a-centos-5-4-amazon-ami-with-java-and-tomcat\/","og_site_name":"Linux Shtuff","article_publisher":"https:\/\/fb.me\/g33kinf0","article_author":"https:\/\/fb.me\/g33kinf0","article_published_time":"2010-05-05T07:57:34+00:00","author":"g33kadmin","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/drsinger1111","twitter_site":"@drsinger1111","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/g33kinfo.com\/info\/how-to-create-a-centos-5-4-amazon-ami-with-java-and-tomcat\/#article","isPartOf":{"@id":"https:\/\/g33kinfo.com\/info\/how-to-create-a-centos-5-4-amazon-ami-with-java-and-tomcat\/"},"author":{"name":"g33kadmin","@id":"https:\/\/g33kinfo.com\/info\/#\/schema\/person\/c022e4c40b13ea1b678e6f020756f547"},"headline":"How to create a CentOS 5.4 Amazon AMI with java and tomcat","datePublished":"2010-05-05T07:57:34+00:00","mainEntityOfPage":{"@id":"https:\/\/g33kinfo.com\/info\/how-to-create-a-centos-5-4-amazon-ami-with-java-and-tomcat\/"},"wordCount":192,"commentCount":0,"publisher":{"@id":"https:\/\/g33kinfo.com\/info\/#\/schema\/person\/c022e4c40b13ea1b678e6f020756f547"},"articleSection":["General Info"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/g33kinfo.com\/info\/how-to-create-a-centos-5-4-amazon-ami-with-java-and-tomcat\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/g33kinfo.com\/info\/how-to-create-a-centos-5-4-amazon-ami-with-java-and-tomcat\/","url":"https:\/\/g33kinfo.com\/info\/how-to-create-a-centos-5-4-amazon-ami-with-java-and-tomcat\/","name":"How to create a CentOS 5.4 Amazon AMI with java and tomcat - Linux Shtuff","isPartOf":{"@id":"https:\/\/g33kinfo.com\/info\/#website"},"datePublished":"2010-05-05T07:57:34+00:00","breadcrumb":{"@id":"https:\/\/g33kinfo.com\/info\/how-to-create-a-centos-5-4-amazon-ami-with-java-and-tomcat\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/g33kinfo.com\/info\/how-to-create-a-centos-5-4-amazon-ami-with-java-and-tomcat\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/g33kinfo.com\/info\/how-to-create-a-centos-5-4-amazon-ami-with-java-and-tomcat\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/g33kinfo.com\/info\/"},{"@type":"ListItem","position":2,"name":"How to create a CentOS 5.4 Amazon AMI with java and tomcat"}]},{"@type":"WebSite","@id":"https:\/\/g33kinfo.com\/info\/#website","url":"https:\/\/g33kinfo.com\/info\/","name":"Linux Shtuff","description":"Because I have CRS Syndrome...","publisher":{"@id":"https:\/\/g33kinfo.com\/info\/#\/schema\/person\/c022e4c40b13ea1b678e6f020756f547"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/g33kinfo.com\/info\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/g33kinfo.com\/info\/#\/schema\/person\/c022e4c40b13ea1b678e6f020756f547","name":"g33kadmin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/g33kinfo.com\/info\/wp-content\/uploads\/2022\/07\/minion-researchA.gif","url":"https:\/\/g33kinfo.com\/info\/wp-content\/uploads\/2022\/07\/minion-researchA.gif","contentUrl":"https:\/\/g33kinfo.com\/info\/wp-content\/uploads\/2022\/07\/minion-researchA.gif","width":512,"height":512,"caption":"g33kadmin"},"logo":{"@id":"https:\/\/g33kinfo.com\/info\/wp-content\/uploads\/2022\/07\/minion-researchA.gif"},"description":"I am a g33k, Linux blogger, developer, student and Tech Writer for Liquidweb.com\/kb. My passion for all things tech drives my hunt for all the coolz. I often need a vacation after I get back from vacation....","sameAs":["https:\/\/thelinuxreport.com","https:\/\/fb.me\/g33kinf0","https:\/\/x.com\/https:\/\/twitter.com\/drsinger1111"]}]}},"_links":{"self":[{"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/posts\/2989","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/comments?post=2989"}],"version-history":[{"count":0,"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/posts\/2989\/revisions"}],"wp:attachment":[{"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/media?parent=2989"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/categories?post=2989"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/tags?post=2989"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}