JerzySeweryn

personal notes

Adobe AiR update

main Application:

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="checkForAppUpdate()">
     <mx:Script>
          <![CDATA[
               import air.update.events.UpdateEvent;
               import air.update.ApplicationUpdaterUI;

               private var appUpdater:ApplicationUpdaterUI = new ApplicationUpdaterUI;

// checks to see if an updated version of the app is up.

               private function checkForAppUpdate():void
               {
                    appUpdater.configurationFile = new File(app:/updateConfig.xml);
                    appUpdater.isCheckForUpdateVisible = false;
                    appUpdater.initialize();
                    appUpdater.addEventListener(UpdateEvent.INITIALIZED, onUpdate);
                    appUpdater.addEventListener(ErrorEvent.ERROR, onError);

               }

// if there's an error to the update show an alert

               private function onError(event:ErrorEvent):void
               {
                    Alert.show(event.toString());
               }

// check to see if updated is needed

               private function onUpdate(event:UpdateEvent):void
               {
                    appUpdater.checkNow();
               }

          ]]>
     </mx:Script>
</mx:WindowedApplication>

updateConfig.xml (with your src, compiled at build):

<?xml version="1.0" encoding="utf-8"?>

<configuration xmlns="http://ns.adobe.com/air/framework/update/configuration/1.0">

<url>http://somewhereOnTheInternet.com/aDirectory/aDirectory/appUpdate.xml</url>
<delay>0.5</delay>
<defaultUI>
          <dialog name="checkForUpdate" visible="false" />
          <dialog name="downloadUpdate" visible="false" />
          <dialog name="downloadProgress" visible="false" />
          <dialog name="installUpdate" visible="false" />
          <dialog name="fileUpdate" visible="false" />
          <dialog name="unexpectedError" visible="true" />
     </defaultUI>
</configuration>

Delay is per day. .5 is half day, .02 = half an hour.
appUpdate.xml (to be placed somewhere on your site):

<?xml version="1.0" encoding="utf-8"?>
     <update xmlns="http://ns.adobe.com/air/framework/update/description/1.0">
          <version>v1.0</version>
          <url>http://somewhereOnTheInternet.com/aDirectory/aDirectory/myApplication.air</url>
          <description>
               <![CDATA[
               This is where your description goes.
               ]]>
          </description>
     </update>

Apt-mirror setup local ubuntu package repository

Server setup

sudo apt-get install apache2
sudo apt-get install apt-mirror
sudo vim /etc/apt/mirror.list
deb http://archive.ubuntu.com/ubuntu karmic main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu karmic-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu karmic-updates main restricted universe multiverse
sudo apt-mirror
sudo vim /etc/cron.d/apt-mirror
0 4     * * *   apt-mirror      /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log
#daily 04:00 AM
sudo ln -s /var/spool/apt-mirror/mirror/archive.ubuntu.com/ubuntu/ /var/www/ubuntu

Client setup

sudo vim /etc/apt/source.list
deb http://192.168.1.3/ubuntu karmic main restricted universe multiverse
deb http://192.168.1.3/ubuntu karmic-updates main restricted universe multiverse
deb http://192.168.1.3/ubuntu karmic-security main restricted universe multiverse
sudo links http://192.168.1.3/ubuntu

NFS Server Client Tutorial

NFS Server

Install NFS Server Support

sudo apt-get install nfs-kernel-server nfs-common portmap

Editing /etc/exports

sudo vim /etc/exports
/files 192.168.1.0/24(rw,no_root_squash,async)
sudo /etc/init.d/nfs-kernel-server restart
sudo exportfs -a

NFS client

Install NFS client support

sudo apt-get install portmap nfs-common
sudo mount server.mydomain.com:/files /files
sudo /etc/init.d/portmap restart
sudo /etc/init.d/nfs-common restart

Mounting at boot using /etc/fstab

sudo vim /etc/fstab
server.mydomain.com:/files /files nfs rsize=8192,wsize=8192,timeo=14,intr

Tomcat 6 Ubuntu install for multiple instances

Install SUN JAVA6 JDK

root@h apt-get install sun-java6-jdk

Install TOMCAT6 user instances

root@h: apt-get install tomcat6-user

Add new user:

root@h: adduser tomcatA

Create TOMCAT6 user instance:

tomcatA@h: tomcat6-instance-create tomcat

Tomcat configure(port):

tomcatA@h: vim tomcat/conf/server.xml

Tomcat start/stop:

tomcatA@h: ./tomcat/bin/startup.sh
tomcatA@h: ./tomcat/bin/shutdown.sh

Add to autostart:

root@h: vim /etc/init.d/tomcatA
#!/bin/bash
# Tomcat auto-start
#
# description: Auto-starts tomcat
# processname: tomcat
# pidfile: /var/run/tomcat.pid

export JAVA_HOME=/usr/lib/jvm/java-6-sun

case $1 in
    start)
            sudo -u tomcatA /home/tomcatA/tomcat/bin/startup.sh
            ;;
    stop)
            sudo -u tomcatA /home/tomcatA/tomcat/bin/shutdown.sh
            ;;
    restart)
            sudo -u tomcatA /home/tomcatA/tomcat/bin/shutdown.sh
            sudo -u tomcatA /home/tomcatA/tomcat/bin/startup.sh
            ;;
esac
exit 0
root@h: chmod +x /etc/init.d/tomcatA

Update init.d scripts

sudo update-rc.d tomcatA defaults