Setting Up an OS X Node
A node is any server running IBM Aspera High-Speed Transfer Server. Aspera web applications, such as IBM Aspera Faspex, communicate with a node through the IBM Aspera Node API. When a node is added to Faspex, it is called a tethered node.
The instructions below assume you have already installed HSTS on your server. For instructions on installing IBM Aspera High-Speed Transfer Server Admin Guide: Installing HSTS.
-
Verify that the node is running IBM Aspera High-Speed Transfer Server
with a valid Connect Server license on your transfer server:
Run the following command:
# ascp -A
In the resulting output, look for the following phrase:Connect Server License max rate
If you need to update your transfer server license, follow the instructions in IBM Aspera Enterprise Server Admin Guide: Updating Product License.
-
Create the faspex system admin account on the node.
- Go to System Preferences # Users & Groups.
- Click the lock button and enter your admin credentials to make changes.
- Click the add button.
- Name the user faspex.
- Select Administrator from the New Account drop-down menu.
- Name the account.
- Enter and verify a password for the account.
- Click Create User.
- Click Login Options in the users panel.
- Click the Join button next to Network Account Server.
- Click Open Directory Utility.
- In the Directory Utility window, click the lock button and enter an administrator account and password to make changes.
- From the menu bar, select Edit # Enable Root User.
- Enter and verify the password.
- Click OK.
The asconfigurator utility modifies the aspera.conf configuration file, located at: /Library/Aspera/etc/aspera.conf.
-
Add the user to aspera.conf and set the
docroot.
The directory you choose for the docroot is the absolute path for the transfer user. When this node is added to Faspex, users cannot access files or folders outside of the docroot.Run the following asconfigurator command with the transfer username and the docroot path:CAUTION:Aspera recommends that you not use spaces in your docroot. If your docroot contains spaces, you may not receive all email notifications relating to transfer activity.
# asconfigurator -x "set_user_data;user_name,username;absolute,/docroot/path"
For example:# asconfigurator -x "set_user_data;user_name,faspex;absolute,/home/faspex/faspex_packages"
-
Set up token authorization for the user in
aspera.conf.
Run the following asconfigurator commands to set the encryption key for the user:
#
asconfigurator -x "set_user_data;user_name,username;authorization_transfer_in_value,allow"
#asconfigurator -x "set_user_data;user_name,username;authorization_transfer_out_value,allow"
#asconfigurator -x "set_user_data;user_name,username;token_encryption_key,encryption_key"
The encryption key can be any string of numbers. Aspera recommends a string that is at least 20 characters long. For example:#
asconfigurator -x "set_user_data;user_name,faspex;authorization_transfer_in_value,allow"
#asconfigurator -x "set_user_data;user_name,faspex;authorization_transfer_out_value,allow"
#asconfigurator -x "set_user_data;user_name,faspex;token_encryption_key,gj5o930t78m34ejme9dx"
-
Set the IP address or hostname for the node in the
aspera.conf file with the following
asconfigurator command:
#
asconfigurator -x "set_server_data;server_name,ip_or_hostname"
For example:# asconfigurator -x "set_server_data;server_name,aspera.example.com"
-
Configure the node for HTTP and HTTPS fallback.
The fallback settings on the node must match the fallback settings on Faspex. If the settings don't match, Faspex returns a "Package creation failed" error. Set the HTTP and HTTPS ports to the ports you configured in Faspex. For more information about HTTP fallback, see Configuring HTTP and HTTPS Fallback.
Restart the asperahttpd service by running the following commands:# asconfigurator -x "set_http_server_data;enable_http,true" # asconfigurator -x "set_http_server_data;http_port,8080" # asconfigurator -x "set_http_server_data;enable_https,true" # asconfigurator -x "set_http_server_data;https_port,8443"
# sudo launchctl stop com.aspera.asperahttpd # sudo launchctl start com.aspera.asperahttpd
-
Configure a HSTS transfer user account
with a Node API username and password.
Faspex communicates to the HSTS transfer user account through the Node API to start transfers on the node.
For instructions on adding users to HSTS, see the IBM Aspera High-Speed Transfer Server Admin Guide: Setting Up Users.
-
Run the following commands to set up the Node API user:
# /Library/Aspera/bin/
asnodeadmin -a -u node_api_username -p node_api_passwd -x system_username
Note: Aspera recommends that you use different names for the system user account and transfer user account in order to minimize confusion when tracing transactions and events.For example:# /Library/Aspera/bin/asnodeadmin -a -u node_user -p XF324cd28 -x faspex
-
Run the following command to check the system user was successfully
added to asnodeadmin:
# /Library/Aspera/bin/asnodeadmin -l
Given a node user named node_user and a system user named faspex, the result should be similar to the following example:user system/transfer user acls ==================== ======================= ==================== node_user faspex
-
Run the following commands to set up the Node API user:
-
Copy the IBM Aspera Connect public key to authorized_keys
to allow Connect to connect to Faspex.
-
If the .ssh folder does not already exist in the
system user's home directory, run the following commands to create the
folder:
# mkdir "/Users/username/.ssh"
For example:# mkdir "/Users/faspex/.ssh"
- If the authorized_keys file does not already exist, use a text editor to create or edit the following file: /Users/username/.ssh/authorized_keys.
-
Copy the contents of the
aspera_tokenauth_id_rsa.pub
(/Library/Aspera/Enterprise
Server/var/aspera_tokenauth_id_rsa.pub) public key to the
file.
The file must be named authorized_keys without file extensions. Some text editors add a .txt extension to the filename automatically. Be sure to remove the extension if it was added to the filename.
-
If the .ssh folder does not already exist in the
system user's home directory, run the following commands to create the
folder: