Ghost CFS Admin Guide

Who should read this guide

This guide is intended for developers or IT administrators who are already familiar with the basic concepts of Ghost Cloud File System and who have already purchased and started their own Ghost CFS instances (if you haven't see Ghost CFS Getting started guide). This guide helps in configuring and managing running instances of Ghost CFS.

  1. User Management
  2. Ghost CFS is a multi-user file system - each user will have their own folder hierarchy and files protected by their own username and password. Each user's file system is mountable separately.

    1. 1.1 Create a User
    2. When you first start Ghost CFS there is just one user called admin. You will therefore want to create some users (unless you only want one single user).

      Login to the admin dashboard by accessing http://[URL of your instance]/vcweb/Login and using "admin" as a username and the password that you specified for admin during the setup of your CFS instance.

      To create a user, select "Create User" from the "User Management" section on the left panel of the admin dashboard. The system will display the Create User form:

      Create User Form:

      • User Name: A desired username that will be used to login to Ghost CFS (Characters accepted are a-z and 0-9. Note that "." and "_" are also accepted but cannot be with the first or last character and cannot be followed by each other such as "..", "._" or "__". This field is required and is not case sensitive (these rules match the rules for email ids). (Required)
      • Password: Desired password for this user that is at least 3 characters long. Password is required and case sensitive. (Required)
      • Re-type password: Confirmation of the chosen password (Required).
      • First Name: Choose a First Name (Required).
      • Last Name: Choose a Last Name (Required).
      • Mid Name:(Optional).
      • Email: Enter a valid existing email address which will be used to communicate with this user. (Required).
      • Country: Select a country from the list (Required).
      • Language:Select a Language from the list for communicating with this user (Required).
      • Quota Size (Megabytes): Desired storage capacity for this user (Integer). If the value entered is less than the minimum quota size, it will be set to the minimum automatically. If left blank, it will be set to default size. (Optional). To learn how to set the Default Quota Size, click here

      To change a user password, select "Search users" from the "User Management" section on the left panel of the admin dashboard. Type the user name or email address. The system will display the created user info, then change the passowrd and click on "update user" button.

    3. 1.2 Bulk Creation of Users
    4. It is possible to create users in bulk from your existing database to speed up the migration process. Multiple users may be created using a CSV (comma-separated values) file that contains all users information needed to create the accounts structured as described below. To create a list of users, select "Bulk User Creation" from the "User Management" section on the left panel of the admin dashboard.

      CSV file structure:

      <Username>,<Password>,<FirstName>,<LastName>,[MiddleName],<CountryName>,<Language>,<Email>,[Qouta Size] <carriage return>

      All fields are subject to same restrictions mentioned in the "Create User" section above in addition to the following:

      • Country name and Language values should always precisely use values out of the list provided in the combo box on the "Create User" form. Otherwise the creation process will fail.

      • Fields must be separated with "," even if the field is empty (Example - Middle name omitted: john.smith,123,John,Smith,,United States, English, jsmith@email.com)

      Note that the process of creating bulk users might take sometime since it involves uploading and validating your CSV file first and then creating the list of users.


  3. Administration Setup
    1. 2.1 Obtaining a PID & User Token (for starting extra EC2 servers or for direct access to S3)
    2. This section tells you how to obtain a PID (persistent identifier) and the User Token for your AWS S3 service. These are essential if you ever want to directly access files on AWS S3 not through Ghost CFS (not recommended except for advanced developers). These keys are also used when launching extra Ghost CFS EC2 server instances (see Scaling out section below).

    3. 2.2 Domain Configuration
    4. In this section you can change your domain for this instance.

      Currently the domain name information is kept for the record. In coming versions of CFS the admin can specify certain domain / or a list of domains that the CFS will operate with. A request coming from a domain other than the ones specified will get denied.

      You can setup your current domain by going to "Domain Configuration" under "Administration Setup" fill the name of your domain. Do not add http or https prefix.

      Thus if you access your instance using http://www.myghostcfs.com then your domain name would be www.myghostcfs.com

      If you do not have any DNS hostname pointing to your instance you can use the default aws public DNS name as your domain thus if you access your instance using http://ec2-174-129-142-148.compute-1.amazonaws.com then your domain name is ec2-174-129-142-148.compute-1.amazonaws.com.

    5. 2.3 FTP Configuration
      1. 2.3.1 verview
      2. Ghost CFS comes with an FTP server through which users can upload and download files using any FTP client. FTP is also used internally by Ghost CFS when using the Ghost Bulk Upload/Download Utility which is a Java Applet in a web page that facilitates file movement from/to Ghost CFS. The FTP server starts at server startup and can be controlled though the Admin page.

      3. 2.3.2 Firewall configuration
      4. To enable the FTP, you need to open the ports used for FTP functionality.

        You probably already opened ports 20-22 and 54110-55109 during the second step in our Getting Started Guide - if not refer to there.

        If you do not want to use ftp or the Ghost Bulk Upload/Download Utility, you may remove the above ports from your Security Group for Ghost CFS.

      5. 2.3.3 FTP start/stop and configuration
      6. By default the FTP server is shutdown on any CFS instance that you start until you configure and enable FTP on a CFS instance. After that any new CFS instance that you start will have FTP enabled by default, the FTP server will be running, and it will be using the same ports that you have configured on the first instance. That you have configured.

        Note that once you start the FTP server currently there is no way to shut it down on all instances simultaneously and the only way to shut it down is to turn it off on each instance. 

        All FTP configuration parameters and controls can be found under "Administration Setup" in the left panel of the admin page. Click on "FTP Configuration" to go to the FTP configuration page.

        • Providing a port range: add your port range in the fields and make sure they match your instance firewall settings. The recommended values are 54110-55109.

        • Start/Stop FTP server: a toggle button that allows you to start/stop your FTP server.

      7. 2.3.4 Using your own Domain (DNS)
      8. In order to access Ghost CFS using your own domain such as files.yourcompany.com create a CNAME record in your DNS provider mapping files.yourcompany.com to the public DNS of your EC2 server instance.

        CNAME files.yourcompany.com ec2-174-129-142-148.compute-1.amazonaws.com

        If you have multiple instances see Load balancing multiple Ghost CFS EC2 Instances using round-robin DNS below

    6. 2.4 SSL Configuration
    7. Although that SSL is optional, we recommend enabling it so that your clients can communicate with Ghost CFS securely using HTTPS. By default, SSL is not enabled since it requires a proper certificate and key from your certification authority such as Verisign.

      In order to use SSL first you must point your own domain at Ghost CFS EC2 servers - see Using your own Domain (DNS) above.

      Then obtain a certificate for this domain from a certification authority such as Verisign (or create your own using Java keytool - although not all browsers will accept that).

      The "SSL Configuration" page can be found under "Administration Setup" section in the admin page.

      After configuring SSL, it will be enabled automatically for subsequent servers added to this Ghost CFS deployment.

    8. 2.5 AWS Settings
    9. If you choose to change your AWS account keys for any reason, make sure that you do not disable your old AWS keys (in your AWS EC2 Account) before setting up Ghost CFS with the new keys. This is important to avoid any service downtime. It is recommended that you create your new keys first and add them to your Ghost CFS instances and then disable your old ones.

      To add your new keys to an existing Ghost CFS instance:

      1. Login to your AWS EC2 Account and go to "Security Credentials" section. Click on "Create a New access Key" and then click on "Show" under "Secret Access Key". Copy those keys to paste them in your Ghost CFS instance.
      2. Login to the Admin Page in your Ghost CFS instance and select "AWS Settings" from the "Administration Setup" section on the left panel of the admin dashboard. Paste in your new AWS keys and click "Submit".
      3. Repeat for all your Ghost CFS EC2 servers if you have more than one.
      4. Go back to your AWS EC2 account and disable your old keys.

    10. 2.6 Default User Settings
    11. The Default User Settings defines the default user storage quota for new users. If the Quota field is left blank when creating a new user (or Bulk Users), the system will automatically use this default quota for the new user. If you manually assign a quota for any user, it will override the default settings.

      To configure the Default Settings, select "Default User Settings" from the "User Management" section on the left panel.

      Scaling out (Starting new Ghost FS Cloud Instances)

      If you are serving large numbers of users and/or anticipating high upload/download traffic to your Ghost CFS, it is recommended to scale out using multiple Ghost CFS EC2 server instances and using DNS Load Balancing to address all the instances with a single domain name (see Using your own Domain (DNS) above).

      Scaling Out new Instances:

      1. Start a new Ghost CFS EC2 server using the same procedure you used to start your first instance (login into your AWS EC2 console, select the appropriate GhostCFS AMI and start the instance. When setting up the instance use the keys and security groups you were given from your first instance instead of an S3 Authorization code.
      2. When the instance is launched and ready, point your browser to your instance public DNS name where you will be redirected to the setup page. For this instance, your do not need to enter your activation code, instead, you can use your PID (Persistent Identifier) and User Token from any running and previously configured instance.
      3. On any running instance, login to the admin page and select "Show User Token" from the "User Management" section on the left panel.
      4. Copy and paste your PID and User Token to the setup page of your newly started instance and then click "Activate". Note that this time the setup will faster since most of the configuration is done with your first instance.
      5. After your instance is configured, you can add an (A record) to your DNS account configuration so that the new instance is added to the server pool used for Load Balancing.

      You can use this procedure to start as many instances as you like. You must now set up load-balancing for your instances.

      Load balancing multiple Ghost CFS EC2 Instances using round-robin DNS

      First in order to load balance multiple instances using round-robin DNS you must set up your own Domain – see Using your own Domain (DNS)

      CNAME files.yourcompany.com ec2-174-129-142-148.compute-1.amazonaws.com

      If you have multiple Ghost CFS EC2 server instances (see below):

      Many DNS providers support DNS Load Balancing with a Round-robin algorithm where each DNS request for your domain gets resolved to a different IP address/server from a pool of servers which you have previously registered with your DNS provider. For a quick overview on DNS Round-robin Load Balancing, consult http://en.wikipedia.org/wiki/Round_robin_DNS. In general this is done by simply configuring multiple A records or CNAME records depending on your DNS load balancing provider for the same domain name pointing at your Ghost CFS EC2 server instances for example:

      A files.yourcompany.com ec2-174-129-142-148.compute-1.amazonaws.com

      A files.yourcompany.com ec2-sadfasdf.compute-1.amazonaws.com

      DNSMadeEasy is one of those DNS providers offering the Load Balancing/Round-robin DNS service.

      For help on how to use DNS Load Balancing with DNSMadeasy, consult http://www.dnsmadeeasy.com/s0306/res/recs.html#rr

      Load balancing multiple Ghost CFS EC2 Instances in other ways

      You are of course free to use your own load balancing scheme. No stickiness or sessions are required. Amazon plan to offer their own load-balancing soon.