All / Any

PPM Access for Business Edition ActivePerl versions

There is an FAQ posted under the ActivePerl heading regarding 401 Authorization messages generated by PPM.

http://community.activestate.com/faq-list?tid=50

Manage Changing/Dynamic IP Address in Stackato

Question: 

How To Manage Changing/Dynamic IP Address in Stackato

Answer: 

Applies to: Stackato 1.x

One of the issues with managing a portable Stackato system (e.g. a micro cloud) is dealing with having your IP address change as you move environments.

If you use a NAT-ed setup (such as with VMware Fusion), this shouldn't happen, but you may desire to move to bridged to share your micro cloud with others on the same network.

There are many services running on Stackato that are sensitive to the current IP address. When the IP address changes, you will want to run the following commands to ensure everything continues to work as expected.

Symptoms of modified IP address without reconfiguration include services not being created successfully, or the file system service hanging when trying to start your application runtime. The way to diagnose a changed IP address is to run the following as the stackato on the server:

  % grep host ~/stackato/etc/vcap/*.yml

where you should see an IP address that does not correspond to that reported by

  % ifconfig eth0

To reconfigure your system if the IP address has changed and you are running a micro-cloud:

  1. This step is not necessary if you just rebooted and have obtained a new IP address from the new network. If the machine is already running and you want to force an update of the IP address (say you have moved networks and are running a Bridged Stackato), run
      % sudo /etc/init.d/networking restart
    You will be asked for the stackato user password. Following this, you should see ifconfig eth0 has obtained a new, pingable IP address. If this does not happen, there may be an error with DHCP in your setup (e.g. locked to only known MAC addresses). Contact the local network administrator to get access to that network.
  2. Stop the current Stackato server to make the rest of the changes
      % stackato-admin stop
  3. After your IP address has changed, run
      % stackato-admin reconfigure
    This will update the config files with the current IP address.
  4. If your server had running data/msg services (mysql, fs, redis, etc.), you must run
      % stackato-admin update-services-ip [newip]
    This will update the cached controller database IP references for the existing applications.
  5. Now restart the Stackato system and you are ready to go.
      % stackato-admin restart

Use PHP Sessions in Stackato VM

Question: 

How to handle PHP sessions in Stackato VM

Answer: 

Applies to: Stackato 1.x, 2.x

One of the issues with managing a custom PHP application with multiple instances in Stackato is dealing with user sessions.

Because of Stackato's architecture, a user of your site may not access the same server that started their session for each subsequent HTTP request. Based on traffic at any given moment, the router in Stackato 1.2.6 will direct requests to any DEA associated with your app. This will be improved in a new version of the router.

A simple solution is to store the user session in a shared location on the persistent file system. If your custom PHP application stores sessions in a database, you do not have to worry about this issue.

1. Add a new filesystem service in stackato.yml file:

        services:
           session-fs: filesystem

2. Override the default location for storing session variables by inserting this before the session_start() function call. This is usually located at the top of most PHP files.

        ini_set("session.save_path", "/app/fs/session-fs");
        session_start();

Unfortunately, you can not set this inside php.ini in Stackato.

Set Static IP in Stackato

Question: 

How do I set a static IP for my Stackato VM

Answer: 

In Stackato 2.4, you can use the command "kato op static_ip" to easily set static IP in Stackato. (Strongly Recommended)
http://docs.stackato.com/reference/kato-ref.html#kato-command-ref-op

In versions prior to Stackato 2.4, it's fairly simple to set a static IP address. The main file you will need to edit is:

/etc/network/interfaces

Look for the line that starts with 'eth0' and modify it so it looks similar to the following (modify for your network settings where appropriate)

auto eth0
iface eth0 inet static
        address 192.168.68.123
        netmask 255.255.255.0
        network 192.168.68.0
        broadcast 192.168.68.255
        gateway 192.168.68.1
        dns-nameservers 192.168.68.2

We also use resolvconf to manage DNSmasq settings for the LXC containers so be sure to also edit /etc/resolvconf/resolv.conf.d/base and add your DNS servers there, example:

nameserver 192.168.68.244
search     <your top level domain (i.e: 'activestate.com')>

Then restart the networking:

sudo /etc/init.d/resolvconf restart
sudo /etc/init.d/networking restart

Configuring your application to use the persistent file system

Question: 

How to configuring a application to use the persistent file system in stackato?

Answer: 

Applies to: Stackato 1.x, 2.x

A persistent file system service allows apps to do the following:

1. Share files across multiple instances of an app
2. Store files that persist if an app is removed (providing the service is not deleted) or if the server is restarted.

Below we will go through how we customized our WordPress installation to use the persistent file system. Before you begin, find out where all the user generated contents are saved. In WordPress, they are stored in wp-content folder.

Therefore we add the following to our stackato.yml::

services:
  fs-wp: filesystem

hooks: 
  post-staging:
    # create wp-content in the shared filesystem
    - mkdir -p "$STACKATO_FILESYSTEM"/wp-content 

    # migrate existing wp-content data into the shared filesystem
    - mv wp-content/* "$STACKATO_FILESYSTEM"/wp-content
    
    # remove unused wp-content directories
    - rm -rf wp-content
  
    # link to wp-content folder in the shared filesystem
    - ln -s "$STACKATO_FILESYSTEM"/wp-content wp-content

That's all! You may have to make modifications to this general approach if your application requires stores user generated content in more than one location.

Having a license problem? Check here first:

Frequently encountered problems may have an FAQ available.

http://community.activestate.com/faq-list?tid=103

Having a problem? Check here first:

Frequently encountered problems may have an FAQ available.

http://community.activestate.com/faq-list?tid=53

Having a problem? Check here first:

Frequently encountered problems may have an FAQ available.

http://community.activestate.com/faq-list?tid=55

Having a problem? Check here first:

Frequently encountered problems may have an FAQ available.

http://community.activestate.com/faq-list?tid=54

Having a problem? Check here first:

Frequently encountered problems may have an FAQ available.

http://community.activestate.com/faq-list?tid=50