<<

kevells Documentation Release 0.1

kevell

April 27, 2015

Contents

1 About pharaohtools 1 1.1 Commands...... 1

2 Indices and tables 497

i ii CHAPTER 1

About pharaohtools

Welcome to the pharaohtools documentation! The Pharaohs has its own benefit while comparing to other tools as it is user friendly. In this tool the coding and the entire process depends and based . As the pharaoh tool is framed as per php, it is easier to re-write the codes if required. Its modules functionality provides support to Mac, or Unix, and also for the windows. It is a known as a shorter route which is less time-consuming, limits the use of manpower, reduces the necessity of input from users while installation. No need to download separately the templates and plug-ins that are used to support the ’s as everything gets covers under a single root. It is extensible, as if any extra module is required the user can frame and design the module as per their requirements and they can include. It is also simpler to rewrite the coding as required. By installing a single application ptconfigure entire modules under the pharaoh tool get enveloped.

1.1 Commands

1.1.1 Jrush

Cache

Synopsis

Jrush auxiliary to clear cache in temporary memory. It has two types of cache. But both are having different functions as specified in their name. They are site clear and admin clear. It is gratified with Ubuntu and cent OS. Deleting files, folders and applications – and clearing the data from the temporary memory – won’t do the trick if you’re going to recycle the content wont be available in your computer.

Help command

The help command handles the users regarding the determination and as well as about the options that are included in the cache. It lists out the alternative parameters of cache. It also describes the syntax for functioning of Jrush module. The help command for cache is shown as below. jrush cache help

After typing the command it lists the options as action. The following image envisage it observably. kevell@corp:/# jrush cache help **************************************** GC JRush - The Command Line

1 kevells Documentation, Release 0.1

****************************************

This command allows you to clear Cache.

Cache, cache

- site-clear Deletes a user example: jrush cache site-clear

- admin-clear Clear the administrator cache example: jrush cache admin-clear

------End Help ****************************************

Alternative parameter

On the other hand using cache the user can bestow the following options. Cache, cache.

Options

There are two options are available. They are as follows. • Site-clear • Admin-clear Now let us know about both the options.

Site-clear

Site-clear is costoff to delete the user. The following command is used to clear the site. jrush cache site-clear

After inputs as above command,the output comes like a coding. At the end cache clearing finished can be shown. The screen shots presents the same. kevell@corp:/# jrush cache site-clear --config-file="/var/www//joomla/configuration.php" **************************************** GC JRush - The Joomla Command Line Shell ****************************************

Joomla Cache Clearing Info:

------

Cache: array(2){ ["site_cache_clear"]=> string(19) "Site Cache Clearing" ["site_cache_clear_result"]=>

2 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

array(0){ } }

------Joomla Cache Clearing Finished ****************************************

Admin-clear

This worn clear the administrator’s cache. The command services the user to clear the admin as follows. jrush cache admin-clear

The following display shots instruct the user about admin-clear function. kevell@corp:/# jrush cache admin-clear --config-file="/var/www/html/joomla/configuration.php" **************************************** GC JRush - The Joomla Command Line Shell ****************************************

Joomla Cache Clearing Info:

------

Cache: array(2){ ["admin_cache_clear"]=> string(20) "Admin Cache Clearing" ["admin_cache_clear_result"]=> array(0){ } }

------Joomla Cache Clearing Finished ****************************************

Benefits

• It complacent to exertion with Ubuntu and cent OS. • Non case sensitivity. • It pre-owned to delete the user. • It helps clear admin.

Extension

Synopsis

Extension have to be identified so the can address them. These filenames have specific rules. The first part of the name to the left of the period is called the root name. The root name cannot be the same as a device name. The second part to the right of the period is the extension. It is optional and is often, but not necessarily, three characters long. Extension can be added through coding. It strengthened to swindle with Ubuntu and cent OS.

1.1. Commands 3 kevells Documentation, Release 0.1

Help command

The help command guides the users regarding the purpose and as well as about the options that are included in the extension. It lists out the alternative parameters of extension. It also describes the syntax for functioning of Jrush module. The help command for extension is shown as below. jrush extension help

After typing the command it lists the options as action. The following image visualize it obviously. kevell@corp:/# jrush Extension help **************************************** GC JRush - The Joomla Command Line Shell ****************************************

This command allows you to manage Joomla Extensions(Component, Module or Plugin).

Extension, extension

- disable Deletes a extension example: jrush extension disable

- enable Enables a extension example: jrush extension enable

- info Display the details of a extension example: jrush extension info

------End Help ****************************************

Alternative parameter

As a matter of choice using extension the user can make use of the following options. Extension, extension

Options

There are three options are available. Let us see about the extension option. • Enable • Disable • Info

Disable

When the user input as enable automatically It deletes the extension. The following command used to enable.

4 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

jrush extension Disable

The following mantle shot can visualize its function. kevell@corp:/# jrush Extension disable --config-file="/var/www/html/joomla/configuration.php" Enter a Extension ID. To enter element/extension name use --extension-element or --extension-name parameters 1 **************************************** GC JRush - The Joomla Command Line Shell ****************************************

Extension: ------

The following extension was modified:

Extension ID: 1 Name: com_mailto Element: com_mailto Enabled: 0 ------Extension Manage Finished ****************************************

Enable

Enable uses to enable the extension. The following command help the user to enable. jrush extension enable

The following screen shots guides the user to enable its function. kevell@corp:/# jrush Extension enable --config-file="/var/www/html/joomla/configuration.php" Enter a Extension ID. To enter element/extension name use --extension-element or --extension-name parameters 1 **************************************** GC JRush - The Joomla Command Line Shell ****************************************

Extension: ------

The following extension was modified:

Extension ID: 1 Name: com_mailto Element: com_mailto Enabled: 1 ------Extension Manage Finished ****************************************

Info

Info is an aid to help the user to display the details of expansion. It asks for extension id. After enters the value it display the extension details. The following command used to display information.

1.1. Commands 5 kevells Documentation, Release 0.1

jrush extension info

It can be visualizes by the screenshot. kevell@corp:/# jrush Extension info --config-file="/var/www/html/joomla/configuration.php" Enter a Extension ID. To enter element/extension name use --extension-element or --extension-name parameters 1 **************************************** GC JRush - The Joomla Command Line Shell ****************************************

Extension: ------

The following extension was modified:

Extension ID: 1 Name: com_mailto Element: com_mailto Enabled: 0 ------Extension Manage Finished ****************************************

Benefits

• Extensions can be considered a type of metadata. • Multiple applications to be associated with a given extension. • Non case sensitive • Comfortable with Ubuntu and cent OS. • Uses to delete the extension • Info uses to display information about extension.

JArticle

Synopsis

It manages jarticle’s details. This allows you to use an Article as a Module. Joomla provides an extremely wide range of options for creating different types of content and for structuring it on your website. In Joomla, an Article is a piece of content consisting of text, possibly with links to other resources (for example, images). Articles are the units of information in the content system and the bottom level in the content hierarchy. Each Article is in exactly one Category. A Category can be in another Category making it a sub Category. It is also possible to have Uncategorized Articles. These articles exist without being associated with any Category.

Help Command

This command helps to determine the usage of jarticle module. The user will come to know about the different ways/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screen shot of the same.

6 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

jrush jarticle help kevell@corp:/# jrush jarticle help **************************************** GC JRush - The Joomla Command Line Shell ****************************************

This command allows you to manage Joomla JArticles(Component, Module or Plugin).

JArticle, jarticle

- disable Deletes a jarticle example: jrush jarticle disable

- enable Enables a jarticle example: jrush jarticle enable

- info Display the details of a jarticle example: jrush jarticle info

------End Help ****************************************

Enable

When the user needs to enable a particular article, the below given command will execute the process of installation. jrush jarticle enable ..config file=”bootstrap file path”

Info

If the user needs to know about the information of an article. The below given command will help you jrush jarticle info ..config file=”bootstrap file path”

The pictorial representation of the above command is listed below, kevell@corp:/# jrush jarticle info --config-file="/var/www/html/joomla/configuration.php" Enter a JArticle ID. To enter title/alias/asset-id use --jarticle-title, --jarticle-alias or --jarticle-asset-id parameters 2 **************************************** GC JRush - The Joomla Command Line Shell ****************************************

JArticle Information: ------

Article ID: 2 Asset ID: 35 Alias: about-us Title: About Us

1.1. Commands 7 kevells Documentation, Release 0.1

Created By: 825 Created By Alias: Joomla State: 1 ------JArticle Manage Finished ****************************************

Disable

When the user needs to disable a particular article, the below given command will execute the process of installation. jrush jarticle disable ..config file=”bootstrap file path”

Alternative Parameter

Either of the two alternative parameter can be used in command- jarticle, JArticle eg: jrush jarticle disable/ jrush JArticle disable

Benefits

• Provide an optional method for organizing your articles • It contains some text and can contain pictures and other types of content • Helps to get the information about an article in easy way • Can enable and disable an article in one step

JConfiguration

Synopsis

This module is a part of a default module that handles data basing functions. Let us see how to configure and to reset in upcoming topics.

Help Command

The help command guides the user about the purpose of the module. It lists out the alternative parameters that can be used in declaration. It specifies two different syntax for configuring and resetting. The command used for help option is shown below: jrush jconf help

The following screen shot depicts pictorially about the working of help command. kevell@corp:/# jrush jconf help **************************************** GC JRush - The Joomla Command Line Shell ****************************************

This command is part of Default Modules and handles Databasing Functions.

8 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

JConfiguration, jconfigure, jconfiguration, jconf

- configure, conf set up db user & pw for a project, use admins to create new resources as needed. example: ptdeploy jconf conf joomla example: ptdeploy jconf conf --yes --platform=joomla30 ---host=127.0.0.1 --mysql-admin-user=""

- reset reset current db to generic values so ptdeploy can write them. may need to be run before db conf. example: ptdeploy jconf reset example: ptdeploy jconf reset --yes --platform=joomla30

------End Help ****************************************

How to Configure

The command used for configure joomla is shown below: jrush jconf conf joomla

After inputting the command above, it will ask Parameters Alternative Parameters Op- Comments tions Do you want to configure Instead of conf we can also Y If the user wish to configure they can Joomla? (Y/N) use configure. input as Y. Do you want to configure Instead of conf we can also N If the user doesn’t wish to configure Joomla? (Y/N) use configure. they can input as N.| If the user proceeds configuring, it will asks the user whether they wish to set non-default values for the following. It will also specifies the default value: • Set non-default values for log_path? • Set non-default values for temp_path? • Set non-default values for MetaAuthor? • Set non-default values for MetaDesc? • Set non-default values for MetaKeys? • Set non-default values for MetaRights? • Set non-default values for MetaTitle? • Set non-default values for MetaVersion? • Set non-default values for access? • Set non-default values for cache_handler? • Set non-default values for cachetime? • Set non-default values for frontediting? • Set non-default values for assest_id? • Set non-default values for user?

1.1. Commands 9 kevells Documentation, Release 0.1

• Set non-default values for db? • Set non-default values for host? • Set non-default values for password? Finally, the process of configuration gets completed as depicted in the screenshot. kevell@corp:/# jrush jconf conf joomla PHP Notice: Undefined index: config-file in /opt/jrush/jrush/src/Modules/JConfiguration/Model/JConfigurationDataJoomla3.php on line 141 PHP Notice: Undefined index: config-file in /opt/jrush/jrush/src/Modules/JConfiguration/Model/JConfigurationDataJoomla3.php on line 141 PHP Notice: Undefined index: config-file in /opt/jrush/jrush/src/Modules/JConfiguration/Model/JConfigurationDataJoomla3.php on line 141 PHP Notice: Undefined index: config-file in /opt/jrush/jrush/src/Modules/JConfiguration/Model/JConfigurationDataJoomla3.php on line 141 Do you want to configure Joomla?(Y/N) Y PHP Notice: Undefined index: config-file in /opt/jrush/jrush/src/Modules/JConfiguration/Model/JConfigurationDataJoomla3.php on line 141 PHP Notice: Undefined index: config-file in /opt/jrush/jrush/src/Modules/JConfiguration/Model/JConfigurationDataJoomla3.php on line 141 Set non-default value for log_path? Default is /logs(Y/N)

Set non-default value for tmp_path? Default is /tmp(Y/N)

Set non-default value for MetaAuthor? Default is1(Y/N)

Set non-default value for MetaDesc? Default is(Y/N)

Set non-default value for MetaKeys? Default is(Y/N)

Set non-default value for MetaRights? Default is(Y/N)

Set non-default value for MetaTitle? Default is1(Y/N)

Set non-default value for MetaVersion? Default is0(Y/N)

Set non-default value for access? Default is1(Y/N)

Set non-default value for cache_handler? Default is file(Y/N)

Set non-default value for cachetime? Default is 15(Y/N)

Set non-default value for caching? Default is0(Y/N)

Set non-default value for captcha? Default is0(Y/N)

Set non-default value for cookie_domain? Default is(Y/N)

Set non-default value for cookie_path? Default is(Y/N)

Set non-default value for dbprefix? Default is jos_(Y/N)

Set non-default value for dbtype? Default is mysqli(Y/N)

Set non-default value for debug? Default is0(Y/N)

Set non-default value for debug_lang? Default is0(Y/N)

Set non-default value for display_offline_message? Default is1(Y/N)

Set non-default value for editor? Default is jce(Y/N)

Set non-default value for error_reporting? Default is default(Y/N)

10 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Set non-default value for feed_email? Default is author(Y/N)

Set non-default value for feed_limit? Default is 10(Y/N)

Set non-default value for force_ssl? Default is0(Y/N)

Set non-default value for fromname? Default is(Y/N)

Set non-default value for ftp_enable? Default is0(Y/N)

Set non-default value for ftp_host? Default is(Y/N)

Set non-default value for ftp_pass? Default is(Y/N)

Set non-default value for ftp_port? Default is 21(Y/N)

Set non-default value for ftp_root? Default is(Y/N)

Set non-default value for ftp_user? Default is(Y/N)

Set non-default value for gzip? Default is1(Y/N)

Set non-default value for helpurl? Default is http://help.joomla.org/proxy/index.php?option=com_help&keyref=Help{major}{minor}:{keyref}(Y/N)

Set non-default value for lifetime? Default is 60(Y/N)

Set non-default value for list_limit? Default is 20(Y/N)

Set non-default value for live_site? Default is(Y/N)

Set non-default value for mailer? Default is mail(Y/N)

Set non-default value for mailfrom? Default is(Y/N)

Set non-default value for memcache_compress? Default is0(Y/N)

Set non-default value for memcache_persist? Default is1(Y/N)

Set non-default value for memcache_server_host? Default is localhost(Y/N)

Set non-default value for memcache_server_port? Default is 11211(Y/N)

Set non-default value for offline? Default is0(Y/N)

Set non-default value for offline_image? Default is(Y/N)

Set non-default value for offline_message? Default is This site is down for maintenance.
Please check back again soon.(Y/N)

Set non-default value for offset? Default is Europe/London(Y/N)

Set non-default value for offset_user? Default is UTC(Y/N)

Set non-default value for robots? Default is(Y/N)

Set non-default value for secret? Default is(Y/N)

Set non-default value for sef? Default is1(Y/N)

1.1. Commands 11 kevells Documentation, Release 0.1

Set non-default value for sef_rewrite? Default is1(Y/N)

Set non-default value for sef_suffix? Default is0(Y/N)

Set non-default value for sendmail? Default is /usr/sbin/sendmail(Y/N)

Set non-default value for session_handler? Default is (Y/N)

Set non-default value for sitename? Default is(Y/N)

Set non-default value for sitename_pagetitles? Default is1(Y/N)

Set non-default value for smtpauth? Default is0(Y/N)

Set non-default value for smtphost? Default is localhost(Y/N)

Set non-default value for smtppass? Default is(Y/N)

Set non-default value for smtpport? Default is 25(Y/N)

Set non-default value for smtpsecure? Default is none(Y/N)

Set non-default value for smtpuser? Default is(Y/N)

Set non-default value for unicodeslugs? Default is0(Y/N)

Set non-default value for memcached_persist? Default is1(Y/N)

Set non-default value for memcached_compress? Default is0(Y/N)

Set non-default value for memcached_server_host? Default is localhost(Y/N)

Set non-default value for memcached_server_port? Default is 11211(Y/N)

Set non-default value for proxy_enable? Default is0(Y/N)

Set non-default value for proxy_host? Default is(Y/N)

Set non-default value for proxy_port? Default is(Y/N)

Set non-default value for proxy_user? Default is(Y/N)

Set non-default value for proxy_pass? Default is(Y/N)

Set non-default value for mailonline? Default is1(Y/N)

Set non-default value for session_memcache_server_host? Default is localhost(Y/N)

Set non-default value for session_memcache_server_port? Default is 11211(Y/N)

Set non-default value for session_memcached_server_host? Default is localhost(Y/N)

Set non-default value for session_memcached_server_port? Default is 11211(Y/N)

Set non-default value for frontediting? Default is1(Y/N)

Set non-default value for asset_id? Default is1(Y/N)

12 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Set non-default value for user? Default is(Y/N)

Set non-default value for db? Default is(Y/N)

Set non-default value for host? Default is(Y/N)

Set non-default value for password? Default is(Y/N)

PHP Notice: Undefined index: config-file in /opt/jrush/jrush/src/Modules/JConfiguration/Model/JConfigurationAllOS.php on line 85 PHP Warning: file(): Filename cannot be empty in /opt/jrush/jrush/src/Modules/JConfiguration/Model/JConfigurationAllOS.php on line 85 PHP Warning: Invalid argument supplied for foreach() in /opt/jrush/jrush/src/Modules/JConfiguration/Model/JConfigurationAllOS.php on line 90 Please check Joomla 3.x Series Settings file:

Is this Okay?(Y/N) Y PHP Notice: Undefined index: config-file in /opt/jrush/jrush/src/Modules/JConfiguration/Model/JConfigurationAllOS.php on line 119 PHP Notice: Undefined index: config-file in /opt/jrush/jrush/src/Modules/JConfiguration/Model/JConfigurationAllOS.php on line 120 Removing old settings file ...

PHP Notice: Undefined index: config-file in /opt/jrush/jrush/src/Modules/JConfiguration/Model/JConfigurationAllOS.php on line 114 Moving new settings file in... PHP Notice: Undefined index: config-file in /opt/jrush/jrush/src/Modules/JConfiguration/Model/JConfigurationAllOS.php on line 115 PHP Warning: file_put_contents(): Filename cannot be empty in /opt/jrush/jrush/src/Modules/JConfiguration/Model/JConfigurationAllOS.php on li ne 115 **************************************** GC JRush - The Joomla Command Line Shell ****************************************

1Joomla Configuration Finished **************************************** while configuring, it will asks the user as Please check Jomla 3.x Series Settings file:

Is this Okay? (Y/N) The user have to specify Y or N.

How to Reset

The command used for reset is shown below: jrush jconf reset drupal

The screenshot shown below depicts visually about the process of reset

Benefits

• It is well-to-do in both cent OS and as well as in ubuntu. • The parameters used in declaration are not case sensitive which is an added advantage while compared to others. • The user can specify the non default values while configuring.

1.1. Commands 13 kevells Documentation, Release 0.1

JFeature

Synopsis

JFeatures is one of the world’s most popular software packages used to build, organize, manage and publish content for websites, blogs, Intranets. When the user push the zip file in to another file all the features will be added. Owing to its scalable architecture it’s also a great base to build web applications. It used for manage the component of stage migration. It convenience with Ubuntu and CentOS.

Help command

The help command guides the users regarding the purpose and as well as about the options that are included in the JFeatures module. It lists out the alternative parameters of JFeatures module. It also describes the syntax for installing the JFeatures module. The help command for JFeatures module is shown as below. ptconfigure JFeatures help

The syntax for declaring the help command is non-case sensitive which an added advantage is. The following screen- shot visualize the user about the help command under JFeatures. kevell@corp:/# jrush JFeature help **************************************** GC JRush - The Joomla Command Line Shell ****************************************

This command manages the JFeature Component for Stage Migration.

JFeature, jfeature

- folder-defaults Reset the feature file storage folders being used to the default example jrush jfeature folder-defaults --config-file="/var/www/website/configuration.php"

- feature-install Install the metadata for a database migration, fileset, or both from the GC Features component example jrush jfeature feature-install --feature-file="/var/www/website/XXX_XXX.zip" --config-file="/var/www/website/configuration.php"

- feature-pull perform a pull on an installed feature so it is integrated into the site, db and file changes executed. example jrush jfeature feature-pull --pull-unique-time="XXX_XXX" --config-file="/var/www/website/configuration.php" example jrush jfeature feature-pull --pull-id="XX" --config-file="/var/www/website/configuration.php"

- feature-push perform a push on an installed feature so it is saved locally. example jrush jfeature feature-push --profile-unique="XXX" --config-file="/var/www/website/configuration.php" --push-type="local"

- group-install Install the metadata for a database migration, fileset, or both from the GC Features component example jrush jfeature group-install --group-file="/var/www/website/XXXX.group" --config-file="/var/www/website/configuration.php"

- group-install-all Install the metadata for a database migration, fileset, or both from the GC Features component. Will scan the configured metadata Directory for group files, and install or update all found groups. example jrush jfeature group-install-all --config-file="/var/www/website/configuration.php"

- group-push

14 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

perform a push of a group profile into a locally saved file. example jrush jfeature group-push --group-unique="XXXXXXXXXXXXXXXX" --config-file="/var/www/website/configuration.php"

- group-pull perform a pull on all installed features in the specified group so they are integrated into the site, db and file changes executed. example jrush jfeature group-pull --group-id="XX" --config-file="/var/www/website/configuration.php" example jrush jfeature group-pull --group-name="my group" --config-file="/var/www/website/configuration.php" example jrush jfeature group-pull --group-unique="XX1234" --config-file="/var/www/website/configuration.php"

------End Help ****************************************

Alternative parameters

The following are the alternative parameters that can be defined in declarations: JFeature, jfeature

Folder-default

This process used to set the default for file storage folder. A preset setting or value that will be used if no choice is done in folder. User interaction should be required. Setting defaults to the most commonly selected options serves this purpose. The help command for folder-default process is shown as below. Jrush JFeature folder-defaults

The following screenshot shows its function. folder-defaults Reset the feature file storage folders being used to the default example jrush jfeature folder-defaults --config-file="/var/www/website/configuration.php"

Feature-install

This process used to install the metadata for a database migration. Here it asks feature file name and configured file name. The user has to enter all the above details one by one. Otherwise the user can input as everything in a same single line. The following command is used to install jfeature. Jrush JFeature feature-install

The screen shot shows its functions. feature-install Install the metadata for a database migration, fileset, or both from the GC Features component example jrush jfeature feature-install --feature-file="/var/www/website/XXX_XXX.zip" --config-file="/var/www/website/configuration.php"

Feature-Pull

Feature pull used to perform a pull on an installed feature. Due to Integration file changes can be executed.The following command can be used to pull configuration file.

1.1. Commands 15 kevells Documentation, Release 0.1

Jrush JFeature feature-pull

After inputting the above said command, it asks for Ip address and time. Based on this pull can be executed. The following screenshot explain its function. feature-pull perform a pull on an installed feature so it is integrated into the site, db and file changes executed. example jrush jfeature feature-pull --pull-unique-time="XXX_XXX" --config-file="/var/www/website/configuration.php" example jrush jfeature feature-pull --pull-id="XX" --config-file="/var/www/website/configuration.php"

Feature-Push

Feature push used to achieves a push on an installed feature. When pushing completes it can be saved locally. The command used to push the feature. Jrush JFeature feature-push

After input the above said command, it asks profile unique and configuration file and push type. The user has to input one by one or everything in same line. This can be explained as follows through snapshots, feature-push perform a push on an installed feature so it is saved locally. example jrush jfeature feature-push --profile-unique="XXX" --config-file="/var/www/website/configuration.php" --push-type="local"

Group-install

This process used to install the metadata for a database migration. Here it asks feature group file name and configured file name. The user has to enter all the above details one by one. Otherwise the user can input as everything in a same line. Jrush JFeature group-install

The screen shot shows its functions. group-install Install the metadata for a database migration, fileset, or both from the GC Features component example jrush jfeature group-install --group-file="/var/www/website/XXXX.group" --config-file="/var/www/website/configuration.php"

Group-install-all

This process used to install metadata for database migration file set. Group configuration features component. Install and updation is possible. The following command used to install group all. Jrush JFeature group-install-all

Entering the above said command it asks configuration file. The user can enter configuration file name. The following screen shot guides the user to install group all. group-install-all Install the metadata for a database migration, fileset, or both from the GC Features component. Will scan the configured metadata Directory for group files, and install or update all found groups. example jrush jfeature group-install-all --config-file="/var/www/website/configuration.php"

16 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Group-push

This process can perform a push of a group profile in to local file. Here group unique and configuration file name can be mentioned. The following command used to push the group profile into locally saved file. Jrush JFeature group-push

The following screen shot guides the user to install group push. group-push perform a push of a group profile into a locally saved file. example jrush jfeature group-push --group-unique="XXXXXXXXXXXXXXXX" --config-file="/var/www/website/configuration.php"

Benefits

• Well Supported for all type of users • Easy to Upgrades • Search better, Search Smarter • Powerful Extensibility • Do More with Less time spend for coding and do more with less jfeature commands • Well to do with Ubuntu and Cent OS • Non case sensitivity

JUser

Synopsis

A user is a person who uses a computer or network service. Users generally use a system or a software product without the technical expertise required to fully it. A user often has a user account and is identified to the system by a username (or user name). Other terms for username include login name, screen name. A user’s account allows a user to authenticate to a system and to be granted authorization to access resources provided by or connected to that system; however, authentication does not imply authorization. To log into an account, a user is typically required to authenticate oneself with a password or other credentials for the purposes of accounting, security, logging, and resource management.

Help Command

This command helps to determine the usage of Juser module. The user will come to know about the different ways/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screen shot of the same. jrush juser help kevell@corp:/# jrush juser help **************************************** GC JRush - The Joomla Command Line Shell ****************************************

1.1. Commands 17 kevells Documentation, Release 0.1

This command allows you to update JUser.

JUser, juser

- delete Deletes a user example: jrush juser delete

- info Display the details of a user example: jrush juser info

- change the password of a user Change a users password example: jrush juser password

------End Help ****************************************

Delete

When the user needs to delete an user in machine, the below given command will execute the process of installation. jrush juser delete ..config file=”bootstrap file path”

The pictorial representation of the above command is listed below, kevell@corp:/# jrush juser delete --config-file="/var/www/html/joomla/configuration.php" Enter a JUser ID. To enter email/username use --user-email or --username parameters 2 **************************************** GC JRush - The Joomla Command Line Shell ****************************************

JUser Delete: ------

The following user has been deleted:

User ID: 0 Name: User Name: Email: ------JUser Delete Finished ****************************************

Info

When the user needs to display the details of a user in machine, the below given command will execute the process of installation. jrush juser info ..config file=”bootstrap file path”

18 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

The pictorial representation of the above command is listed below, kevell@corp:/# jrush juser info --config-file="/var/www/html/joomla/configuration.php" Enter a JUser ID. To enter email/username use --user-email or --username parameters 1 **************************************** GC JRush - The Joomla Command Line Shell ****************************************

JUser Info: ------

User ID: Name: User Name: Email:

------JUser Info Finished ****************************************

Password

When the user needs to change the password of a user in machine, the below given command will execute the process of installation. jrush juser password ..config file=”bootstrap file path”

Alternative Parameter

Either of the two alternative parameter can be used in command- juser and JUser eg: jrush juser info ..config file=”bootstrap file path” / jrush JUser info ..config file=”bootstrap file path” kevell@corp:/# jrush juser password --config-file="/var/www/html/joomla/configuration.php" Enter a JUser ID. To enter email/username use --user-email or --username parameters 5 Enter a new Password. To enter as parameter use --password 12345 **************************************** GC JRush - The Joomla Command Line Shell ****************************************

JUser Password: ------

User ID: 0 Name: User Name: Email: User Password: NOT SET

------JUser Password Finished ****************************************

1.1. Commands 19 kevells Documentation, Release 0.1

Benefits

• Easy to get the information about a user using a single command • Easy to change the password of a user from back end using single command • Easy to handle to user accounts

System Detection

Synopsis

This module aims at detecting the user’s machine and in hand provides them the necessary information to them regarding the users system. It also provides a facility to the users to configure their applications settings. The few examples for applications settings includes my admin user, Architecture, admin user, host, version, linux type, Distro. It is comfortable with Ubuntu and cent OS.

Help command

The help command leads the users regarding the purpose and as well as about the options that are included in the System detection modules. The help command lists out the alternative parameters of System detection under Jrush module. It also describes the syntax for detecting the user’s machine. The help command for System detection is shown below. jrush systemdetection help

The syntax for the help command non case sensitive which adds an advantage for this module. The following screen- shot visualize the user about the help command under system detection. kevell@corp:/# jrush systemdetection help **************************************** GC JRush - The Joomla Command Line Shell ****************************************

This is a default Module and provides you with a method by which you can configure Application Settings. You can configure default application settings, ie: mysql admin user, host, pass

SystemDetection, system-detection, systemdetection

- detect Detects the Operating System example: ptconfigure system-detection detect

------End Help ****************************************

Detect

Detect used to detect the system settings. By using a single command the user can get all the information about the system application. The command used for system detection is given below. jrush systemdetection detect

20 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

After keying the above command, the process of system detection starts. During system detection the following information’s regarding the corresponding machine are reported: • Operating System • Linux Type • Distro • Version • Architecture • Host Name • IP Address 0. • IP Address 1. Finally, after detection the information regarding the above mentioned features are clearly reported. The following screen shot depicts you about the process of system detection. kevell@corp:/# ptconfigure system-detection detect ******************************

Systems Detection: ------

Operating System: Linux Linux Type: Debian Distro: Ubuntu Version: 14.04 Architecture: 64 Host Name: udayakumar IP Address 0: 127.0.0.1 IP Address 1: 192.168.1.24

------Detection Finished ******************************

Alternative Parameters

Instead of system detection, the following parameters can be used: • System Detection • system-detection • system detection

Benefits

• The users can configure the application settings using this system detections. • The parameters used for declaring help command, system detection are not case sensitive which an added advantage while compared to others is. • It is well-to-do in both Cent OS and as well as in Ubuntu.

1.1. Commands 21 kevells Documentation, Release 0.1

• Protection and security is possible. Preventing harm to the system and to resources, through internal processes or malicious outsiders. Authentication, ownership, and restricted access are obvious parts of this system. • System administrators generally determine which interface a user starts with when they first log in. • Generally written in PHP, although some are written in assembly for optimal performance. The system detection module provides the support: • Identify a remote process and/or host with which to communicate. • Establish a connection between the two processes. • Open and close the connection as needed. • Transmit messages along the connection.

Test module

Synopsis

Testmodule is the most popular jrush testing module, as of this checking about extension of file and make use of it. Testmodule is a framework but can be used in concert with other testing article. As a result, TestModule provides only the baseline testing functions leaving other libraries to implement more specific and sophisticated functionality. It shows the current actions. This is comfortable with Ubuntu and cent OS.

Help command

The help command guides the users regarding the purpose and as well as about the options that are included in the testmodule. It lists out the alternative parameters of testmodule. It also describes the syntax for functioning of Jrush module. The help command for testmodule is shown as below. jrush testmodules help

After typing the command it lists the options as action. The following image visualize it obviously. kevell@corp:/# jrush TestModule help **************************************** GC JRush - The Joomla Command Line Shell ****************************************

This command allows you to update TestModule.

TestModule, testmodule, test-module

- action-one An example action. Currently, we get all titles of articles example: jrush test-module action-one

- action-two An example action. Currently, we get all titles of articles example: jrush test-module action-two

------End Help ****************************************

22 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Alternative parameter

Alternatively using Testmodule the user can utilize the following options. Test Module, testmodule, test-module.

Options

There are two options are available. They are as follows. * Action-one * Action-two

Action-one

It shows the current titles of articles. The command used to do action-one is as follows, jrush test-module action-one

After gives the command it shows the current details and titles of articles. The screenshot represents the same. kevell@corp:/# jrush test-module action-one --config-file="/var/www/html/joomla/configuration.php" **************************************** GC JRush - The Joomla Command Line Shell ****************************************

TestModule Action One: ------array(6){ [0]=> string(8) "About Us" [1]=> string(15) "Article 1 Title" [2]=> string(18) "Creating Your Site" [3]=> string(9) "article-1" [4]=> string(9) "article-2" [5]=> string(9) "article-3" }

------TestModule Action One Finished ****************************************

Action-two

It shows the current titles of articles. The command used to do action-one is as follows, jrush testmodule action-two

After gives the command it shows the current details and titles of articles.

1.1. Commands 23 kevells Documentation, Release 0.1

Benefits

• Check the modules in a correct way. • Non case sensitive. • Less time consuming. • Cheaper to upgrade in simple site. • Latest update is available • Suitable to work with Ubuntu and centOS.

Version

Synopsis

This article is about the term “version” as it is used in various contexts. Software versioning is the process of assigning either unique version names or unique version numbers to unique states of computer software. Within a given version number category (major, minor), these numbers are generally assigned in increasing order and correspond to new developments in the software. At a fine-grained level, revision control is often used for keeping track of incrementally different versions of electronic information, whether or not this information is computer software.

Help Command

This command helps to determine the usage of version module. The user will come to know about the different ways/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screen shot of the same. jrush version help

The pictorial representation of the help command is listed below, kevell@corp:/# jrush version help **************************************** GC JRush - The Joomla Command Line Shell ****************************************

This command Joomls Version information.

Version, version

- available Returns available Joomla Versions example: jrush version available

- current Returns the current Joomla Version example: jrush version current

------End Help ****************************************

24 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Available

When the user needs to know about the available joomla version, the below given command will execute the process of installation. jrush version available ..config file=”bootstrap file path”

The pictorial representation of the screenshot is listed below, kevell@corp:/# jrush version available --config-file="/var/www/html/joomla/configuration.php" **************************************** GC JRush - The Joomla Command Line Shell ****************************************

Joomla Version Info:

------

Version: array(1){ ["availableVersions"]=> array(2){ [0]=> string(5) "1.5.0" [1]=> string(6) "1.5.26" } }

------Joomla Version Info Finished ****************************************

Current

When the user needs to know about the current joomla version, the below given command will execute the process of installation. jrush version current ..config file=”bootstrap file path”

The pictorial representation of the above command is listed below, kevell@corp:/# jrush version current --config-file="/var/www/html/joomla/configuration.php" **************************************** GC JRush - The Joomla Command Line Shell ****************************************

Joomla Version Info:

------

Version: array(3){ ["shortVersion"]=> string(5) "3.3.3" ["longVersion"]=> string(53) "Joomla! 3.3.3 Stable [ Ember ] 25-July-2014 13:00 GMT" ["detailed"]=> object(ArrayObject)#47 (1) {

1.1. Commands 25 kevells Documentation, Release 0.1

["storage":"ArrayObject":private]=> object(JVersion)#7 (11) { ["PRODUCT"]=> string(7) "Joomla!" ["RELEASE"]=> string(3) "3.3" ["DEV_LEVEL"]=> string(1) "3" ["DEV_STATUS"]=> string(6) "Stable" ["BUILD"]=> string(0)"" ["CODENAME"]=> string(5) "Ember" ["RELDATE"]=> string(12) "25-July-2014" ["RELTIME"]=> string(5) "13:00" ["RELTZ"]=> string(3) "GMT" ["COPYRIGHT"]=> string(72) "Copyright () 2005 - 2014 Open Source Matters, Inc. All rights reserved." ["URL"]=> string(107) "Joomla! is released under the GNU General Public License." } } }

------Joomla Version Info Finished ****************************************

Alternative Parameter

Either of the two alternative parameter can be used in command- jarticle, JArticle eg: jrush version current ..config file=”bootstrap file path”/ jrush Version current ..config file=”bootstrap file path”

Benefits

• Helps to get the information about an version in easy way • Helps the user to get to know about the availability of the joomla version • Helps the user to get to know about the current joomla version

1.1.2 PTConfigure

Synopsis

The ptconfigure is an automation drive that allows DevOps Engineers, system administrators, infrastructure man- agers in performing the Configuration Management, Systems Automation and Infrastructure with the aid of php. It provisions the entire projects of the users automatically.

26 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

This can also be used for providing packages and configuration files to your projects. It ensures the environment stability of your project. The modules under ptconfigure envelopes and satisfies the requirements of simple and as well as complex development environment while compared to other types of tools. By installing the ptconfigure tool, the functionalities of the entire Pharaoh tool gets covered. Installing ptconfigure to your machine acts as a shorter route to complete installation of other Pharaoh tools. While executing the installation process of ptconfigure the most-recent updated version will gets ready to install, which is an added advantage. ptconfigure aims to simplify the methods in package installation. And as well as it is secured for using, easily perceiv- able to the users. ptconfigure assists in enveloping the entire management of all sizes. It enriches and fulfills the need of users of a management like the developers, system administrator, release engineers etc. The coding system of ptconfigure is based in php. The ptconfigure is object-oriented that enrich not only the data type but also the types of operations that can be applied to the data. Hence, while comparing object-oriented programming techniques over procedural programming techniques , the object-oriented programming enables the users to create modules that do not need to be changed when a new type of object is added. It is extensible, as if any of the extra modules is required the users can frame and design the module as per their requirements and they can include. And also it is easier to rewrite the code as per the needs of the users. Its documentation includes the ptconfigure’s current released version as 1.1.1.

Installation

Before installing the ptconfigure to your machine, ensure whether and php5 exists in your machine or not. if not follow as given below command to install git and php5 in ubuntu git apt-get install git

php apt-get install php command to install git and php5 in cent OS git yum install git

1.1. Commands 27 kevells Documentation, Release 0.1

php yum install php. after completion of git and php5 installation, let’s see how to install the ptconfigure in your machine.

For Mac, Linux or Unix

It is simple by using the coding git clone https://github.com/PharaohTools/ptconfigure.git&& sudo php ptconfigure/install-silent

For Windows

It is simple, get the terminal open via the option “Run as Administrator”, and then apply the following coding, git clone https://github.com/PharaohTools/ptconfigure.git&& php ptconfigure \install-silent

Available Modules

DummyLinuxModule - Dummy Linux Module ApacheConf - Apache Conf - Install a Apache Configuration ApacheModules - Apache Modules - Commonly used modules for Apache ApacheReverseProxyModules - Apache Reverse Proxy Modules - Reverse Proxy/Load Balancer Modules for Apache ApacheServer - Apache Server - Install or remove the Apache Server Apt - Add, Remove or Modify Apts Autopilot - PTConfigure Autopilot - User Defined Installations - Behat - The PHP BDD Testing Suite Boxify - Boxify Wrapper - Create Cloud Instances Chgrp - Chgrp Functionality Chmod - Chmod Functionality Chown - Chown Functionality Chrome - Chrome - Install or remove Chrome ChromeDriver - The Chrome Browser remote controlling server Citadel - Citadel Server - Install or remove the Citadel Server Cleofy - PTConfigure Cleofyer - Creates default autopilots for your project - Composer - Upgrade or Re-install Composer Copy - Copy Functionality DNSify - DNSify Wrapper - Ensure the existence or removal of DNS records DeveloperTools - Developer Tools - IDE’s and other tools for Developers DigitalOcean - Digital Ocean Server Management Functions

28 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

DigitalOceanV2 - Digital Ocean Server Management Functions - API Version 2 Encryption - Encryption or Decryption of files EnvironmentConfig - Environment Configuration - Configure Environments for a project File - Functions to Modify Files FileWatcher - File Watcher - Wait for changes in files, with optional actions on changes - Firefox - Install or remove Firefox Firefox14 - Firefox 14 - A version of Firefox highly tested with Server Firefox17 - Firefox 17 - A version of Firefox highly tested with Selenium Server Firefox24 - Firefox 24 - A version of Firefox highly tested with Selenium Server Firefox33 - Firefox 33 - A version of Firefox highly tested with Selenium Server Firewall - Add, Remove or Modify Firewalls GIMP - GIMP - The Image Editor Gem - Ruby Gems Generator - PTDeploy Autopilot Generator - Generate Autopilot files interactively GitBucket - Git Bucket - The Git SCM Management GitCommand - Git Commands GitKeySafe - Git Key-Safe - Install a script for git to allow specifying ssh keys during commands GitLab - Git Lab - The Git SCM Management Web Application GitTools - Git Tools - Tools for working with Git SCM HAProxy - HA Proxy Server - Install or remove the HA Proxy Server HHVM - HHVM - The PHP Virtual Machine runtime from Facebook Hostname - View or Modify Hostname InstallPackage - PTConfigure Predefined Installers IntelliJ - IntelliJ - A great IDE from JetBrains Invoke - SSH Invocation Functions JRush - JRush - The Joomla command line utility from Golden Contact - Java JDK 1.7 Jenkins - Jenkins - The Java Build Server JenkinsPlugins - Jenkins PHP Plugins - Common Plugins for Jenkins PHP Builds JenkinsSudoNoPass - Configure Passwordless Sudo for your Jenkins user LigHTTPDServer - LigHTTPD Server - Install or remove the LigHTTPD Server Logging - Logging - Output errors to the logging MediaTools - Media Tools - Tools to help view and manage Media files Mkdir - Mkdir Functionality ModuleManager - Manage the modules used in PTConfigure MongoDB - MongoDB Server - The MongoDB Datastore Server

1.1. Commands 29 kevells Documentation, Release 0.1

MysqlAdmins - Mysql Admins - Install administrative users for Mysql MysqlServer - Mysql Server - The Mysql RDBMS Server MysqlTools - Mysql Tools - For administering and developing with Mysql NagiosServer - Nagios Server - Install or remove the Nagios Server NetworkTools - Network Tools - Tools for working with Networks NginxServer - Nginx Server - Install or remove the Nginx Server NodeJS - Node JS - The Server Side Javascript Engine PECL - Add, Remove or Modify PECLs PHPAPC - PHP APC - Commonly used PHP APC PHPCI - PHPCI - The PHP Build Server PHPCS - PHP Code Sniffer - The static code analysis tool PHPConf - PHP Conf - Install a PHP Configuration PHPMD - PHP Mess Detector - The static analysis tool PHPModules - PHP Modules - Commonly used PHP Modules PHPSSH - PHP SSH - PHP SSH Extension PHPStorm - PHPStorm - A great IDE from JetBrains PHPUnit - PHP Unit - The PHP Implementation of the XUnit standard PTConfigure - PTConfigure - Upgrade or Re-install PTConfigure PTDeploy - PTDeploy - The PHP Automated Website Deployment tool PTTest - Upgrade or Re-install PTTest PTVirtualize - PTVirtualize - The Virtual Machine management solution for PHP PackageManager - Native Package Manager Wrapper - Install OS neutral packages PapyrusEditor - Papyrus Editor Web Interface Parallax - Parallax - Execute commands in parallel Pear - Pear Package Manager Phake - Phake - The PHP task creation tool (Make/) PharaohTools - Pharaoh Tools - Gotta Install them all Ping - Test a Ping to see if its responding Port - Test a Port to see which process is listening on it PostInput - HTTP Post/Get Input Interface PostgresServer - Postgres Server - The Postgres RDBMS Server Process - Process Functionality Python - Python - The RubyBDD - Ruby BDD Suite - Install Common Gems for , Calabash, Capybara and Saucelabs RubyRVM - Ruby RVM - The RubySystem - Ruby RVM System wide - The Ruby version manager system wide version

30 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

RunCommand - Execute a Command SFTP - SFTP Functionality SVN - SVN - The Source Control Manager SeleniumServer - The Selenium Web Browser controlling server Service - Start, Stop or Restart a Service SshEncrypt - Install/encrypt private SSH keys SshHarden - Apply security functions to the SSH accounts/setup of the machine SshKeyInstall - Install SSH Public Keys to a user account SshKeyStore - For Storing and Accessing SSH Keys SshKeygen - SSH Keygen - Generate SSH Kay Pairs StandardTools - Standard Tools for any Installation SudoNoPass - Configure Passwordless Sudo for any User SystemDetection - System Detection - Detect the Running Operating System Task - Task Wrapper - easily repeatable tasks Teamcity - Teamcity - The Jetbrains Build Server Templating - Install files with placeholders or lines replaced at runtime ThoughtWorksGo - The Continuous Delivery server from ThoughtWorks UbuntuCompiler - For Compiling Linux Programs VNC - VNC - The Display Manager Solution VNCPasswd - VNCPasswd - The Display Manager Solution Varnish - The HTTP Cache Virtualbox - Virtualbox - The local Virtual Machine Solution WinExe - Add, Remove or Modify WinExes WireframeSketcher - Wireframe Sketcher - the Wireframing application Xvfb - Xvfb - The Display Manager Solution Yum - Add, Remove or Modify Yum Packages

How to Use

Let us see, how to use the ptconfigure tool, first, simply type as ptconfigure this command will list all the names of the modules that are available under ptconfigure. here, the screenshot denotes the display of all modules available under ptconfigure. Kevell@corp:/# ptconfigure ******************************

PTConfigure - Pharaoh Tools ------

1.1. Commands 31 kevells Documentation, Release 0.1

Configuration, Infrastructure and Systems Automation Management in PHP.

Can be used to set up a Development Client, Development Server, Testing Servers, SCM Servers or Production Application Servers in minutes, out of the box, with Zero configuration across multiple Operating Systems.

You can quickly create simple or complex systems completely configured by code across platforms.

Using Convention over Configuration, a lot of common Configuration Management tasks can be completed with little or no extra implementation work.

------

Available Commands: ------

DummyLinuxModule - Dummy Linux Module ApacheConf - Apache Conf - Install a Apache Configuration ApacheModules - Apache Modules - Commonly used modules for Apache ApacheReverseProxyModules - Apache Reverse Proxy Modules - Reverse Proxy/Load Balancer Modules for Apache ApacheServer - Apache Server - Install or remove the Apache Server Apt - Add, Remove or Modify Apts Autopilot - PTConfigure Autopilot - User Defined Installations Behat - Behat - The PHP BDD Testing Suite Boxify - Boxify Wrapper - Create Cloud Instances Chgrp - Chgrp Functionality Chmod - Chmod Functionality Chown - Chown Functionality Chrome - Chrome - Install or remove Chrome ChromeDriver - The Chrome Browser remote controlling server Citadel - Citadel Server - Install or remove the Citadel Server Cleofy - PTConfigure Cleofyer - Creates default autopilots for your project Composer - Composer - Upgrade or Re-install Composer Copy - Copy Functionality DNSify - DNSify Wrapper - Ensure the existence or removal of DNS records DeveloperTools - Developer Tools - IDE’s and other tools for Developers DigitalOcean - Digital Ocean Server Management Functions DigitalOceanV2 - Digital Ocean Server Management Functions - API Version 2 Encryption - Encryption or Decryption of files EnvironmentConfig - Environment Configuration - Configure Environments for a project File - Functions to Modify Files FileWatcher - File Watcher - Wait for changes in files, with optional actions on changes Firefox - Firefox - Install or remove Firefox Firefox14 - Firefox 14 - A version of Firefox highly tested with Selenium Server Firefox17 - Firefox 17 - A version of Firefox highly tested with Selenium Server Firefox24 - Firefox 24 - A version of Firefox highly tested with Selenium Server Firefox33 - Firefox 33 - A version of Firefox highly tested with Selenium Server Firewall - Add, Remove or Modify Firewalls GIMP - GIMP - The Image Editor Gem - Ruby Gems Package Manager Generator - PTDeploy Autopilot Generator - Generate Autopilot files interactively GitBucket - Git Bucket - The Git SCM Management Web Application GitCommand - Git Commands GitKeySafe - Git Key-Safe - Install a script for git to allow specifying ssh keys during commands GitLab - Git Lab - The Git SCM Management Web Application GitTools - Git Tools - Tools for working with Git SCM HAProxy - HA Proxy Server - Install or remove the HA Proxy Server HHVM - HHVM - The PHP Virtual Machine runtime from Facebook Hostname - View or Modify Hostname

32 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

InstallPackage - PTConfigure Predefined Installers IntelliJ - IntelliJ - A great IDE from JetBrains Invoke - SSH Invocation Functions JRush - JRush - The Joomla command line utility from Golden Contact Java - Java JDK 1.7 Jenkins - Jenkins - The Java Build Server JenkinsPlugins - Jenkins PHP Plugins - Common Plugins for Jenkins PHP Builds JenkinsSudoNoPass - Configure Passwordless Sudo for your Jenkins user LigHTTPDServer - LigHTTPD Server - Install or remove the LigHTTPD Server Logging - Logging - Output errors to the logging MediaTools - Media Tools - Tools to help view and manage Media files Mkdir - Mkdir Functionality ModuleManager - Manage the modules used in PTConfigure MongoDB - MongoDB Server - The MongoDB Datastore Server MysqlAdmins - Mysql Admins - Install administrative users for Mysql MysqlServer - Mysql Server - The Mysql RDBMS Server MysqlTools - Mysql Tools - For administering and developing with Mysql NagiosServer - Nagios Server - Install or remove the Nagios Server NetworkTools - Network Tools - Tools for working with Networks NginxServer - Nginx Server - Install or remove the Nginx Server NodeJS - Node JS - The Server Side Javascript Engine PECL - Add, Remove or Modify PECLs PHPAPC - PHP APC - Commonly used PHP APC PHPCI - PHPCI - The PHP Build Server PHPCS - PHP Code Sniffer - The static code analysis tool PHPConf - PHP Conf - Install a PHP Configuration PHPMD - PHP Mess Detector - The static analysis tool PHPModules - PHP Modules - Commonly used PHP Modules PHPSSH - PHP SSH - PHP SSH Extension PHPStorm - PHPStorm - A great IDE from JetBrains PHPUnit - PHP Unit - The PHP Implementation of the XUnit Unit Testing standard PTConfigure - PTConfigure - Upgrade or Re-install PTConfigure PTDeploy - PTDeploy - The PHP Automated Website Deployment tool PTTest - Upgrade or Re-install PTTest PTVirtualize - PTVirtualize - The Virtual Machine management solution for PHP PackageManager - Native Package Manager Wrapper - Install OS neutral packages PapyrusEditor - Papyrus Editor Web Interface Parallax - Parallax - Execute commands in parallel Pear - Pear Package Manager Phake - Phake - The PHP task creation tool (Make/Rake) PharaohTools - Pharaoh Tools - Gotta Install them all Ping - Test a Ping to see if its responding Port - Test a Port to see which process is listening on it PostInput - HTTP Post/Get Input Interface PostgresServer - Postgres Server - The Postgres RDBMS Server Process - Process Functionality Python - Python - The programming language RubyBDD - Ruby BDD Suite - Install Common Gems for Cucumber, Calabash, Capybara and Saucelabs RubyRVM - Ruby RVM - The Ruby version manager RubySystem - Ruby RVM System wide - The Ruby version manager system wide version RunCommand - Execute a Command SFTP - SFTP Functionality SVN - SVN - The Source Control Manager SeleniumServer - The Selenium Web Browser controlling server Service - Start, Stop or Restart a Service SshEncrypt - Install/encrypt private SSH keys SshHarden - Apply security functions to the SSH accounts/setup of the machine SshKeyInstall - Install SSH Public Keys to a user account

1.1. Commands 33 kevells Documentation, Release 0.1

SshKeyStore - For Storing and Accessing SSH Keys SshKeygen - SSH Keygen - Generate SSH Kay Pairs StandardTools - Standard Tools for any Installation SudoNoPass - Configure Passwordless Sudo for any User SystemDetection - System Detection - Detect the Running Operating System Task - Task Wrapper - easily repeatable tasks Teamcity - Teamcity - The Jetbrains Build Server Templating - Install files with placeholders or lines replaced at runtime ThoughtWorksGo - The Continuous Delivery server from ThoughtWorks UbuntuCompiler - For Compiling Linux Programs VNC - VNC - The Display Manager Solution VNCPasswd - VNCPasswd - The Display Manager Solution Varnish - The HTTP Cache Virtualbox - Virtualbox - The local Virtual Machine Solution WinExe - Add, Remove or Modify WinExes WireframeSketcher - Wireframe Sketcher - the Wireframing application Xvfb - Xvfb - The Display Manager Solution Yum - Add, Remove or Modify Yum Packages

------Visit www.pharaohtools.com for more ******************************

Video Cast Instruction

What You can Learn Here

The Help command

If you want to know the purpose of a particular module, just type the command as follows: ptconfigure ModuleName help this command will provide the usage of that particular module and also the available options in actions that you can perform. The screenshot shown under explains the usage of the module Behat under ptconfigure using the help command. Kevell@corp:/# ptconfigure behat help ******************************

This command allows you to install Behat.

Behat, behat

- install Installs the latest version of behat example: ptconfigure behat install

------End Help ******************************

34 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Playing with ptconfigure Modules

AWSCloudFormation

Synopsis AWS CloudFormation gives developers and systems administrators an easy way to create and manage a collection of related AWS resources, provisioning and updating them in an orderly and predictable fashion. You can use AWS CloudFormation’s sample templates or create your own templates to describe the AWS resources, and any associated dependencies or runtime parameters, required to run your application. You don’t need to figure out the order for provisioning AWS services or the subtleties of making those dependencies work. CloudFormation takes care of this for you. After the AWS resources are deployed, you can modify and update them in a controlled and predictable way, in effect applying version control to your AWS infrastructure the same way you do with your software. You can deploy and update a template and its associated collection of resources (called a stack) by using the AWS Management Console, AWS Command Line Interface, or APIs. CloudFormation is available at no additional charge, and you pay only for the AWS resources needed to run your applications.

Help Command This command helps to determine the usage of AWS CloudFormation. The user will come to know about the different way/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same. kevell@corp:/# ptconfigure AWSCloudFormation help

******************************

This command allows you to install a The AWS Cloud Formation Command Line Tools. This tool is provided by

AWSCloudFormation, aws-cloud-formation, aws-cloudformation

- install Installs AWSCloudFormation. Note, you’ll also need Java installed as it is a prerequisite for AWSCloudFormation. example: ptconfigure aws-cloud-formation install

------End Help ******************************

Installation If the user need to install AWSCloudFormation module in machine, the below given command will execute the process of installation. ptconfigure aws-cloud-formation install

kevell@corp:/# ptconfigure aws-cloud-formation install

Install AWSCloudFormation?(Y/N) y ******************************* * Pharaoh Tools * * AWS CloudFn! * ******************************* Creating /tmp/ptconfigure-temp-script-17956189939.sh chmod 755 /tmp/ptconfigure-temp-script-17956189939.sh 2>/dev/null

1.1. Commands 35 kevells Documentation, Release 0.1

Changing /tmp/ptconfigure-temp-script-17956189939.sh Permissions Executing /tmp/ptconfigure-temp-script-17956189939.sh Cloning into ’aws-cloudformation’... remote: Counting objects: 64, done. remote: Total 64(delta 0), reused0(delta 0), pack-reused 64 Unpacking objects: 100%(64/64), done. Checking connectivity... done. mv: cannot move ‘/tmp/aws-cloudformation/bin’ to ‘/opt/aws-cloudformation/bin’: Directory not empty mv: cannot move ‘/tmp/aws-cloudformation/lib’ to ‘/opt/aws-cloudformation/lib’: Directory not empty Temp File /tmp/ptconfigure-temp-script-17956189939.sh Removed PHP Notice: Undefined index: object in /opt/ptconfigure/ptconfigure/src/Modules/PtconfigureRequired/Model/BaseLinuxApp.php on line 279 PHP Notice: Undefined index: method in /opt/ptconfigure/ptconfigure/src/Modules/PtconfigureRequired/Model/BaseLinuxApp.php on line 279 PHP Notice: Undefined index: params in /opt/ptconfigure/ptconfigure/src/Modules/PtconfigureRequired/Model/BaseLinuxApp.php on line 279 PHP Warning: call_user_func_array() expects parameter1 to be a valid callback, first array member is not a valid class name or object in /opt/ptconfigure/ptconfigure/src/Modules/PtconfigureRequired/Model/BaseLinuxApp.php on line 279 PHP Notice: Undefined index: object in /opt/ptconfigure/ptconfigure/src/Modules/PtconfigureRequired/Model/BaseLinuxApp.php on line 279 PHP Notice: Undefined index: method in /opt/ptconfigure/ptconfigure/src/Modules/PtconfigureRequired/Model/BaseLinuxApp.php on line 279 PHP Notice: Undefined index: params in /opt/ptconfigure/ptconfigure/src/Modules/PtconfigureRequired/Model/BaseLinuxApp.php on line 279 PHP Warning: call_user_func_array() expects parameter1 to be a valid callback, first array member is not a valid class name or object in /opt/ptconfigure/ptconfigure/src/Modules/PtconfigureRequired/Model/BaseLinuxApp.php on line 279 ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------AWSCloudFormation: Success ------Installer Finished ******************************

Alternative Parameter There are three alternative parameters which can be used in command line. AWSCloudFormation, aws-cloud-formation, aws-cloudformation

Benefits Supports a Wide Range of AWS Resources: AWS CloudFormation supports a wide range of AWS re- sources, allowing you to build a highly available, reliable, and scalable AWS infrastructure for your application needs. AWS CloudFormation currently supports resources in the following AWS services: Auto Scaling Amazon CloudFront AWS CloudWatch Amazon DynamoDB Amazon EC2 Amazon ElastiCache AWS Elastic Beanstalk AWS Elastic Load Balancing AWS Identity and Access Management Amazon RDS Amazon Redshift

36 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Amazon Route 53 Amazon S3 Amazon SimpleDB Amazon SNS Amazon SQS Amazon VPC Easy to Use: CloudFormation makes it easy to organize and deploy a collection of AWS resources and lets you describe any dependencies or special parameters to pass in at runtime. You can use one of the many CloudFormation sample templates – either verbatim or as a starting point. No Need to Reinvent the Wheel: A template can be used repeatedly to create identical copies of the same stack (or to use as a foundation to start a new stack). You can capture and control region-specific infrastructure variations such as Amazon EC2 AMIs, as well as Amazon Elastic Block Store (EBS) and Amazon RDS snapshot names. Transparent and Open: Templates are simple JSON-formatted text files that can be placed under your normal source control mechanisms, stored in private or public locations such as Amazon S3, and exchanged via email. With AWS CloudFormation, you can “open the hood,” to see exactly which AWS resources make up a stack. You retain full control and have the ability to modify any of the AWS resources created as part of a stack. Declarative and Flexible: To create the infrastructure you want, you enumerate what AWS resources, configuration values, and interconnections you need in a template and then let AWS CloudFormation do the rest with a few simple clicks in the AWS Management Console, one command by using the AWS command line interface, or a single requests by calling the APIs. You won’t have to recall the details of how to create and interconnect the respective AWS resources via their service APIs; AWS CloudFormation does this for you. You also don’t need to write a template from scratch if you start with one of the many sample templates that come with AWS CloudFormation. Customized via Parameters: You can use parameters to customize aspects of your template at run time, when the stack is built. For example, you can pass the RDS database size, EC2 instance types, database, and port numbers to AWS CloudFormation when you create a stack. You can also use a parameterized template to create multiple stacks that may differ in a controlled way. For example, your Amazon EC2 instance types, Amazon CloudWatch alarm thresholds, and Amazon RDS read-replica settings may differ among AWS regions if you receive more customer traffic in the US than in Europe. You can use template parameters to tune the settings and thresholds in each region separately and still be sure that the application is deployed consistently across the regions. Integration Ready: You can integrate AWS CloudFormation with the development and management tools of your choice. AWS CloudFormation publishes progress events through the Amazon Simple Notification Service (SNS). With SNS, you can track stack creation and deletion progress via email and integrate with other processes programmatically. No Extra Charge: AWS CloudFormation is available at no additional charge. You will be billed only the normal rates for the AWS resources that AWS CloudFormation creates and your application uses.

Amazon CloudFront

Synopsis Amazon CloudFront is a content delivery web service. It integrates with other Amazon Web Services products to give developers and businesses an easy way to distribute content to end users with low latency, high data transfer speeds, and no minimum usage commitments. Amazon CloudFront can be used to deliver your entire website, including dynamic, static, streaming, and interactive content using a global network of edge locations. Requests for your content are automatically routed to the nearest edge location, so content is delivered with the best possible performance. Amazon CloudFront is optimized to work with other Amazon Web Services, like Amazon Simple Storage Service (Amazon S3), Amazon Elastic Compute Cloud (Amazon EC2), Amazon Elastic Load Balancing, and Amazon Route 53. Amazon CloudFront also works

1.1. Commands 37 kevells Documentation, Release 0.1 seamlessly with any non-AWS origin server, which stores the original, definitive versions of your files. Like other Amazon Web Services products, there are no long-term contracts or minimum monthly usage commitments for using Amazon CloudFront – you pay only for as much or as little content as you actually deliver through the content delivery service.

Help Command This command helps to determine the usage of Amazon CloudFront. The user will come to know about the different way/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same.

Alternative Parameter There are three alternative parameters which can be used in command line. AWSEC2, awsec2, aws-ec2

Benefits Management Console: Amazon CloudFront works with the AWS Management Console. This web-based, point-and-click, lets you manage Amazon CloudFront without writing any code at all. Dynamic Content: Use Amazon CloudFront to deliver all of your content, including the dynamic portions of your site that change for each end-user. Support for POST/PUT and other HTTP Methods: Use CloudFront to accelerate data uploaded from end users. Custom SSL: Use your own domain name and your own SSL certificate to deliver content over HTTPS. Invalidation: Remove copies of a file from all Amazon CloudFront edge locations. Wildcard CNAME Support: Map a wildcard domain name to your Amazon CloudFront distribution network. Zone Apex Support: Visitors to your website can now access your site at the zone apex (or “root domain”). For example, your site can be accessed as example.com instead of www.example.com. Custom Error Responses: Configure how CloudFront handles error responses for your website.

Amazon CloudWatch

Synopsis Amazon CloudWatch is a monitoring service for AWS cloud resources and the applications you run on AWS. You can use Amazon CloudWatch to collect and track metrics, collect and monitor log files, and set alarms. Amazon CloudWatch can monitor AWS resources such as Amazon EC2 instances, Amazon DynamoDB tables, and Amazon RDS DB instances, as well as custom metrics generated by your applications and services, and any log files your applications generate. You can use Amazon CloudWatch to gain system-wide visibility into resource utilization, application performance, and operational health. You can use these insights to react and keep your application running smoothly.

Help Command This command helps to determine the usage of Amazon CloudWatch. The user will come to know about the different way/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same. kevell@corp:/# ptconfigure AWSCloudWatch help

******************************

This command allows you to install a few GC recommended Standard Tools for productivity in your system. The kinds of tools we found ourselves installing on every box we have, client or server. These include curl,

38 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

, drush and zip.

AWSCloudWatch, aws-cloud-watch, aws-cloudwatch

- install Installs AWSCloudWatch. Note, you’ll also need Java installed as it is a prerequisite for AWSCloudWatch example: ptconfigure aws-cloudwatch install

------End Help ******************************

Installation If the user need to install Amazon CloudWatch module in machine, the below given command will execute the process of installation. ptconfigure aws-cloudwatch install

Benefits Monitor Amazon EC2: View metrics for CPU utilization, data transfer, and disk usage activity from Ama- zon EC2 instances (Basic Monitoring) for no additional charge. For an additional charge, CloudWatch provides Detailed Monitoring for EC2 instances with higher resolution and metric aggregation. No additional software needs to be installed. Monitor Other AWS Resources: Monitor metrics on Amazon DynamoDB tables, Amazon EBS volumes, Amazon RDS DB instances, Amazon Elastic MapReduce job flows, Elastic Load Balancers, Amazon SQS queues, Amazon SNS topics, and more for no additional charge. No additional software needs to be installed. Monitor Custom Metrics: Submit Custom Metrics generated by your own applications via a simple API request and have them monitored by Amazon CloudWatch. You can send and store metrics that are important to your application’s operational performance to help you troubleshoot and spot trends. Monitor and Store Logs: You can use CloudWatch Logs to monitor and troubleshoot your systems and applications using your existing system, application, and custom log files. You can send your existing system, application, and custom log files to CloudWatch Logs and monitor these logs in near real-time. This can help you better understand and operate your systems and applications, and you can store your logs using highly durable, low-cost storage for later access. Set Alarms: Set alarms on any of your metrics to send you notifications or take other automated actions. For example, when a specific Amazon EC2 metric crosses your alarm threshold, you can use Auto Scaling to dynamically add or remove EC2 instances or send you a notification. View Graphs and Statistics: View graphs and statistics for any of your metrics on the Amazon CloudWatch dashboard, and get a quick overview of all your alarms and monitored AWS resources in one location.

Amazon DynamoDB

Synopsis Amazon DynamoDB is a fast and flexible NoSQL database service for all applications that need consistent, single-digit millisecond latency at any scale. It is a fully managed database and supports both document and key-value data models. Its flexible data model and reliable performance make it a great fit for mobile, web, gaming, ad-tech, IoT, and many other applications.

1.1. Commands 39 kevells Documentation, Release 0.1

Help Command This command helps to determine the usage of AWS DynamoDB. The user will come to know about the different way/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same. kevell@corp:/# ptconfigure AWSDynamoDb help

******************************

This is an extension provided for Handling AWSDynamoDb.

AWSDynamoDb, awsdynamodb,aws-dynamodb

- describe-table Describe a table example: ptconfigure AWSDynamoDb describe-table --yes --guess - delete-table Lets you delete a table example: ptconfigure AWSDynamoDb delete-table --yes --guess

- create-table Lets you create a table example: ptconfigure AWSDynamoDb create-table --yes --guess

- list Will display data about your AWS AWSDynamoDb example: ptconfigure AWSDynamoDb list --yes --guess

Note: region must be one of the following... us-east-1, ap-northeast-1, sa-east-1, ap-southeast-1, ap-southeast-2, us-west-2, us-gov-west-1, us-west-1, cn-north-1, eu-west-1

------End Help ******************************

Describe-table This command helps to describe a table. The below given command will execute the process. ptconfigure AWSDynamoDb describe-table --yes --guess

Delete-table This command helps to delete a table. The below given command will execute the process. ptconfigure AWSDynamoDb delete-table --yes --guess

40 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Create-table This command helps to create a table. The most critical part is it is irreversible. ptconfigure AWSDynamoDb create-table --yes --guess

List This command helps to display data about your AWS AWSDynamoDb. The below given command will execute the process. ptconfigure AWSDynamoDb list --yes --guess

Alternative Parameter There are two alternative parameters which can be used in command line. AWSDynamoDb, awsdynamodb,aws-dynamodb

Benefits Secondary Index Scan – A simpler way to scan DynamoDB tables: Amazon DynamoDB allows you to retrieve all items from a table by using the Scan operation. With Secondary Index Scan, you can now use the Scan operation on secondary indexes and retrieve all data from select attributes and items that are projected on a secondary index. Secondary Index Scan works on global and local secondary indexes. Secondary Indexes can be scanned from the DynamoDB console or by calling the Scan API with an additional parameter to specify the index. Online Indexing – a flexible way to manage Global Secondary Indexes: Amazon DynamoDB allows you to create Global Secondary Indexes (GSI) at table create time. GSIs enable you to write rich queries with filters. With online indexing, you can add or delete GSIs to a DynamoDB table at any time using the DynamoDB console or via a simple API call. While the GSI is being added or deleted, the DynamoDB table can still handle live traffic and provide continuous service at the provisioned throughput level. Sign Up for the DynamoDB Streams Preview: DynamoDB Streams provides a time ordered sequence of item level changes in any DynamoDB table. The changes are de-duplicated and stored for 24 hours. This capability enables developers to extend the power of DynamoDB with cross-region replication, continuous analytics with Redshift inte- gration, change notifications, and many others.

Amazon ElastiCache

Synopsis ElastiCache is a web service that makes it easy to deploy, operate, and scale an in-memory cache in the cloud. The service improves the performance of web applications by allowing you to retrieve information from fast, managed, in-memory caches, instead of relying entirely on slower disk-based . ElastiCache supports two open-source in-memory caching engines: Memcached - a widely adopted memory object caching system. ElastiCache is protocol compliant with Memcached, so popular tools that you use today with existing Memcached environments will work seamlessly with the service. Redis – a popular open-source in-memory key-value store that supports data structures such as sorted sets and lists. ElastiCache supports Master / Slave replication and Multi-AZ which can be used to achieve cross AZ redundancy. Amazon ElastiCache automatically detects and replaces failed nodes, reducing the overhead associated with self- managed infrastructures and provides a resilient system that mitigates the risk of overloaded databases, which slow website and application load times. Through integration with Amazon CloudWatch, Amazon ElastiCache provides enhanced visibility into key performance metrics associated with your Memcached or Redis nodes. Using Amazon ElastiCache, you can add an in-memory caching layer to your infrastructure in a matter of minutes by using the AWS Management Console.

Help Command This command helps to determine the usage of Amazon ElastiCache. The user will come to know about the different way/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same.

1.1. Commands 41 kevells Documentation, Release 0.1

kevell@corp:/# ptconfigure AWSElastiCache help

******************************

This is an extension provided for Handling AWS ElastiCache.

AWSElastiCache, awselasticache, aws-elasticache

- create-cache-cluster Lets you add cache Cluster to AWS ElastiCache example: ptconfigure AWSElastiCache create-cache-cluster --yes --guess - create-health-check Lets you add Health Check to AWS Route53 example: ptconfigure AWSRoute53 create-health-check --yes --guess

- reboot-cache-cluster Lets you reboot cache Cluster to AWS ElastiCache example: ptconfigure AWSRoute53 delete-hosted-zone --yes --guess

- delete-cache-cluster Lets you delete cache Cluster to AWS ElastiCache example: ptconfigure AWSElastiCache delete-cache-cluster --yes --guess

- delete-replication-group Lets you delete replication group to AWS ElastiCache example: ptconfigure AWSElastiCache delete-replication-group --yes --guess

- list Will display data about your AWS ElastiCache example: ptconfigure AWSElastiCache list --yes --guess

Note: region must be one of the following... us-east-1, ap-northeast-1, sa-east-1, ap-southeast-1, ap-southeast-2, us-west-2, us-gov-west-1, us-west-1, cn-north-1, eu-west-1

------End Help ******************************

Create-cache-cluster This command helps to add cache Cluster to AWS ElastiCache. The below given command will execute the process. ptconfigure AWSElastiCache create-cache-cluster -yes --guess

42 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Create-health-check This command helps to add Health Check to AWS Route53. The below given command will execute the process. ptconfigure AWSRoute53 create-health-check -yes -guess

Reboot-cache-cluster This command helps to reboot cache Cluster to AWS ElastiCache. ptconfigure AWSRoute53 delete-hosted-zone --yes --guess

Delete-cache-cluster This command helps to delete cache Cluster to AWS ElastiCache. The below given command will execute the process. ptconfigure AWSElastiCache delete-cache-cluster --yes --guess

Delete-replication-group This command helps to delete replication group to AWS ElastiCache. The below given command will execute the process. ptconfigure AWSElastiCache delete-replication-group --yes --guess

List This command helps to display display data about your AWS ElastiCache. The below given command will execute the process. ptconfigure AWSElastiCache list --yes --guess

Alternative Parameter There are three alternative parameters which can be used in command line. AWSElastiCache, awselasticache, aws-elasticache

Benefits Simple to Deploy: Amazon ElastiCache makes it very easy to deploy a Memcached or Redis compliant cache environment. Use the AWS Management Console or simple API calls to access the capabilities of a production-ready cloud cache cluster in minutes without worrying about infrastructure provisioning, or installing and maintaining cache software. Managed: Amazon ElastiCache automates time-consuming management tasks –such as patch management, failure detection and recovery– allowing you to pursue higher value application development. Compatible: With Amazon ElastiCache, you get native access to the Memcached or Redis in-memory caching environments. This facilitates compatibility with your existing tools and applications. Elastic: With a simple API call or a few clicks of the AWS Management Console, you can add or delete Cache Nodes to your cloud cache cluster to meet your application load. Auto Discovery for Memcached enables automatic discovery of Cache Nodes by ElastiCache Clients when the nodes are added to or removed from an Amazon ElastiCache Cluster. Reliable: Amazon ElastiCache has multiple features that enhance reliability for critical production deployments, including au- tomatic failure detection and recovery. Amazon ElastiCache runs on the same highly reliable infrastructure used by other Amazon Web Services. Integrated: Amazon ElastiCache is designed for seamless use with other Amazon

1.1. Commands 43 kevells Documentation, Release 0.1

Web Services, including Amazon Relational Database Service (Amazon RDS), Amazon DynamoDB, Amazon Elastic Compute Cloud (Amazon EC2), Amazon CloudWatch, and Amazon Simple Notification Service (Amazon SNS). Secure: Amazon ElastiCache provides a number of mechanisms to secure your Cache Cluster. Amazon ElastiCache provides web service interfaces that allow you to configure firewall settings that control network access to your Cache Cluster. Amazon ElastiCache allows you to run your Cache Cluster in Amazon Virtual Private Cloud (Amazon VPC). Amazon VPC enables you to isolate your Cache Cluster by specifying the IP ranges you wish to use for your Cache Nodes, and connect to your existing applications inside Amazon VPC. To learn more about Amazon ElastiCache in VPC, refer to the Amazon ElastiCache User Guide. Cost Effective: Amazon ElastiCache saves you the administrative cost of setting up and managing a multi-node Cache Cluster. You can scale up and scale down the number of Cache Nodes in your Cache Cluster to deliver optimum performance as your application usage pattern changes, paying only for the resources you actually consume. The on-demand pricing allows you to pay for memory/compute capacity by the hour with no long-term commitments. This makes the use of Amazon ElastiCache very cost effective and frees you from the costs and complexities of planning, purchasing, and maintaining hardware. Multi-AZ: Amazon ElastiCache provides replication features for the Redis engine and Multi-AZ functionality. You can take advantage of multiple AWS Availability Zones to gain availability, and scale beyond the capacity constraints of a single cache node. In case of primary node loss, ElastiCache will automatically detect the failure and failover to a read replica to provide higher availability without the need for manual intervention. Backup and Restore: Amazon ElastiCache for Redis helps you protect your data by creating snapshots of your clusters. Via a few clicks on the console or simple API calls, you can set up automatic snapshots, as well as initiate a backup whenever you choose. The snapshots can then be used for seeding new ElastiCache for Redis clusters. Key Use Cases: Amazon ElastiCache can be used to significantly improve latency and throughput for many read-heavy application workloads (such as social networking, gaming, media sharing and Q&A portals) or compute-intensive workloads (such as a recommendation engine). Caching improves application performance by storing critical pieces of data in memory for low-latency access. Cached information may include the results of I/O-intensive database queries or the results of computationally-intensive calculations. Applications needing a data structure server, will find the Redis engine most useful.

AWS RDS

Synopsis Amazon Relational Database Service (Amazon RDS) is a web service that makes it easy to set up, operate, and scale a relational database in the cloud. It provides cost-efficient and resizable capacity while managing time- consuming database management tasks, freeing you up to focus on your applications and business. Amazon RDS gives you online access to the capabilities of a MySQL, Oracle, Microsoft SQL Server, PostgreSQL, or Amazon Aurora relational database management system. This means that the code, applications, and tools you already use today with your existing databases can be used with Amazon RDS. Amazon RDS automatically patches the database software and backs up your database, storing the backups for a user-defined retention period and enabling point-in-time recovery. You benefit from the flexibility of being able to scale the compute resources or storage capacity associated with your Database Instance (DB Instance) via a single API call. Database Instances using Amazon RDS’s MySQL, Oracle, SQL Server, and PostgreSQL engines can be provisioned with General Purpose (SSD) Storage, Provisioned IOPS (SSD) Storage, or Magnetic Storage. Database Instances

44 Chapter 1. About pharaohtools kevells Documentation, Release 0.1 using the Amazon Aurora engine employ a fault-tolerant, self-healing SSD-backed virtualized storage layer purpose- built for database workloads. In addition, Amazon RDS makes it easy to use replication to enhance availability and reliability for production work- loads. Using the Multi-AZ deployment option you can run mission critical workloads with high availability and built-in automated fail-over from your primary database to a synchronously replicated secondary database in case of a failure. Using Read Replicas, Amazon RDS for MySQL, PostgreSQL, and Amazon Aurora also enable you to scale out beyond the capacity of a single database deployment for read-heavy database workloads. As with all Amazon Web Services, there are no up-front investments required, and you pay only for the resources you use.

Help Command This command helps to determine the usage of Amazon RDS. The user will come to know about the different way/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same. kevell@corp:/# ptconfigure Amazon RDS help

******************************

This is an extension provided for Handling AWS ElastiCache.

Amazon RDS, Amazon RDS, aws-elasticache

- create-cache-cluster Lets you add cache Cluster to AWS ElastiCache example: ptconfigure Amazon RDS create-cache-cluster --yes --guess - create-health-check Lets you add Health Check to AWS Route53 example: ptconfigure AWSRoute53 create-health-check --yes --guess

- reboot-cache-cluster Lets you reboot cache Cluster to AWS ElastiCache example: ptconfigure AWSRoute53 delete-hosted-zone --yes --guess

- delete-cache-cluster Lets you delete cache Cluster to AWS ElastiCache example: ptconfigure Amazon RDS delete-cache-cluster --yes --guess

- delete-replication-group Lets you delete replication group to AWS ElastiCache example: ptconfigure Amazon RDS delete-replication-group --yes --guess

- list Will display data about your AWS ElastiCache example: ptconfigure Amazon RDS list --yes --guess

1.1. Commands 45 kevells Documentation, Release 0.1

Note: region must be one of the following... us-east-1, ap-northeast-1, sa-east-1, ap-southeast-1, ap-southeast-2, us-west-2, us-gov-west-1, us-west-1, cn-north-1, eu-west-1

------End Help ******************************

Describe-instance This command helps to describe instance of AWS RDS. The below given command will execute the process. ptconfigure AWSRDS describe-instance --yes --guess

Delete-instance This command helps to delete instance. The below given command will execute the process. ptconfigure AWSRDS delete-instance --yes --guess

Create-db-snapshot This command helps to reboot create db snapshot. The below given command will execute the process. ptconfigure AWSRDS create-db-snapshot --yes --guess

Delete-db-snapshot This command helps to remove db snapshot. The below given command will execute the process. ptconfigure AWSRDS delete-db-snapshot -yes -guess

Copy-db-snapshot This command helps to copy db snapshot. The below given command will execute the process. ptconfigure AWSRDS copy-db-snapshot --yes --guess

Create-instance This command helps to create instance. The below given command will execute the process. ptconfigure AWSRDS create-instance --yes -guess

Reboot-instance This command helps to reboot instance. The below given command will execute the process. ptconfigure AWSRDS reboot-instance --yes --guess

Create-instance-read replica This command helps to create db instance read replica. The below given command will execute the process. ptconfigure AWSRDS create-instance-readreplica --yes --guess

List This command helps to display data about your AWS RDS. The below given command will execute the process. ptconfigure AWSRDS list --yes --guess

46 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Alternative Parameter There are three alternative parameters which can be used in command line. AWSRDS, awsrds, aws-rds

Benefits Simple to Deploy Database Web Service: Amazon RDS makes it easy to go from project conception to deployment. Use the AWS Management Console or simple API calls to access the capabilities of a production-ready relational database in minutes without worrying about infrastructure provisioning or installing and maintaining database software. Managed: Amazon RDS handles time-consuming database management tasks, such as backups, patch management, and replica- tion, allowing you to pursue higher value application development or database refinements. Compatible: With Amazon RDS, you get native access to a relational database management system. This facilitates compatibility with your existing tools and applications. In addition, Amazon RDS gives you optional control over which supported engine version powers your DB Instance via DB Engine Version Management. Fast, Predictable Performance: Database Instances using Amazon RDS’s MySQL, Oracle, SQL Server, and Oracle engines can be provisioned with General Purpose (SSD) Storage, Provisioned IOPS (SSD) Storage, or Magnetic Storage. Amazon RDS General Purpose (SSD) Storage delivers a consistent baseline of 3 IOPS per provisioned GB and pro- vides the ability to burst up to 3,000 IOPS. Amazon RDS Provisioned IOPS (SSD) Storage is a high-performance storage option designed to deliver fast, pre- dictable, and consistent performance for I/O intensive transactional database workloads. You can provision from 1,000 IOPS to 30,000 IOPS per DB Instance. (Maximum realized IOPS will vary by engine type.) Magnetic Storage (formerly known as Amazon RDS Standard storage) is useful for small database workloads where data is accessed less frequently. Database Instances using the Amazon Aurora engine employ a fault-tolerant, self- healing SSD-backed virtualized storage layer purpose-built for database workloads. Scalable Database in the Cloud: You can scale the compute and storage resources available to your database to meet your application needs using the Amazon RDS API or the AWS Management Console. If you are using Amazon RDS Provisioned IOPS storage with Amazon RDS for MySQL, Oracle, or PostgreSQL, you can provision and scale the storage up to 3TB and IOPS to up to 30,000. Note that maximum realized IOPS will vary by engine type. In addition, for the MySQL, PostgreSQL, and Amazon Aurora database engines, you can also associate one or more Read Replicas with your database instance deployment, enabling you to scale beyond the capacity of a single database instance for read-heavy workloads. The Amazon Aurora database engine allows you to scale your storage up to 64TB. You can associate up to 15 Amazon Aurora Replicas with your database instance deployment. Amazon Aurora Replicas share the same underlying storage as the source instance, lowering costs and avoiding the need to copy data to the replica nodes. Reliable: Amazon RDS has multiple features that enhance reliability for critical production databases, including automated backups, DB snapshots, automatic host replacement, and Multi-AZ deployments. Amazon RDS runs on the same highly reliable infrastructure used by other Amazon Web Services. For the Amazon Aurora engine, Amazon RDS uses RDS Multi-AZ technology to automate failover to one of up to 15 Aurora Replicas you have created in any of three Availability Zones. Designed for use with other Amazon Web Services: Amazon RDS is tightly integrated with other Amazon Web Ser- vices. For example, an application running in Amazon EC2 will experience low-latency database access to an Amazon RDS DB Instance in the same region. Secure: Amazon RDS provides a number of mechanisms to secure your DB Instances.Amazon RDS allows you to encrypt your MySQL or PostgreSQL databases using keys you manage through AWS Key Management Service (KMS). On a database instance running with Amazon RDS encryption, data stored at rest in the underlying storage is encrypted, as are its automated backups, read replicas, and snapshots. Amazon

1.1. Commands 47 kevells Documentation, Release 0.1

RDS supports Transparent Data Encryption in SQL Server and Oracle. Transparent Data Encryption in Oracle is in- tegrated with AWS CloudHSM, which allows you to securely generate, store, and manage your cryptographic keys in single-tenant Hardware Security Module (HSM) appliances within the AWS cloud. Amazon RDS includes web service interfaces to configure firewall settings that control network access to your database. Amazon RDS allows you to run your DB Instances in Amazon Virtual Private Cloud (Amazon VPC). Amazon VPC enables you to isolate your DB Instances by specifying the IP range you wish to use, and connect to your existing IT infrastructure through industry-standard encrypted IPsec VPN. To learn more about Amazon RDS in VPC, refer to the Amazon RDS User Guide. Inexpensive: You pay very low rates and only for the resources you actually consume. In addition, you benefit from the option of On-Demand pricing with no up-front or long-term commitments, or even lower hourly rates via our reserved pricing option. On-Demand DB Instances – On-Demand DB Instances let you pay for compute capacity by the hour with no long-term commitments. This frees you from the costs and complexities of planning, purchasing, and maintaining hardware and transforms what are commonly large fixed costs into much smaller variable costs. Reserved DB Instances – Reserved DB Instances give you the option to make a low, one-time payment for each DB Instance you want to reserve and in turn receive a significant discount on the hourly usage charge for that DB Instance. Depending on your usage, you can choose between three Reserved DB Instance types (Light, Medium, and Heavy Utilization) and receive anywhere between 30% and 55% of discount over On-Demand prices.

AMAZON ROUTE 53

Synopsis Amazon Route 53 is a highly available and scalable cloud Domain Name System (DNS) web service. It is designed to give developers and businesses an extremely reliable and cost effective way to route end users to Internet applications by translating names like www.example.com into the numeric IP addresses like 192.0.2.1 that computers use to connect to each other. Amazon Route 53 effectively connects user requests to infrastructure running in AWS – such as Amazon EC2 in- stances, Elastic Load Balancing load balancers, or Amazon S3 buckets – and can also be used to route users to infras- tructure outside of AWS. You can use Amazon Route 53 to configure DNS health checks to route traffic to healthy endpoints or to independently monitor the health of your application and its endpoints. Amazon Route 53 makes it possible for you to manage traffic globally through a variety of routing types, including Latency Based Routing, Geo DNS, and Weighted Round Robin—all of which can be combined with DNS Failover in order to enable a variety of low-latency, fault-tolerant architectures. Amazon Route 53 also offers Domain Name Registration – you can purchase and manage domain names such as example.com and Amazon Route 53 will automatically configure DNS settings for your domains.

Help Command This command helps to determine the usage of Amazon Route 53. The user will come to know about the different way/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same. kevvell@corp:/# ptconfigure AWSRoute53 help

******************************

This is an extension provided for Handling AWS ROUTE53.

AWSRoute53, awsroute53, aws-route53

- create-hosted-zone Lets you add Hosted zone to AWS Route53 example: ptconfigure AWSRoute53 create-hosted-zone --yes --guess - create-health-check Lets you add Health Check to AWS Route53

48 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

example: ptconfigure AWSRoute53 create-health-check --yes --guess - delete-hosted-zone Lets you delete Hosted zone to AWS Route53 example: ptconfigure AWSRoute53 delete-hosted-zone --yes --guess - delete-health-check Lets you delete Health Check to AWS Route53 example: ptconfigure AWSRoute53 delete-health-check --yes --guess

- list Will display data about your AWS Route53 example: ptconfigure AWSRoute53 list --yes --guess

Note: region must be one of the following... us-east-1, ap-northeast-1, sa-east-1, ap-southeast-1, ap-southeast-2, us-west-2, us-gov-west-1, us-west-1, cn-north-1, eu-west-1

------End Help ******************************

Create-hosted-zone This command helps to add hosted zone to AWS Route53. The below given command will execute the process. ptconfigure AWSRoute53 create-hosted-zone --yes --guess

Create-health-check This command helps to add Health Check to AWS Route53. The below given command will execute the process. ptconfigure AWSRoute53 create-health-check --yes --guess

Delete-hosted-zone This command helps to delete Hosted zone to AWS Route53. The below given command will execute the process. ptconfigure AWSRoute53 delete-hosted-zone --yes --guess

Delete-health-check This command helps to delete Health Check to AWS Route53. The below given command will execute the process. ptconfigure AWSRoute53 delete-health-check --yes --guess

List This command helps to display data about your AWS Route53. The below given command will execute the process. ptconfigure AWSRoute53 list --yes --guess

1.1. Commands 49 kevells Documentation, Release 0.1

Alternative Parameter There are three alternative parameters which can be used in command line. AWSRoute53, awsroute53, aws-route53

Benefits Highly Available and Reliable: Amazon Route 53 is built using AWS’s highly available and reliable infrastructure. The distributed nature of our DNS servers helps ensure a consistent ability to route your end users to your application. Route 53 is designed to provide the level of dependability required by important applications. Amazon Route 53 is backed by the Amazon Route 53 Service Level Agreement. Scalable: Route 53 is designed to automatically scale to handle very large query volumes without any intervention from you. Designed for use with other Amazon Web Services: Amazon Route 53 is designed to work well with other AWS features and offerings. You can use Amazon Route 53 to map domain names to your Amazon EC2 instances, Amazon S3 buckets, Amazon CloudFront distributions, and other AWS resources. By using the AWS Identity and Access Management (IAM) service with Amazon Route 53, you get fine grained control over who can update your DNS data. You can use Amazon Route 53 to map your zone apex (example.com versus www.example.com) to your Elastic Load Balancing instance, Amazon CloudFront distribution, or Amazon S3 website bucket using a feature called Alias record. Simple: With self-service sign-up, Route 53 can start to answer your DNS queries within minutes. You can configure your DNS settings with the AWS Management Console or our easy-to-use API. You can also programmatically integrate the Route 53 API into your overall web application. For instance, you can use Route 53’s API to create a new DNS record whenever you create a new EC2 instance. Fast: Using a global anycast network of DNS servers around the world, Amazon Route 53 is designed to automatically route your users to the optimal location depending on network conditions. As a result, the service offers low query latency for your end users, as well as low update latency for your DNS record management needs. Cost-Effective: Amazon Route 53 passes on the benefits of AWS’s scale to you. You pay only for managing domains through the service and the number of queries that the service answers for each of your domains, at a low cost and without minimum usage commitments or any up-front fees. Secure: By integrating Amazon Route 53 with AWS Identity and Access Management (IAM), you can grant unique credentials and manage permissions for every user within your AWS account and specify who has access to which parts of the Amazon Route 53 service. Flexible: Amazon Route 53 offers Weighted Round-Robin (WRR), also known as DNS load balancing. This lets you assign weights to your DNS records that specify what portion of your traffic is routed to various endpoints.

Amazon S3

Synopsis Amazon Simple Storage Service (Amazon S3), provides developers and IT teams with secure, durable, highly-scalable object storage. Amazon S3 is easy to use, with a simple web services interface to store and retrieve any amount of data from anywhere on the web. With Amazon S3, you pay only for the storage you actually use. There is no minimum fee and no setup cost.

50 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Amazon S3 can be used alone or together with other AWS services such as Amazon Elastic Compute Cloud (Amazon EC2), Amazon Elastic Block Store (Amazon EBS), and Amazon Glacier, as well as third party storage repositories and gateways. Amazon S3 provides cost-effective object storage for a wide variety of use cases including cloud applications, content distribution, backup and archiving, disaster recovery, and big data analytics.

Help Command This command helps to determine the usage of AWS S3. The user will come to know about the different way/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same. kevell@corp:/# ptconfigure AWSS3 help

******************************

This is an extension provided for Handling AWSS3.

AWSS3, awss3 aws-s3

- ensure-bucket-exists Lets you add bucket to AWSS3 if doesnt exists example: ptconfigure AWSS3 ensure-bucket-exists --yes --guess - add-object Lets you upload object to bucket example: ptconfigure AWSS3 add-object --yes --guess

- remove-bucket Lets you remove bucket example: ptconfigure AWSS3 remove-bucket --yes --guess

- remove-object-all Lets you remove all object from a bucket example: ptconfigure AWSS3 remove-object-all --yes --guess

- remove-object Lets you remove a object from a bucket example: ptconfigure AWSS3 remove-object --yes --guess

- list Will display data about your AWS S3 example: ptconfigure AWSS3 list --yes --guess

Note: region must be one of the following... us-east-1, ap-northeast-1, sa-east-1, ap-southeast-1, ap-southeast-2, us-west-2, us-gov-west-1, us-west-1, cn-north-1, eu-west-1

1.1. Commands 51 kevells Documentation, Release 0.1

------End Help ******************************

Ensure-bucket-exists This command helps to add bucket to AWSS3 if doesnt exists. The below given command will execute the process. ptconfigure AWSRoute53 create-hosted-zone --yes --guess

Add-object This command helps to upload object to bucket. The below given command will execute the process. ptconfigure AWSS3 add-object --yes -guess

Remove-bucket This command helps to remove bucket. The below given command will execute the process. ptconfigure AWSS3 remove-bucket --yes --guess

Remove-object-all This command helps to remove all objects from a bucket. The below given command will execute the process. ptconfigure AWSS3 remove-object-all --yes --guess

Remove-object This command helps to remove an object from a bucket. The below given command will execute the process. ptconfigure AWSS3 remove-object --yes --guess

List This command helps to display data about your AWS S3. The below given command will execute the process. ptconfigure AWSS3 list --yes --guess

Alternative Parameter There are three alternative parameters which can be used in command line. AWSS3, awss3 aws-s3

Benefits Durable: Amazon S3 provides durable infrastructure to store important data and is designed for durability of 99.999999999% of objects. Your data is redundantly stored across multiple facilities and multiple devices in each facility. Low Cost: Amazon S3 allows you to store large amounts of data at a very low cost. You pay for what you need, with no minimum commitments or up-front fees. Available: Amazon S3 is designed for 99.99% availability of objects over a given year. Amazon S3 is also backed by the Amazon S3 Service Level Agreement, ensuring that you can rely on it when you need it. And you can choose an AWS region to optimize for latency, minimize costs, or address regulatory requirements.

52 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Secure: Amazon S3 supports data transfer over SSL and automatic encryption of your data once it is uploaded. You can also configure bucket policies to manage object permissions and control access to your data using AWS Identity and Access Management (IAM). Scalable: With Amazon S3, you can store as much data as you want and access it when you need it. You can stop guessing your future storage needs and scale up and down as required, dramatically increasing business agility. Send Event Notifications: Amazon S3 can send event notifications when objects are uploaded to Amazon S3. Amazon S3 event notifications can be delivered using Amazon SQS or Amazon SNS, or sent directly to AWS Lambda, enabling you to trigger workflows, alerts, or other processing. For example, you could use Amazon S3 event notifications to trigger transcoding of media files when they are uploaded, processing of data files when they become available, or synchronization of Amazon S3 objects with other data stores. High Performance: Amazon S3 supports multi-part uploads to help maximize network throughput and resiliency, and lets you choose the AWS region to store your data close to the end user and minimize network latency. And Amazon S3 is integrated with Amazon CloudFront, a content delivery web service that distributes content to end users with low latency, high data transfer speeds, and no minimum usage commitments. Integrated: Amazon S3 is integrated with other AWS services to simplify uploading and downloading data from Amazon S3 and make it easier to build solutions that use a range of AWS services. Amazon S3 integrations include Amazon CloudFront, Amazon Kinesis, Amazon RDS, Amazon Glacier, Amazon EBS, Amazon DynamoDB, Amazon Redshift, Amazon Route 53, Amazon EMR, and AWS Lambda. Easy to use: Amazon S3 is easy to use with a web-based management console and mobile app and full REST APIs and SDKs for easy integration with third party technologies.

ApacheConf

Synopsis This module assists in managing and installing the Apache configuration. It specifies the configuration of your environment. It is well-to-do in ubuntu and as well as in Cent OS.

Help command The help command describes about the purpose and the commands available under this modules. It also explains the command to install the particular module. It lists out the alternative parameters that can be used for declaration. The command used for declaring help is shown as below: ptconfigure apacheconf help

The screen shot as shown below, visually represent the usage of the help command under this module. kevell@corp:/# ptconfigure apacheconf help ******************************

This module lets you install a configuration for Apache HTTP Server. The only commands available are this help and install.

ApacheConf, apache-configure, apache-configuration, apache-conf, apacheconf

1.1. Commands 53 kevells Documentation, Release 0.1

- install Installs a configuration for Apache example: ptconfigure apacheconf install

------End Help ******************************

Installation It is easier to install this particular tool under ptconfigure by simply using the command given below, ptconfigure apacheconf install

After giving the command above, the tool will ask as Install Apache conf?(Y/N) if you give an input as Y, the module will get installed successfully. I wird auch werfen einige Befehle, um die Nicht- Standardwerte für LockFile , PidFile , Timeout , Keepalive , Max- KeepAliveRequest , Keepalivetimeout angeben. Wenn der Benutzer gibt Eingang als Y ( Yes ), wird es automatisch zu beheben Sie den Standardwert . Wenn der Benutzer gibt Eingabe N (No), dann wird es über die Werte von dem Benutzer zu fragen. The screen shot given below explains visually about the steps and commands involves in installation. kevell@corp:/# ptconfigure apacheconf install Install Apache Conf?(Y/N) y ******************************* * Pharaoh Tools * * Apache Conf! * ******************************* Set non-default value for LockFile? Default is ${APACHE_LOCK_DIR}/accept.lock(Y/N)

Set non-default value for PidFile? Default is ${APACHE_PID_FILE} (Y/N)

Set non-default value for Timeout? Default is 300(Y/N)

Set non-default value for KeepAlive? Default is On(Y/N)

Set non-default value for MaxKeepAliveRequests? Default is 100(Y/N)

Set non-default value for KeepAliveTimeout? Default is5(Y/N)

... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------ApacheConf: Success ------Installer Finished ******************************

54 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Parameters Alternative Parameters Re- Comment quired Install Apache Instead of apachemodules, we can use Yes If the user gives input as yes, it Options conf? (Y/N) ApacheModules, apachemods, apache-modules also will install the module. Install Apache Instead of apachemodules, we can use No If the user gives input as No, it conf? (Y/N) ApacheModules, apachemods, apache-modules will get exit. also|

Benefits • The module assists the end user in installing and managing the configuration of Apache. • While installing the Apache tool, the end user can design and manage the configuration as per their requirement using this module. • If it founds the configuration already exists it will overwrite the existing one. • It is well-to-do in Cent OS and as well as in Ubuntu. • The parameters used in declaration is not case sensitive, which is an added advantage.

ApacheModules

Synopsis This module facilitates to install the Apache modules. It specifies the configuration of your environment. The checking availability of modules is possible. It is comfortable in Ubuntu as well as in Cent OS.

Help command This help command explains about the purpose of a particular module. The syntax for installation is depicted under the help command. It also lists out the alternative parameters that can be used for declaration. The help command is easy to operate by the end user. The following command guides the user about using this module. ptconfigure apache modules help

After giving the command, the command will list the help options. The following screen shots will give visual effect for the usage of this module. kevell@corp:/# ptconfigure ApacheModules help ******************************

This command is part of Core and provides you with a method by which you can configure Application Settings. You can configure default application settings, ie: mysql admin user, host, pass

ApacheModules, apachemods, apache-modules, apachemodules

- install Installs common apache Modules example: ptconfigure apache-modules install

------End Help ******************************

Installation Installation is not a difficult process to install this module under ptconfigure by merely using the com- mand given below,

1.1. Commands 55 kevells Documentation, Release 0.1

Install apache-modules install

After giving the command it will ask, Install Apache module?(Y/N)

If you give an input as ‘Y’, the module will be installed successfully. If you give an input as ‘N’, then it will come out of the installation.

The following screen shots will give visual effect for the installation of this module. kevell@corp:/# ptconfigure apache-modules install Install Apache Modules?(Y/N) y ******************************* * Pharaoh Tools * * Apache Mods! * ******************************* Reading package lists... Building dependency tree... Reading state information... The following NEW packages will be installed: -dev 0 upgraded,1 newly installed,0 to remove and 229 not upgraded. Need to get 630 kB of archives. After this operation, 2,928 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main libxml2-dev amd64 2.9.1+dfsg1-3ubuntu4.4[630 kB] Fetched 630 kB in 2min 38s(3,990 B/s) Selecting previously unselected package libxml2-dev:amd64. (Reading database ... 181481 files and directories currently installed.) Preparing to unpack .../libxml2-dev_2.9.1+dfsg1-3ubuntu4.4_amd64.deb ... Unpacking libxml2-dev:amd64(2.9.1+dfsg1-3ubuntu4.4) ... Processing triggers for man-db(2.6.7.1-1) ... Setting up libxml2-dev:amd64(2.9.1+dfsg1-3ubuntu4.4) ... [Pharaoh Logging] Adding Package libxml2-dev from the Packager Apt executed correctly Creating /tmp/ptconfigure-temp-script-11435369770.sh chmod 755 /tmp/ptconfigure-temp-script-11435369770.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-11435369770.sh Permissions Executing /tmp/ptconfigure-temp-script-11435369770.sh Enabling module rewrite. To activate the new configuration, you need to run: service apache2 restart Temp File /tmp/ptconfigure-temp-script-11435369770.sh Removed Creating /tmp/ptconfigure-temp-script-95277456152.sh chmod 755 /tmp/ptconfigure-temp-script-95277456152.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-95277456152.sh Permissions Executing /tmp/ptconfigure-temp-script-95277456152.sh Considering dependency filter for deflate: Module filter already enabled Module deflate already enabled Temp File /tmp/ptconfigure-temp-script-95277456152.sh Removed Creating /tmp/ptconfigure-temp-script-1351048337.sh chmod 755 /tmp/ptconfigure-temp-script-1351048337.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-1351048337.sh Permissions Executing /tmp/ptconfigure-temp-script-1351048337.sh Considering dependency setenvif for ssl: Module setenvif already enabled Considering dependency mime for ssl: Module mime already enabled

56 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Considering dependency socache_shmcb for ssl: Enabling module socache_shmcb. Enabling module ssl. See /usr/share/doc/apache2/README.Debian.gz on how to configure SSL and create self-signed certificates. To activate the new configuration, you need to run: service apache2 restart Temp File /tmp/ptconfigure-temp-script-1351048337.sh Removed [Pharaoh Logging] Package libapache2-mod-php5 from the Packager Apt is already installed, so not installing Creating /tmp/ptconfigure-temp-script-89813944614.sh chmod 755 /tmp/ptconfigure-temp-script-89813944614.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-89813944614.sh Permissions Executing /tmp/ptconfigure-temp-script-89813944614.sh Module php5 already enabled Temp File /tmp/ptconfigure-temp-script-89813944614.sh Removed [Pharaoh Logging] Restarting apache2 service Output of config test was: apache2: Syntax error on line 214 of /etc/apache2/apache2.conf: Could not open configuration file /etc/apache2/httpd.conf: No such file or directory Action ’configtest’ failed. The Apache error log may have more information. * Restarting web server apache2 ...fail! * The apache2 configtest failed. ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------ApacheModules: Success ------Installer Finished ******************************

Parameters Re- Alternative Parameters Comments quired Install Apache Yes Instead of using apachemodules the user can use If the user wish to install they Option Module? (Y/N) ApacheModules, apachemods apache-modules can input as Y. Install Apache No Instead of using apachemodules the user can use If the user wish to quit Module? (Y/N) ApacheModules, apachemods apache-modules| uninstallation they can input as N.

Benefits • The module is an aid to Link with ptconfigure. • While installing the Apache modules, it will acquiesce the configuration files. • If the configuration files are not available in the system this module will automatically install it.

ApacheReverseProxyModules

1.1. Commands 57 kevells Documentation, Release 0.1

Synopsis This module aims at installing the functions. While installing the library functions, it will check the availability of already existing library functions. It helps in managing and configuring the application settings. The user can specify the default values for application settings.

Help command The help command guides the user get aware of the uses, and also the options and actions that can be performed. It lists outs the alternative The coding to make use of help command under Apache Reverse proxy module, is given as follows ptconfigure ApacheReverseProxyModules help

The screen shot shown below gives you an pictorial representation of help command usage. Kevell@corp/# ptconfigure ApacheReverseProxyModules help ******************************

This command is part of Core and provides you with a method by which you can configure Application Settings. You can configure default application settings, ie: mysql admin user, host, pass

ApacheReverseProxyModules, apache-reverse-proxy-modules, apache-proxy-mods, apacheproxymodules, apache-lb-mods, apache-load-balancer-modules

- install Installs Load Balancer/Reverse Proxy Apache Modules example: ptconfigure apache-lb-mods install

------End Help ****************************

Installation If the user wish to install the apache reverse proxy module to their system they can input the command given below, ptconfigure ApacheReverseProxyModules install

Parameters Alternative Parameters Re- Comment quired Install Instead of ReverseProxy Apache Modules the user can also Y(Yes)If the user inputs as Y, ReverseProxy specify the following parameters: the apache reverse proxy ApacheMod- ApacheReverseProxyModules, module will be installed ules apache-reverse-proxy-modules, apache- proxy-mods, (Y/N) apacheproxymodules, apache-lb-mods, Option apache-load-balancer, modules Install Instead of ReverseProxy Apache Modules the user can also N(No) If the user inputs as N, ReverseProxy specify the following parameters: the process will gets ApacheMod- ApacheReverseProxyModules, quits from installation. ules apache-reverse-proxy-modules, apache- proxy-mods, (Y/N) apacheproxymodules, apache-lb-mods, apache-load-balancer, modules| While installing the Reverse Proxy Modules, it will reads the package lists, state information, builds the dependency tree. If any packages are missing, the new packages will be installed. The screenshot shown below will explains the process of installation graphically.

58 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

kevells@corp:/#: ptconfigure ApacheReverseProxyModules install Install Apache Rev. Proxy Modules?(Y/N) Y ******************************* * Pharaoh Tools * * Apache Proxy Mods! * ******************************* Reading package lists... Building dependency tree... Reading state information... The following NEW packages will be installed: libapache2-mod-proxy-html 0 upgraded,1 newly installed,0 to remove and 229 not upgraded. Need to get 1,464 B of archives. After this operation, 22.5 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/universe libapache2-mod-proxy-html amd64 1:2.4.7-1ubuntu4.1[1,464 B] Fetched 1,464 B in 1s(1,323 B/s) Selecting previously unselected package libapache2-mod-proxy-html. (Reading database ... 181545 files and directories currently installed.) Preparing to unpack .../libapache2-mod-proxy-html_1%3a2.4.7-1ubuntu4.1_amd64.deb ... Unpacking libapache2-mod-proxy-html(1:2.4.7-1ubuntu4.1) ... Setting up libapache2-mod-proxy-html(1:2.4.7-1ubuntu4.1) ... [Pharaoh Logging] Adding Package libapache2-mod-proxy-html from the Packager Apt executed correctly [Pharaoh Logging] Package libxml2-dev from the Packager Apt is already installed, so not installing Creating /tmp/ptconfigure-temp-script-49127207421.sh chmod 755 /tmp/ptconfigure-temp-script-49127207421.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-49127207421.sh Permissions Executing /tmp/ptconfigure-temp-script-49127207421.sh Considering dependency proxy_balancer for lbmethod_byrequests: Considering dependency proxy for proxy_balancer: Enabling module proxy. Considering dependency alias for proxy_balancer: Module alias already enabled Considering dependency slotmem_shm for proxy_balancer: Enabling module slotmem_shm. Enabling module proxy_balancer. Enabling module lbmethod_byrequests. To activate the new configuration, you need to run: service apache2 restart Temp File /tmp/ptconfigure-temp-script-49127207421.sh Removed Creating /tmp/ptconfigure-temp-script-12740464083.sh chmod 755 /tmp/ptconfigure-temp-script-12740464083.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-12740464083.sh Permissions Executing /tmp/ptconfigure-temp-script-12740464083.sh Module proxy already enabled Temp File /tmp/ptconfigure-temp-script-12740464083.sh Removed Creating /tmp/ptconfigure-temp-script-61839737362.sh chmod 755 /tmp/ptconfigure-temp-script-61839737362.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-61839737362.sh Permissions Executing /tmp/ptconfigure-temp-script-61839737362.sh Considering dependency proxy for proxy_http: Module proxy already enabled Enabling module proxy_http. To activate the new configuration, you need to run: service apache2 restart Temp File /tmp/ptconfigure-temp-script-61839737362.sh Removed Creating /tmp/ptconfigure-temp-script-22752304452.sh chmod 755 /tmp/ptconfigure-temp-script-22752304452.sh 2>/dev/null

1.1. Commands 59 kevells Documentation, Release 0.1

Changing /tmp/ptconfigure-temp-script-22752304452.sh Permissions Executing /tmp/ptconfigure-temp-script-22752304452.sh ERROR: Module mod_proxy_http does not exist! Temp File /tmp/ptconfigure-temp-script-22752304452.sh Removed Creating /tmp/ptconfigure-temp-script-19250932602.sh chmod 755 /tmp/ptconfigure-temp-script-19250932602.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-19250932602.sh Permissions Executing /tmp/ptconfigure-temp-script-19250932602.sh Considering dependency proxy for proxy_ftp: Module proxy already enabled Enabling module proxy_ftp. To activate the new configuration, you need to run: service apache2 restart Temp File /tmp/ptconfigure-temp-script-19250932602.sh Removed Creating /tmp/ptconfigure-temp-script-38556602379.sh chmod 755 /tmp/ptconfigure-temp-script-38556602379.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-38556602379.sh Permissions Executing /tmp/ptconfigure-temp-script-38556602379.sh Considering dependency proxy for proxy_connect: Module proxy already enabled Enabling module proxy_connect. To activate the new configuration, you need to run: service apache2 restart Temp File /tmp/ptconfigure-temp-script-38556602379.sh Removed Creating /tmp/ptconfigure-temp-script-85272088847.sh chmod 755 /tmp/ptconfigure-temp-script-85272088847.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-85272088847.sh Permissions Executing /tmp/ptconfigure-temp-script-85272088847.sh Considering dependency proxy for proxy_ajp: Module proxy already enabled Enabling module proxy_ajp. To activate the new configuration, you need to run: service apache2 restart Temp File /tmp/ptconfigure-temp-script-85272088847.sh Removed Creating /tmp/ptconfigure-temp-script-31029043648.sh chmod 755 /tmp/ptconfigure-temp-script-31029043648.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-31029043648.sh Permissions Executing /tmp/ptconfigure-temp-script-31029043648.sh Considering dependency proxy for proxy_wstunnel: Module proxy already enabled Enabling module proxy_wstunnel. To activate the new configuration, you need to run: service apache2 restart Temp File /tmp/ptconfigure-temp-script-31029043648.sh Removed Creating /tmp/ptconfigure-temp-script-2400353229.sh chmod 755 /tmp/ptconfigure-temp-script-2400353229.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-2400353229.sh Permissions Executing /tmp/ptconfigure-temp-script-2400353229.sh Considering dependency proxy for proxy_balancer: Module proxy already enabled Considering dependency alias for proxy_balancer: Module alias already enabled Considering dependency slotmem_shm for proxy_balancer: Module slotmem_shm already enabled Module proxy_balancer already enabled Temp File /tmp/ptconfigure-temp-script-2400353229.sh Removed Creating /tmp/ptconfigure-temp-script-88564779807.sh chmod 755 /tmp/ptconfigure-temp-script-88564779807.sh 2>/dev/null

60 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Changing /tmp/ptconfigure-temp-script-88564779807.sh Permissions Executing /tmp/ptconfigure-temp-script-88564779807.sh Enabling module cache. To activate the new configuration, you need to run: service apache2 restart Temp File /tmp/ptconfigure-temp-script-88564779807.sh Removed Creating /tmp/ptconfigure-temp-script-68936090528.sh chmod 755 /tmp/ptconfigure-temp-script-68936090528.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-68936090528.sh Permissions Executing /tmp/ptconfigure-temp-script-68936090528.sh Enabling module headers. To activate the new configuration, you need to run: service apache2 restart Temp File /tmp/ptconfigure-temp-script-68936090528.sh Removed [Pharaoh Logging] Restarting apache2 service Output of config test was: apache2: Syntax error on line 214 of /etc/apache2/apache2.conf: Could not open configuration file /etc/apache2/httpd.conf: No such file or dir ectory. Action ’configtest’ failed. The Apache error log may have more information. * Restarting web server apache2 ...fail! * The apache2 configtest failed. ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------ApacheReverseProxyModules: Success ------Installer Finished ******************************

Benefits to the users • It displays the available package lists, and in turn installs the missing and required packages. • The reverse proxy forwards to a fixed destination on behalf of arbitrary clients. • It will incorporates the content that is hosted from one server into a larger website. • It helps in configuring the applications settings. • It is well-to-do in Cent OS and as well as in ubuntu. • The parameters used in declaration is not case sensitive, which is an added advantage.

ApacheServer

Synopsis This modules aims at installing the Apache server. Without any request it will automatically install the current version of the apache server while installation.

Help command The help command describes about the purpose and the commands available under this modules. It also explains the command to install the particular module.

1.1. Commands 61 kevells Documentation, Release 0.1

ptconfigure ApacheServer help

The screen shot as shown below, visually represent the usage of the help command under this module. kevell@corp:/# ptconfigure ApacheServer help ******************************

This command is part of Core and provides you with a method by which you can install Apache HTTP Server

ApacheServer, apache-server, apacheserver

- install Installs Apache HTTP Server example: ptconfigure apacheserver install

------End Help ******************************

Installation It is easier to install this particular tool under ptconfigure by simply using the command given below, ptconfigure ApacheServer install

After giving the command above, the tool will ask as Install Apache Server? (Y/N) if you give an input as Y, the module will get installed successfully. The screen shot given below explains visually about the steps and commands involves in installation. kevell@corp:/# ptconfigure apacheserver install Install Apache Server? (Y/N) Y ******************************* * Pharaoh Tools * * Apache Server! * ******************************* [Pharaoh Logging] Package apache2 from the Packager Apt is already installed, so not installing [Pharaoh Logging] Restarting apache2 service AH00558: apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1. Set the ’ServerName’ directive globally to suppress this message * Restarting web server apache2 ...done. ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------ApacheServer: Success ------Installer Finished ******************************

62 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Parameters Alternative Parameters Re- Comments quired Install Apache Instead of ApacheServer, we can use Yes If the user gives input as yes, it will Options Server? (Y/N) apache-server, apacheserver also. proceed installation Install Apache Instead of ApacheServer, we can use No If the user gives input as no, it will Server? (Y/N) apache-server, apacheserver also. quit the installation process|

Version While the tool is processing it will automatically grabs the most-recent updated version and makes it to get ready for installation.

Benefits to the end users • This modules helps the users in installing the apache server. It simplifies the work of the users while installing the server as its automatically check the current version of apache server. • It is well-to-do in Cent OS and as well as in Ubuntu. • The parameters used in declaration is not case sensitive, which is an added advantage.

ApacheVHostEditor

Synopsis Apache Virtual Hosts are used to run more than one domain off of a single IP address. This is especially useful to people who needs to handle apache vhost functions. The sites display different information to the visitors, depending on with which the users accessed the site. There is no limit to the number of virtual hosts that can be added to a Virtual Private Server(VPS).This can be suitable for Ubuntu and CentOS.

Help command The help command leads the users regarding the purpose and as well as about the options that are included in the apache virtualhost editor modules. The help command lists out the alternative parameters of apache virtualhost editor under ptconfigure module. It also describes the syntax for installing the user’s updation. The help command for apache virtualhost editor is shown below. ptconfigure Apache virtualhost editor help

The following screen shot shows the full effort of apache virtualhost editor.

Alternative parameters The following are the alternative parameters that can be defined in declarations: ApacheVHostEditor, apachevhosteditor, vhosteditor, vhe, vhosted.

Add This command used to create a virtual host. Overriding is possible. The following command can be adopted for creating a virtual host editor. sudo ptconfigure vhe add after inputting the above command it may ask the following, Vhe document root,Vhe file extension,Vhe apache command, Vhe IP Port, Vhe Vhost Directory, Vhe Template,Vhe Default template name. The user has to input all the details one by one otherwise enter in the command line itself. The following screen shot explains about it

1.1. Commands 63 kevells Documentation, Release 0.1

Add- Balancer This command used to create a virtual host. Overriding is possible. There are two ways to enter the input. In simple way the user can give vhe add. The second way along with the command host path name can be mentioned. The following command can be adopted for creating a virtual host editor. sudo ptconfigure vhe add after inputting the above command it may ask the following, Vhe document root, Vhe file extension, Vhe apache command, Vhe IP Port, Vhe Vhost Directory, Vhe Template,Vhe Default template name. The user has to input all the details one by one otherwise enter everything in the command line itself. The following screen shot explains about it.

Remove This command used to delete a particular vhost. There are two ways to enter the input. In simple way the user can give vhe remove(rm). The second way along with the command host path name can be mentioned. The following command is used to remove the host name. ptconfigure vhe rm

The following screen shot shows the function of rm.

List This command used to list the current virtual hosts. The following command used to list the virtual hosts. ptconfigure vhe list

The screen shot shows the list function.

Enable Secure Boot is a feature designed to prevent malicious software and unauthorized media from loading during the boot process. This enable option enabled the server block. In virtual host when the used typed the following command, ptconfigure vhe enable

This option is enabled by default. This option allows the virtual host server enable. Assists module develop many of the enabling capabilities required to service high performing environments through our understanding of the interdependencies between people, process and technology. The following screen shot ex- plains the same.

Disable This disable used to disable the server. Inactive or virtual host editor connections are normally dis- connected by the server after a certain period of time. The following command is used to disable the virtual host editor. ptconfigure vhe disable

After typing this command it can ask the user to disable the server. If the user inputs as yes it disable the server i.e. it won’t allow any body to work in that server. The following screen shot visualize it evidently.

64 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Benefits • Multi user can access at a time. • The user can add or remove virtual host. • The virtual host editor can enable or disable the virtual host according to the user’s wish. • Non case sensitivity. • Well-to-do in Ubuntu and CentOS.

Apt

Synopsis The major objective of this apt module is to create new apts and as well aims at modifying the already existing apts. This module has a collection of various features to access and modify the apts based on the requirements of the users. The upcoming topics deals with how to use this module and also about different aspects of this module in accessing apt.

Help Command The help command is a brief user manual that facilitates the users to get aware regarding the usage, methodologies of handling this module to perform different functions. It also lists outs the alternative parameters that can be used in declarations. It highlights the syntax example for using and accessing different functions under Apt. The command used for declaring help option under Apt is shown below, ptconfigure Apt help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under apt. kevell@corp:/# ptconfigure apt help ******************************

This command allows you to modify create or modify apts

Apt, apt

- create Create a new system apt, overwriting if it exists example: ptconfigure apt create --aptname="somename"

- remove Remove a system apt example: ptconfigure apt remove --aptname="somename"

- set-password Set the password of a system apt example: ptconfigure apt set-password --aptname="somename" --new-password="somepassword"

- exists Check the existence of a apt example: ptconfigure apt exists --aptname="somename"

- show-groups Show groups to which a apt belongs example: ptconfigure apt show-groups --aptname="somename"

1.1. Commands 65 kevells Documentation, Release 0.1

- add-to-group Add apt to a group example: ptconfigure apt add-to-group --aptname="somename" --groupname="somegroupname"

- remove-from-group Remove apt from a group example: ptconfigure apt remove-from-group --aptname="somename" --groupname="somegroupname"

------End Help ******************************

Different features of Apt This topic deals with different features of apt under this module, and also the possible ways to use those various features. The various aspects of this module under apt is listed below, • Create • Remove • set-password • exists • show-groups • add-to-group • remove-from-group

CREATE This functions aims at creating a new system apt, and as well as overwrites in case of already existing. This function of apt using this module can be achieved by the following syntax, ptconfigure apt create --aptname="somename"

In the place of aptname the user can specify the name of the apt which is to be created. After entering the command as specified above, the new system apt will be created with the specified name.

REMOVE This functions aims at removing an existing apt. This function of apt using this module can be achieved by the following syntax, ptconfigure apt remove --aptname="somename"

In the place of aptname the user can specify the name of the apt which is to be deleted. After entering the command as specified above, the specified apt will be deleted.

SET PASSWORD This function facilitates setting a new password to a system apt as per the requirements. This can be done by applying the command as given below, ptconfigure apt set-password --aptname="somename" --new-password="somepassword"

To implement this functions, the user have to specify the two fields, • Apt name • New password

66 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

After specifying the two fields in the format of above mentioned command, the new password for the specified apt will be created.

EXISTS This functions aims at checking the existence of a apt. This can be done simply, by using the command below, ptconfigure apt exists --aptname="somename"

After applying the command as above, the existence of an mentioned apt will be ensured with the results.

SHOW GROUPS This function assists the users to know about to which group does the apt belongs to. This can be achieved simply by using the command below, ptconfigure apt show-groups --aptname="somename"

The user have to specify the name of the apt in the field of aptname, in order to know the details of its group.

ADD _TO_GROUP The main objective of this function is to add the required apt to the required group by simply applying the command as given below, ptconfigure apt add-to-group --aptname="somename" --groupname="somegroupname"

To implement this function, the user have to specify the following two fields as per their needs in the format of above mentioned command, • Aptname • group name

REMOVE_FROM_GROUP The main objective of this function is to remove the apt from a group by simply applying the command as given below, ptconfigure apt remove-from-group --aptname="somename" --groupname="somegroupname"

To implement this function, the user have to specify the following two fields as per their needs in the format of above mentioned command, • Aptname • group name

Alternative Parameters The alternative parameters for this module, either of which can be used in declaration is, • Apt • apt

Benefits • The parameters used declaring help and other different features of apt are not case-sensitive. • It is well-to-do in both Cent os and as well as in Ubuntu. • Using this module the user can create and as well as modify the apt as per their needs. • The existence of an apt can be ensured under this module.

1.1. Commands 67 kevells Documentation, Release 0.1

Aptana

Synopsis is an open source integrated development environment (IDE) for building web applications. This command used to allow the user to install aptana. It is a open source web development .Based on , it sup- ports JavaScript, HTML, DOM and CSS with code-completion, outlining, JavaScript debugging, error and warning notifications and integrated documentation. Additional plugins allow Aptana to support PHP, Python, . Aptana is available as a standalone on Windows, Mac OS X and Linux, or as a plugin for Eclipse.

Help command The help command leads the users regarding the purpose and as well as about the options that are included in the Aptana module. It also describes the syntax for installing Aptana. The help command for Aptana module is shown as below. ptconfigure Aptana help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under Aptana. kevell@corp:/# ptconfigure Aptana help

******************************

This command allows you to install Aptana, The open-source web development IDE.

Aptana, aptana

- install Installs Aptana. example: ptconfigure aptana install

- uninstall Uninstalls Aptana. example: ptconfigure aptana uninstall

------End Help ******************************

Installation The command used for installing the Aptana to the users machine is shown below. ptconfigure Aptana install

After inputting the command above, the following process occurs as shown in the screenshot format. Parameters Op- Alternative parameters Comments tions Install Yes Instead of using Aptana the user can It will install Aptana module under Aptana?(Y/N) use aptana ptconfigure Install No Instead of using Aptana the user can If the user wish to quit installation they can Aptana?(Y/N) use aptana input as N|

Uninstallation The command used for uninstalling the Aptana to the users machine is shown below. ptconfigure Aptana uninstall

68 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

After inputting the command above, the following process occurs as shown in the screenshot format. Parameters Op- Alternative parameters Comments tions UnInstall Yes Instead of using Aptana the user It will uninstall Aptana module under Aptana?(Y/N) can use aptana ptconfigure UnInstall No Instead of using Aptana the user If the user wish to quit uninstallation they Aptana?(Y/N) can use aptana can input as N|

Platform & Language support Aptana Studio 3 provides the following support for PHP application development: • Syntax Coloring according to the selected theme in the preferences; • Code Assist; • Syntax error annotations; • Auto indentation and Code Formatting; • Hyper-linking to classes, functions and variables by hovering over elements and pressing the Ctrl key; • PHPDoc popups when hovering over items that have attached documentation; • Read and write Occurrences Markers when clicking on specific PHP elements. Aptana version 1.5 provided support for developing PHP applications via the add-on PHP plugin. This included: • Built-in PHP server for previewing within Aptana, • Full code assist, code outlining and code formatting, • Integrated PHP , • Built in Smarty, • Type hierarchy view, • Go to declaration, • Integrated PHP manual

Benefits • This is used to install and un install aptana • Non case sensitivity • It supports Ubuntu and Cent OS • Integrated PHP debugger • Full code assist, code outlining and code formatting

Autopilot

Synopsis AutoPilot provides user defined execution. It supports to small and medium sized corporate companies ready to experience growth and find new opportunity. Our extensive Managed IT Services provide a wide variety of detailed and thorough solutions for the user business, including network, cloud, software, data backup, and IT services. We take the hassle out of user technology. In today’s competitive business environment the user don’t have time for computer problems? We make IT problems go away, for good! The user business functions best when the user don’t have to worry about the Devops technology solutions that drive it. We want to help the user put IT on AutoPilot so user can focus on the business user want to build. It is comfortable with Ubntu and cent os.

1.1. Commands 69 kevells Documentation, Release 0.1

Help command The help command leads the users regarding the purpose and as well as about the options that are included in the autopilot modules. The help command lists out the alternative parameters of ptconfigure autopilot module. It also describes the syntax for detecting the user’s machine. The help command for autopilot shown below. ptconfigure autopilot help

The following screenshot shows the functionality of autopilot. kevell@corp:/# ptconfigure autopilot help ******************************

This command is part of a default Module and provides you with a method by which you can perform user defined executions of any ptconfigure Modules, in any order, and with your own predefined settings.

Autopilot, autopilot, auto

- install, execute, x execute all of the defined modules in your Autopilot file example: ptconfigure autopilot x --autopilot-file=*path-to-file*

- test execute all of the steps defined as tests in your Autopilot file example: ptconfigure autopilot test --autopilot-file=*path-to-file*

------End Help ******************************

Installation Autopilot act as a default module and also provides user defined executions. There are two options are available. They are, • Install • Execute ptconfigure autopilot install

after input as the above said command it starts installation. The following snap shots guides the user about autopilot installation.

Execute This execute option is used to execute all of the defined modules in autopilot. The following screen shot shows its function.

Parameters Alternate parameter Op- Comments tion Install Instead of using autopilot the user can use Y Autopilot can be installed under Options autopilot?(Y/N) Autopilot, autopilot,auto ptconfigure. Install Instead of using autopilot the user can use N It stops the installation process autopilot?(Y/N) Autopilot, autopilot,auto|

Benefits • Increased operational efficiency

70 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

• Reduce and control operating costs • Cost-effective access to Enterprise-level Support • Experience Minimized Downtime • Ability to focus on running the user defined execution • Non case sensitivity. • Complacent work with Ubuntu and cent OS.

Awstats

Synopsis This module promotes the installation of awstats, with the latest Version. AWStats is an open source Web analytics reporting tool, suitable for analyzing data from Internet services such as web, streaming media, mail, and FTP servers. AWStats parses and analyzes server log files, producing HTML reports. AWStats (Advanced Web Statistics) is a powerful, full-featured web server logfile analyzer which shows you all your Web statistics including: visitors, pages, hits, hours, search engines, keywords used to find your site, broken links, robots and many more. Let us see, the details of how to install this awstats, the features and requirements of awstats in upcoming topics.

Help Command The help command guides the users regarding the purpose and as well as about the options that are included in the AWStats module. It lists out the alternative parameters of AWStats module. It also describes the syntax for installing the AWStats module. The help command for AWStats module is shown as below. ptconfigure AWStats help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under AWStats.

Installation The command used for installing the AWStats to the users machine is shown below. ptconfigure AWStats install

After inputting the command above, the following process occurs as shown in the tabular format. Parameters Alternative parameters Op- Comments tions Install Instead of AWStats, we can use Y(Yes) If the user wish to proceed the installation AWStats? Awstats, awstats also. process they can input as Y. (Y/N) Install Instead of AWStats, we can use N(No) If the user wish to quit the installation process AWStats? Awstats, awstats also. they can input as N.| (Y/N) If the user proceeds the installation, the following process are involved while installing: • Reads the package lists. • Builds the dependency tree. • Installs the required extra packages • Installs the suggested packages. • Installs the new packages.

1.1. Commands 71 kevells Documentation, Release 0.1

Finally, the installation of Awstats gets completed successfully as depicted in the following screenshots:

Features of Awstats A full log analysis enables AWStats to show you the following information: • Number of VISITS and UNIQUE VISITORS • Visits duration and last visits • Authenticated users, and last authenticated visits • Days of week and rush hours (pages, hits, KB for each day and hour) • Domains/countries of hosts visitors (pages, hits, KB) • Hosts list, last visits and unresolved IP addresses list • Most viewed, entry and exit pages • File types • Web compression statistics (for mod_gzip or mod_deflate) • Browsers used (pages, hits, kb for each browser) • OS used (pages, hits, KB for each OS) • Robot visits • Worm attacks • Download and continuation detection • Search engines, keyphrases and keywords used to find your site • HTTP errors (Page not found with last referer, etc,) • Screen size report • Number of times your site is “added to favourites bookmarks” • Ratio of Browsers that support: Java, Flash, RealG2 reader, Quicktime reader, WMA reader, PDF reader • Cluster report for load balanced servers ratio • Other personalized reports... It supports the following features as well: • Can analyze all log formats • Works from command line and from a browser as a CGI (with dynamic filters capabilities for some charts) • Update of statistics can be made on demand from the web interface and not only from your scheduler • Unlimited log file size, support split log files (load balancing system) • Support ‘nearly sorted’ log files even for entry and exit pages • Reverse DNS lookup before or during analysis, supports DNS cache files • Country detection from IP location or domain name • WhoIS links • A lot of options/filters and plugins can be used • Multi-named web sites supported (virtual servers)

72 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

• Cross Site Scripting Attacks protection • Several languages • No need of rare perl libraries • Dynamic reports as CGI output • Static reports in one or framed HTML or XHTML pages • Experimental PDF export • Look and colors can match your site design (CSS) • Help and tooltips on HTML reported pages • Easy to use (Just one configuration file to edit) • Analysis database can be stored in XML format (for XSLT processing, ...) • A Webmin module • Free (GNU GPL) with sources (perl scripts) • Available on all platforms

Requirements of Awstats To use AWStats CGI script, you need the following requirements: • Your server must log web access in a log file you can read. • To run awstats, from command line, your operating system must be able to run perl scripts (.pl files). • Perl module “Encode” must be available. To run awstats as a CGI (for real-time statistics), your web server must also be able to run such scripts. If not, you can solve this by downloading last Perl version at: http://www.activestate.com/ActivePerl/ (Windows) http://www.perl.com/pub/language/info/software.html (All OS)

Benefits • The parameters used in help and installation and un installation operations are not case sensitive which is an added advantage while compared to others. • It is well-to-do in both Ubuntu and as well as Cent OS. • This will module installs the Awstats in updated version. • If the module is already existing in the user machine it will display a message as it is already existing. • AWStats supports most major web server log file formats including Apache (NCSA combined/XLF/ELF log format or Common Log Format (CLF)), WebStar, IIS (W3C log format), and many other common web server log formats. • Developers can contribute to the AWStats project through SourceForge.net. • Written in Perl, AWStats can be deployed on almost any operating system • It is a server administration tool, with packages available for most Linux distributions. • AWStats can be installed on a workstation, such as MS Windows, for local use in situations where log files can be downloaded from a remote server.

1.1. Commands 73 kevells Documentation, Release 0.1

Behat

Synopsis This module aims at installing behat with the most-recent version. This helps in testing an php script. It facilitates the users to identify the errors in php script. It highlights the enabled and disabled templates. The git acts as a supporting software for behat.

Help Command The help command guides the user get aware of the uses, and also the options and actions that can be performed. It lists outs the alternative parameters that can be used in declaration. It specifies the command for installing the latest version of behat. The coding to make use of help command under behat, is given as follows: ptconfigure behat help

The screen shot as given below explains you graphically about the usage of the help command. kevell@corp:/# ptconfigure behat help ******************************

This command allows you to install Behat.

Behat, behat

- install Installs the latest version of behat example: ptconfigure behat install

------End Help ******************************

Installation If the user needs to install the latest version of behat, they can achieve installation, by using the following command, ptconfigure behat install

After entering the command above, the following process are involved in installation as shown in the tabular format, Parameters Alternative Parameters Re- Comments quired Install Behat? Instead of behat, we can use Yes If the user gives input as yes, it will proceed (Y/N) Behat also installation. Install Behat? Instead of behat, we can use No If the user gives input as no, it will quit the (Y/N) Behat also installation process.| If the user proceeds the installation by inputting as Y, the following steps are involved in installing behat,

74 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Parameters Path Op- Comment tion Program data “/opt/behat(correspondingYes If the user to proceed installation with the default program data directory module)” directory they can input as Yes (default) Program data User specific No If the user wish to proceed with their own program data directory (End directory, they can input as N, and in hand specify they own Slash) location Program “/usr/bin” Yes If the user to proceed installation with the default program executor executor directory they can input as yes directory (Default) Program User specific No If the user wish to proceed installation with thir own program executor (End executor directory, they can input as N, and in hand specify they directory slash) own location| The screenshot shown below will gives you an pictorial representation about the steps involved in the installation. kevell@corp:/# ptconfigure behat install Install Behat ?(Y/N) Y ******************************* * Pharaoh Tools * * Behat * ******************************* What is the program data directory? Found "/opt/behat" - use this?(Enter nothing for yes, no end slash)

What is the program executor directory? Found "/usr/bin" - use this?(Enter nothing for yes, No Trailing Slash)

Creating /tmp/ptconfigure-temp-script-69243074239.sh chmod 755 /tmp/ptconfigure-temp-script-69243074239.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-69243074239.sh Permissions Executing /tmp/ptconfigure-temp-script-69243074239.sh --2015-01-27 15:31:39-- https://getcomposer.org/installer Resolving getcomposer.org(getcomposer.org)... 87.98.253.108 Connecting to getcomposer.org(getcomposer.org)|87.98.253.108|:443... connected. HTTP request sent, awaiting response... 200OK Length: unspecified[text/plain] Saving to: ‘installer’

[<=> ] 2,74,634 48.9KB/s in 5.5s

2015-01-27 15:31:47(48.9 KB/s) - ‘installer’ saved[274634]

All settings correct for using Composer Downloading...

Composer successfully installed to: /opt/behat/behat/composer.phar

While installing the behat, the user can specify the program data directory and program executor directory. The screenshot above explains the syntax regarding the specification of program data directory and executor directory.

Version While installing the behat, the most-recent version will be installed in your machine. This is an added advantage of behat module under ptconfigure when compared to other.

1.1. Commands 75 kevells Documentation, Release 0.1

Benefits to the users • It guides the users to identify the errors in php script. • No need to search the most-recent version, as the updated version is automatically available to the users while executing the installation process. • Using the features of behat the users can frame and specify the behavior of driven development. • By the aid of behavior driven development, the users can ensure the qualities of their own script. • It is well-to-do in Cent Os and as well as in ubuntu. • The parameters used in declaration is not case sensitive, which is an added advantage.

Boxify

Synopsis This modules envelopes all the major needs of the users in creating and as well as managing the box. This topic is to discuss about how to use this module, and about various functions in using boxify.

Help Command The help command guides the users in handling this module, in order to handle and perform various functions of a box. It lists outs the alternative parameters, and highlights the syntax for various functions of using and modifying a box. The syntax for help option under the boxify module is shown below, ptconfigure Boxify help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under boxify. kevell@corp:/# ptconfigure Boxify help ******************************

This command provides a generic Box Management wrapper around all of the Box Providers(Cloud and Otherwise) so that we have a generic way to create and destroy boxes.

Boxify, boxify

- install-generic-autopilots Install the generic Boxify autopilot templates for a Tiny or Medium(Current Default) set of Environments example: ptconfigure boxify install-generic-autopilots example: ptconfigure boxify install-generic-autopilots --yes --guess # will set --destination-dir=*this dir +*build/config/ptconfigure/boxify/autopilots/ --template-group=tiny --destination-dir=*path-to-destination*

- box-add Installs a Box through a cloud provider example: ptconfigure boxify box-add --environment-name="*environment*" --server-prefix="my-app" --provider="DigitalOcean" // DigitalOcean, Rackspace, VSphere --image-id="3101045"//DO=3101045, RAX=ffd597d6-2cc4-4b43-b8f4-b1006715b84e --size-id="66"//DO= 66, RAX=2 --region-id="2"//DO= 2, RAX= LON --box-amount=1 // An Integer number of boxes to create --force-name="a-box-name" // optional, will override other options for name creation. may cause a conflict if creating more than1 box. --parallax // optional, when adding more than one box, if the provider supports it we can execute all requests in parallel

76 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

- box-remove Removes a Box from the papyrus example: ptconfigure boxify box-remove --environment-name="staging" --environment-version="5.0" --provider="apt-get"

- box-destroy Removes a Box from both papyrus and the cloud provider example: ptconfigure boxify box-destroy --environment-name="staging" --destroy-all-boxes --destroy

- list-papyrus List all servers in papyrus, or those of a particular environment example: ptconfigure boxify list-papyrus --yes example: ptconfigure boxify list-papyrus --yes --environment-name="staging"

------End Help ******************************

Various functions of boxify This topics describes about the various functions of boxify under this module, as listed below • Install generic autopilots • Adding box • Removing box • Destroying a box • list

Install generic autopilots This function aims at installing applicable autopilots to a tiny or medium set of environ- ments. This can be implemented by applying the command as given below, ptconfigure boxify install-generic-autopilots --yes --guess # will set --destination-dir=*this dir +*build/config/ptconfigure/boxify/autopilots/ --template-group=tiny --destination-dir=*path-to-destination*

As depicted in the above mentioned syntax the user have to specify the following fields in order to install the generic autopilots. • destination directory • template-group

Adding box This function aims at adding a box through a cloud provider, simply by using the following command, example: ptconfigure boxify box-add --environment-name="*environment*" --server-prefix="my-app" --provider="DigitalOcean" // DigitalOcean, Rackspace, VSphere --image-id="3101045"//DO=3101045, RAX=ffd597d6-2cc4-4b43-b8f4-b1006715b84e --size-id="66"//DO= 66, RAX=2 --region-id="2"//DO= 2, RAX= LON --box-amount=1 // An Integer number of boxes to create

1.1. Commands 77 kevells Documentation, Release 0.1

--force-name="a-box-name" // optional, will override other options for name creation. may cause a conflict if creating more than1 box. --parallax // optional, when adding more than one box, if the provider supports it we can execute all requests in parallel

The user have to specify the following fields as depicted in the above command, • environment name • server prefix • provider • image id • box amount (Should be an integer value to denote the number of boxes to be added) • Force name (box name) • parallax (It is optional, it can be used when adding more than one box.)

Removing box This function aims at removing a box from the papyrus. This can be implemented by using the command below, ptconfigure boxify box-remove --environment-name="staging" --environment-version="5.0" --provider="apt-get"

The user have to specify the following fields as depicted in the above command, • environment name • environment version • provider

Destroying a box This function aims at removing a box from the papyrus. This function can be implemented simply by using the following command, ptconfigure boxify box-destroy --environment-name="staging" --destroy-all-boxes --destroy

The above mentioned command is used for destroying all boxes of an particular environment.

List The major objective of this function is to list out all the servers of a particular papyrus or in an environment. The syntax for listing all servers is shown as below, ptconfigure boxify list-papyrus --yes --environment-name="staging"

The above mentioned command will list out papyrus of an specified environment.

Alternative Parameters The alternative parameters for this module, either of which can be used in declaration is, • Boxify • boxify

78 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Benefits • The syntax used in help and other operations of box are not case-sensitive. • It is well-to-do in both Cent OS and as well as in Ubuntu. • All the major functions of managing a box gets wrapped under this single module.

Boxify

Synopsis Boxify is a WordPress Plugin that lets you organize your Post/Page’s content in separate, dedicated boxes for each specific section. You can either choose to separate all the content in boxes, or only a chosen section (the ‘Coming Soon’ box to the right, for example). You can also import and export boxes for usage in other posts & pages. The Boxes are generated using straight-forward shortcode, with logical parameters. You can control almost anything in those boxes with those Parameters – from Color and Opacity, to background Images, added Icons and Border Radius There is also a quick way to create boxes using themes – boxify comes with a collection of themes that you can quickly use

Help Command This command helps to determine the usage of boxify. The user will come to know about the different way/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same. kevell@corp:/# ptconfigure Boxify help

******************************

This command provides a generic Box Management wrapper around all of the Box Providers(Cloud and Otherwise) so that we have a generic way to create and destroy boxes.

Boxify, boxify

- install-generic-autopilots Install the generic Boxify autopilot templates for a Tiny or Medium(Current Default) set of Environments example: ptconfigure boxify install-generic-autopilots example: ptconfigure boxify install-generic-autopilots --yes --guess # will set --destination-dir=*this dir +*build/config/ptconfigure/boxify/autopilots/ --template-group=tiny --destination-dir=*path-to-destination*

- box-add Installs a Box through a cloud provider example: ptconfigure boxify box-add --environment-name="*environment*" --server-prefix="my-app" --provider="DigitalOcean" // DigitalOcean, Rackspace, VSphere --image-id="3101045"//DO=3101045, RAX=ffd597d6-2cc4-4b43-b8f4-b1006715b84e --size-id="66"//DO= 66, RAX=2 --region-id="2"//DO= 2, RAX= LON --box-amount=1 // An Integer number of boxes to create --force-name="a-box-name" // optional, will override other options for name creation. may cause a conflict if creating more than1 box. --parallax // optional, when adding more than one box, if the provider supports it we can execute all requests in parallel

- box-remove Removes a Box from the papyrus example: ptconfigure boxify box-remove --environment-name="staging" --environment-version="5.0" --provider="apt-get"

1.1. Commands 79 kevells Documentation, Release 0.1

- box-destroy Removes a Box from both papyrus and the cloud provider example: ptconfigure boxify box-destroy --environment-name="staging" --destroy-all-boxes --destroy

- list-papyrus List all servers in papyrus, or those of a particular environment example: ptconfigure boxify list-papyrus --yes example: ptconfigure boxify list-papyrus --yes --environment-name="staging"

------End Help ******************************

Install-generic-autopilots This command helps to install the generic Boxify autopilot templates for a Tiny or Medium (Current Default) set of Environments. The below given command will execute the process. ptconfigure boxify install-generic-autopilots ptconfigure boxify install-generic-autopilots --yes --guess # will set --destination-dir=*this dir +*build/config/ptconfigure/boxify/autopilots/ --template-group=tiny --destination-dir=*path-to-destination*

Box-add This command helps to install a Box through a cloud provider. The below given command will execute the process. ptconfigure boxify box-add --environment-name="*environment*" --server-prefix="my-app" --provider="DigitalOcean" --image-id="3101045" --size-id="66" --region-id="2" --box-amount=1 --force-name="a-box-name" --parallax

Optional Provider - DigitalOcean, Rackspace, VSphere Image ID - DO=3101045 , RAX=ffd597d6-2cc4-4b43-b8f4-b1006715b84e Size - DO = 66, RAX = 2 Region id - DO = 2, RAX = LON Box amount - An Integer number of boxes to create Force name - optional, will override other options for name creation. may cause a conflict if creating more than 1 box Parallax - optional, when adding more than one box, if the provider supports it we can execute all requests in parallel

Box-destroy This command helps to remove a Box from both papyrus and the cloud provider. The below given command will execute the process. ptconfigure boxify box-destroy --environment-name="staging" --destroy-all-boxes --destroy

Box-Remove This command helps to remove a Box from the papyrus. ptconfigure boxify box-remove --environment-name="staging" --environment-version="5.0" --provider="apt-get"

80 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

List-papyrus This command helps to List all servers in papyrus, or those of a particular environment. The below given command will execute the process. ptconfigure boxify list-papyrus --yes

kevell@corp:/# ptconfigure boxify list-papyrus --yes

******************************

Boxify Listing: ------

Boxify your Environments: Success

Environment: 1 db-cluster-db-balancer Servers: Server 0: target : 134.213.52.130 target_public : 134.213.52.130 target_private : 10.181.192.30 user : root password : /root/.ssh/id_rsa provider : Rackspace id : ba91728b-3d11-4d2a-b5a2-628877a8ef75 name : default-project-db-cluster-db-balancer-0

Environment: 2 db-cluster-db-nodes Servers: Server 0: target : 134.213.52.174 target_public : 134.213.52.174 target_private : 10.181.192.89 user : root password : /root/.ssh/id_rsa provider : Rackspace id : 01435859-bfec-4180-b801-95dbaa024670 name : default-project-db-cluster-db-nodes-0 Server 1: target : 134.213.52.233 target_public : 134.213.52.233 target_private : 10.181.192.113 user : root password : /root/.ssh/id_rsa provider : Rackspace id : d082c509-5c7f-425f-87af-36a22d345ce2 name : default-project-db-cluster-db-nodes-1

------Boxify Listing Finished ****************************** ptconfigure boxify list-papyrus --yes --environment-name="staging"

1.1. Commands 81 kevells Documentation, Release 0.1

Alternative Parameter There are two alternative parameters which can be used in command line. Boxify, boxify

Benefits Custom Global Styling: Various style properties can be passed in to the boxify constructor to allow you to easily control the appearance. Individual Box Styling: Attributes can be added to each box to give it its own style. Notice how the title box is dark with light text. Boxify presents a highly modular way to put specific sections of your post/page content, or the entire content into Boxes. On the current version : • Infinite combination of boxes per row. • Pixel precision spacing. • Ability to add images. • Assign classes for detailed styling. • Control border, opacity and background with shortcode. • Cross posts boxification. • TinyMCE Plugin for easy integration. • Backend Design Helper to easily design your boxes. • Use Box Themes (Alerts, Strip, Info, etc).

Cassandra

Synopsis Apache Cassandra is an open source distributed database management system designed to handle large amounts of data across many commodity servers, providing high availability with no single point of failure. Cassandra offers robust support for clusters spanning multiple datacenters, with asynchronous master less replication allowing low latency operations for all clients. Cassandra’s data model is a partitioned row store with tunable consistency. Rows are organized into tables; the first component of a table’s primary key is the partition key; within a partition, rows are clustered by the remaining columns of the key. Other columns may be indexed separately from the primary key.

Help Command This command helps to determine the usage of Cassandra module. The user will come to know about the different way/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same. ptconfigure cassandra help

The pictorial representation of the above command is shown below, kevell@corp:/# ptconfigure cassandra help

******************************

This command allows you to update Cassandra.

Cassandra, cassandra

82 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

- install Installs the latest version of Cassandra example: ptconfigure cassandra install

------End Help ******************************

Installation This command helps in installing Cassandra in system. The below given command will execute the process of installation. ptconfigure cassandra install

The pictorial representation of the above command is shown below, kevells@corp:/# ptconfigure cassandra install

Install Cassandra?(Y/N) Y ******************************* * Pharaoh Tools * * Cassandra! * ******************************* Creating /tmp/ptconfigure-temp-script-10553509319.sh chmod 755 /tmp/ptconfigure-temp-script-10553509319.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-10553509319.sh Permissions Executing /tmp/ptconfigure-temp-script-10553509319.sh gpg: directory‘/home/deepak/.gnupg’ created gpg: new configuration file ‘/home/deepak/.gnupg/gpg.conf’ created gpg: WARNING: options in‘/home/deepak/.gnupg/gpg.conf’ are not yet active during this run gpg: keyring ‘/home/deepak/.gnupg/secring.gpg’ created gpg: keyring‘/home/deepak/.gnupg/pubring.gpg’ created gpg: requesting key 8D77295D from hkp server pgp.mit.edu gpg: /home/deepak/.gnupg/trustdb.gpg: trustdb created gpg: key 8D77295D: public key " Evans " imported gpg: no ultimately trusted keys found gpg: Total number processed: 1 gpg: imported: 1 (RSA: 1) gpg: requesting key 2B5C1B00 from hkp server pgp.mit.edu gpg: key 2B5C1B00: public key "Sylvain Lebresne (pcmanus) " imported gpg: Total number processed: 1 gpg: imported: 1 (RSA: 1) gpg: requesting key 0353B12C from hkp server pgp.mit.edu gpg: key 0353B12C: public key "T Jake Luciani " imported gpg: Total number processed: 1 gpg: imported: 1 (RSA: 1) W: GPG error: http://packages.elasticsearch.org stable Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY D27D666CD88E42B4 W: GPG error: http://packages.elasticsearch.org stable Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY D27D666CD88E42B4 W: GPG error: http://packages.elasticsearch.org stable Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY D27D666CD88E42B4 E: dpkg was interrupted, you must manually run ’sudo dpkg --configure -a’ to correct the problem. deb-src http://www.apache.org/dist/cassandra/debian 21x main OK OK OK Get:1 http://www.apache.org 21x InRelease[3167B] Get:2 http://www.apache.org 21x/main amd64 Packages[696B] Ign http://extras.ubuntu.com trusty InRelease

1.1. Commands 83 kevells Documentation, Release 0.1

Get:3 http://www.apache.org 21x/main i386 Packages[696B] Hit http://extras.ubuntu.com trusty Release.gpg Hit http://extras.ubuntu.com trusty Release Hit http://extras.ubuntu.com trusty/main Sources Ign http://www.apache.org 21x/main Translation-en Hit http://extras.ubuntu.com trusty/main amd64 Packages Hit http://extras.ubuntu.com trusty/main i386 Packages Ign http://extras.ubuntu.com trusty/main Translation-en Ign http://packages.elasticsearch.org stable InRelease Ign http://us.archive.ubuntu.com precise InRelease Hit http://dl.hhvm.com trusty InRelease Ign http://packages.elasticsearch.org stable InRelease Hit http://us.archive.ubuntu.com precise Release.gpg Hit http://dl.hhvm.com trusty/main amd64 Packages Hit http://us.archive.ubuntu.com precise Release Ign http://packages.elasticsearch.org stable InRelease Hit http://dl.hhvm.com trusty/main i386 Packages Hit http://us.archive.ubuntu.com precise/main amd64 Packages Get:4 http://packages.elasticsearch.org stable Release.gpg[490B] Hit http://us.archive.ubuntu.com precise/universe amd64 Packages Get:5 http://packages.elasticsearch.org stable Release.gpg[490B] Hit http://us.archive.ubuntu.com precise/main i386 Packages Get:6 http://packages.elasticsearch.org stable Release.gpg[490B] Get:7 http://us.archive.ubuntu.com precise/universe i386 Packages[4796 kB] Hit http://packages.elasticsearch.org stable Release Ign http://packages.elasticsearch.org stable Release Ign http://dl.hhvm.com trusty/main Translation-en Hit http://packages.elasticsearch.org stable Release Ign http://packages.elasticsearch.org stable Release Hit http://packages.elasticsearch.org stable Release Ign http://packages.elasticsearch.org stable Release Ign http://packages.elasticsearch.org stable/main amd64 Packages/DiffIndex Ign http://archive.canonical.com trusty InRelease Ign http://packages.elasticsearch.org stable/main i386 Packages/DiffIndex Hit http://archive.canonical.com trusty Release.gpg Ign http://security.ubuntu.com trusty-security InRelease Hit http://archive.canonical.com trusty Release Get:8 http://security.ubuntu.com trusty-security Release.gpg[933B] Ign http://packages.elasticsearch.org stable/main amd64 Packages/DiffIndex Hit http://archive.canonical.com trusty/partner Sources Get:9 http://security.ubuntu.com trusty-security Release[62.0 kB] Ign http://packages.elasticsearch.org stable/main i386 Packages/DiffIndex Hit http://archive.canonical.com trusty/partner amd64 Packages Ign http://packages.elasticsearch.org stable/main amd64 Packages/DiffIndex Ign http://packages.elasticsearch.org stable/main i386 Packages/DiffIndex Get:10 http://security.ubuntu.com trusty-security/main Sources[64.8 kB] Ign http://pkg.jenkins-ci.org binary/ InRelease Ign http://in.archive.ubuntu.com trusty InRelease Ign http://in.archive.ubuntu.com trusty-updates InRelease Ign http://repos.zend.com server InRelease Hit http://repos.zend.com server Release.gpg Ign http://in.archive.ubuntu.com trusty-backports InRelease Hit http://repos.zend.com server Release Hit http://repos.zend.com server/non-free amd64 Packages Hit http://repos.zend.com server/non-free i386 Packages Ign http://apt.newrelic.com newrelic InRelease Hit http://in.archive.ubuntu.com trusty Release.gpg Get:11 http://in.archive.ubuntu.com trusty-updates Release.gpg[933B]

84 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Hit http://archive.canonical.com trusty/partner i386 Packages Hit http://in.archive.ubuntu.com trusty-backports Release.gpg Hit http://archive.canonical.com trusty/partner Translation-en Ign http://ppa.launchpad.net trusty InRelease Hit http://in.archive.ubuntu.com trusty Release Get:12 http://in.archive.ubuntu.com trusty-updates Release[62.0 kB] Ign http://wireframesketcher.com InRelease Ign http://repos.zend.com server/non-free Translation-en Hit http://pkg.jenkins-ci.org binary/ Release.gpg Get:13 http://security.ubuntu.com trusty-security/restricted Sources[2061B] Get:14 http://security.ubuntu.com trusty-security/universe Sources[17.4 kB] Hit http://apt.newrelic.com newrelic Release.gpg Ign https://repo.varnish-cache.org precise InRelease Get:15 http://security.ubuntu.com trusty-security/multiverse Sources[723B] Hit http://ppa.launchpad.net trusty Release.gpg Ign http://packages.dotdeb.org squeeze InRelease Get:16 http://security.ubuntu.com trusty-security/main amd64 Packages[200 kB] Hit http://in.archive.ubuntu.com trusty-backports Release Hit http://packages.dotdeb.org squeeze Release.gpg Hit http://in.archive.ubuntu.com trusty/main Sources Hit http://wireframesketcher.com Release.gpg Hit http://in.archive.ubuntu.com trusty/restricted Sources Hit http://packages.dotdeb.org squeeze Release Hit http://in.archive.ubuntu.com trusty/universe Sources Hit http://packages.dotdeb.org squeeze/all amd64 Packages Hit http://pkg.jenkins-ci.org binary/ Release Hit http://in.archive.ubuntu.com trusty/multiverse Sources Hit http://packages.dotdeb.org squeeze/all i386 Packages Hit http://in.archive.ubuntu.com trusty/main amd64 Packages Hit http://apt.newrelic.com newrelic Release Hit http://in.archive.ubuntu.com trusty/restricted amd64 Packages Hit http://in.archive.ubuntu.com trusty/universe amd64 Packages Hit http://ppa.launchpad.net trusty Release Get:17 https://repo.varnish-cache.org precise Release.gpg Hit http://wireframesketcher.com Release Hit http://in.archive.ubuntu.com trusty/multiverse amd64 Packages Hit http://packages.elasticsearch.org stable/main amd64 Packages Ign http://packages.dotdeb.org squeeze/all Translation-en Hit http://pkg.jenkins-ci.org binary/ Packages Hit http://in.archive.ubuntu.com trusty/main i386 Packages Hit http://packages.elasticsearch.org stable/main i386 Packages Hit http://in.archive.ubuntu.com trusty/restricted i386 Packages Get:18 https://repo.varnish-cache.org precise Release Ign http://packages.elasticsearch.org stable/main Translation-en Get:19 https://repo.varnish-cache.org precise/varnish-4.0 amd64 Packages Hit http://in.archive.ubuntu.com trusty/universe i386 Packages Hit http://packages.elasticsearch.org stable/main amd64 Packages Hit http://in.archive.ubuntu.com trusty/multiverse i386 Packages Hit http://apt.newrelic.com newrelic/non-free amd64 Packages Hit http://packages.elasticsearch.org stable/main i386 Packages Get:20 https://repo.varnish-cache.org precise/varnish-4.0 i386 Packages Hit http://in.archive.ubuntu.com trusty/main Translation-en Hit http://apt.newrelic.com newrelic/non-free i386 Packages Ign http://packages.elasticsearch.org stable/main Translation-en Hit http://in.archive.ubuntu.com trusty/multiverse Translation-en Get:21 https://repo.varnish-cache.org precise/varnish-4.0 Translation-en Hit http://packages.elasticsearch.org stable/main amd64 Packages Hit http://in.archive.ubuntu.com trusty/restricted Translation-en

1.1. Commands 85 kevells Documentation, Release 0.1

Hit http://packages.elasticsearch.org stable/main i386 Packages Hit http://in.archive.ubuntu.com trusty/universe Translation-en Get:22 http://in.archive.ubuntu.com trusty-updates/main Sources[160 kB] Ign http://packages.elasticsearch.org stable/main Translation-en Hit http://ppa.launchpad.net trusty/main amd64 Packages Get:23 http://security.ubuntu.com trusty-security/restricted amd64 Packages[8875B] Get:24 http://security.ubuntu.com trusty-security/universe amd64 Packages[85.3 kB] Hit http://ppa.launchpad.net trusty/main i386 Packages Hit http://ppa.launchpad.net trusty/main Translation-en Ign https://repo.varnish-cache.org precise/varnish-4.0 Translation-en Get:25 http://security.ubuntu.com trusty-security/multiverse amd64 Packages[1161B] Hit http://wireframesketcher.com Packages Get:26 http://security.ubuntu.com trusty-security/main i386 Packages[190 kB] Get:27 http://in.archive.ubuntu.com trusty-updates/restricted Sources[2061B] Get:28 http://in.archive.ubuntu.com trusty-updates/universe Sources[99.4 kB] Get:29 http://security.ubuntu.com trusty-security/restricted i386 Packages[8846B] Get:30 http://security.ubuntu.com trusty-security/universe i386 Packages[85.3 kB] Get:31 http://in.archive.ubuntu.com trusty-updates/multiverse Sources[4502B] Get:32 http://in.archive.ubuntu.com trusty-updates/main amd64 Packages[407 kB] Ign http://pkg.jenkins-ci.org binary/ Translation-en Ign http://apt.newrelic.com newrelic/non-free Translation-en Get:33 http://security.ubuntu.com trusty-security/multiverse i386 Packages[1412B] Hit http://security.ubuntu.com trusty-security/main Translation-en Ign http://wireframesketcher.com Translation-en Hit http://security.ubuntu.com trusty-security/multiverse Translation-en Hit http://security.ubuntu.com trusty-security/restricted Translation-en Hit http://security.ubuntu.com trusty-security/universe Translation-en Get:34 http://in.archive.ubuntu.com trusty-updates/restricted amd64 Packages[8875B] Get:35 http://in.archive.ubuntu.com trusty-updates/universe amd64 Packages[243 kB] Get:36 http://in.archive.ubuntu.com trusty-updates/multiverse amd64 Packages[11.2 kB] Get:37 http://in.archive.ubuntu.com trusty-updates/main i386 Packages[399 kB] Get:38 http://in.archive.ubuntu.com trusty-updates/restricted i386 Packages[8846B] Get:39 http://in.archive.ubuntu.com trusty-updates/universe i386 Packages[243 kB] Get:40 http://in.archive.ubuntu.com trusty-updates/multiverse i386 Packages[11.4 kB] Hit http://in.archive.ubuntu.com trusty-updates/main Translation-en Hit http://in.archive.ubuntu.com trusty-updates/multiverse Translation-en Hit http://in.archive.ubuntu.com trusty-updates/restricted Translation-en Hit http://in.archive.ubuntu.com trusty-updates/universe Translation-en Hit http://in.archive.ubuntu.com trusty-backports/main Sources Hit http://in.archive.ubuntu.com trusty-backports/restricted Sources Hit http://in.archive.ubuntu.com trusty-backports/universe Sources Hit http://in.archive.ubuntu.com trusty-backports/multiverse Sources Hit http://in.archive.ubuntu.com trusty-backports/main amd64 Packages Hit http://in.archive.ubuntu.com trusty-backports/restricted amd64 Packages Hit http://in.archive.ubuntu.com trusty-backports/universe amd64 Packages Hit http://in.archive.ubuntu.com trusty-backports/multiverse amd64 Packages Hit http://in.archive.ubuntu.com trusty-backports/main i386 Packages Hit http://in.archive.ubuntu.com trusty-backports/restricted i386 Packages Hit http://in.archive.ubuntu.com trusty-backports/universe i386 Packages Hit http://in.archive.ubuntu.com trusty-backports/multiverse i386 Packages Hit http://in.archive.ubuntu.com trusty-backports/main Translation-en Hit http://in.archive.ubuntu.com trusty-backports/multiverse Translation-en Hit http://in.archive.ubuntu.com trusty-backports/restricted Translation-en Hit http://in.archive.ubuntu.com trusty-backports/universe Translation-en Get:41 http://us.archive.ubuntu.com precise/main Translation-en[726 kB] Get:42 http://us.archive.ubuntu.com precise/universe Translation-en[3341 kB] Fetched 10.2 MB in 4min 2s(42.1 kB/s) Temp File /tmp/ptconfigure-temp-script-10553509319.sh Removed

86 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages(/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages(/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages(/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages(/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages(/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages(/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages(/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages(/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages(/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages(/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages(/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages(/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages(/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages(/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages(/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages(/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry http://us.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages(/var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_precise_main_binary-amd64_Packages) W: Duplicate sources.list entry http://us.archive.ubuntu.com/ubuntu/ precise/universe amd64 Packages(/var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_precise_universe_binary-amd64_Packages) W: Duplicate sources.list entry http://us.archive.ubuntu.com/ubuntu/ precise/main i386 Packages(/var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_precise_main_binary-i386_Packages) W: Duplicate sources.list entry http://us.archive.ubuntu.com/ubuntu/ precise/universe i386 Packages(/var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_precise_universe_binary-i386_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 amd64 Packages(/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-amd64_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 amd64 Packages(/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-amd64_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 amd64 Packages(/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-amd64_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 amd64 Packages(/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-amd64_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 amd64 Packages(/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-amd64_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 amd64 Packages(/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-amd64_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 i386 Packages(/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-i386_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 i386 Packages(/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-i386_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 i386 Packages(/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-i386_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 i386 Packages(/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-i386_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 i386 Packages(/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-i386_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 i386 Packages(/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-i386_Packages) W: You may want to run apt-get update to correct these problems E: dpkg was interrupted, you must manually run ’sudo dpkg --configure -a’ to correct the problem. [Pharaoh Logging] Adding Package cassandra from the Packager Apt did not execute correctly ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------Cassandra: Success ------Installer Finished ******************************

Parameters Alternative Parameter Op- Comments tions ptconfigure There are two alternative parameters which can be used in command Y System starts cassandra line. Cassandra , cassandra Eg: Cleapatra cassandra install Cleapatra installation Options Install Cassandra install process ptconfigure There are two alternative parameters which can be used in command N System stops cassandra line. Cassandra , cassandra Eg: Cleapatra cassandra install Cleapatra installation Install Cassandra install| process

1.1. Commands 87 kevells Documentation, Release 0.1

Benefits • Decentralized - Every node in the cluster has the same role. There is no single point of failure. Data is distributed across the cluster (so each node contains different data), but there is no master as every node can service any request. • Supports replication and multi data center replication - Replication strategies are configurable. Cassandra is designed as a distributed system, for deployment of large numbers of nodes across multiple data centers. Key features of Cassandra’s distributed architecture are specifically tailored for multiple-data center deployment, for redundancy, for failover and disaster recovery. • Scalability - Read and write throughput both increase linearly as new machines are added, with no downtime or interruption to applications. • Fault-tolerant - Data is automatically replicated to multiple nodes for fault-tolerance. Replication across multiple data centers is supported. Failed nodes can be replaced with no downtime. • Tunable consistency - Writes and reads offer a tunable level of consistency, all the way from “writes never fail” to “block for all replicas to be readable”, with the quorum level in the middle.

Change Group

Synopsis Files and directories belong to both an owner and a group. A group usually consists of a collection of users, all belonging to the same group. The first set of three is the read, write, and execute permissions for the owner of the file. A group can also consist of one user, normally the user who creates the file. Each user on the system, including the root user, is assigned his or her own group of which he or she is the only member, ensuring access only by that user. The second set of three is the read, write, and execute permissions for anyone who belongs to the user group for the file. The root user, the system administrator, owns most of the system files that also belong to the root group, of which only the root user is a member. Most administration files, like configuration files in the /etc directory, are owned by the root user and belong to the root group. Only the root user has permission to modify them, whereas normal users can read and, in the case of programs, also execute them

Help Command This command helps to determine the usage of Change group module. The user will come to know about the different way/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same. ptconfigure Chgrp help

The pictorial representation of the screenshot is given below, kevell@corp:/# ptconfigure Chgrp help ******************************

This command handles file group ownership changing functions.

Chgrp, chgrp

- path Will change the file group ownership of a path example: ptconfigure chgrp path --yes --guess --recursive --path=/a/file/path --group=golden

------

88 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

End Help ******************************

Path When the user needs to change the file group ownership of a path, the below given command will execute the process. ptconfigure chgrp path -yes -guess -recursive -path=/”File path” -group=”group name”

Alternative Parameter There are two alternative parameters which can be used in command line. chgrp, Chgrp Eg: ptconfigure Chgrp path/ ptconfigure chgrp path

Benefits • Although other users may be able to access a file, only the owner can change its permissions. If you want to give other user to control over one of your file’s permissions, you can change the owner of the file from yourself to the other user. • You can also change the group for a file and directories, using the chgrp command. chgrp takes as its first argument the name of the new group for a files or directories.

Chmode

Synopsis Files and directories belong to both an owner and a group. A group usually consists of a collection of users, all belonging to the same group. The first set of three is the read, write, and execute permissions for the owner of the file. chmod is used to change the permissions of files or directories. On Linux and other Unix-like operating systems, there is a set of rules for each file which defines who can access that file, and how they can access it. These rules are called file permissions or file modes. The command name chmod stands for “change mode”, and it is used to define the way a file can be accessed. There are three general classes of users: • The user who owns the file (“User”) • Users belonging to the file’s defined ownership group (“Group”) • Everyone else (“Other”) In turn, for each of these classes of user, there are three types of file access: • The ability to look at the contents of the file (“Read”) • The ability to change the contents of the file (“Write”) • The ability to run the contents of the file as a program on the system (“Execute”) For each of the three classes of user, there are three types of access. Symbols Meaning rwx the file’s owner may read, write, or execute this file as a process on the system. -x anyone in the file’s group may read or execute this file, but not write to it. r– anyone at all may read this file, but not write to it or execute its contents as a process.|

1.1. Commands 89 kevells Documentation, Release 0.1

Help Command This command helps to determine the usage of Change mode module. The user will come to know about the different way/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same. ptconfigure Chmod help

The pictorial representation of the above command is listed below, kevell@corp:/# ptconfigure Chmod help ******************************

This command handles file permission functions.

Chmod, chmod

- path Will change the file permission mode of a path example: ptconfigure chmod path --yes --guess --recursive --path=/a/file/path --mode=0777

------End Help ******************************

Path Chmod path is the command which change the access permissions to file system objects (files and directories). The number 1, 2 and 4 represents execute , write and read. These numbers are used because any combination of these three numbers will be unique. When the user needs to change the mode of file, the below given command will execute the process. ptconfigure chmod path -yes -guess -recursive -path=/”File path” -mode=0777

Alternative Parameter There are two alternative parameters which can be used in command line. chmod, Chmod Eg: ptconfigure Chmode path/ ptconfigure chmod path

Benefits chmod modifies the permissions of the file specified by filename to the permissions specified by permis- sions. Permissions defines the permissions for the owner of the file (the “user”), members of the group who owns the file (the “group”), and anyone else (“others”). There are two ways to represent these permissions: with symbols (alphanumeric characters), or with octal numbers (the digits 0 through 7).

Chown

Synopsis This module enables to change owner’s permission. It can change the permission on individual file Or directory. Before that you must be aware of the default permission assigned to your files and directories at the time you create it.

Help command This help command explains about the installation of a particular module. The help command is easy to operate by the end user. It also lists out the alternative parameters that are used in declaration. The following command guides the user about the handling this module.

90 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

ptconfigure chown help

After giving the command, the command will list the help options. The following screen shots will give visual effect for the usage of this module. Kevell@corp:/# ptconfigure chown help ******************************

This command handles file user ownership changing functions.

Chown, chown

- path Will change the user ownership of a path example: ptconfigure chown path --yes --guess --recursive --path=/a/file/path --owner=golden

------End Help ******************************

Path It is an excellent process for this module under ptconfigure by slightly using the command given below, ptconfigure chown path -yes--guess--recursive--path=/ptconfigure--owner=Kevells

Then we can enter the input. Enter Ownership User After typing the owner name It will display Chown result success. This is Visually shown by the following screen shot. kevell@corp:/# ptconfigure chown path --yes --guess --recursive --path=/phj.php --owner=deepak

Enter ownership user: kevell [Pharaoh Logging][Chown] Executing chown -R deepak /phj.php ******************************

Chown Result: Success ------Chown Finished ******************************

Alternative Parameter There are two alternative parameter available. Chown, chown

Benefits • The module can change the owner at any time with ptconfigure. • While doing recursive process if you change single file the entire folder can also be changed. • We can verify the current status of the owner.

1.1. Commands 91 kevells Documentation, Release 0.1

Chrome

Synopsis is another web browser which runs web pages and applications with lightning speed due to its superior JavaScript rendering engine. Chrome is a free web browser created by Google that uses the WebKit layout engine. Chrome is known for its very simplistic and minimalistic design and touted as the fastest browser out there. Chrome is currently the most widely used web browser with a worldwide

Help Command This command helps to determine the usage of Chrome. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same. ptconfigure Chrome help

The pictorial representation of the above command is listed below, kevell@corp:/# ptconfigure Chrome help ******************************

This command is part of Core and provides you with a method by which you can install Chrome from your package manager

Chrome, chrome

- install Installs Chrome example: ptconfigure chrome install

------End Help ******************************

Installation Open the terminal and type the following command to install the same under Linux, when you need to install Chrome in machine. ptconfigure Chrome install

The pictorial representation of the above command is listed below, kevell@corp:/# ptconfigure chrome install Install Chrome?(Y/N) Y ******************************* * Pharaoh Tools * * GoogleChrome * ******************************* Creating /tmp/ptconfigure-temp-script-93431196740.sh chmod 755 /tmp/ptconfigure-temp-script-93431196740.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-93431196740.sh Permissions Executing /tmp/ptconfigure-temp-script-93431196740.sh OK Temp File /tmp/ptconfigure-temp-script-93431196740.sh Removed Creating /tmp/ptconfigure-temp-script-93753948068.sh chmod 755 /tmp/ptconfigure-temp-script-93753948068.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-93753948068.sh Permissions Executing /tmp/ptconfigure-temp-script-93753948068.sh

92 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Hit http://downloads.hipchat.com stable InRelease Ign http://security.ubuntu.com trusty-security InRelease Hit http://security.ubuntu.com trusty-security Release.gpg Hit http://downloads.hipchat.com stable/main amd64 Packages Hit http://downloads.hipchat.com stable/main i386 Packages Hit http://security.ubuntu.com trusty-security Release Ign http://in.archive.ubuntu.com trusty InRelease Hit http://security.ubuntu.com trusty-security/main Sources Hit http://security.ubuntu.com trusty-security/restricted Sources Ign http://in.archive.ubuntu.com trusty-updates InRelease Ign http://in.archive.ubuntu.com trusty-backports InRelease Hit http://security.ubuntu.com trusty-security/universe Sources Hit http://security.ubuntu.com trusty-security/multiverse Sources Hit http://security.ubuntu.com trusty-security/main amd64 Packages Hit http://in.archive.ubuntu.com trusty Release.gpg Hit http://security.ubuntu.com trusty-security/restricted amd64 Packages Hit http://security.ubuntu.com trusty-security/universe amd64 Packages Hit http://security.ubuntu.com trusty-security/multiverse amd64 Packages Hit http://security.ubuntu.com trusty-security/main i386 Packages Hit http://security.ubuntu.com trusty-security/restricted i386 Packages Hit http://security.ubuntu.com trusty-security/universe i386 Packages Hit http://security.ubuntu.com trusty-security/multiverse i386 Packages Get:1 http://in.archive.ubuntu.com trusty-updates Release.gpg[933B] Ign http://extras.ubuntu.com trusty InRelease Hit http://security.ubuntu.com trusty-security/main Translation-en Hit http://extras.ubuntu.com trusty Release.gpg Hit http://security.ubuntu.com trusty-security/multiverse Translation-en Hit http://in.archive.ubuntu.com trusty-backports Release.gpg Hit http://security.ubuntu.com trusty-security/restricted Translation-en Hit http://security.ubuntu.com trusty-security/universe Translation-en Hit http://in.archive.ubuntu.com trusty Release Get:2 http://dl.hhvm.com trusty InRelease[2,104 B] Get:3 http://in.archive.ubuntu.com trusty-updates Release[62.0 kB] Get:4 http://dl.hhvm.com trusty/main amd64 Packages[1,683 B] Hit http://extras.ubuntu.com trusty Release Hit http://dl.hhvm.com trusty/main i386 Packages Ign http://downloads.hipchat.com stable/main Translation-en_IN Ign http://downloads.hipchat.com stable/main Translation-en Ign http://dl.hhvm.com trusty/main Translation-en_IN Ign http://dl.hhvm.com trusty/main Translation-en Hit http://in.archive.ubuntu.com trusty-backports Release Hit http://in.archive.ubuntu.com trusty/main Sources Hit http://in.archive.ubuntu.com trusty/restricted Sources Hit http://in.archive.ubuntu.com trusty/universe Sources Hit http://in.archive.ubuntu.com trusty/multiverse Sources Hit http://in.archive.ubuntu.com trusty/main amd64 Packages Hit http://in.archive.ubuntu.com trusty/restricted amd64 Packages Hit http://in.archive.ubuntu.com trusty/universe amd64 Packages Hit http://in.archive.ubuntu.com trusty/multiverse amd64 Packages Hit http://in.archive.ubuntu.com trusty/main i386 Packages Hit http://in.archive.ubuntu.com trusty/restricted i386 Packages Hit http://in.archive.ubuntu.com trusty/universe i386 Packages Hit http://in.archive.ubuntu.com trusty/multiverse i386 Packages Hit http://in.archive.ubuntu.com trusty/main Translation-en Hit http://extras.ubuntu.com trusty/main Sources Hit http://in.archive.ubuntu.com trusty/multiverse Translation-en Hit http://extras.ubuntu.com trusty/main amd64 Packages Hit http://extras.ubuntu.com trusty/main i386 Packages

1.1. Commands 93 kevells Documentation, Release 0.1

Hit http://in.archive.ubuntu.com trusty/restricted Translation-en Hit http://in.archive.ubuntu.com trusty/universe Translation-en Get:5 http://in.archive.ubuntu.com trusty-updates/main Sources[160 kB] Ign http://extras.ubuntu.com trusty/main Translation-en_IN Ign http://extras.ubuntu.com trusty/main Translation-en Get:6 http://in.archive.ubuntu.com trusty-updates/restricted Sources[2,061 B] Get:7 http://in.archive.ubuntu.com trusty-updates/universe Sources[99.4 kB] Get:8 http://in.archive.ubuntu.com trusty-updates/multiverse Sources[4,502 B] Get:9 http://in.archive.ubuntu.com trusty-updates/main amd64 Packages[411 kB] Get:10 http://in.archive.ubuntu.com trusty-updates/restricted amd64 Packages[8,875 B] Get:11 http://in.archive.ubuntu.com trusty-updates/universe amd64 Packages[243 kB] Get:12 http://in.archive.ubuntu.com trusty-updates/multiverse amd64 Packages[11.1 kB] Get:13 http://in.archive.ubuntu.com trusty-updates/main i386 Packages[401 kB] Get:14 http://in.archive.ubuntu.com trusty-updates/restricted i386 Packages[8,846 B] Get:15 http://in.archive.ubuntu.com trusty-updates/universe i386 Packages[243 kB] Get:16 http://in.archive.ubuntu.com trusty-updates/multiverse i386 Packages[11.3 kB] Hit http://in.archive.ubuntu.com trusty-updates/main Translation-en Hit http://in.archive.ubuntu.com trusty-updates/multiverse Translation-en Hit http://in.archive.ubuntu.com trusty-updates/restricted Translation-en Hit http://in.archive.ubuntu.com trusty-updates/universe Translation-en Hit http://in.archive.ubuntu.com trusty-backports/main Sources Hit http://in.archive.ubuntu.com trusty-backports/restricted Sources Hit http://in.archive.ubuntu.com trusty-backports/universe Sources Hit http://in.archive.ubuntu.com trusty-backports/multiverse Sources Hit http://in.archive.ubuntu.com trusty-backports/main amd64 Packages Hit http://in.archive.ubuntu.com trusty-backports/restricted amd64 Packages Hit http://in.archive.ubuntu.com trusty-backports/universe amd64 Packages Hit http://in.archive.ubuntu.com trusty-backports/multiverse amd64 Packages Hit http://in.archive.ubuntu.com trusty-backports/main i386 Packages Hit http://in.archive.ubuntu.com trusty-backports/restricted i386 Packages Hit http://in.archive.ubuntu.com trusty-backports/universe i386 Packages Hit http://in.archive.ubuntu.com trusty-backports/multiverse i386 Packages Hit http://in.archive.ubuntu.com trusty-backports/main Translation-en Hit http://in.archive.ubuntu.com trusty-backports/multiverse Translation-en Hit http://in.archive.ubuntu.com trusty-backports/restricted Translation-en Hit http://in.archive.ubuntu.com trusty-backports/universe Translation-en Ign http://in.archive.ubuntu.com trusty/main Translation-en_IN Ign http://in.archive.ubuntu.com trusty/multiverse Translation-en_IN Ign http://in.archive.ubuntu.com trusty/restricted Translation-en_IN Ign http://in.archive.ubuntu.com trusty/universe Translation-en_IN Fetched 1,671 kB in 5min 51s(4,761 B/s) Reading package lists... Temp File /tmp/ptconfigure-temp-script-93753948068.sh Removed [Pharaoh Logging][File] Creating File /etc/apt/sources.list./google.list [Pharaoh Logging][File] Reading File deb http://dl.google.com/linux/chrome/deb/ stable main [Pharaoh Logging][File] Reading File deb http://dl.google.com/linux/chrome/deb/ stable main ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------Chrome: Success ------Installer Finished ******************************

94 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Parameters Alternative Parameters Op- Comments tions ptconfigure Either of the two alternative parameter can be used in Y Once the user provides the Chrome command- Chrome , chrome eg: ptconfigure chrome option, System starts installation Options Install Install process ptconfigure Either of the two alternative parameter can be used in N Once the user provides the Chrome command- Chrome , chrome eg: ptconfigure chrome option, System stops installation Install Install| process

Benefits • Chrome is an extremely fast web browser; it loads and displays pages very quickly. • You can drag tabs out into separate windows, without difficulty, and back in again with your mouse. • Google Chrome has a very basic, simple design, making it easy to use. • The start-up page lists the most frequent pages you’ve visited and allows you to click and access them with ease. • Chrome automatically translates pages into a language you understand for your convenience. • You can search the internet through your address bar at any time. • If a site crashes on one of your tabs, other open tabs will not be affected. • You may browse the internet without being logged using Chrome’s new private feature: Incognito. • Unlike Firefox and , you can alter the colour and theme of the browser. • Chrome is faster than Explorer and FireFox. • Chrome takes only seconds to install.

ChromeDriver

Synopsis This module allows the users to install few GC recommended Standard tools which includes curl, vim, drush, and zip. To get the chrome installed the user needs java to get installed. Let us see about how to use this and how to install the in upcoming topics.

Help Command The help command leads the users regarding the purpose and as well as about the options that are included in the Chrome driver module. The help command lists out the alternative parameters of Chrome driver module. It also describes the syntax for installing Chrome driver module. The help command for Chrome driver module is shown as below. ptconfigure ChromeDriver help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under Chrome driver. kevell@corp:/# ptconfigure ChromeDriver help

******************************

This command allows you to install a few GC recommended Standard Tools for productivity in your system. The kinds of tools we found ourselves installing on every box we have, client or server. These include curl, vim, drush and zip.

1.1. Commands 95 kevells Documentation, Release 0.1

ChromeDriver, chromedriver-server, chromedriver, chromedriver-srv, chromedriverserver

- install Installs ChromeDriver. Note, you’ll also need Java installed as it is a prerequisite for ChromeDriver example: ptconfigure chromedriver install

------End Help ******************************

Installation Installing the chrome driver to your machine, can be done simply by using the following command as shown: ptconfigure chromedriver install

After inputting the command above, the following operations occurs as shown in the tabular format. Parameters Alternative Parameters Op- Comments tions Install Instead of chromedriver, we can use ChromeDriver, Y(Yes)If the user wish to proceed the ChromeDriver chromedriver-server, chromedriver-srv, installation process they can Server? (Y/N) chromedriverserver also input as Y. Install Instead of chromedriver, we can use ChromeDriver, N(No) If the user wish to quit the ChromeDriver chromedriver-server, chromedriver-srv, installation process they can Server? (Y/N) chromedriverserver also input as N.| If the user proceeds the installation process, during execution of installation, the process asks the user to Enter Chrome Driver Version

The list of chrome driver versions that are available is given below: 0. 2.0 1. 2.10 2. 2.1 3. 2.11 4. 2.2 5. 2.3 6. 2.4 7. 2.5 8. 2.6 9. 2.7 10. 2.8 11. 2.9

The user has to specify the numbers from 0 through 11 depending on their requirements of version. After the user specifying the version, the process of installation begins and gets completed as pictorially depicted from the following screen shot. kevell@corp:/# ptconfigure chromedriver install

Install ChromeDriver Server?(Y/N) Y ******************************* * Pharaoh Tools * * ChromeDriver * *******************************

96 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Enter Chrome Driver Version (0) 2.0 (1) 2.10 (2) 2.1 (3) 2.11 (4) 2.2 (5) 2.3 (6) 2.4 (7) 2.5 (8) 2.6 (9) 2.7 (10) 2.8 (11) 2.9 11 PHP Notice: Undefined index: version in /opt/ptconfigure/ptconfigure/src/Modules/ChromeDriver/Model/ChromeDriverAllLinux.php on line 42 [Pharaoh Logging] Ensure module install is not checking versions [Pharaoh Logging] Module Java reports itself as Installed [Pharaoh Logging] Not installing as already installed Creating /tmp/ptconfigure-temp-script-26804823734.sh chmod 755 /tmp/ptconfigure-temp-script-26804823734.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-26804823734.sh Permissions Executing /tmp/ptconfigure-temp-script-26804823734.sh --2015-02-02 21:35:49-- http://chromedriver.storage.googleapis.com//chromedriver_linux64.zip Resolving chromedriver.storage.googleapis.com(chromedriver.storage.googleapis.com)... 74.125.236.44, 74.125.236.43, 74.125.236.42, ... Connecting to chromedriver.storage.googleapis.com(chromedriver.storage.googleapis.com)|74.125.236.44|:80... connected. HTTP request sent, awaiting response... 404 Not Found 2015-02-02 21:35:52 ERROR 404: Not Found. mv: cannot stat ’/tmp/chromedriver/*’: No such file or directory unzip: cannot find or open chromedriver_linux64.zip, chromedriver_linux64.zip.zip or chromedriver_linux64.zip.ZIP. Temp File /tmp/ptconfigure-temp-script-26804823734.sh Removed ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------ChromeDriver: Success ------Installer Finished ******************************

Benefits • The parameters used for declaring help command, installation are not case sensitive which is an added advantage while compared to others. • It is well-to-do in both Cent OS and as well as in Ubuntu. • The user can specify the version they wish to install while installing.

Citadel

Synopsis Citadel is a complete and feature-rich open source groupware platform. The Citadel system is extremely versatile. It provides numerous front ends to present to users, such as a text-based interface, an -style web

1.1. Commands 97 kevells Documentation, Release 0.1

interface, and many popular PIM clients using SMTP/POP/IMAP. All of these can be used simultaneously. It is also extremely scalable. Not only can a well-equipped Citadel server support a large number of concurrent users, but you can also build a distributed network of Citadel nodes that share rooms and their content.

Help Command This command helps to determine the usage of Citadel module. The user will come to know about the different ways/format to execute this module. The alternative parameter that are used in declaration is clearly defined under help option. This command guides the end user to know the command used for installation. Below given are the command. ptconfigure Citadel help

The pictorial representation of the screenshot is listed below, kevell@corp:/# ptconfigure Citadel help ******************************

This module installs Citadel Server and provides configuration

Citadel, citadel-server, citadel

- install Installs Citadel Server example: ptconfigure citadel install

- configure Configure E-Mail with Citadel Server example: ptconfigure citadel configure

------End Help ******************************

Installation When the user needs to install Citadel server in machine, you can input the following commands to install the citadel-suite. The system will execute the process of installation. Below given are the command and the screenshot of the same. ptconfigure Citadel install

kevell@corp:/# ptconfigure Citadel install Install Citadel Server? (Y/N) Y ******************************* * Pharaoh Tools * * Citadel Server! * ******************************* Creating /tmp/ptconfigure-temp-script-11993825383.sh chmod 755 /tmp/ptconfigure-temp-script-11993825383.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-11993825383.sh Permissions Executing /tmp/ptconfigure-temp-script-11993825383.sh Temp File /tmp/ptconfigure-temp-script-11993825383.sh Removed Reading package lists... Building dependency tree... Reading state information...

98 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

The following NEW packages will be installed: debconf-utils 0 upgraded, 1 newly installed, 0 to remove and 228 not upgraded. Need to get 57.4 kB of archives. After this operation, 157 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty/main debconf-utils all 1.5.51ubuntu2 [57.4 kB] Fetched 57.4 kB in 2s (24.6 kB/s) Selecting previously unselected package debconf-utils. (Reading database ... 180308 files and directories currently installed.) Preparing to unpack .../debconf-utils_1.5.51ubuntu2_all.deb ... Unpacking debconf-utils (1.5.51ubuntu2) ... Processing triggers for man-db (2.6.7.1-1) ... Setting up debconf-utils (1.5.51ubuntu2) ... [Pharaoh Logging] Adding Package debconf-utils from the Packager Apt executed correctly [Pharaoh Logging] Stopping apache2 service * Stopping web server apache2 * Creating /tmp/ptconfigure-temp-script-74031405363.sh chmod 755 /tmp/ptconfigure-temp-script-74031405363.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-74031405363.sh Permissions Executing /tmp/ptconfigure-temp-script-74031405363.sh Temp File /tmp/ptconfigure-temp-script-74031405363.sh Removed apache2_invoke: Enable configuration -common invoke-rc.d: initscript apache2, action "reload" failed. Reading package lists... Building dependency tree... Reading state information... The following extra packages will be installed: citadel-client citadel-mta citadel-server citadel-webcit javascript-common libc-ares2 libcitadel4 libev4 libjs-prototype libjs-scriptaculous libsieve2-1 Suggested packages: localepurge Recommended packages: db4.6-util The following NEW packages will be installed: citadel-client citadel-mta citadel-server citadel-suite citadel-webcit javascript-common libc-ares2 libcitadel4 libev4 libjs-prototype libjs-scriptaculous libsieve2-1 tinymce 0 upgraded, 13 newly installed, 0 to remove and 228 not upgraded. Need to get 1,993 kB of archives. After this operation, 8,897 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty/main libc-ares2 amd64 1.10.0-2 [38.5 kB] Get:2 http://in.archive.ubuntu.com/ubuntu/ trusty/main javascript-common all 11 [6,066 B] Get:3 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libjs-prototype all 1.7.1-3 [44.2 kB] Get:4 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libjs-scriptaculous all 1.9.0-2 [107 kB] Get:5 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libsieve2-1 amd64 2.2.6-1.2 [73.1 kB] Get:6 http://in.archive.ubuntu.com/ubuntu/ trusty/universe tinymce all 3.4.8+dfsg0-1 [488 kB] Get:7 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libcitadel4 amd64 8.24-1 [60.5 kB] Get:8 http://in.archive.ubuntu.com/ubuntu/ trusty/universe citadel-client amd64 8.24-1 [78.5 kB] Get:9 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libev4 amd64 1:4.15-3 [29.6 kB] Get:10 http://in.archive.ubuntu.com/ubuntu/ trusty/universe citadel-server amd64 8.24-1 [348 kB] Get:11 http://in.archive.ubuntu.com/ubuntu/ trusty/universe citadel-mta amd64 8.24-1 [4,520 B] Get:12 http://in.archive.ubuntu.com/ubuntu/ trusty/universe citadel-webcit amd64 8.24-dfsg-1 [712 kB] Get:13 http://in.archive.ubuntu.com/ubuntu/ trusty/universe citadel-suite all 8.24-dfsg-1 [3,542 B] Preconfiguring packages ... Fetched 1,993 kB in 16s (122 kB/s) Selecting previously unselected package libc-ares2:amd64.

1.1. Commands 99 kevells Documentation, Release 0.1

(Reading database ... 180340 files and directories currently installed.) Preparing to unpack .../libc-ares2_1.10.0-2_amd64.deb ... Unpacking libc-ares2:amd64 (1.10.0-2) ... Selecting previously unselected package javascript-common. Preparing to unpack .../javascript-common_11_all.deb ... Unpacking javascript-common (11) ... Selecting previously unselected package libjs-prototype. Preparing to unpack .../libjs-prototype_1.7.1-3_all.deb ... Unpacking libjs-prototype (1.7.1-3) ... Selecting previously unselected package libjs-scriptaculous. Preparing to unpack .../libjs-scriptaculous_1.9.0-2_all.deb ... Unpacking libjs-scriptaculous (1.9.0-2) ... Selecting previously unselected package libsieve2-1. Preparing to unpack .../libsieve2-1_2.2.6-1.2_amd64.deb ... Unpacking libsieve2-1 (2.2.6-1.2) ... Selecting previously unselected package tinymce. Preparing to unpack .../tinymce_3.4.8+dfsg0-1_all.deb ... Unpacking tinymce (3.4.8+dfsg0-1) ... Selecting previously unselected package libcitadel4. Preparing to unpack .../libcitadel4_8.24-1_amd64.deb ... Unpacking libcitadel4 (8.24-1) ... Selecting previously unselected package citadel-client. Preparing to unpack .../citadel-client_8.24-1_amd64.deb ... Unpacking citadel-client (8.24-1) ... Selecting previously unselected package libev4. Preparing to unpack .../libev4_1%3a4.15-3_amd64.deb ... Unpacking libev4 (1:4.15-3) ... Selecting previously unselected package citadel-server. Preparing to unpack .../citadel-server_8.24-1_amd64.deb ... Unpacking citadel-server (8.24-1) ... Selecting previously unselected package citadel-mta. Preparing to unpack .../citadel-mta_8.24-1_amd64.deb ... Unpacking citadel-mta (8.24-1) ... Selecting previously unselected package citadel-webcit. Preparing to unpack .../citadel-webcit_8.24-dfsg-1_amd64.deb ... Unpacking citadel-webcit (8.24-dfsg-1) ... Selecting previously unselected package citadel-suite. Preparing to unpack .../citadel-suite_8.24-dfsg-1_all.deb ... Unpacking citadel-suite (8.24-dfsg-1) ... Processing triggers for man-db (2.6.7.1-1) ... Processing triggers for ureadahead (0.100.0-16) ... ureadahead will be reprofiled on next reboot Setting up libc-ares2:amd64 (1.10.0-2) ... Setting up javascript-common (11) ... * Reloading web server apache2 * * Apache2 is not running Setting up libjs-prototype (1.7.1-3) ... Setting up libjs-scriptaculous (1.9.0-2) ... Setting up libsieve2-1 (2.2.6-1.2) ... Setting up tinymce (3.4.8+dfsg0-1) ... Setting up libcitadel4 (8.24-1) ... Setting up citadel-client (8.24-1) ... Adding group ‘citadel’ (GID 126) ... Done. Adding system user ‘citadel’ (UID 118) ... Adding new user ‘citadel’ (UID 118) with group ‘citadel’ ... Not creating home directory ‘/var/lib/citadel’.

100 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Setting up libev4 (1:4.15-3) ... Setting up citadel-server (8.24-1) ... Setting up citadel-webcit (8.24-dfsg-1) ... Processing triggers for ureadahead (0.100.0-16) ... Setting up citadel-mta (8.24-1) ... Setting up citadel-suite (8.24-dfsg-1) ... Processing triggers for libc-bin (2.19-0ubuntu6) ... [Pharaoh Logging] Adding Package citadel-suite from the Packager Apt executed correctly [Pharaoh Logging] Restarting citadel service sendcommand: started (pid=4943) connecting to Citadel server at /var/run/citadel/citadel-admin.socket 200 udayakumar Citadel server ADMIN CONNECTION ready. DOWN 231 Shutting down server. Goodbye. sendcommand: processing ended...... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------Citadel: Success ------Installer Finished ****************************** Parameters Alternative Parameter Op- Comments tions ptconfigure Either of the three alternative parameter can be used in Y Once the user provides this Citadel command- Citadel, citadel-server, citadel eg: ptconfigure option, System starts Install? (Y/N) citadel-server Install installation process ptconfigure Either of the three alternative parameter can be used in N Once the user provides this Citadel command- Citadel, citadel-server, citadel eg: ptconfigure option, System stops Install? (Y/N) citadel-server Install.| installation process

Configuration This command helps in configuring the Citadel server. Once the below given command is executed the system provides you with the default value for each section, if there are any changes to be done, the user can provide the data. The command used for configuration is shown below. ptconfigure Citadel configure

Benefits • Email, calendaring/scheduling, address books • Bulletin boards, mailing list server, instant messaging • Multiple domain support • An intuitive, attractive AJAX-style web interface

Cleofy

Synopsis This module aims at facilitating the users in creating a standard set of autopilot files for their project. Let us see how to use this module, and also about functions of cleofy from the upcoming topics.

1.1. Commands 101 kevells Documentation, Release 0.1

Help Command The help command is a brief user manual that facilitates the users to get aware regarding the usage, methodologies of handling this module to perform different functions. It also lists outs the alternative parameters that can be used in declarations. It highlights the syntax example for using and accessing different functions under cleofy. The command used for declaring help option under cleofy is shown below, ptconfigure cleofy help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under cleofy. kevell@corp:/# ptconfigure cleofy help

******************************

This command is part of a default Module Core and provides you with a method by which you cancreate a standard set of Autopilot files for your project from the command line.

Cleofy, cleofy

- list List all of the autopilot files in your build/config/ptconfigure/autopilots example: ptconfigure cleofy list

- standard Create a default set of ptconfigure autopilots in build/config/ptconfigure/autopilots foryour project. example: ptconfigure cleofy standard

- tiny Create a default set of ptconfigure autopilots in build/config/ptconfigure/autopilots for a project with a "tiny" style infrastructure. example: ptconfigure cleofy tiny

- medium Create a default set of ptconfigure autopilots in build/config/ptconfigure/autopilots for a project with a "medium" style infrastructure. example: ptconfigure cleofy medium

- medium-web Create a default set of ptconfigure autopilots in build/config/ptconfigure/autopilots for a project with a "medium" style infrastructure, with web but not database. example: ptconfigure cleofy medium-web

- db-cluster Create a default set of ptconfigure autopilots in build/config/ptconfigure/autopilots for your project. example: ptconfigure cleofy db-cluster --yes --guess --database-nodes-env=*db-nodes-environment-name*

- install-generic-autopilots Install the generic Cleofy autopilot templates for a Tiny or Medium(Current Default) set of Environments example: ptconfigure cleofy install-generic-autopilots example: ptconfigure cleofy install-generic-autopilots --yes --guess # will set --destination-dir=*this dir +*build/config/ptconfigure/cleofy/autopilots/ --template-group=tiny # tiny, medium, dbcluster, phlagrant || db-cluster, workstation --destination-dir=*path-to-destination*

------End Help ******************************

102 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Functions of cleofy This topic depicts about the various functions of cleofy under this module as listed below, • List • Standard • Tiny • Medium • Medium-web • DB-cluster • Install_generic_autopilots

List This function aims at listing all the autopilot files in your specified location(build/config/ptconfigure/autopilots). The syntax for applying this function is shown below, ptconfigure cleofy list

Standard This function assists in creating a default set of ptconfigure autopilots (in build/config/ptconfigure/autopilots) for the project of the users. This function can be applied simply by using the command below, ptconfigure cleofy standard

Tiny This function aims at creating a default set of ptconfigure autopilots (in build/config/ptconfigure/autopilots) for a project with tiny infrastructure. To implement this functions use the following command as below, ptconfigure cleofy tiny

Medium This function aims at creating a default set of ptconfigure autopilots (in build/config/ptconfigure/autopilots) for a project with medium infrastructure. To implement this functions use the following command as below, ptconfigure cleofy medium

Medium_Web This function aims at creating a default set of ptconfigure autopilots (in build/config/ptconfigure/autopilots) for a project with medium infrastructure with web, but not database. To implement this functions use the following command as below, ptconfigure cleofy medium-web

DB_cluster This function aims at creating a default set of ptconfigure autopilots (in build/config/ptconfigure/autopilots) for the users project. To implement this functions use the following com- mand as below, ptconfigure cleofy db-cluster --yes --guess --database-nodes-env=*db-nodes-environment-name*

1.1. Commands 103 kevells Documentation, Release 0.1

Install_generic_autopilots This function assists in installing generic autopilot templates for tiny or medium set of environment by simply using the command as given below, ptconfigure cleofy install-generic-autopilots

Or ptconfigure cleofy install-generic-autopilots --yes --guess # will set --destination-dir=*this dir +*build/config/ptconfigure/cleofy/autopilots/ --template-group=tiny # tiny, medium, dbcluster, phlagrant || db-cluster, workstation --destination-dir=*path-to-destination*

To implement the command as given above, the user have to specify the following fields as listed, • destination dir • template group

Alternative Parameters The alternative parameters for this module, either of which can be used in declaration is, • Cleofy, • cleofy

Benefits • The parameters used declaring help and other different features of apt are not case-sensitive. • It is well-to-do in both Cent os and as well as in Ubuntu. • This module envelops all the needs of a project in creating standard set of autopilots.

Composer

Synopsis Composer is an application-level dependency manager for the PHP programming language that provides a standard format for managing dependencies of PHP software and required libraries. It allows you to declare the dependent libraries your project needs and it will install them in your project for you. Composer is multi-platform and we strive to make it run equally well on Windows, Linux and OSX.

Help Command This command helps to determine the usage of composer module. The user will come to know about the different ways/format to execute this module. This command guides the end user regarding the alternative parameters and command for installation. Below given are the command and the screenshot of the same. ptconfigure composer help kevell@corp:/# ptconfigure composer help ******************************

This command allows you to update Composer.

Composer, composer

- install Installs the latest version of composer example: ptconfigure composer install

104 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

------End Help ******************************

Installation When the user needs to install composer module in machine, the below given command will execute the process of installation. ptconfigure composer install

While installing, the system ask for the directory name, if you wants to set up your PATH, you can define your path. Define your path has to be followed by ‘/’ symbol. Press Enter to use default path. “What is the program data directory? “/opt/composer” - use this? While installing, the system ask for executing directory name, if you wants to set up your PATH, you can define your path. Define your path has to be followed by ‘/’ symbol. Press Enter to use default path. “What is the program executer directory? Found “/usr/bin” - Use this? “ Parameters Alternative Parameter Option Comments ptconfigure composer Install Composer , composer Y System starts installation process ptconfigure composer Install Composer , composer N System stops installation process| The screenshot for the installation command is listed below, kevell@corp:/$ ptconfigure composer install Install Composer - Update to latest version ?(Y/N) Y ****************************** * Pharaoh Tools * * Composer! * ******************************* What is the program data directory? Found "/opt/composer" - use this?(Enter nothing for yes, no end slash)

What is the program executor directory? Found "/usr/bin" - use this?(Enter nothing for yes, No Trailing Slash) git clone ’https://github.com/phpengine/composer-phar.git’ /tmp/composer/composerCloning into ’/tmp/composer/composer’... remote: Counting objects: 6, done. remote: Total6(delta 0), reused0(delta 0), pack-reused 6 Unpacking objects: 100%(6/6), done. Checking connectivity... done. Program Data Folder /opt/composer Deleted if existed Program Data folder populated Program Executor Deleted if existed ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------Composer: Success ------Installer Finished ******************************

1.1. Commands 105 kevells Documentation, Release 0.1

Benefits • It installs dependencies (e.g. libraries) for an application. • It also allows users to install PHP applications that are available on “Packagist” which is its main repository containing available packages. • It also provides auto load capabilities for libraries that specify auto load information to ease usage of third-party code.

Copy

Synopsis Copy is the command entered in a Linux shell to copy a file from one place to another, possibly on a different file system. The original file remains unchanged, and the new file may have the same or a different name. Copy is the command which makes a copy of your files or directories. The ways files are copied in Linux depend on your distribution and file system. All versions of Linux could copy files from the command line. There are also a number of file managers both text based and GUI that could be used. For instance, let’s say you have a file named picture.jpg in your working directory, and you want to make a copy of it called picture-02.jpg. You would run the command and the file will be copied. Here, picture.jpg is the source of the copy operation and picture-02.jpg is the destination. Both files now exist in your working directory. The source and destination files may also reside in different directories. For instance, make a copy of the file /home/chuck/pictures/picture.jpg in the directory/home/chuck/backup. The destination file will also be named pic- ture.jpg.

Help Command This command helps to determine the usage of copy module. The user will come to know about the different way/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same. ptconfigure copy help

The pictorial representation of the copy command screenshot is listed below, kevell@corp:/# ptconfigure copy help ******************************

This command handles file copying functions.

Copy, copy

- put Will ask you for details for servers, then copy a file or directory from local to remote example: ptconfigure copy put example: ptconfigure copy put --yes --source="/tmp/file" --target="/home/user/file"

------End Help ******************************

Put When the user needs to copy a file in our source to other destination, the below given command will execute the process. ptconfigure copy put

The system asks for source file path and target file path.

106 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

kevell@corp:/# ptconfigure copy put Copy files?(Y/N) Y Enter source file path /kevell.html Enter target file path /home/desktop [Pharaoh Logging][Copy] Executing cp -r /kevell.html /home/desktop ******************************

Copy Result: Success ------Copy Finished ******************************

There is another option, wherein you can give the source and destination path in command line. kevell@corp:/# ptconfigure copy put --yes --source="/kevell.html" --target="/opt" [Pharaoh Logging][Copy] Executing cp -r /kevell.html /opt ******************************

Copy Result: Success ------Copy Finished ******************************

Alternative Parameter There are two alternative parameter which can be used in command line Copy , copy. Eg: ptconfigure copy put/ ptconfigure Copy help

Benefits • This command helps to make a copy of your files or directories. • Copy a file or directory from source to destination using single command • If you want to copy a file from one folder to another with the same name, just the destination directory name is good enough • A directory (and all its content) can be copied from source to destination with the recursive option -r

DeveloperTools

Synopsis The devtools module makes the installation much easier to create a package following the structure defined in the Devtools. It also makes it easier to test your package, through editor. This module in a package having an excellent idea: not only does it make the user package more reliable in the long run, it also simplifies the development process in surprising way. This is suitable in Ubuntu and centOS.

Help command Devtools makes package development a breeze: it works with existing conventions for code struc- ture, adding efficient tools to support the cycle of package development. With devtools, developing a package becomes so easy that it will be the user default layout whenever the user is writing a significant amount of code. ptconfigure devtools help

1.1. Commands 107 kevells Documentation, Release 0.1

The following screenshot explains it. kevell@corp:/# ptconfigure devtools help ******************************

This command allows you to install a set of Developer Tools. These include IDE, IDE, Kompozer IDE and Emma DB Manager.

DeveloperTools, devtools, dev-tools

- install Installs the latest version of Developer Tools example: ptconfigure devtools install

------End Help ******************************

Installation Installation includes provision of or connection to services required to make the installed equipment ready for operation. It is a manifest process to install devtools module under ptconfigure by just using the command given below, ptconfigure devtools install

After vitalize the command it will catechize input. When the user input as yes automatically it will install devtools with checking from the system. If not exit the installation. The following screen shot demonstrates it. kevell@corp:/$ ptconfigure devtools install Install Developer Tools?(Y/N) y ******************************* * Pharaoh Tools * * Devel Tools! * *******************************

Reading package lists... Building dependency tree... Reading state information... The following extra packages will be installed: geany-common Suggested packages: libvte9 The following NEW packages will be installed: geany geany-common 0 upgraded,2 newly installed,0 to remove and 301 not upgraded. Need to get 3,808 kB of archives. After this operation, 9,872 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty/universe geany-common all 1.23.1+dfsg-1[2,709 kB] Get:2 http://in.archive.ubuntu.com/ubuntu/ trusty/universe geany amd64 1.23.1+dfsg-1[1,100 kB] Fetched 3,808 kB in 4min 54s(12.9 kB/s) Selecting previously unselected package geany-common. (Reading database ... 182047 files and directories currently installed.) Preparing to unpack .../geany-common_1.23.1+dfsg-1_all.deb ... Unpacking geany-common(1.23.1+dfsg-1) ... Selecting previously unselected package geany.

108 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Preparing to unpack .../geany_1.23.1+dfsg-1_amd64.deb ... Unpacking geany(1.23.1+dfsg-1) ... Processing triggers for doc-base(0.10.5) ... Processing1 added doc-base file... Processing triggers for hicolor-icon-theme(0.13-1) ... Processing triggers for -menus(3.10.1-0ubuntu2) ... Processing triggers for desktop-file-utils(0.22-1ubuntu1) ... Processing triggers for bamfdaemon(0.5.1+14.04.20140409-0ubuntu1) ... Rebuilding /usr/share/applications/bamf-2.index... Processing triggers for mime-support(3.54ubuntu1) ... Processing triggers for man-db(2.6.7.1-1) ... Setting up geany-common(1.23.1+dfsg-1) ... Setting up geany(1.23.1+dfsg-1) ... Preparing to unpack .../bluefish-data_2.2.5-1_all.deb ... Unpacking bluefish-data(2.2.5-1) ... Selecting previously unselected package bluefish-plugins. Preparing to unpack .../bluefish-plugins_2.2.5-1_amd64.deb ... Unpacking bluefish-plugins(2.2.5-1) ... Selecting previously unselected package bluefish. Preparing to unpack .../bluefish_2.2.5-1_amd64.deb ... Unpacking bluefish(2.2.5-1) ... Processing triggers for hicolor-icon-theme(0.13-1) ... Processing triggers for shared-mime-info(1.2-0ubuntu3) ... Processing triggers for man-db(2.6.7.1-1) ... Processing triggers for gnome-menus(3.10.1-0ubuntu2) ... Processing triggers for desktop-file-utils(0.22-1ubuntu1) ... Processing triggers for bamfdaemon(0.5.1+14.04.20140409-0ubuntu1) ... Rebuilding /usr/share/applications/bamf-2.index... Processing triggers for mime-support(3.54ubuntu1) ... Setting up bluefish-data(2.2.5-1) ... Setting up bluefish-plugins(2.2.5-1) ... Setting up bluefish(2.2.5-1) ... [Pharaoh Logging] Adding Package bluefish from the Packager Apt executed correctly PHP Warning: file_put_contents(/opt/ptconfigure/ptconfigure/src/Modules/ptconfigureRequired/Model/../../../cleovars): failed to open stream: Permission denied in /opt/ptconfigure/ptconfigure/src/Modules/ptconfigureRequired/Model/AppConfig.php on line 115 ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------DeveloperTools: Success ------Installer Finished ******************************

Parameters Alternative Parameter Op- Comments tion Install We can use DeveloperTools, Y It will install editor and Database devtools Options devtools?(Y/N) devtools, dev-tools under ptconfigure Install We can use DeveloperTools, N The system exit the installation devtools?(Y/N) devtools, dev-tools|

Benefits • Facilitate the package development process

1.1. Commands 109 kevells Documentation, Release 0.1

• Help release your package into the wild • Make it easy to install editor and Database. • Rapid Debugging • On-the-Fly Style Changes - For quick style changes, the user don’t even need to use a . The user can inspect the particular element on the page to determine which styles are being applied.

DigitalOcean

Synopsis This module assists the users in handling servers on digital ocean. It envelops all the basic needs of users in handling boxes on digital ocean. The upcoming topics discusses about how to use this module, the various features of digital ocean under this module.

Help Command The help command acts as a brief user manual. It describes about the major objective of this module. It lists outs the alternative parameters that can be used in declarations. In addition, it’s also highlights the different features of using digital ocean under this module along with the syntax for using them. The command used for declaring help option is shown below, ptconfigure DigitalOcean help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under Digital Ocean. kevell@corp:/# ptconfigure DigitalOcean help ******************************

This is an extension provided for Handling Servers on Digital Ocean.

DigitalOcean, digitaloceanv1, digital-ocean-v1

- box-add Lets you add boxes to Digital Ocean, and adds them to your papyrusfile example: ptconfigure digital-ocean box-add --yes --digital-ocean-ssh-key-path="/home/dave/.ssh/bastion.pub" --digital-ocean-ssh-key-name="bastion"

- box-destroy Will destroy box/es in an environment for you, and remove them from the papyrus file example: ptconfigure digital-ocean box-destroy --yes --guess --digital-ocean-ssh-key-path="/home/dave/.ssh/bastion.pub" --digital-ocean-ssh-key-name="bastion"

- box-destroy-all Will destroy all boxes in your digital ocean account - Careful - its irreversible example: ptconfigure digital-ocean box-destroy-all --yes --guess

- save-ssh-key Will let you save a local ssh key to your Digital Ocean account, so you can ssh in to your nodes securely and without a password example: ptconfigure digital-ocean save-ssh-key --yes --digital-ocean-ssh-key-path="/home/dave/.ssh/bastion.pub" --digital-ocean-ssh-key-name="bastion"

- list

110 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Will display data about your digital ocean account example: ptconfigure digital-ocean list example: ptconfigure digital-ocean list --yes --guess # use project saved connection details if possible --type=sizes # droplets, sizes, images, domains, regions, ssh_keys

------End Help ******************************

Features of Digital Ocean As depicted in the above help command, this module has various features in using digital ocean as listed below • Box_Add • Box_Destroy • Box_Destroy_All • Save_ssh_Key • List

Box_Add This feature aims at adding boxes to the digital ocean and in hand add them to the papyrus file. This can be implemented by simply using the syntax as given below, ptconfigure digital-ocean box-add --yes --digital-ocean-ssh-key-path="/home/dave/.ssh/bastion.pub" --digital-ocean-ssh-key-name="bastion"

To implement the command above, user have to specify the following fields in the format of above mentioned syntax. • Digital ocean Ssh-key path • Digital ocean Ssh_key name

Box_Destroy This feature aims at destroying boxes in an specified environment and in hand remove them from the papyrus file. This can be implemented by simply using the syntax as given below, ptconfigure digital-ocean box-destroy --yes --guess --digital-ocean-ssh-key-path="/home/dave/.ssh/bastion.pub" --digital-ocean-ssh-key-name="bastion"

To implement the command above, user have to specify the following fields in the format of above mentioned syntax. • Digital ocean Ssh-key path • Digital ocean Ssh_key name

Box_Destroy_All This feature aims at destroying all boxes in the digital ocean account. The user should be careful while implementing this features because it is a irreversible process. To implement this function the user have to apply the command as given below, ptconfigure digital-ocean box-destroy-all --yes --guess

1.1. Commands 111 kevells Documentation, Release 0.1

Save_Ssh_key This feature allows the users to save a local ssh to your digital ocean so the users can ssh into their nodes securely without password. This can be achieved by using the command below, ptconfigure digital-ocean save-ssh-key --yes --digital-ocean-ssh-key-path="/home/dave/.ssh/bastion.pub" --digital-ocean-ssh-key-name="bastion"

To implement the command above, user have to specify the following fields in the format of above mentioned syntax. • Digital ocean Ssh-key path • Digital ocean Ssh_key name

List This feature allows the users to list out all the data about their digital ocean account. This can be implemented simply by using the command below, ptconfigure digital-ocean list

Or ptconfigure digital-ocean list --yes --guess # use project saved connection details if possible --type=sizes # droplets, sizes, images, domains, regions, ssh_keys

Alternative Parameters The alternative parameters for this module, either of which can be used in declaration is, DigitalOcean, digitaloceanv1, digital-ocean-v1

Benefits • The parameters used declaring help and other different features of apt are not case-sensitive. • It is well-to-do in both Cent os and as well as in Ubuntu. • This module envelops all the needs of the users in handling digital Ocean.

DigitalOcean

Synopsis Cloud hosting describes a method of configuring servers in a flexible way to allow for the most affordable, scalable, and reliable web infrastructure. DigitalOcean is a Cloud hosting provider which provides developer-to-developer forums and tutorials on open source and sysadmin topics.

Help Command This command helps to determine the usage of DigitalOcean. The user will come to know about the different way/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same. ptconfigure DigitalOcean help kevell@corp:/# ptconfigure DigitalOcean help

******************************

112 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

This is an extension provided for Handling Servers on Digital Ocean.

DigitalOcean, digitaloceanv1, digital-ocean-v1

- box-add Lets you add boxes to Digital Ocean, and adds them to your papyrusfile example: ptconfigure digital-ocean box-add --yes --digital-ocean-ssh-key-path="/home/dave/.ssh/bastion.pub" --digital-ocean-ssh-key-name="bastion"

- box-destroy Will destroy box/es in an environment for you, and remove them from the papyrus file example: ptconfigure digital-ocean box-destroy --yes --guess --digital-ocean-ssh-key-path="/home/dave/.ssh/bastion.pub" --digital-ocean-ssh-key-name="bastion"

- box-destroy-all Will destroy all boxes in your digital ocean account - Careful - its irreversible example: ptconfigure digital-ocean box-destroy-all --yes --guess

- save-ssh-key Will let you save a local ssh key to your Digital Ocean account, so you can ssh in to your nodes securely and without a password example: ptconfigure digital-ocean save-ssh-key --yes --digital-ocean-ssh-key-path="/home/dave/.ssh/bastion.pub" --digital-ocean-ssh-key-name="bastion"

- list Will display data about your digital ocean account example: ptconfigure digital-ocean list example: ptconfigure digital-ocean list --yes --guess # use project saved connection details if possible --type=sizes # droplets, sizes, images, domains, regions, ssh_keys

------End Help ******************************

Box-add This command helps to add boxes to Digital Ocean, and adds them to your papyrusfile. The below given command will execute the process. ptconfigure digital-ocean box-add --yes --digital-ocean-ssh-key-path="/home/dave/.ssh/bastion.pub" --digital-ocean-ssh-key-name="bastion"

Box-destroy This command helps to destroy box/es in an environment for you, and remove them from the papyrus file. The below given command will execute the process. ptconfigure digital-ocean box-destroy --yes --guess --digital-ocean-ssh-key-path="/home/dave/.ssh/bastion.pub" --digital-ocean-ssh-key-name="bastion"

Box-destroy-all This command helps to destroy all boxes in your digital ocean account. The most critical part is it is irreversible. ptconfigure digital-ocean box-destroy-all --yes --guess

1.1. Commands 113 kevells Documentation, Release 0.1

Save-ssh-key This command helps to a local ssh key to your Digital Ocean account, so you can ssh in to your nodes securely and without a password. The below given command will execute the process. ptconfigure digital-ocean save-ssh-key --yes --digital-ocean-ssh-key-path="/home/dave/.ssh/bastion.pub" --digital-ocean-ssh-key-name="bastion"

List This command helps to display data about your digital ocean account. The below given command will execute the process. example: ptconfigure digital-ocean list example: ptconfigure digital-ocean list --yes --guess # use project saved connection details if possible --type=sizes # droplets, sizes, images, domains, regions, ssh_keys ptconfigure digital-ocean list ptconfigure digital-ocean list --yes --guess # use project saved connection details if possible --type=sizes # droplets, sizes, images, domains, regions, ssh_keys

Alternative Parameter There are three alternative parameters which can be used in command line. DigitalOcean, digitaloceanv1, digital-ocean-v1

Benefits SSD-Only Cloud: We’ve created the fastest and most convenient cloud technology to help you easily and more efficiently manage your infrastructure so you can get back to coding. We provide all of our users with high- performance SSD Hard Drives, a flexible API, and the ability to select the nearest data center location. Simple API: We have created a simple name spaced API that provides complete control over your virtual private servers. All of the functionality that you find in our web control panel will be made available via the API. We support all of the major virtual server actions, allowing you to build your own control interface. Clean and Easy to Use Control Panel: A friendly interface to control all of your virtual servers. Create, resize, rebuild, and snapshot with single clicks. An experience designed around you instead of technology. Distributions & One-Click Install Apps: Choose your favorite Linux distribution or install your favorite application with the simple click of a button. When creating a Droplet, click on the Applications and be live on a cloud server in 55 seconds. Reliability: We provide a 99.99% uptime SLA around network, power and virtual server availability. If we fail to deliver, we’ll credit you based on the amount of time that service was unavailable.

Dnsify

Synopsis This modules envelopes all the major needs of the users managing DNS. This topic is to discuss about how to use this module, and about various functions in using dnsify.

Help Command The help command guides the users in handling this module, in order to handle and perform various functions of a box. It lists outs the alternative parameters, and highlights the syntax for various functions of using and modifying a box. The syntax for help option under the dnsify module is shown below, ptconfigure DNSify help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under dnsify.

114 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

kevell@corp:/# ptconfigure Dnsify help ******************************

This command provides a generic Box Management wrapper around all of the Box Providers(Cloud and Otherwise) so that we have a generic way to create and destroy boxes.

DNSify, dnsify

- install-generic-autopilots Install the generic Dnsify autopilot templates for a Tiny or Medium(Current Default) set of Environments example: ptconfigure dnsify install-generic-autopilots example: ptconfigure dnsify install-generic-autopilots --yes --guess # will set --destination-dir=*this dir +*build/config/ptconfigure/dnsify/autopilots/ --template-group=tiny --destination-dir=*path-to-destination*

- box-add Installs a Box through a cloud provider example: ptconfigure dnsify box-add --environment-name="*environment*" --server-prefix="my-app" --provider="DigitalOcean" // DigitalOcean, Rackspace, VSphere --image-id="3101045"//DO=3101045, RAX=ffd597d6-2cc4-4b43-b8f4-b1006715b84e --size-id="66"//DO= 66, RAX=2 --region-id="2"//DO= 2, RAX= LON --box-amount=1 // An Integer number of boxes to create --force-name="a-box-name" // optional, will override other options for name creation. may cause a conflict if creating more than1 box. --parallax // optional, when adding more than one box, if the provider supports it we can execute all requests in parallel

- box-remove Removes a Box from the papyrus example: ptconfigure dnsify box-remove --environment-name="staging" --environment-version="5.0" --provider="apt-get"

- box-destroy Removes a Box from both papyrus and the cloud provider example: ptconfigure dnsify box-destroy --environment-name="staging" --destroy-all-boxes --destroy

- list-papyrus List all servers in papyrus, or those of a particular environment example: ptconfigure dnsify list-papyrus --yes example: ptconfigure dnsify list-papyrus --yes --environment-name="staging"

------End Help ******************************

Various functions of dnsify This topics describes about the various functions of dnsify under this module, as listed below • Install generic autopilots • Adding box • Removing box

1.1. Commands 115 kevells Documentation, Release 0.1

• Destroying a box • list

Install generic autopilots This function aims at installing applicable autopilots to a tiny or medium set of environ- ments. This can be implemented by applying the command as given below, ptconfigure dnsify install-generic-autopilots --yes --guess # will set --destination-dir=*this dir +*build/config/ptconfigure/dnsify/autopilots/ --template-group=tiny --destination-dir=*path-to-destination*

As depicted in the above mentioned syntax the user have to specify the following fields in order to install the generic autopilots. • destination directory • template-group

Adding box This function aims at adding a box through a cloud provider, simply by using the following command, example: ptconfigure dnsify box-add --environment-name="*environment*" --server-prefix="my-app" --provider="DigitalOcean" // DigitalOcean, Rackspace, VSphere --image-id="3101045"//DO=3101045, RAX=ffd597d6-2cc4-4b43-b8f4-b1006715b84e --size-id="66"//DO= 66, RAX=2 --region-id="2"//DO= 2, RAX= LON --box-amount=1 // An Integer number of boxes to create --force-name="a-box-name" // optional, will override other options for name creation. may cause a conflict if creating more than1 box. --parallax // optional, when adding more than one box, if the provider supports it we can execute all requests in parallel

The user have to specify the following fields as depicted in the above command, • environment name • server prefix • provider • image id • box amount (Should be an integer value to denote the number of boxes to be added) • Force name (box name) • parallax (It is optional, it can be used when adding more than one box.)

Removing box This function aims at removing a box from the papyrus. This can be implemented by using the command below, ptconfigure dnsify box-remove --environment-name="staging" --environment-version="5.0" --provider="apt-get"

The user have to specify the following fields as depicted in the above command, • environment name • environment version • provider

116 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Destroying a box This function aims at removing a box from the papyrus. This function can be implemented simply by using the following command, ptconfigure dnsify box-destroy --environment-name="staging" --destroy-all-boxes --destroy

The above mentioned command is used for destroying all boxes of an particular environment.

List The major objective of this function is to list out all the servers of a particular papyrus or in an environment. The syntax for listing all servers is shown as below, ptconfigure dnsify list-papyrus --yes --environment-name="staging"

The above mentioned command will list out papyrus of an specified environment.

Alternative Parameters The alternative parameters for this module, either of which can be used in declaration is, • DNSify • dnsify

Benefits • The syntax used in help and other operations of box are not case-sensitive. • It is well-to-do in both Cent OS and as well as in Ubuntu. • All the major functions of managing a box in DNS management gets wrapped under this single module.

Encryption

Synopsis This module allows the users to encrypt or decrypt a file. Encryption is the process of encoding messages or information in such a way that only authorized parties can read it. Encryption does not of itself prevent interception, but denies the message content to the interceptor. In an en- cryption scheme, the message or information, referred to as plaintext, is encrypted using an encryption algorithm, generating cipher text that can only be read if decrypted. For technical reasons, an encryption scheme usually uses a pseudo-random key generated by an algorithm. It is in principle possible to decrypt the message without possessing the key, but, for a well-designed encryption scheme, large computational resources and skill are required. An authorized recipient can easily decrypt the message with the key provided by the originator to recipients, but not to unauthorized interceptors. Let us see how to use this module in encrypting and decrypting a file or string.

Help Command The help command is a brief user manual that assists the users in handling this module. It specifies the alternative parameters that can be used in declaring. It also specifies the possible functions under this encryption module, along with the syntax for using them. The command used for declaring help option is shown below, ptconfigure encryption help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under encryption.

1.1. Commands 117 kevells Documentation, Release 0.1

kevell@corp:/# ptconfigure encryption help

******************************

This command allows you to encrypt or decrypt a file.

Encryption, encrypt

- install Encrypts a file or string example: sudo ptconfigure encryption install --yes --unencrypted-data=/var/www/a-website/build/config/ptconfigure/SSH/raw/bastion --encryption-target-file=/tmp/encrypted --encryption-key=/root/.ptconfigure/SSH/key --encryption-file-permissions="" --encryption-file-owner="" --encryption-file-group=""

- uninstall Decrypts an encrypted file or string example: sudo ptconfigure encryption uninstall --yes --encrypted-data=/tmp/encrypted --encryption-target-file=/var/www/a-website/build/config/ptconfigure/SSH/raw/bastion --encryption-key=/root/.ptconfigure/SSH/key --encryption-file-permissions="" --encryption-file-owner="" --encryption-file-group=""

------End Help ******************************

Install This functions allows the users to encrypt a file or string by simply using the command as given below, sudo ptconfigure encryption install --yes --unencrypted-data=/var/www/a-website/build/config/ptconfigure/SSH/raw/bastion --encryption-target-file=/tmp/encrypted --encryption-key=/root/.ptconfigure/SSH/key --encryption-file-permissions="" --encryption-file-owner="" --encryption-file-group=""

To implement this function, the user have to specify the following fields in the format of above mentioned syntax, • encryption target file • encryption key • SSH key • encryption file permission • encryption file owner • encryption file group

Uninstall This function allows the users to decrypt an encrypted file or string. This can be achieved by using the command below, sudo ptconfigure encryption uninstall --yes --encrypted-data=/tmp/encrypted --encryption-target-file=/var/www/a-website/build/config/ptconfigure/SSH/raw/bastion --encryption-key=/root/.ptconfigure/SSH/key --encryption-file-permissions="" --encryption-file-owner="" --encryption-file-group=""

To implement this function, the user have to specify the following fields in the format of above mentioned syntax, • encryption target file • encryption key • SSH key • encryption file permission • encryption file owner

118 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

• encryption file group

Alternative Parameters The alternative parameters for this module, either of which can be used in declaration is, • Encryption • encrypt

Benefits • The parameters used in help and encryption and un decryption operations are not case sensitive which is an added advantage while compared to others. • It is well-to-do in both Ubuntu and as well as Cent OS. • It is a secured mode, because only authorized person can use them.

EnvironmentConfig

Synopsis This module facilitates the users in configuring their environment required for their project. Let us see how to configure the environment, how to delete the unwanted environment, how to use the list option for listing the available environments in upcoming topics.

Help command The help command guides the users regarding the purpose of the module, its alternative parameters that are used in declaration. It highlights the three functions of environment configuration which are list, configure, delete. It also specifies the syntax for using three major functions. The syntax used for declaring the help is shown below: ptconfigure envconfig help

The following screen shot depicts pictorially about the working of help command. kevell@corp:/# ptconfigure envconfig help ******************************

This command is part of a default Module and provides you with a method by which you can configure environments for your project from the command line. Currently compliant with both Dapperstrano and ptconfigure.

EnvironmentConfig, environmentconfig, environment-config, envconfig, env-config

- list List current environments example: ptconfigure envconfig list --yes

- list-local List current local environments example: ptconfigure envconfig list-local --yes

- configure, config Configure bespoke environments for your project to use example: ptconfigure envconfig config # below to create an empty environment to add instances to example: ptconfigure envconfig config --yes

1.1. Commands 119 kevells Documentation, Release 0.1

--keep-current-environments # do not overwrite the current environments stored in papyrusfile --no-manual-servers # so it will not ask you to interactively enter connection details of instances --add-single-environment # otherwise it will loop for more until you specify not to --environment-name="some-name" # name of the environment to create --tmp-dir=/tmp/ # we’re deprecating this soon

- configure-default, config-default Configure default environments for your project to use example: ptconfigure envconfig config-default example: ptconfigure envconfig config-default --yes --environment-name="local-80/local-8080"

- delete, del Configure the environments for your project to use example: ptconfigure envconfig delete example: ptconfigure envconfig del --environment-name="staging"

------End Help ******************************

How to Configure the environment For the purpose of configuring the environments the user can use the following command: ptconfigure envconfig config

After inputting the command above the following operations takes place as shown: Step 1: Configure Environments Here? (Y/N) The user have to input Y or N. Step 2: Use existing environment Settings? (Y/N) The user have to input Y or N. If the user input as Y it will proceed with already existing. If they input as N, it will asks information regarding the environment as Value for: Name of the environment Value for: Default temp dir(Location) After the above steps, the user have to input the following details: Enter target? Enter user? Enter password? Add Another Server? (Y/N) The user have to input Y or N. Finally, the environment configuration gets success as depicted in the below screenshot. kevell@corp:/# ptconfigure envconfig config Configure Environments Here?(Y/N) Y Environment1: Default Settings for Any App not setup for environment enter them now.

120 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Value for: Name of this Environment kevells Value for: Default Temp Dir(should usually be /tmp/)

Enter Servers - this is an array of entries Enter target ? /home/kevells Enter user ? kevells Enter password ? 123456 Add Another Server?(Y/N) N ******************************

Success In Environment Configuration ******************************

While configuring an environment, if the user wish to configure with current environment , they can use the following command: ptconfigure envconfig config --keep-current-environments

After inputting the command above, it will asks the following details as shown in the tabular format: Parameters Op- Comments tions Configure Environments Here? Y If the user wish to configure the environments at the current (Y/N) environment they can input as Y Configure Environments Here? N If the user doesn’t wish to configure the environments at the current (Y/N) environment they can input as N Use existing environment Y If the user wish to use the existing environment settings they can settings? (Y/N) input as Y. Use existing environment N If the user doesn’t wish to use the existing environment settings they settings? (Y/N) can input as N. Do you want to add another Y If the user wish to add another environment,they can input as Y. environment? (Y/N) Do you want to add another N If the user doesn’t wish to add another environment, they can input environment? (Y/N) as N.| The following screenshot pictorially represents the above mentioned process: kevells@corp:/# ptconfigure envconfig config --keep-current-environments Configure Environments Here?(Y/N) Y Use existing environment settings?(Y/N) Y Do you want to add another environment?(Y/N) N ******************************

Success In Environment Configuration ******************************

1.1. Commands 121 kevells Documentation, Release 0.1

How to Delete environment configuration If the user needs to delete the environment configuration, they can input the following command: ptconfigure envconfig del --environment-name="kevells"

The user can specify the name of the environment they wish to delete as shown above. After inputting the command above, it will ask Step 1: Delete Environments Here? and shows a warning message as WARNING: Deleting an environment from papyrus is final. You may be looking for boxify box-destroy instead(Y/N)

The user has to specify Y or N Step 2: Environment Kevells(Name of the specified environment that is supposed to delete) found. Are you sure want to delete it? (Y/N) The user has to specify Y or N Finally, the specified environment gets deleted as shown in the screenshot. kevells@corp:/# ptconfigure envconfig del --environment-name="kevells" Delete Environments Here? WARNING: Deleting an environment from papyrus is final. You may be looking for boxify box-destroy instead(Y/N) Y Environment kevells found. Are you sure you want to delete it?(Y/N) Y [Pharaoh Logging] Removing environment kevells. ******************************

Success In Environment Configuration ******************************

How to list environment configuration If the user wish to view the list of details regarding the environment con- figuration, they can input as shown: ptconfigure envconfig list --yes

After inputting the command above, it will display the output as shown in the screenshot: kevells@corp:/# ptconfigure envconfig list --yes ****************************** array(0){ }

In Environment Configuration ******************************

Alternative Parameters Instead of envconfig the following parameters can be used in declaration: • EnvironmentConfig • environmentconfig

122 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

• environment-config • env-config

Benefits • It is well-to-do in both cent OS and as well as in ubuntu. • The parameters used in declaration are not case sensitive which is an added advantage while compared to others. • This module leads the users how to configure the environment, how to delete the unwanted environment, how to use the list option for listing the available environments.

EnvironmentConfig

Synopsis To enable users to install and use apps, you must configure your environment to support them. System and user environment variables are configured by means of the Environment Variables. It is often helpful to have different configuration values based on the environment the application is running in. For example, you may wish to use a different cache driver on your local development machine than on the production server. It is easy to accomplish this using environment based configuration. Simply create a folder within the config directory that matches your environment name, such as local. Next, create the configuration files you wish to override and specify the options for that environment. For example, to override the cache driver for the local environment, you would create a cache.php file in app/config/local Config-file Environments - Environments are isolated groups of agent nodes. A Puppet master server can serve each environment with completely different main manifests and module paths. This frees you to use different versions of the same modules for different populations of nodes, which is useful for testing changes to your Puppet code before implementing them on production machines. We could also do this by running a separate Puppet master for testing, but using environments is often easier.

Help Command This command helps to determine the usage of Rackspace. The user will come to know about the different way/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same. kevell@corp:/# ptconfigure EnvironmentConfig help

******************************

This command is part of a default Module and provides you with a method by which you can configure environments for your project from the command line. Currently compliant with both Dapperstrano and Ptconfigure.

EnvironmentConfig, environmentconfig, environment-config, envconfig, env-config

- list List current environments example: ptconfigure envconfig list --yes

- list-local List current local environments example: ptconfigure envconfig list-local --yes

- configure, config Configure bespoke environments for your project to use example: ptconfigure envconfig config

1.1. Commands 123 kevells Documentation, Release 0.1

# below to create an empty environment to add instances to example: ptconfigure envconfig config --yes --keep-current-environments # do not overwrite the current environments stored in papyrusfile --no-manual-servers # so it will not ask you to interactively enter connection details of instances --add-single-environment # otherwise it will loop for more until you specify not to --environment-name="some-name" # name of the environment to create --tmp-dir=/tmp/ # we’re deprecating this soon

- configure-default, config-default Configure default environments for your project to use example: ptconfigure envconfig config-default example: ptconfigure envconfig config-default --yes --environment-name="local-80/local-8080"

- delete, del Configure the environments for your project to use example: ptconfigure envconfig delete example: ptconfigure envconfig del --environment-name="staging"

------End Help ******************************

List This command helps to List current environments. The below given command will execute the process. ptconfigure envconfig list --yes kevell@corp:/# ptconfigure envconfig list --yes

****************************** array(2){ [0]=> array(2){ ["any-app"]=> array(2){ ["gen_env_name"]=> string(22) "db-cluster-db-balancer" ["gen_env_tmp_dir"]=> string(5) "/tmp/" } ["servers"]=> array(1){ [0]=> array(8){ ["target"]=> string(14) "134.213.52.130" ["target_public"]=> string(14) "134.213.52.130" ["target_private"]=> string(13) "10.181.192.30" ["user"]=> string(4) "root" ["password"]=> string(17) "/root/.ssh/id_rsa" ["provider"]=>

124 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

string(9) "Rackspace" ["id"]=> string(36) "ba91728b-3d11-4d2a-b5a2-628877a8ef75" ["name"]=> string(40) "default-project-db-cluster-db-balancer-0" } } } [1]=> array(2){ ["any-app"]=> array(2){ ["gen_env_name"]=> string(19) "db-cluster-db-nodes" ["gen_env_tmp_dir"]=> string(5) "/tmp/" } ["servers"]=> array(2){ [0]=> array(8){ ["target"]=> string(14) "134.213.52.174" ["target_public"]=> string(14) "134.213.52.174" ["target_private"]=> string(13) "10.181.192.89" ["user"]=> string(4) "root" ["password"]=> string(17) "/root/.ssh/id_rsa" ["provider"]=> string(9) "Rackspace" ["id"]=> string(36) "01435859-bfec-4180-b801-95dbaa024670" ["name"]=> string(37) "default-project-db-cluster-db-nodes-0" } [1]=> array(8){ ["target"]=> string(14) "134.213.52.233" ["target_public"]=> string(14) "134.213.52.233" ["target_private"]=> string(14) "10.181.192.113" ["user"]=> string(4) "root" ["password"]=> string(17) "/root/.ssh/id_rsa" ["provider"]=> string(9) "Rackspace" ["id"]=> string(36) "d082c509-5c7f-425f-87af-36a22d345ce2" ["name"]=> string(37) "default-project-db-cluster-db-nodes-1" } }

1.1. Commands 125 kevells Documentation, Release 0.1

} }

List-local This command helps to List current local environments. The below given command will execute the process. ptconfigure envconfig list-local --yes

Configure This command helps to configure bespoke environments for your project to use. There are two alternative parameters - configure, config ptconfigure envconfig config kevell@corp:/# ptconfigure envconfig config

Configure Environments Here?(Y/N) y Use existing environment settings?(Y/N) Y Do you want to modify entries applicable to any app in environment default-local-8080(Y/N) Y Environment1 default-local-8080 : Default Settings for Any App not setup for environment default-local-8080 enter them now. Value for: Name of this Environment kevells Value for: Default Temp Dir(should usually be /tmp/) /tmp/ Enter Servers - this is an array of entries Enter target ?

Enter user ?

Enter password ?

Add Another Server?(Y/N) N Do you want to modify entries applicable to any app in environment prod(Y/N) N Do you want to modify entries for group any-app in environment prod(Y/N) N Do you want to modify entries applicable to any app in environment medium-bastion(Y/N) N Do you want to modify entries for group any-app in environment medium-bastion(Y/N) N Do you want to add another environment?(Y/N) N ******************************

Success In Environment Configuration ******************************

If the user have to create an empty environment to add instances to, the below command will process the same.

126 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

ptconfigure envconfig config --yes --keep-current-environments --no-manual-servers --add-single-environment --environment-name="some-name" --tmp-dir=/tmp/

• Keep-current-environment - Do not overwrite the current environments stored in papyrusfile • No-manual-servers - So it will not ask you to interactively enter connection details of instances • Add-single-environment - Otherwise it will loop for more until you specify not to • Environment name - Name of the environment to create • Tmp-dir - Deprecating this soon

Configure-default This command helps to Configure default environments for your project to use. There are two alternative parameter used for this particular command - configure-default, config-default. The below given command will execute the process. ptconfigure envconfig config-default ptconfigure envconfig config-default --yes --environment-name="local-80/local-8080"

Delete This command helps to delete the environment. There are two alternative parameter used for this particular command - delete, del. The below given command will execute the process. ptconfigure envconfig delete ptconfigure envconfig del --environment-name="staging"

Alternative Parameter There are five alternative parameters which can be used in command line. EnvironmentConfig, environmentconfig, environment-config, envconfig, env-config

Benefits When your application is in maintenance mode, a custom view will be displayed for all routes into your application. This makes it easy to “disable” your application while it is updating or when you are performing mainte- nance. You can access the current application environment via the environment method. And can also pass arguments to the environment method to check if the environment matches a given value.

File

Synopsis File is a standard program for recognizing the type of data contained in a computer file. The file command attempts to classify each file system object (i.e., file, directory or link) that is provided to it as an argument (i.e., input). File tests each argument in an attempt to classify it. There are three sets of tests, performed in this order: file system tests, magic number tests, and language tests. The first is a file system test, which uses the stat system call to obtain information from the object’s inode (which contains information about a file). The second test checks to see if there is a magic number, which is a number embedded at or near the beginning of many types of files that indicates the file format (i.e., the type of file). In the event that the first two tests fail to determine the type of a file, language tests are employed to determine if it is plain text (i.e., composed entirely of human-readable characters), and, if so, what type of plain text, such as HTML (hypertext markup language) or source code

1.1. Commands 127 kevells Documentation, Release 0.1

Help Command This command helps to determine the usage of file module. The user will come to know about the different ways/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same. ptconfigure file help

Create When the user needs to Create a new system file, the below given command will execute the process. ptconfigure file create --file="somename"

The below given commands overwrite files that exist ptconfigure file create --file="somename” --overwrite-existing

The below given command for write the data in the file ptconfigure file create -file="somename” --data="things to put in the file"

Delete When the user needs to delete a system file, the below given command will execute the process. ptconfigure file delete --file="somename"

Exists When the user needs to check the existence of a file, the below given command will execute the process. ptconfigure file exists --filename="somename"

Append When the user needs to append a line to a file, the below given command will execute the process. ptconfigure file append --filename="somename" --line="a line"

• Line option – you can insert a line to be appended

Should-have-line When the user needs to ensure that a file contains a particular line, the below given command will execute the process. ptconfigure file should-have-line --filename="somename" --line="a line"

• Line option – Statement that needs to be checked

Parameters Alternative Parameter Options ptconfigure file Either of the two alternative parameter can be used in command- File, file eg: ptconfigure File help Install/ ptconfigure file Install|

Benefits • Specify a file specially formatted containing position-sensitive tests; default position-sensitive tests and - sensitive tests will not be performed.

FireFox

Synopsis This module used to install firefox. Ubuntu releases updated versions periodically. It implements current and anticipated web standards. Long-term support includes updates for new hardware, security patches and updates to the cloud computing infrastructure. It is comfortable with Ubuntu and Cent OS.

128 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Help Command This command can function about the objectives and commands available under Firefox module. It also explains the command to install firefox. Before installation, the user can read this help command explains its function. ptconfigure firefox help

The following image also helps you to understand this module clearly. kevell@corp:/# ptconfigure firefox help

******************************

This command is part of Core and provides you with a method by which you can install Firefox from your package manager

Firefox, firefox

- install Installs Firefox example: ptconfigure firefox install

------End Help ******************************

Installation It is a glaring process to install firefox module under ptconfigure by just using the command given below, ptconfigure firefox install

After key in the command, it can asks Install firefox?(Y/N) In case the user input as Y, it can install firefox from the package. Else, it can exit the screen. The following screen shots can explain it. kevell@corp:/# ptconfigure firefox install

Install Firefox?(Y/N) y ******************************* * Pharaoh Tools * * Firefox * ******************************* Creating /tmp/ptconfigure-temp-script-51942043520.sh chmod 755 /tmp/ptconfigure-temp-script-51942043520.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-51942043520.sh Permissions Executing /tmp/ptconfigure-temp-script-51942043520.sh Cloning into ’firefox’... remote: Counting objects: 78, done. remote: Total 78(delta 0), reused0(delta 0) Unpacking objects: 100%(78/78), done. Checking connectivity... done. Temp File /tmp/ptconfigure-temp-script-51942043520.sh Removed Program Executor Deleted if existed ... All done! *******************************

1.1. Commands 129 kevells Documentation, Release 0.1

Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------Firefox: Success ------Installer Finished ******************************

Parameters Alternative Parameter Op- Comments tions ptconfigure firefox We can use Firefox, Y(YES) System starts installation process they can input Options Install firefox as Y ptconfigure Firefox We can use Firefix, N(No) System stops installation process| Install firefox

Benefits • Firefox uses support for new hardware and integration of all the updates published in that series to date. • It is comfortable with Ubuntu and centOS. • Firefox is non-case sensitive. • Privacy and security measures, smart searching

FireFox14

Synopsis This module used to install firefox14. Ubuntu releases updated versions periodically. It implements current and anticipated web standards. Long-term support includes updates for new hardware, security patches and updates to the cloud computing infrastructure. It is comfortable with Ubuntu and Cent OS.

Help Command This command can function about the objectives and commands available under Firefox14 module. It also explains the command to install firefox14. Before installation, the user can read this help command explains its function. .. code-block:: bash ptconfigure firefox14 help The following image also helps you to understand this module clearly. Kevell@corp:/# ptconfigure firefox14 help ******************************

This command allows you to install Firefox14.

Firefox14, ff14, firefox14

- install Installs the latest version of Firefox 14 example: ptconfigure firefox14 install

------

130 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

End Help ******************************

Installation It is a glaring process to install firefox14 module under ptconfigure by just using the command given below, ptconfigure firefox14 install

After key in the command, it can asks Install firefox14?(Y/N) In case the user input as Y, it can install firefox14 from the package. Else, it can exit the screen. The following screen shots can explain it. kevell@corp:/# ptconfigure Firefox14 install

Install Firefox?(Y/N) y ******************************* * Pharaoh Tools * * Firefox * ******************************* Creating /tmp/ptconfigure-temp-script-51942043520.sh chmod 755 /tmp/ptconfigure-temp-script-51942043520.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-51942043520.sh Permissions Executing /tmp/ptconfigure-temp-script-51942043520.sh Cloning into ’firefox14’... remote: Counting objects: 78, done. remote: Total 78(delta 0), reused0(delta 0) Unpacking objects: 100%(78/78), done. Checking connectivity... done. Temp File /tmp/ptconfigure-temp-script-51942043520.sh Removed Program Executor Deleted if existed ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------Firefox14: Success ------Installer Finished ******************************

Parameters Alternative Parameter Re- Comment quired ptconfigure Instead of using firefox14 we can use Y(YES) System starts installation process Options firefox14 Install ff14, Firefox14 Under ptconfigure ptconfigure Instead of using firefox14 we can use N(No) System stops installation process firefox14 Install ff14, Firefox14 Under ptconfigure|

Benefits • Firefox14 uses support for new hardware and integration of all the updates published in that series to date.

1.1. Commands 131 kevells Documentation, Release 0.1

• Firefox14 is non-case sensitive. • Privacy and security measures, smart searching is possible. • It is comfortable with Ubuntu and centOS.

FireFox17

Synopsis This module used to install firefox17. Ubuntu releases updated versions periodically. It implements current and anticipated web standards. Long-term support includes updates for new hardware, security patches and updates to the cloud computing infrastructure. It is comfortable with Ubuntu and Cent OS.

Help Command This command can function about the objectives and commands available under Firefox17 module. It also explains the command to install firefox17. Before installation, the user can read this help command explains its function. ptconfigure firefox17 help

The following image also helps you to understand this module clearly. Kevell@corp:/# ptconfigure firefox17 help ******************************

This command allows you to install Firefox17.

Firefox17, ff17, firefox17

- install Installs the latest version of Firefox 17 example: ptconfigure firefox17 install

------End Help ******************************

Installation It is a glaring process to install firefox17 module under ptconfigure by just using the command given below, ptconfigure firefox17 install

After key in the command, it can asks Install firefox17?(Y/N) In case the user input as Y, it can install firefox17 from the package. Else, it can exit the screen. The following screen shots can explain it. kevell@corp:/# ptconfigure Firefox17 install Install Firefox 17?(Y/N) Y ******************************* * Pharaoh Tools * * Firefox 17 * ******************************* Creating /tmp/ptconfigure-temp-script-34898518137.sh chmod 755 /tmp/ptconfigure-temp-script-34898518137.sh 2>/dev/null

132 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Changing /tmp/ptconfigure-temp-script-34898518137.sh Permissions Executing /tmp/ptconfigure-temp-script-34898518137.sh Cloning into ’firefox17’... remote: Counting objects: 78, done. remote: Total 78(delta 0), reused0(delta 0) Unpacking objects: 100%(78/78), done. Checking connectivity... done. Temp File /tmp/ptconfigure-temp-script-34898518137.sh Removed Program Executor Deleted if existed ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------Firefox17: Success ------Installer Finished ******************************

Parameters Alternative Parameter Re- Comment quired ptconfigure Instead of using firefox17 we can use Y System starts installation process Options firefox17 Install ff17, Firefox17 Under ptconfigure ptconfigure Instead of using firefox17 we can use N System stops installation process firefox17 Install ff17, Firefox17 under ptconfigure|

Benefits • Firefox17 uses support for new hardware and integration of all the updates published in that series to date. • Firefox used to install firefox17 • Firefox17 is non-case sensitive. • Privacy and security measures, smart searching is possible.

FireFox24

Synopsis This module used to install firefox24. Ubuntu releases updated versions periodically. It implements current and anticipated web standards. Long-term support includes updates for new hardware, security patches and updates to the cloud computing infrastructure. It is comfortable with Ubuntu and Cent OS.

Help Command This command can function about the objectives and commands available under Firefox24 module. It also explains the command to install firefox24. Before installation, the user can read this help command explains its function. ptconfigure firefox24 help

The following image also helps you to understand this module clearly.

1.1. Commands 133 kevells Documentation, Release 0.1

Kevell@corp:/# ptconfigure firefox24 help ******************************

This command allows you to install Firefox14.

Firefox24, ff24, firefox24

- install Installs the latest version of Firefox 24 example: ptconfigure firefox14 install

------End Help ******************************

Installation It is a glaring process to install firefox24 module under ptconfigure by just using the command given below, ptconfigure firefox24 install

After key in the command, it can asks Install firefox24?(Y/N) In case the user input as Y, it can install firefox24 from the package. Else, it can exit the screen. The following screen shots can explain it. kevell@corp:/# ptconfigure Firefox24 install

Install Firefox?(Y/N) y ******************************* * Pharaoh Tools * * Firefox 24 * ******************************* Creating /tmp/ptconfigure-temp-script-51942043520.sh chmod 755 /tmp/ptconfigure-temp-script-51942043520.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-51942043520.sh Permissions Executing /tmp/ptconfigure-temp-script-51942043520.sh Cloning into ’firefox24’... remote: Counting objects: 78, done. remote: Total 78(delta 0), reused0(delta 0) Unpacking objects: 100%(78/78), done. Checking connectivity... done. Temp File /tmp/ptconfigure-temp-script-51942043520.sh Removed Program Executor Deleted if existed ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------Firefox24: Success ------Installer Finished

134 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

******************************

Parameters Alternative Parameter Op- Comments tions ptconfigure Instead of using firefox24 we can use Y System starts installation process Options firefox24 Install Firefox24, ff24 under ptconfigure ptconfigure Instead of using firefox24 we can use N System stops installation process firefox24 Install Firefox24, ff24 under ptconfigure|

Benefits • Firefox24 uses support for new hardware and integration of all the updates published in that series to date. • Firefox24 is suitable with Ubuntu and cent OS. • Firefox24 is non-case sensitive. • Privacy and security measures, smart searching is possible.

FireFox33

Synopsis This module used to install firefox33. Ubuntu releases updated versions periodically. It implements current and anticipated web standards. Long-term support includes updates for new hardware, security patches and updates to the cloud computing infrastructure. It is comfortable with Ubuntu and Cent OS.

Help Command This command can function about the objectives and commands available under Firefox33 module. It also explains the command to install firefox33. Before installation, the user can read this help command explains its function. ptconfigure firefox33 help

The following image also helps you to understand this module clearly. kevell@corp:/# ptconfigure Firefox33 help ******************************

This command allows you to install Firefox33.

Firefox33, ff33, firefox33

- install Installs the latest version of Firefox 33 example: ptconfigure firefox33 install

------End Help ******************************

Installation It is a glaring process to install firefox33 module under ptconfigure by just using the command given below,

1.1. Commands 135 kevells Documentation, Release 0.1

ptconfigure firefox33 install

After key in the command, it can asks Install firefox33?(Y/N) In case the user input as Y, it can install firefox33 from the package. Else, it can exit the screen. The following screen shots can explain it. kevells@corp:/# ptconfigure Firefox33 install Install Firefox 33?(Y/N) Y ******************************* * Pharaoh Tools * * Firefox 33 * ******************************* Creating /tmp/ptconfigure-temp-script-5246928428.sh chmod 755 /tmp/ptconfigure-temp-script-5246928428.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-5246928428.sh Permissions Executing /tmp/ptconfigure-temp-script-5246928428.sh Cloning into ’firefox33’... remote: Counting objects: 79, done. Unpacking objects: 81%(64/79) remote: Total 79(delta 0), reused0(delta 0) Unpacking objects: 100%(79/79), done. Checking connectivity... done. Temp File /tmp/ptconfigure-temp-script-5246928428.sh Removed Program Executor Deleted if existed ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------Firefox33: Success ------Installer Finished ******************************

Parameters Alternative Parameter Op- Comments tions ptconfigure Instead of using firefox33 we can use Y System starts installation process Options firefox33 Install Firefox33, ff33 under ptconfigure ptconfigure Instead of using firefox33 we can use N System stops installation process firefox33 Install Firefox33, ff33 under ptconfigure|

Benefits • Firefox33 uses support for new hardware and integration of all the updates published in that series to date. • Firefox33 is suitable to work with Ubuntu and centOS. • Firefox33 is non-case sensitive. • Privacy and security measures, smart searching is possible.

136 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Firewall

Synopsis A firewall is a network security system that controls the incoming and outgoing network traffic based on an applied rule set. Firewalls exist both as a software solution and as a hardware appliance.

Help command This help command assist the user about ptconfigure. It guides the user permission. The user can do the modification as per wish. Help image will guide the user. Let’s visualize it. ptconfigure Firewall help

The screenshot for the above command is listed below, kevell@corp:/# ptconfigure Firewall help ****************************** This command allows you to modify create or modify firewalls

Firewall, firewall

- enable Enable system firewall example: ptconfigure firewall enable

- disable Disable system firewall example: ptconfigure firewall disable

- allow Allow a Firewall rule example: ptconfigure firewall allow --firewall-rule="ssh/tcp"

- deny Deny a Firewall rule. Allow connection attempts to be ignored and time out. example: ptconfigure firewall deny --firewall-rule="ssh/tcp"

- reject Reject a Firewall rule. Terminate connections attempts with an error to the connector. example: ptconfigure firewall reject --firewall-rule="ssh/tcp"

- limit Limit a Firewall rule. ufw will deny connections if an IP address has attempted to initiate6 or more connections in the last 30 seconds. example: ptconfigure firewall limit --firewall-rule="ssh/tcp"

- delete Delete a Firewall rule. example: ptconfigure firewall delete --firewall-rule="ssh/tcp"

- insert Insert a Firewall rule. example: ptconfigure firewall insert --firewall-rule="ssh/tcp"

- reset Reset a Firewall rule. example: ptconfigure firewall reset --firewall-rule="ssh/tcp"

- default Set default policy, should be allow, deny, or reject example: ptconfigure firewall default --policy="deny"

1.1. Commands 137 kevells Documentation, Release 0.1

------End Help ******************************

Options Firewalls rules can be customized as per your needs, requirements & security threat levels. The user can create or disable firewall rules based on such conditions as: Param- Function Command eters IP Blocking off a certain IP address or a range of IP addresses, which address you think are predatory Enable Enable system firewall ptconfigure firewall enable Disable Disable system firewall ptconfigure firewall disable Allow Allow firewall rule ptconfigure firewall allow –firewall-rule=”ssh/tcp” Deny Allow connection attempt to be ignored and time out ptconfigure firewall deny –firewall-rule=”ssh/tcp” Reject Terminate connection attempts with an error to the connector ptconfigure firewall reject –firewall-rule=”ssh/tcp” Limit Ufw will deny connections if an IP address has initiate 6 or ptconfigure firewall limit attempted to more connection in the last 30 seconds. –firewall-rule=”ssh/tcp” Delete Delete a firewall rule ptconfigure firewall delete –firewall-rule=”ssh/tcp” Insert Insert a firewall rule ptconfigure firewall insert –firewall-rule=”ssh/tcp” Reset Reset a firewall rule ptconfigure firewall reset –firewall-rule=”ssh/tcp” default Default policy, should be allow, deny or reject.| ptconfigure firewall default – policy=”deny”

Benefits • The firewall prevents unwanted access to the system over a network connection by identifying and preventing communication over risky ports. • System communicate over many different recognized ports, and the firewall will tend to permit these without prompting or alerting the user. • Firewalls can also detect “suspicious” activity from the outside. • The user can set their rule according to their wish.

Gem

Synopsis This module envelops all the needs of the users for working with GEM. It covers various features, and in hand promotes various functions to be performed. RubyGems is a package manager for the Ruby programming language that provides a standard format for distribut- ing Ruby programs and libraries (in a self-contained format called a “gem”), a tool designed to easily manage the installation of gems, and a server for distributing them. Let us see the various features and how to use this module from the upcoming topics.

138 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Help Command The help command instructs the users about the purpose and various features, and the syntax for implementing those various features. It also lists outs the alternative parameters that can be used in declarations. The syntax format for applying help option under this module, is given below, ptconfigure gem help

The following screenshot visualize the output and working of help option under this module. kevell@corp:/# ptconfigure gem help

******************************

This command allows you to modify create or modify gems

Gem, gem

- create Create a new system gem, overwriting if it exists example: ptconfigure gem create --gemname="somename"

- remove Remove a system gem example: ptconfigure gem remove --gemname="somename"

- set-password Set the password of a system gem example: ptconfigure gem set-password --gemname="somename" --new-password= "somepassword"

- exists Check the existence of a gem example: ptconfigure gem exists --gemname="somename"

- show-groups Show groups to which a gem belongs example: ptconfigure gem show-groups --gemname="somename"

- add-to-group Add gem to a group example: ptconfigure gem add-to-group --gemname="somename" --groupname="so megroupname"

- remove-from-group Remove gem from a group example: ptconfigure gem remove-from-group --gemname="somename" --groupnam e="somegroupname"

------End Help ******************************

Different features of Gem As depicted from the above help command, the various features of Gem is listed as below, • Create • Remove • Set Password • Exists

1.1. Commands 139 kevells Documentation, Release 0.1

• Show_groups • Add_to_group • Remove_from_group Let us see in detail about these features.

Create This functions aims at creating a new system gem, and as well as overwrites in case of already existing. This function of gem using this module can be achieved by the following syntax, ptconfigure gem create --gemname="somename"

In the place of gemname the user can specify the name of the gem which is to be created. After entering the command as specified above, the new gem will be created with the specified name.

REMOVE This functions aims at removing an existing gem. This function of gem using this module can be achieved by the following syntax, ptconfigure gem remove --gemname="somename"

In the place of gemname the user can specify the name of the gem which is to be deleted. After entering the command as specified above, the specified gem will be deleted.

SET PASSWORD This function facilitates setting a new password to a system gem as per the requirements. This can be done by applying the command as given below, ptconfigure gem set-password --gemname="somename" --new-password="somepassword"

To implement this functions, the user have to specify the two fields, • Gem name • New password After specifying the two fields in the format of above mentioned command, the new password for the specified gem will be created.

EXISTS This functions aims at checking the existence of a gem. This can be done simply, by using the command below, ptconfigure gem exists --gemname="somename"

After applying the command as above, the existence of a mentioned gem will be ensured with the results.

SHOW GROUPS This function assists the users to know about to which group does the gem belongs to. This can be achieved simply by using the command below, ptconfigure gem show-groups --gemname="somename"

The user have to specify the name of the gem in the field of gemname, in order to know the details of its group.

ADD _TO_GROUP The main objective of this function is to add the required gem to the required group by simply applying the command as given below,

140 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

ptconfigure gem add-to-group --gemname="somename" --groupname="somegroupname"

To implement this function, the user have to specify the following two fields as per their needs in the format of above mentioned command, • Gemname • group name

REMOVE_FROM_GROUP The main objective of this function is to remove the gem from a group by simply applying the command as given below, ptconfigure gem remove-from-group --gemname="somename" --groupname="somegroupname"

To implement this function, the user have to specify the following two fields as per their needs in the format of above mentioned command, • Gemname • group name

Alternative Parameters The alternative parameters for this module, either of which can be used in declaration is, • Gem • gem

Benefits • The parameters used declaring help and other different features of gem are not case-sensitive. • It is well-to-do in both Cent os and as well as in Ubuntu. • Using this module the user can create and as well as modify the gem as per their needs. • The existence of a gem can be ensured under this module.

Generator

Synopsis This module is a fine part of a core, that provides the users a method by which they can create autopilot files. In addition the user can configure default application settings, Eg; mysql admin user, host, pass. Let us see from the upcoming topics regarding how to use the generator module.

Help Command The help command highlights the major objective of this module. It lists outs the alternative parameters that can be used in declarations. It also explains the syntax for creating and generating autopilots. The command used for help option under this module is shown below, ptconfigure Generator help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under generator.

1.1. Commands 141 kevells Documentation, Release 0.1

How to use Generator The main role of generator is to go through all modules to create an autopilot. This can be implemented by using the command given below, ptdeploy generate create

The following screenshot depicts the process of generating and creating autopilots.

Alternative Parameters The alternative parameters for this module, either of which can be used in declaration is, • Generator • generator • generate • gen

Benefits • The parameters used declaring help and other different features of apt are not case-sensitive. • It is well-to-do in both Cent os and as well as in Ubuntu. • Before, creating and generating autopilots, it will go through all the modules for creating autopilots.

GIMP

Synopsis This module allows the users to install GIMP which is an popular image editor. GIMP an acronym for GNU Image Manipulation Program) is used for image retouching and editing, free-form draw- ing, resizing, cropping, photo-montages, converting between different image formats, and more specialized tasks. GIMP is freely distributed to (and by) anybody, and anybody can look at its contents and its source code and can add features or fix problems. It is released under LGPLv3 and GPLv3+ licenses. GIMP began in 1995 as the school project of two university students; now GIMP is a fully fledged application, available on all distributions of GNU/Linux and on recent versions of and Mac OS X. Let Us see how this module facilitates installing GIMP from the upcoming topics.

Help Command The help command is a brief user manual that depicts the users regarding the purpose of this module, Its lists outs its alternative parameters that can be used in declarations, along with the syntax for installing GIMP through Apt-get. The syntax for using help option under this module is shown below, ptconfigure GIMP help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under GIMP.

Installation The command used for installing GIMP through apt-get using this module is simple by just using the command below, ptconfigure GIMP install

After inputting the command above, the following steps are performed as depicted from the table,

142 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Parameters Alternative Parameters Op- Comment tions GIMP Install? Instead of GIMP we can use Y(Yes) If the user wish to proceed installation , they can (Y/N) also. input as Y. GIMP Install? Instead of GIMP we can use N(No) If the user wish to quit installation, they can (Y/N) gimp also. input as N.| The following screen shot depicts visually about the process of installation.

Benefits • The parameters used declaring help and other different features of apt are not case-sensitive. • It is well-to-do in both Cent os and as well as in Ubuntu. GIMP also provides ‘smart’ tools that use a more complex algorithm to do things that otherwise would be time consuming or impossible. These include a: • Clone tool, which copies pixels using a brush • Healing brush, which copies pixels from an area and corrects tone and color • Perspective clone tool, which works like the clone tool but corrects for distance changes • Blur and sharpen tool blurs and sharpens using a brush • Dodge and burn tool is a brush that makes target pixels lighter (dodges) or darker (burns) GIMP transform tools include: • Align • Move • Crop • Rotate • Scale • Shear • Perspective • Flip

Gitbucket

Synopsis Git is a distributed revision control system with an emphasis on speed, data integrity and support for distributed, non-linear workflows. Git is the widely adopted version control system for software development. Git working directory is a full-fledged repository with complete history and full version-tracking capabilities, inde- pendent of network access or a central server. GitBucket is the easily installable Github clone written with . It provides a basic features below: • Public / Private Git repository (http access only) • Repository viewer (some advanced features such as online file editing are not implemented) • Repository search (Code and Issues) • Wiki • Issues

1.1. Commands 143 kevells Documentation, Release 0.1

• Fork / Pull request • Mail notification • Activity timeline • User management (for Administrators) • Group (like Organization in Github) • LDAP integration • Gravatar support • Executable war file

Help Command This command helps to determine the usage of gitbucket module. The user comes to know about the different ways/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same. ptconfigure gitbucket help

The screenshot for the above command is listed below, kevell@corp:/# ptconfigure gitbucket help ****************************** This command allows you to install a full Git Bucket installation on to a server The dependencies for GitBucket are also installed.

GitBucket, gitbucket, git-bucket

- install Installs the latest version of GitBucket on a system example: ptconfigure gitbucket install

------End Help ******************************

Installation When the user needs to install gitbucket module in machine. The below given command will execute the process of installation. While installing, the system ask for repository root directory. User has to define the path. There is no default directory. ptconfigure gitbucket install

The screenshot for the above command is listed below, kevell@corp:/# ptconfigure gitbucket install Install Git Bucket?(Y/N) y ******************************* * Pharaoh Tools * * !GitBucket! * ******************************* PHP Notice: Undefined index: version in /opt/ptconfigure/ptconfigure/src/Modules/GitBucket/Model/GitBucketUbuntu.php on line 67 [Pharaoh Logging] Ensure module install is not checking versions [Pharaoh Logging] Command ’git’ found [Pharaoh Logging] No command ’gitk’ found [Pharaoh Logging] No command ’git-cola’ found [Pharaoh Logging] Installing as not installed

144 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

******************************* * Pharaoh Tools * * !Git Tools!! * ******************************* PHP Warning: file_put_contents(/opt/ptconfigure/ptconfigure/src/Modules/ptconfigureRequired/Model/../../../cleovars): failed to open stream: Permission denied in /opt/ptconfigure/ptconfigure/src/Modules/ptconfigureRequired/Model/AppConfig.php on line 115 [Pharaoh Logging] Package git from the Packager Apt is already installed, so not installing Reading package lists... Building dependency tree... Reading state information... The following NEW packages will be installed: git-core 0 upgraded,1 newly installed,0 to remove and 301 not upgraded. Need to get 1,458 B of archives. After this operation, 21.5 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main git-core all 1:1.9.1-1ubuntu0.1[1,458 B] Fetched 1,458 B in 1s(783 B/s) Selecting previously unselected package git-core. (Reading database ... 182763 files and directories currently installed.) Preparing to unpack .../git-core_1%3a1.9.1-1ubuntu0.1_all.deb ... Unpacking git-core(1:1.9.1-1ubuntu0.1) ... Setting up git-core(1:1.9.1-1ubuntu0.1) ... [Pharaoh Logging] Adding Package git-core from the Packager Apt executed correctly PHP Warning: file_put_contents(/opt/ptconfigure/ptconfigure/src/Modules/ptconfigureRequired/Model/../../../cleovars): failed to open stream: Permission denied in /opt/ptconfigure/ptconfigure/src/Modules/ptconfigureRequired/Model/AppConfig.php on line 115 Reading package lists... Building dependency tree... Reading state information... Suggested packages: git-doc The following NEW packages will be installed: gitk 0 upgraded,1 newly installed,0 to remove and 301 not upgraded. Need to get 121 kB of archives. After this operation, 1,250 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main gitk all 1:1.9.1-1ubuntu0.1[121 kB] Fetched 121 kB in 2s(43.1 kB/s) Selecting previously unselected package gitk. (Reading database ... 182764 files and directories currently installed.) Preparing to unpack .../gitk_1%3a1.9.1-1ubuntu0.1_all.deb ... Unpacking gitk(1:1.9.1-1ubuntu0.1) ... Processing triggers for man-db(2.6.7.1-1) ... Setting up gitk(1:1.9.1-1ubuntu0.1) ... [Pharaoh Logging] Adding Package gitk from the Packager Apt executed correctly PHP Warning: file_put_contents(/opt/ptconfigure/ptconfigure/src/Modules/ptconfigureRequired/Model/../../../cleovars): failed to open stream: Permission denied in /opt/ptconfigure/ptconfigure/src/Modules/ptconfigureRequired/Model/AppConfig.php on line 115 Reading package lists... Building dependency tree... Reading state information... The following extra packages will be installed: libjs- libjs-underscore Suggested packages: python-pyinotify python-simplejson javascript-common Recommended packages: xxdiff The following NEW packages will be installed: git-cola libjs-jquery libjs-underscore 0 upgraded,3 newly installed,0 to remove and 301 not upgraded. Need to get 363 kB of archives. After this operation, 1,886 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty/main libjs-jquery all 1.7.2+dfsg-2ubuntu1[78.8 kB]

1.1. Commands 145 kevells Documentation, Release 0.1

Get:2 http://in.archive.ubuntu.com/ubuntu/ trusty/main libjs-underscore all 1.4.4-2ubuntu1[45.6 kB] Get:3 http://in.archive.ubuntu.com/ubuntu/ trusty/universe git-cola all 1.9.3-1[239 kB] Fetched 363 kB in 13s(27.8 kB/s) Selecting previously unselected package libjs-jquery. (Reading database ... 182782 files and directories currently installed.) Preparing to unpack .../libjs-jquery_1.7.2+dfsg-2ubuntu1_all.deb ... Unpacking libjs-jquery(1.7.2+dfsg-2ubuntu1) ... Selecting previously unselected package libjs-underscore. Preparing to unpack .../libjs-underscore_1.4.4-2ubuntu1_all.deb ... Unpacking libjs-underscore(1.4.4-2ubuntu1) ... Selecting previously unselected package git-cola. Preparing to unpack .../git-cola_1.9.3-1_all.deb ... Unpacking git-cola(1.9.3-1) ... Processing triggers for man-db(2.6.7.1-1) ... Processing triggers for gnome-menus(3.10.1-0ubuntu2) ... Processing triggers for desktop-file-utils(0.22-1ubuntu1) ... Processing triggers for bamfdaemon(0.5.1+14.04.20140409-0ubuntu1) ... Rebuilding /usr/share/applications/bamf-2.index... Processing triggers for mime-support(3.54ubuntu1) ... Setting up libjs-jquery(1.7.2+dfsg-2ubuntu1) ... Setting up libjs-underscore(1.4.4-2ubuntu1) ... Setting up git-cola(1.9.3-1) ... [Pharaoh Logging] Adding Package git-cola from the Packager Apt executed correctly PHP Warning: file_put_contents(/opt/ptconfigure/ptconfigure/src/Modules/ptconfigureRequired/Model/../../../cleovars): failed to open stream: Permission denied in /opt/ptconfigure/ptconfigure/src/Modules/ptconfigureRequired/Model/AppConfig.php on line 115 ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more [Pharaoh Logging] Ensure module install is not checking versions [Pharaoh Logging] Module Java reports itself as Installed [Pharaoh Logging] Not installing as already installed Creating /tmp/ptconfigure-temp-script-15361773074.sh chmod 755 /tmp/ptconfigure-temp-script-15361773074.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-15361773074.sh Permissions Executing /tmp/ptconfigure-temp-script-15361773074.sh Cloning into ’gitbucket-war’... remote: Counting objects: 8, done. remote: Total8(delta 0), reused0(delta 0) Unpacking objects: 100%(8/8), done. Checking connectivity... done. mkdir: cannot create directory ‘/opt/gitbucket/’: Permission denied mv: target ‘/opt/gitbucket/’ is not a directory Temp File /tmp/ptconfigure-temp-script-15361773074.sh Removed Enter Repository Root Directory: / Program Executor Deleted if existed PHP Warning: file_put_contents(/usr/bin/gitbucket): failed to open stream: Permission denied in /opt/ptconfigure/ptconfigure/src/Modules/ptconfigureRequired/Model/BaseLinuxApp.php on line 312 chmod: cannot access ‘/usr/bin/gitbucket’: No such file or directory ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------GitBucket: Success ------Installer Finished

146 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

******************************

Parameters Alternative Parameter Option Comments Options ptconfigure gitbucket Install GitBucket, gitbucket , git-bucket Y System starts installation process ptconfigure gitbucket Install GitBucket, gitbucket , git-bucket| N System stops installation

Benefits • Git supports rapid branching and merging, and includes specific tools for visualizing and navigating a non-linear development history. • Repositories can be published via HTTP, FTP, rsync, or a Git protocol over either a plain socket, or ssh. • Git described as being very fast, scalable and showed it was an order of magnitude faster than some version- control systems, and fetching version history from a locally stored repository can be one hundred times faster than fetching it from the remote server. • The keywords in changelogs are hyperlinked to the corresponding Issue pages, Pull Requests pages and Wiki pages. • The change set and in change logs are hyperlinked to GitBucket repository viewer. • Trigger a build when a change is pushed to GitBucket using a WebHook.

GitKeySafe

Synopsis Git key safe which helps you to installs Git key safe. This allows permission in a secure way. These systems have the ability of the users to view permission of the filesystem. The read permission grants the ability to read a file. The write permission grants the ability to modify a file. The execute permission grants the ability to execute a file. It comforts with Ubuntu and cent OS.

Help command The help command leads the users regarding the purpose and as well as about the options that are included in the Gitkeysafe modules. The help command lists out the alternative parameters of Gitkeysafe under ptconfigure module. It also describes the syntax for installing the user’s keysafe. The help command for Gitkeysafe is shown below. ptconfigure GitkeySafe help

The syntax for the help command non case sensitive which adds an advantage for this module. The following screen- shot visualize the user about the help command under the syntax for the help command non case sensitive which adds an advantage for this module. The following screenshot visualize the user about the help command under gitkeysafe. kevell@corp:/# ptconfigure GitKeySafe help

******************************

This module installs Git Key-Safe Server to the program git-key-safe

GitKeySafe, git-key-safe, gitkeysafe

- install Installs Git Key-Safe Server example: ptconfigure gitkeysafe install

script example: git-safe-key -i /path/to/key clone http://git.com/repo.git

1.1. Commands 147 kevells Documentation, Release 0.1

------End Help ******************************

Installation Installation typically involves code being copied/generated from the installation files to new files on the local computer for easier access by the operating system.. Using them, the user has to make sure and have a backup, so the user data can always be restored. The following command used to install git key safe. ptconfigure gitkeysafe install

While installing this module the following screen shot will be appeared. kevell@corp:/# ptconfigure gitkeysafe install

Install Git Key-Safe Server?(Y/N) Y ******************************* * Pharaoh Tools * * Git Key-Safe Server! * ******************************* Git Key-Safe script /usr/bin/git-key-safe added Git Key-Safe script /usr/bin/git-key-safe permissions changed to 775 ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------GitKeySafe: Success ------Installer Finished ******************************

Parameters Alternate Parameters Op- Comments tions Install Instead of using gitkeysafe we can use Y It installs gitkeysafe under Option gitkeysafe GitKeySafe,git-key-safe ptconfigure Install Instead of using gitkeysafe we can use N The system exit the installation gitkeysafe GitKeySafe,git-key-safe|

Benefits • Non case sensitivity • Uses to install Git key safe • View the user permission • Work with Ubuntu and cent OS • Security is possible

148 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Git lab

Synopsis GitLab is an incredibly powerful open source code collaboration platform, git repository manager, issue tracker and code reviewer. It integrates with issue trackers, continuous integration services and has phenomenal Active Directory support. It installs redis server and library functions also. This is manageable in Ubuntu and centos.

Helpcommand Help command includes an extensive, console-based help system, reminiscent of man pages in Ubuntu. The help topics include help for installing the dependencies, and libraries redis server. Simple to write the commands without arguments. ptconfigure gitlab help

The following screenshots explains its functions clearly. kevell@corp:/# ptconfigure gitlab help ******************************

This command allows you to install a full Git Lab installation on to a server The dependencies for GitLab are also installed.

GitLab, gitlab, git-lab

- install Installs the latest version of GitLab on a system example: ptconfigure gitlab install

------End Help ******************************

Installation Installation includes provision of or connection to services required to make the installed equipment ready for operation. It is a revealed process to install git lab module under ptconfigure by just using the command given below, ptconfigure gitlab install

After vitalize the command it will catechize input. The user input as yes automatically it will install gitlab with checking from the system. The following screen shot demonstrates it.

Parameters Alternative Parameter Op- Comments tions Install We can use Gitlab, gitlab, Y(Yes) It will install git and set of common gitlab under Options gitlab?(Y/N) git-lab ptconfigure. Install We can use Gitlab, gitlab, N(No) The system exit the installation gitlab?(Y/N) git-lab|

Benefits • Gitlab tracks the content rather than the files • Branches are lightweight, and merging is a simple process • Allows for a more streamlined offline development process

1.1. Commands 149 kevells Documentation, Release 0.1

• Repositories are smaller in size and are stored in a single .git directory • Allows for advanced staging operations, and the use of stashing when working through troublesome sections. • Developed for Ubuntu systems, however community support exists for other distributions such as Arch, CentOS, Fedora, or Gentoo • Requires a specified version and components to operate • Based to run on top of Git, and utilizes a special Git user account to separate the repository • Allows for self-maintained version control for a closed source project • Integrates seamlessly with Git • Allows for a detailed viewing and documentation of the project • Allows redis server to install.

Git tools

Synopsis Gittools is a distributed revision control system with an emphasis on speed, data integrity, and support for distributed, non-linear workflows. This module lift installation in updated version. While installing it can also install gitfrom,git core,gitcole,gitfrom under ptconfigure. Automation is possible. It is user friendly with Ubuntu and cent OS.

Help command This help command guide the user about ptconfigure. It is less time consuming because it can installed automatically. Suitable for all type of user. The following help command will assist the user for gittools installation. This command-line argument specifies the name of the command about which information is to be displayed. ptconfigure gittools help

After typing the command it shows the usage. The screen shot can express the function of this command. kevell@corp:/# ptconfigure GitTools help ******************************

This command allows you to install Git and a set of common Git Tools. These include Git - the distributed source control manager, git Core a supplement to Git, Gitk which is a GUI for git, and git-cola, which is also a Git GUI.

GitTools, gittools, git-tools

- install Installs the latest version of Git Tools example: ptconfigure gittools install

------End Help ******************************

Installation Installation includes provision of or connection to services required to make the installed equipment ready for operation. It is a manifest process to install gittools module under ptconfigure by just using the command given below,

150 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

ptconfigure gittools install

After vitalize the command it will catechize input. The user input as yes automatically it will install gittools with checking from the system. The following screen shot demonstrates it. kevell@corp:/# ptconfigure gittools install Install Git Tools?(Y/N) y ******************************* * Pharaoh Tools * * !Git Tools!! * ******************************* [Pharaoh Logging] Package git from the Packager Apt is already installed, so not installing [Pharaoh Logging] Package git-core from the Packager Apt is already installed, so not installing Reading package lists... Building dependency tree... Reading state information... The following packages were automatically installed and are no longer required: linux-headers-generic linux-image-generic Use ’apt-get autoremove’ to remove them. Suggested packages: git-doc The following NEW packages will be installed: gitk 0 upgraded,1 newly installed,0 to remove and 299 not upgraded. Need to get 121 kB of archives. After this operation, 1,250 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main gitk all 1:1.9.1-1ubuntu0.1[121 kB] Fetched 121 kB in 19s(6,077 B/s) Selecting previously unselected package gitk. (Reading database ... 176395 files and directories currently installed.) Preparing to unpack .../gitk_1%3a1.9.1-1ubuntu0.1_all.deb ... Unpacking gitk(1:1.9.1-1ubuntu0.1) ... Processing triggers for man-db(2.6.7.1-1) ... Setting up gitk(1:1.9.1-1ubuntu0.1) ... [Pharaoh Logging] Adding Package gitk from the Packager Apt executed correctly Reading package lists... Building dependency tree... Reading state information... The following packages were automatically installed and are no longer required: linux-headers-generic linux-image-generic Use ’apt-get autoremove’ to remove them. The following extra packages will be installed: libjs-jquery libjs-underscore Suggested packages: python-pyinotify python-simplejson javascript-common Recommended packages: xxdiff The following NEW packages will be installed: git-cola libjs-jquery libjs-underscore 0 upgraded,3 newly installed,0 to remove and 299 not upgraded. Need to get 363 kB of archives. After this operation, 1,886 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty/main libjs-jquery all 1.7.2+dfsg-2ubuntu1[78.8 kB] Get:2 http://in.archive.ubuntu.com/ubuntu/ trusty/main libjs-underscore all 1.4.4-2ubuntu1[45.6 kB] Get:3 http://in.archive.ubuntu.com/ubuntu/ trusty/universe git-cola all 1.9.3-1[239 kB] Fetched 363 kB in 1min 3s(5,679 B/s)

1.1. Commands 151 kevells Documentation, Release 0.1

Selecting previously unselected package libjs-jquery. (Reading database ... 176413 files and directories currently installed.) Preparing to unpack .../libjs-jquery_1.7.2+dfsg-2ubuntu1_all.deb ... Unpacking libjs-jquery(1.7.2+dfsg-2ubuntu1) ... Selecting previously unselected package libjs-underscore. Preparing to unpack .../libjs-underscore_1.4.4-2ubuntu1_all.deb ... Unpacking libjs-underscore(1.4.4-2ubuntu1) ... Selecting previously unselected package git-cola. Preparing to unpack .../git-cola_1.9.3-1_all.deb ... Unpacking git-cola(1.9.3-1) ... Processing triggers for man-db(2.6.7.1-1) ... Processing triggers for gnome-menus(3.10.1-0ubuntu2) ... Processing triggers for desktop-file-utils(0.22-1ubuntu1) ... Processing triggers for bamfdaemon(0.5.1+14.04.20140409-0ubuntu1) ... Rebuilding /usr/share/applications/bamf-2.index... Processing triggers for mime-support(3.54ubuntu1) ... Setting up libjs-jquery(1.7.2+dfsg-2ubuntu1) ... Setting up libjs-underscore(1.4.4-2ubuntu1) ... Setting up git-cola(1.9.3-1) ... [Pharaoh Logging] Adding Package git-cola from the Packager Apt executed correctly ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------GitTools: Success ------Installer Finished ******************************

The installation processing quickly by the following steps, Step 1 Install gittools ?(Y/N) Step 2 If the user gives Y,the system can check the version and install it Step 3 If the user gives N, exit the installation.

Parameters Alternative Parameter Op- Comments tions Install git- Instead of using gittools we can use Y(Yes) It will install git and set of common Options tools?(Y/N) GitTools,gittools,git-tools gittools under ptconfigure. Install git- Instead of using gittools we can use N(No) The system exit the installation tools?(Y/N) GitTools,gittools,git-tools|

Benefits • Gittools are associated with complex workflows. • Gittools makes granular commits easier than any other version control system (VCS) because the user can determine which changes exactly shall be in the next commit. • Gittools to improve the user coding workflow. • git-cola is an advanced Git commit tool, similar to git-gui. • git-cola features a graphical viewer, easy, interactive staging, inotify support.

152 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

HAProxy

Synopsis HAProxy is a free, open source high availability solution, providing load balancing and proxy for TCP and HTTP-based applications by spreading requests across multiple servers. Has a reputation for being fast and efficient (in terms of processor and memory usage).

Help Command This command helps to determine the usage of HAProxy module. The user will come to know about the different ways/format to execute this module. This command will guide the end user to know when and how the command to be used. Below given are the command and the screenshot of the same. ptconfigure HAproxy help

The pictorial representation of the above command is listed below, kevell@corp:/# ptconfigure HAProxy help

******************************

This module provides installs HA Proxy Server

HAProxy, ha-proxy, haproxy

- install Installs HA Proxy Server example: ptconfigure haproxy install

- configure Configure Load Balancing with HA Proxy Server example: ptconfigure haproxy configure

------End Help ******************************

Installation We can install HAProxy using distribution’s package manager. When the user needs to install HAproxy module in machine. The below given command will execute the process of installation. ptconfigure HAproxy install

The pictorial representation of the above command is listed below, kevell@corp:/# ptconfigure haproxy install Install HA Proxy Server?(Y/N) y ******************************* * Pharaoh Tools * * HA Proxy Server! * ******************************* [Pharaoh Logging] Package haproxy from the Packager Apt is already installed, so not installing HA Proxy Init script config file /etc/default/haproxy added [Pharaoh Logging] Restarting haproxy service [ALERT] 041/154050(17460) : parsing[/etc/haproxy/haproxy.cfg:25] : unknown keyword ’1’ in ’defaults’ section [ALERT] 041/154050(17460) : parsing[/etc/haproxy/haproxy.cfg:32] : unknown option ’tcp-check’. [ALERT] 041/154050(17460) : parsing[/etc/haproxy/haproxy.cfg:34] : unknown keyword ’tcp-check’ in ’backend’ section [ALERT] 041/154050(17460) : parsing[/etc/haproxy/haproxy.cfg:35] : unknown keyword ’tcp-check’ in ’backend’ section [ALERT] 041/154050(17460) : parsing[/etc/haproxy/haproxy.cfg:36] : unknown keyword ’tcp-check’ in ’backend’ section

1.1. Commands 153 kevells Documentation, Release 0.1

[ALERT] 041/154050(17460) : parsing[/etc/haproxy/haproxy.cfg:37] : unknown keyword ’tcp-check’ in ’backend’ section [ALERT] 041/154050(17460) : parsing[/etc/haproxy/haproxy.cfg:38] : unknown keyword ’tcp-check’ in ’backend’ section [ALERT] 041/154050(17460) : parsing[/etc/haproxy/haproxy.cfg:39] : unknown keyword ’tcp-check’ in ’backend’ section [ALERT] 041/154050(17460) : Error(s) found in configuration file : /etc/haproxy/haproxy.cfg [ALERT] 041/154050(17460) : Fatal errors found in configuration. * Restarting haproxy haproxy ...fail! ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------HAProxy: Success ------Installer Finished ******************************

Parameters Alternative Parameters Options Comments Options ptconfigure HAProxy Install HAProxy , ha-proxy, haproxy Y System starts installation process ptconfigure HAProxy Install| HAProxy , ha-proxy, haproxy N System stops installation process

Configuration This command helps in configuring the load balancing with HAproxy server. Once the below given command is executed the system provides you with the default value for each section, if there are any changes to be done, the user can provide the data. ptconfigure HAproxy configure

The screenshot for the above command is listed below, kevell@corp:/# ptconfigure haproxy configure

******************************* * Pharaoh Tools * * HA Proxy Server! * *******************************

What is the environment name you want to balance load to?

PHP Notice: Undefined index: in /opt/ptconfigure/ptconfigure/src/Modules/HAProxy/Model/HAProxyConfigureUbuntu.php on line 102 PHP Notice: Undefined index: in /opt/ptconfigure/ptconfigure/src/Modules/HAProxy/Model/HAProxyConfigureUbuntu.php on line 102 PHP Warning: Invalid argument supplied for foreach() in /opt/ptconfigure/ptconfigure/src/Modules/HAProxy/Model/HAProxyConfigureUbuntu.php on line 75 Set non-default value for global_log? Default is 127.0.0.1 local0 notice(Y/N)

Set non-default value for global_maxconn? Default is 20000(Y/N)

Set non-default value for global_user? Default is haproxy(Y/N)

Set non-default value for global_group? Default is haproxy(Y/N)

Set non-default value for defaults_log? Default is global(Y/N)

Set non-default value for defaults_mode? Default is http(Y/N)

Set non-default value for defaults_option_string? Default is option dontlognull

154 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

option redispatch(Y/N)

Set non-default value for defaults_retries? Default is3(Y/N)

Set non-default value for defaults_timeout_connect? Default is 5000(Y/N)

Set non-default value for defaults_timeout_client? Default is 10000(Y/N)

Set non-default value for defaults_timeout_server? Default is 10000(Y/N)

Set non-default value for listen_appname? Default is appname(Y/N)

Set non-default value for listen_ip_port? Default is 0.0.0.0:80(Y/N)

Set non-default value for listen_mode? Default is http(Y/N)

Set non-default value for listen_balance? Default is roundrobin(Y/N)

Set non-default value for listen_option_string? Default is option httpclose option forwardfor(Y/N)

Set non-default value for listen_server_string? Default is(Y/N)

... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------HA Proxy Server: Success ------Installer Finished ******************************

Benefits • All applications access the cluster via one single IP. The topology of the database cluster masked behind HAProxy. • It is possible to add or remove database nodes without any changes to the applications. • Once the max number of database connections (in MySQL) reached, HAProxy queues additional new connec- tions. This is a neat way of throttling database connection requests and achieves overload protection.

HHVM

Synopsis This module facilitates installing and un installing the HHVM which is a popular build server to your machine. HipHop Virtual Machine (HHVM) is a process virtual machine based on just-in-time (JIT) compilation, serving as an execution engine for PHP and Hack programming languages. By using the principle of JIT compilation, executed PHP or Hack code is first transformed into intermediate HipHop byte code (HHBC), which is then dynami- cally translated into the x86-64 machine code, optimized and natively executed. Let us see about the HHVM module in upcoming topics.

1.1. Commands 155 kevells Documentation, Release 0.1

Help Command The help command guides the users regarding the purpose and as well as about the options that are included in the HHVM module. It lists out the alternative parameters of HHVM module. It also describes the syntax for installing the HHVM module. The help command for HHVM module is shown as below. ptconfigure HHVM help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under HHVM. kevell@corp:/# ptconfigure HHVM help ******************************

This command allows you to install HHVM, the popular Build Server.

HHVM, hhvm

- install Installs HHVM through package manager example: ptconfigure hhvm install

- uninstall Uninstalls HHVM through package manager example: ptconfigure hhvm uninstall

------End Help ******************************

Installation The command used for installing the HHVM to the users machine is shown below. ptconfigure HHVM install

After inputting the command above, the following process occurs as shown in the tabular format. Parameters Alternative Parameter Op- Comments tions Install HHVM? Instead of HHVM we can use Y(Yes) If the user wish to proceed the installation process (Y/N) hhvm also. they can input as Y. Install HHVM? Instead of HHVM we can use N(No) If the user wish to quit the installation process they (Y/N) hhvm also. can input as N.| Finally, installation process gets completed. The following screenshot pictorially represents the process of installing HHVM. kevell@corp:/# ptconfigure HHVM install Install HHVM? (Y/N) Y ******************************* * Pharaoh Tools * * ! HHVM ! * ******************************* Creating /tmp/ptconfigure-temp-script-41870275104.sh chmod 755 /tmp/ptconfigure-temp-script-41870275104.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-41870275104.sh Permissions Executing /tmp/ptconfigure-temp-script-41870275104.sh --2015-01-16 14:19:14-- http://dl.hhvm.com/conf/hhvm.gpg.key Resolving dl.hhvm.com (dl.hhvm.com)... 140.211.166.134 Connecting to dl.hhvm.com (dl.hhvm.com)|140.211.166.134|:80... connected.

156 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

HTTP request sent, awaiting response... 200 OK Length: 1707 (1.7K) [application/pgp-keys] Saving to: ‘STDOUT’

100%[======>] 1,707 --.-K/s in 0.001s

2015-01-16 14:19:16 (1.68 MB/s) - written to stdout [1707/1707]

OK deb http://dl.hhvm.com/ubuntu trusty main Get:1 http://dl.hhvm.com trusty InRelease [2,104 B] Hit http://downloads.hipchat.com stable InRelease Ign http://security.ubuntu.com trusty-security InRelease Ign http://extras.ubuntu.com trusty InRelease Ign http://in.archive.ubuntu.com trusty InRelease Get:2 http://security.ubuntu.com trusty-security Release.gpg [933 B] Hit http://downloads.hipchat.com stable/main amd64 Packages Get:3 http://dl.hhvm.com trusty/main amd64 Packages [1,669 B] Hit http://extras.ubuntu.com trusty Release.gpg Get:4 http://security.ubuntu.com trusty-security Release [62.0 kB] Ign http://in.archive.ubuntu.com trusty-updates InRelease Hit http://downloads.hipchat.com stable/main i386 Packages Get:5 http://dl.hhvm.com trusty/main i386 Packages [20 B] Hit http://extras.ubuntu.com trusty Release Ign http://in.archive.ubuntu.com trusty-backports InRelease Hit http://extras.ubuntu.com trusty/main Sources Hit http://in.archive.ubuntu.com trusty Release.gpg Hit http://extras.ubuntu.com trusty/main amd64 Packages Get:6 http://security.ubuntu.com trusty-security/main Sources [63.1 kB] Get:7 http://in.archive.ubuntu.com trusty-updates Release.gpg [933 B] Hit http://extras.ubuntu.com trusty/main i386 Packages Hit http://in.archive.ubuntu.com trusty-backports Release.gpg Get:8 http://security.ubuntu.com trusty-security/restricted Sources [2,061 B] Hit http://in.archive.ubuntu.com trusty Release Get:9 http://security.ubuntu.com trusty-security/universe Sources [17.4 kB] Get:10 http://in.archive.ubuntu.com trusty-updates Release [62.0 kB] Get:11 http://security.ubuntu.com trusty-security/multiverse Sources [716 B] Get:12 http://security.ubuntu.com trusty-security/main amd64 Packages [196 kB] Ign http://downloads.hipchat.com stable/main Translation-en_IN Ign http://dl.hhvm.com trusty/main Translation-en_IN Ign http://downloads.hipchat.com stable/main Translation-en Hit http://in.archive.ubuntu.com trusty-backports Release Ign http://dl.hhvm.com trusty/main Translation-en Hit http://in.archive.ubuntu.com trusty/main Sources Get:13 http://security.ubuntu.com trusty-security/restricted amd64 Packages [8,875 B] Get:14 http://security.ubuntu.com trusty-security/universe amd64 Packages [84.2 kB] Hit http://in.archive.ubuntu.com trusty/restricted Sources Hit http://in.archive.ubuntu.com trusty/universe Sources Ign http://extras.ubuntu.com trusty/main Translation-en_IN Hit http://in.archive.ubuntu.com trusty/multiverse Sources Get:15 http://security.ubuntu.com trusty-security/multiverse amd64 Packages [1,166 B] Ign http://extras.ubuntu.com trusty/main Translation-en Get:16 http://security.ubuntu.com trusty-security/main i386 Packages [187 kB] Hit http://in.archive.ubuntu.com trusty/main amd64 Packages Hit http://in.archive.ubuntu.com trusty/restricted amd64 Packages Hit http://in.archive.ubuntu.com trusty/universe amd64 Packages Hit http://in.archive.ubuntu.com trusty/multiverse amd64 Packages Hit http://in.archive.ubuntu.com trusty/main i386 Packages

1.1. Commands 157 kevells Documentation, Release 0.1

Hit http://in.archive.ubuntu.com trusty/restricted i386 Packages Get:17 http://security.ubuntu.com trusty-security/restricted i386 Packages [8,846 B] Hit http://in.archive.ubuntu.com trusty/universe i386 Packages Get:18 http://security.ubuntu.com trusty-security/universe i386 Packages [84.2 kB] Hit http://in.archive.ubuntu.com trusty/multiverse i386 Packages Get:19 http://security.ubuntu.com trusty-security/multiverse i386 Packages [1,412 B] Hit http://in.archive.ubuntu.com trusty/main Translation-en Hit http://security.ubuntu.com trusty-security/main Translation-en Hit http://security.ubuntu.com trusty-security/multiverse Translation-en Hit http://in.archive.ubuntu.com trusty/multiverse Translation-en Hit http://security.ubuntu.com trusty-security/restricted Translation-en Hit http://security.ubuntu.com trusty-security/universe Translation-en Hit http://in.archive.ubuntu.com trusty/restricted Translation-en Hit http://in.archive.ubuntu.com trusty/universe Translation-en Get:20 http://in.archive.ubuntu.com trusty-updates/main Sources [155 kB] Get:21 http://in.archive.ubuntu.com trusty-updates/restricted Sources [2,061 B] Get:22 http://in.archive.ubuntu.com trusty-updates/universe Sources [97.6 kB] Get:23 http://in.archive.ubuntu.com trusty-updates/multiverse Sources [3,550 B] Get:24 http://in.archive.ubuntu.com trusty-updates/main amd64 Packages [398 kB] Get:25 http://in.archive.ubuntu.com trusty-updates/restricted amd64 Packages [8,875 B] Get:26 http://in.archive.ubuntu.com trusty-updates/universe amd64 Packages [239 kB] Get:27 http://in.archive.ubuntu.com trusty-updates/multiverse amd64 Packages [9,373 B] Get:28 http://in.archive.ubuntu.com trusty-updates/main i386 Packages [390 kB] Get:29 http://in.archive.ubuntu.com trusty-updates/restricted i386 Packages [8,846 B] Get:30 http://in.archive.ubuntu.com trusty-updates/universe i386 Packages [240 kB] Get:31 http://in.archive.ubuntu.com trusty-updates/multiverse i386 Packages [9,567 B] Hit http://in.archive.ubuntu.com trusty-updates/main Translation-en Hit http://in.archive.ubuntu.com trusty-updates/multiverse Translation-en Hit http://in.archive.ubuntu.com trusty-updates/restricted Translation-en Hit http://in.archive.ubuntu.com trusty-updates/universe Translation-en Hit http://in.archive.ubuntu.com trusty-backports/main Sources Hit http://in.archive.ubuntu.com trusty-backports/restricted Sources Hit http://in.archive.ubuntu.com trusty-backports/universe Sources Hit http://in.archive.ubuntu.com trusty-backports/multiverse Sources Hit http://in.archive.ubuntu.com trusty-backports/main amd64 Packages Hit http://in.archive.ubuntu.com trusty-backports/restricted amd64 Packages Hit http://in.archive.ubuntu.com trusty-backports/universe amd64 Packages Hit http://in.archive.ubuntu.com trusty-backports/multiverse amd64 Packages Hit http://in.archive.ubuntu.com trusty-backports/main i386 Packages Hit http://in.archive.ubuntu.com trusty-backports/restricted i386 Packages Hit http://in.archive.ubuntu.com trusty-backports/universe i386 Packages Hit http://in.archive.ubuntu.com trusty-backports/multiverse i386 Packages Hit http://in.archive.ubuntu.com trusty-backports/main Translation-en Hit http://in.archive.ubuntu.com trusty-backports/multiverse Translation-en Hit http://in.archive.ubuntu.com trusty-backports/restricted Translation-en Hit http://in.archive.ubuntu.com trusty-backports/universe Translation-en Ign http://in.archive.ubuntu.com trusty/main Translation-en_IN Ign http://in.archive.ubuntu.com trusty/multiverse Translation-en_IN Ign http://in.archive.ubuntu.com trusty/restricted Translation-en_IN Ign http://in.archive.ubuntu.com trusty/universe Translation-en_IN Fetched 2,347 kB in 42s (55.6 kB/s) Reading package lists... Temp File /tmp/ptconfigure-temp-script-41870275104.sh Removed Reading package lists... Building dependency tree... Reading state information... The following extra packages will be installed: libboost-filesystem1.54.0 libboost-program-options1.54.0

158 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

libboost-regex1.54.0 libboost-thread1.54.0 libgflags2 libgoogle-glog0 libjemalloc1 libmemcached10 libonig2 libtbb2 libunwind8 The following NEW packages will be installed: hhvm libboost-filesystem1.54.0 libboost-program-options1.54.0 libboost-regex1.54.0 libboost-thread1.54.0 libgflags2 libgoogle-glog0 libjemalloc1 libmemcached10 libonig2 libtbb2 libunwind8 0 upgraded, 12 newly installed, 0 to remove and 228 not upgraded. Need to get 13.8 MB of archives. After this operation, 4,036 kB of additional disk space will be used. Get:1 http://dl.hhvm.com/ubuntu/ trusty/main hhvm amd64 3.4.2~trusty [12.9 MB] Get:2 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main libboost-filesystem1.54.0 amd64 1.54.0-4ubuntu3.1 [34.2 kB] Get:3 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main libboost-program-options1.54.0 amd64 1.54.0-4ubuntu3.1 [115 kB] Get:4 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main libboost-regex1.54.0 amd64 1.54.0-4ubuntu3.1 [261 kB] Get:5 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main libboost-thread1.54.0 amd64 1.54.0-4ubuntu3.1 [26.5 kB] Get:6 http://in.archive.ubuntu.com/ubuntu/ trusty/main libgflags2 amd64 2.0-1.1ubuntu1 [65.9 kB] Get:7 http://in.archive.ubuntu.com/ubuntu/ trusty/main libunwind8 amd64 1.1-2.2ubuntu3 [48.3 kB] Get:8 http://in.archive.ubuntu.com/ubuntu/ trusty/main libgoogle-glog0 amd64 0.3.3-1 [61.3 kB] Get:9 http://in.archive.ubuntu.com/ubuntu/ trusty/main libmemcached10 amd64 1.0.8-1ubuntu2 [83.4 kB] Get:10 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libjemalloc1 amd64 3.5.1-2 [76.8 kB] Get:11 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libonig2 amd64 5.9.1-1ubuntu1 [89.1 kB] Get:12 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libtbb2 amd64 4.2~20130725-1.1ubuntu1 [94.7 kB] Fetched 13.8 MB in 4min 15s (54.2 kB/s) Selecting previously unselected package libboost-filesystem1.54.0:amd64. (Reading database ... 180191 files and directories currently installed.) Preparing to unpack .../libboost-filesystem1.54.0_1.54.0-4ubuntu3.1_amd64.deb ... Unpacking libboost-filesystem1.54.0:amd64 (1.54.0-4ubuntu3.1) ... Selecting previously unselected package libboost-program-options1.54.0:amd64. Preparing to unpack .../libboost-program-options1.54.0_1.54.0-4ubuntu3.1_amd64.deb ... Unpacking libboost-program-options1.54.0:amd64 (1.54.0-4ubuntu3.1) ... Selecting previously unselected package libboost-regex1.54.0:amd64. Preparing to unpack .../libboost-regex1.54.0_1.54.0-4ubuntu3.1_amd64.deb ... Unpacking libboost-regex1.54.0:amd64 (1.54.0-4ubuntu3.1) ... Selecting previously unselected package libboost-thread1.54.0:amd64. Preparing to unpack .../libboost-thread1.54.0_1.54.0-4ubuntu3.1_amd64.deb ... Unpacking libboost-thread1.54.0:amd64 (1.54.0-4ubuntu3.1) ... Selecting previously unselected package libgflags2. Preparing to unpack .../libgflags2_2.0-1.1ubuntu1_amd64.deb ... Unpacking libgflags2 (2.0-1.1ubuntu1) ... Selecting previously unselected package libunwind8. Preparing to unpack .../libunwind8_1.1-2.2ubuntu3_amd64.deb ... Unpacking libunwind8 (1.1-2.2ubuntu3) ... Selecting previously unselected package libgoogle-glog0. Preparing to unpack .../libgoogle-glog0_0.3.3-1_amd64.deb ... Unpacking libgoogle-glog0 (0.3.3-1) ... Selecting previously unselected package libmemcached10:amd64. Preparing to unpack .../libmemcached10_1.0.8-1ubuntu2_amd64.deb ... Unpacking libmemcached10:amd64 (1.0.8-1ubuntu2) ... Selecting previously unselected package libjemalloc1. Preparing to unpack .../libjemalloc1_3.5.1-2_amd64.deb ... Unpacking libjemalloc1 (3.5.1-2) ... Selecting previously unselected package libonig2. Preparing to unpack .../libonig2_5.9.1-1ubuntu1_amd64.deb ... Unpacking libonig2 (5.9.1-1ubuntu1) ... Selecting previously unselected package libtbb2. Preparing to unpack .../libtbb2_4.2~20130725-1.1ubuntu1_amd64.deb ... Unpacking libtbb2 (4.2~20130725-1.1ubuntu1) ... Selecting previously unselected package hhvm. Preparing to unpack .../hhvm_3.4.2~trusty_amd64.deb ...

1.1. Commands 159 kevells Documentation, Release 0.1

Unpacking hhvm (3.4.2~trusty) ... Processing triggers for ureadahead (0.100.0-16) ... ureadahead will be reprofiled on next reboot Setting up libboost-filesystem1.54.0:amd64 (1.54.0-4ubuntu3.1) ... Setting up libboost-program-options1.54.0:amd64 (1.54.0-4ubuntu3.1) ... Setting up libboost-regex1.54.0:amd64 (1.54.0-4ubuntu3.1) ... Setting up libboost-thread1.54.0:amd64 (1.54.0-4ubuntu3.1) ... Setting up libgflags2 (2.0-1.1ubuntu1) ... Setting up libunwind8 (1.1-2.2ubuntu3) ... Setting up libgoogle-glog0 (0.3.3-1) ... Setting up libmemcached10:amd64 (1.0.8-1ubuntu2) ... Setting up libjemalloc1 (3.5.1-2) ... Setting up libonig2 (5.9.1-1ubuntu1) ... Setting up libtbb2 (4.2~20130725-1.1ubuntu1) ... Setting up hhvm (3.4.2~trusty) ... ******************************************************************** * HHVM is installed. * * Running PHP web scripts with HHVM is done by having your webserver talk to HHVM * over FastCGI. Install nginx or Apache, and then: * $ sudo /usr/share/hhvm/install_fastcgi.sh * $ sudo /etc/init.d/hhvm restart * (if using nginx) $ sudo /etc/init.d/nginx restart * (if using apache) $ sudo /etc/init.d/apache restart * * Detailed FastCGI directions are online at: * https://github.com/facebook/hhvm/wiki/FastCGI * * If you’re using HHVM to run web scripts, you probably want it to start at boot: * $ sudo update-rc.d hhvm defaults * * Running command-line scripts with HHVM requires no special setup: * $ hhvm whatever.php * * You can use HHVM for /usr/bin/php even if you have php-cli installed: * $ sudo /usr/bin/update-alternatives --install /usr/bin/php php /usr/bin/hhvm 60 ******************************************************************** Processing triggers for libc-bin (2.19-0ubuntu6) ... [Pharaoh Logging] Adding Package hhvm from the Packager Apt executed correctly ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------HHVM: Success ------Installer Finished ******************************

Un installation The command used for un installing the hhvm is shown below. ptconfigure HHVM uninstall

The screenshot for the above command is listed below,

160 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

kevell@corp:/# ptconfigure hhvm uninstall

Uninstall HHVM?(Y/N) y ******************************* * Pharaoh Tools * * ! HHVM ! * ******************************* PHP Warning: Illegal string offset ’object’ in /opt/ptconfigure/ptconfigure/src/Modules/ptconfigureRequired/Model/BaseLinuxApp.php on line 290 PHP Warning: Illegal string offset ’method’ in /opt/ptconfigure/ptconfigure/src/Modules/ptconfigureRequired/Model/BaseLinuxApp.php on line 290 PHP Warning: Illegal string offset ’params’ in /opt/ptconfigure/ptconfigure/src/Modules/ptconfigureRequired/Model/BaseLinuxApp.php on line 290 PHP Warning: call_user_func_array() expects parameter1 to be a valid callback, class ’p’ not found in /opt/ptconfigure/ptconfigure/src/Modules/ptconfigureRequired/Model/BaseLinuxApp.php on line 290 ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Uninstaller: ------HHVM: Success ------Installer Finished ******************************

Benefits • The parameters used in help and installation and un installation operations are not case sensitive which is an added advantage while compared to others. • It is well-to-do in both Ubuntu and as well as Cent OS. • HHVM has the ability to use live type information to produce more efficient native code, leading to higher web server throughput and lower latency.

Host name

Synopsis Since IP addresses are rather difficult to remember (and are not particularly descriptive), the Internet also allows the user to specify a computer by a name rather than a number string. This whole string is known as the comput er’s host name. There are two options are available. Show and Change. By using this module the user can view or modify host name.

Help command This command can function about the objectives and commands available under host name module. It also explains the command to modify host name module. Before modify host name, the user read this help command explains its function. ptconfigure hostname help

The following screen shot can bring to mind it. kevell@corp:/# ptconfigure hostname help

******************************

This command allows you to view or modify hostname

1.1. Commands 161 kevells Documentation, Release 0.1

Hostname, hostname

- change Change the system hostname example: ptconfigure hostname change --hostname="my-laptop"

- show Show the system hostname example: ptconfigure hostname show

------End Help ******************************

Change Hostnames are typically used in an administrative capacity and may appear in computer browser lists, active directory lists, IP address to hostname resolutions, email headers, etc. When the user want to change the host name, can use the following command. ptconfigure hostname change -hostname=”kevellcorp”

From the above command the new host name can enter. kevell@corp:/# ptconfigure hostname change -hostname=”kevellcorp” Enter Hostname: kevellcorp ******************************

Hostname Modifications: ------

Hostname: Success

------Hostname Mods Finished ******************************

Show This module is a perceptible process to view host name under ptconfigure by just using the command given below, ptconfigure hostname show

After key in the command, it shows the host name.

Parameters Alternative Parameter Op- Comments tions ptconfigure hostname Instead of Hostname we Show System starts showing the host name Option can use hostname process under ptconfigure ptconfigure hostname change Instead of Hostname we Change System starts changing the host name –hostname=”Name” can use hostname process under ptconfigure|

Benefits • Hostnames may be simple names consisting of a single word or phrase, or they may be structured.

162 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

• Hostnames can be non-sensitive. • Hostname can view and modified easily.

InstallPackage

Synopsis Install package are differential logic outputs commonly used in high-speed clock distribution circuits. This command provides the user to install package, build server, dev client, test server,dev server, production. This command main function is to preconfigured list of software. It is suitable with Ubuntu and CentOS.

Help command The help command leads the users regarding the purpose and as well as about the options that are included in the installpackage modules. The help command lists out the alternative parameters of installpackage under ptconfigure module. It also describes the syntax for installing. The help command for installpackage module is shown below. ptconfigure installpackage help

The following screen shot shows the full effort of installpackage module. kevell@corp:/# ptconfigure InstallPackage help

******************************

This command is part of Core and provides you with a method by which you can perform some default CLI Installs of different types of box.

InstallPackage, installpackage, installpack, install-pack, install, inpack, install-package

- dev-client install a dev client machine for you to work on, a bunch of IDE’s, DB’s and a complete set of the tools you need to start work immediately. example: ptconfigure install autopilot dev-client

- dev-server Install the preconfigured list of software for a developers server. example: ptconfigure install autopilot dev-server

- test-server Install the preconfigured list of software for a testing server. example: ptconfigure install autopilot test-server

- build-server Install the preconfigured list of software for a build server. example: ptconfigure install autopilot test-server

- production Install the preconfigured list of software for a production server. example: ptconfigure install autopilot test-server

------End Help ******************************

Installation Installation includes installation of installpackage required to make the installation in an updated ver- sion. It is a manifest process to install Installpackage module under ptconfigure. Installpackage by just using the

1.1. Commands 163 kevells Documentation, Release 0.1 command given below, ptconfigure installpackage Install

After vitalize the command it will catechize input. When the user input as yes automatically it will install Installpackage with checking from the system. If not exit the installation. The following screen shot demonstrate Installpackage and its functions.

Alternative parameters The following are the alternative parameters that can be defined in declarations: InstallPackage, installpackage, installpack, install, inpack, installpackage.

Dev-client This command is used to work on a bunch of Integrated Development Environment’s, DataBase’s and a complete set of the tools that the user need to start work immediately. The following command used for dev client machine. ptconfigure install autopilot dev-client

After input as the above said command it starts installing process. The following snapshot shows its functions.

Dev-server This command used to install preconfigures list of software for a developer’s server. Autopilot acts as a vital role in this process. To work out these functions properly ptconfigure recommends dev-server by using this command. ptconfigure install autopilot dev-server

The screenshot guides the user about its function.

Test-server Here Auto pilot acts a major role in test server. It uses to install the preconfigured list of software for testing server. Testing software also available. The following command used to install test server. ptconfigure install autopilot test-server

The screenshot guides the user about its function.

Build server This command used to install preconfigures list of software for a build server. Autopilot acts as a vital role in this process. To work out these functions properly ptconfigure recommends build-server by using this command. ptconfigure install autopilot build-server

The screenshot guides the user about its function.

164 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Production This command used to install preconfigures list of software for a production server. Autopilot acts as a vital role in this process. To work out these functions properly ptconfigure recommends production server by using this command. ptconfigure install autopilot build-server

The screenshot guides the user about its function.

Benefits • Non case sensitivity. • Well-to-do in Ubuntu and CentOS. • Installing dev-server, dev-client, production, build-server, test-server is an added advantage for this module. • Autopilot acts as a vital role.

IntelliJ

Synopsis This module expedite the installation of IntelliJ which is an Jet Brains IDE with a latest version. The IntelliJ Platform is a platform for building smart, language-aware IDEs with a comprehensive set of components, that includes virtual file system, UI framework, text editor, lexing, parsing, abstract syntax trees and other language-specific infrastructure, frameworks for implementing navigation, code completion, inspections, intentions, refactorings, ver- sion control integration, debugger framework, graphical unit test runner. The IntelliJ Platform source code is covered by the Apache 2.0 license. This means that you can build both open source and commercial products on top of the platform without paying any royalties to JetBrains. Let us see about the functionalities of IntelliJ under this module.

Help Command The help command guides the users regarding the purpose and as well as about the options that are included in the IntelliJ module. It lists out the alternative parameters of IntelliJ module. It also describes the syntax for installing the IntelliJ module. The help command for IntelliJ module is shown as below. ptconfigure IntelliJ help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under IntelliJ. kevell@corp:/# ptconfigure IntelliJ help ******************************

This command allows you to install Intellij, the JetBrains IDE

IntelliJ, intellij

- install Installs the latest version of Developer Tools example: ptconfigure gittools install

------End Help ******************************

1.1. Commands 165 kevells Documentation, Release 0.1

Installation The command used for installing the JRush to the users machine is shown below. ptconfigure IntelliJ install

After inputting the command above, the following operations occurs: • It asks the user to enter the IntelliJ Version. • Ensures the availability of modules and not checks the version. • If the module does not exists in the users machine, it starts installing. • While installing it will asks the user to enter the Java install Directory. Finally, the installation of IntelliJ gets completed. The screenshot as shown below depicts the process of installing IntelliJ. kevells@corp:/# ptconfigure IntelliJ install Install IntelliJ IDE?(Y/N) Y ******************************* * Pharaoh Tools * * IntelliJ IDE * ******************************* Enter IntelliJ Version PHP Notice: Undefined offset:0 in /opt/ptconfigure/ptconfigure/src/Core/Base/Model/Base.php on line 187 (0) PHP Notice: Undefined offset:1 in /opt/ptconfigure/ptconfigure/src/Core/Base/Model/Base.php on line 187 (1)

[Pharaoh Logging] Ensure module install is not checking versions [Pharaoh Logging] Module Java reports itself as Installed [Pharaoh Logging] Not installing as already installed Creating /tmp/ptconfigure-temp-script-98824051629.sh chmod 755 /tmp/ptconfigure-temp-script-98824051629.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-98824051629.sh Permissions Executing /tmp/ptconfigure-temp-script-98824051629.sh Cloning into ’intellij’... remote: Counting objects: 1026, done. remote: Total 1026(delta 0), reused0(delta 0) Receiving objects: 100%(1026/1026), 205.06 MiB | 410.00 KiB/s, done. Resolving deltas: 100%(60/60), done. Checking connectivity... done. Checking out files: 100%(744/744), done. Temp File /tmp/ptconfigure-temp-script-98824051629.sh Removed Program Executor Deleted if existed ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------IntelliJ: Success ------Installer Finished ******************************

Parameters Instead of IntelliJ we can use, intellij

166 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Benefits • This module facilitates the user in installing IntelliJ with the latest version. • The parameters used in declaring the help and installations are not case sensitive, which is added advantage while compared to others. • It is well-to-do in both cent OS and as well as in ubuntu. • The required status are clearly monitored during installation. • During installation the user can input the required version and as well as Java Install Directory.

Invoke

Synopsis Invoke fetches the particular SSH file from base machine to virtual machine. In computing, the SSH (also Secure File Transfer Protocol, or SFTP) is a network protocol that provides file access, file transfer, and file management functionalities over any reliable data stream.

Help Command This command helps to determine the usage of invoke module. The user will come to know about the different way/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same. ptconfigure invoke help

Get When the user needs to fetches a file in our source to other destination, the below given command will execute the process. ptconfigure invoke get

The system asks for source file path and target file path. There is another option, wherein you can give the source and destination path in command line.

Alternative Parameter There are two alternative parameter which can be used in command line Invoke , invoke. Eg: ptconfigure invoke get/ ptconfigure invoke get

Benefits • This command helps to fetches SSH files or directories. • Fetches a file or directory from source to destination using single command

JAVA

Synopsis This module assists in installing the version of oracle java JDK 1.7. It will also facilitates configuring java, javac, javaws along with the new oracle version.

Help Command The help command guides the users regarding the purpose and as well as about the options that are included in java module. The help command lists out the alternative parameters of java module. It also describes the syntax for installing Java JDK 1.7. The help command for Java module is shown as below.

1.1. Commands 167 kevells Documentation, Release 0.1

ptconfigure Java help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under java module. kevell@corp:/# ptconfigure java help ******************************

This command allows you to install Java JDK 1.7 .

Java, java, java17

- install Installs a version of Oracle Java JDK 1.7. It will also configure java, javac and javaws to be provided by the new Oracle version. example: ptconfigure java17 install

------End Help ******************************

Installation Installing the oracle version of java JDK 1.7 to the users machine can be done by simply using the command as shown below. ptconfigure Java install

After inputting the command above, the following process occurs as shown in the tabular format. Parameters Alternative Parameter Op- Comments tion Install The Oracle Instead of Oracle Java JDK 1.7, the following Y(Yes)If the user wish to proceed the Java JDK 1.7? alternatives can also be used: Java, java, installation process they can input (Y/N) java17 as Y. Install The Oracle Instead of Oracle Java JDK 1.7, the following N(No) If the user wish to quit the Java JDK 1.7? alternatives can also be used: Java, java, installation process they can input (Y/N) java17| as N. kevell@corp:/# ptconfigure java17 install Install The Oracle Java JDK 1.7?(Y/N) Y ******************************* * Pharaoh Tools * * !!Java JDK!! * ******************************* Enter Java Install Directory(no trailing slash):

Creating /tmp/ptconfigure-temp-script-37090112192.sh chmod 755 /tmp/ptconfigure-temp-script-37090112192.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-37090112192.sh Permissions Executing /tmp/ptconfigure-temp-script-37090112192.sh --2015-03-16 15:52:21-- https://bitbucket.org/phpengine/cleo-jdk-64/get/6c383e2868bd.zip Resolving bitbucket.org(bitbucket.org)... 131.103.20.167, 131.103.20.168 Connecting to bitbucket.org(bitbucket.org)|131.103.20.167|:443... connected. HTTP request sent, awaiting response... 200OK Length: unspecified[application/zip] Saving to: ‘6c383e2868bd.zip’

168 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

[<=> ] 2,06,54,011 2.98KB/s in 12m 14s

2015-03-16 16:04:59(27.5 KB/s) - ‘6c383e2868bd.zip’ saved[20654011]

/tmp/oraclejdk: Scheme missing. FINISHED --2015-03-16 16:04:59-- Total wall clock time: 12m 39s Downloaded:1 files, 20M in 12m 14s(27.5 KB/s) End-of-central-directory signature not found. Either this file is not a zipfile, or it constitutes one disk of a multi-part archive. In the latter case the central directory and zipfile comment will be found on the last disk(s) of this archive. unzip: cannot find zipfile directory in one of /tmp/oraclejdk.zip or /tmp/oraclejdk.zip.zip, and cannot find /tmp/oraclejdk.zip.ZIP, period. /tmp/ptconfigure-temp-script-37090112192.sh: 6: cd: can’t cd to /tmp/oraclejdk mv: cannot stat ‘/tmp/oraclejdk/phpengine-cleo-jdk-64-6c383e2868bd/jdk-7u60-linux-x64.tar.gz’: No such file or directory tar: jdk-7u60-linux-x64.tar.gz: Cannot open: No such file or directory tar: Error is not recoverable: exiting now mkdir: missing operand Try ’mkdir --help’ for more information. cp: missing destination file operand after ‘/tmp/oraclejdk/jdk1.7.0_60/*’ Try ’cp --help’ for more information. chmod: missing operand after ‘a+x’ Try ’chmod --help’ for more information. update-alternatives: error: alternative path /bin/java doesn’t exist update-alternatives: error: alternative path /bin/javac doesn’t exist update-alternatives: error: alternative path /bin/javaws doesn’t exist update-alternatives: error: alternative /bin/java for java not registered; not setting update-alternatives: error: alternative /bin/javac for javac not registered; not setting update-alternatives: error: alternative /bin/javaws for javaws not registered; not setting Archive: /tmp/oraclejdk.zip Temp File /tmp/ptconfigure-temp-script-37090112192.sh Removed ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------Java: Success ------Installer Finished ******************************

Benefits • The parameters used in help and installation operations are not case sensitive which is an added advantage while compared to others. • It is well-to-do in both Ubuntu and as well as Cent OS. • Configuring java, javac, javaws can be done with the aid of new oracle version.

Jenkins

1.1. Commands 169 kevells Documentation, Release 0.1

Synopsis Jenkins is popular to build server. Jenkins is an open source continuous integration tool written in Java. Jenkins provides continuous integration services for software development. It is a server-based system running in a servlet container such as . Jenkins’ core functionality and flexibility allow it to fit in a variety of environments and can help streamline the development process for all stakeholders involved

Help Command This command helps to determine the usage of Jenkins module. The user will come to know about the different ways/format to execute this module. This command guides the end user to know the purpose of this command. ptconfigure jenkins help

The screenshot for the above command is listed below, kevell@corp:/# ptconfigure jenkins help ******************************

This command allows you to install Jenkins, the popular Build Server.

Jenkins, jenkins

- install Installs Jenkins through apt-get example: ptconfigure jenkins install

------End Help ******************************

Installation If the user needs to install Jenkins module in machine, the below given command will execute the process of installation. ptconfigure jenkins install

The screenshot of the above command is listed below, kevell@corp:/# ptconfigure jenkins install Install Jenkins?(Y/N) y ******************************* * Pharaoh Tools * * ! Jenkins ! * ******************************* Creating /tmp/ptconfigure-temp-script-14615194352.sh chmod 755 /tmp/ptconfigure-temp-script-14615194352.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-14615194352.sh Permissions Executing /tmp/ptconfigure-temp-script-14615194352.sh E: Could not get lock /var/lib/apt/lists/lock - open(11: Resource temporarily unavailable) E: Unable to lock directory /var/lib/apt/lists/ OK Temp File /tmp/ptconfigure-temp-script-14615194352.sh Removed W: Duplicate sources.list entry http://dl.google.com/linux/chrome/deb/ stable/main amd64 Packages(/var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_main_binary-amd64_Packages) W: Duplicate sources.list entry http://dl.google.com/linux/chrome/deb/ stable/main i386 Packages(/var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_main_binary-i386_Packages) W: You may want to run apt-get update to correct these problems W: Duplicate sources.list entry http://dl.google.com/linux/chrome/deb/ stable/main amd64 Packages(/var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_main_binary-amd64_Packages) W: Duplicate sources.list entry http://dl.google.com/linux/chrome/deb/ stable/main i386 Packages(/var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_main_binary-i386_Packages) W: You may want to run apt-get update to correct these problems

170 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

E: Unable to correct problems, you have held broken packages. Reading package lists... Building dependency tree... Reading state information... Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation:

The following packages have unmet dependencies: jenkins : Depends: daemon but it is not installable Depends: default-jre-headless but it is not installable or java-runtime-headless [Pharaoh Logging] Adding Package jenkins from the Packager Apt did not execute correctly ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------Jenkins: Success ------Installer Finished ******************************

Parameters Alternative Parameter Op- Comments tion ptconfigure Instead of using Jenkins, the user Y Once the user provides the option, System Options Jenkins Install can add jenkins starts installation process ptconfigure Instead of using Jenkins, the user N Once the user provides the option, System Jenkins Install can add jenkins stops installation process|

Benefits • Immediate bug detection • No integration step in the lifecycle • A deployable system at any given point • Record of evolution of the project

JenkinsPlugins

Synopsis Jenkins is popular to build server. Jenins is a source continuous integration tool written in Java. Jenkins provides continuous integration services for software development. Plugins have been released for Jenkins that extend its use to projects written in languages other than Java. Plugins are available for integrating Jenkins with most version control systems and big databases. Many build tools are supported via their respective plugins. Plugins can also change the way Jenkins looks or add new functionality. Builds can generate test reports in various formats supported by plugins (JUnit support is currently bundled) and Jenkins can display the reports and generate trends and render them in the GUI.

1.1. Commands 171 kevells Documentation, Release 0.1

Help Command This command helps to determine the usage of JenkinsPlugins module. The user will come to know about the different ways/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same. ptconfigure JenkinsPlugins help kevell@corp:/# ptconfigure JenkinsPlugins help ******************************

This command allows you to install a bunch of plugins that we recommend for PHP builds in Jenkins.

JenkinsPlugins, jenkinsplugins, jenkins-plugins, jenkins-plugs

- install Installs the latest version of Jenkins Plugins for PHP recommended by Golden Contact example: ptconfigure jenkins-plugins install

------End Help ******************************

Installation This command allows you to install a bunch of plugins that we recommend for PHP builds in Jenkins. If the user needs to install Jenkins module in machine, the below given command will execute the process of installation. ptconfigure JenkinsPlugins install

The screenshot of the above command is listed below, kevell@corp:/# ptconfigure JenkinsPlugins install Install Jenkins Plugins?(Y/N) Y ******************************* * Pharaoh Tools * * Jenkns Plgs! * ******************************* Creating /tmp/ptconfigure-temp-script-80223312434.sh chmod 755 /tmp/ptconfigure-temp-script-80223312434.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-80223312434.sh Permissions Executing /tmp/ptconfigure-temp-script-80223312434.sh Cloning into ’jplugins’... remote: Counting objects: 39, done. remote: Total 39(delta 0), reused0(delta 0) Unpacking objects: 100%(39/39), done. Checking connectivity... done. chown: invalid user: ‘jenkins’ jenkins: unrecognized service Temp File /tmp/ptconfigure-temp-script-80223312434.sh Removed ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

172 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Single App Installer: ------JenkinsPlugins: Success ------Installer Finished ******************************

Parameters Alternative Parameter Op- Comments tion ptconfigure Either of the four alternative parameter can be used in Y Once the user provides JenkinsPlu- command- JenkinsPlugins, jenkinsplugins, jenkins-plugins, the option, System starts gins jenkins-plugs eg: ptconfigure jenkins-plugins Install installation process Options Install ptconfigure Either of the four alternative parameter can be used in N Once the user provides JenkinsPlu- command- JenkinsPlugins, jenkinsplugins, jenkins-plugins, the option, System Stops gins jenkins-plugs eg: ptconfigure jenkins-plugins Install| installation process Install

Benefits • The plugin will give you a report on how much every plugin will be used in all of your jobs . Therefore it will analyze the used extension points of each job. • This plugin gives you the possibility to analyze the usage of your installed plugins. • Non case sensitivity • Well-to-do in Ubuntu and CentOS.

JenkinsSudoNoPass

Synopsis Jenkins is a popular build server. Jenkins provides continuous integration services for software develop- ment. Jenkinssudonopass tolerate the user to adjoin an entry to the system sudo file. This put up the user jenkins to function with out passward. This is suitable for Ubuntu and centOS.

Help command The help command manage the users regarding the purpose and as well as about the options that are included in the jenkinssudonopass module. The help command lists out the alternative parameters of jenk- inssudonopass. It also describes the syntax for using jenkinssudonopass to securify. The help command for jenk- inssudonopass is given below. ptconfigure Jenkinssudonopass help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under jenkinssudonopass. kevell@corp:/# ptconfigure JenkinsSudoNoPass help ******************************

This command allows you to add an entry to the system sudo file that will allow your Jenkins user to have passwordless sudo. This is required for quite a few of the Jenkins builds provided by Golden Contact, as Jenkins will perform test execution, software installs and more, silently.

1.1. Commands 173 kevells Documentation, Release 0.1

JenkinsSudoNoPass, jenkinssudonopass, jenkins-sudo-nopass, jenkins-sudo-passwordless

- install Installs the Jenkins sudo without password entry example: ptconfigure jenkins-sudo-nopass install

------End Help ******************************

Installation This command authorize to install jenkins sudo without pass word entry. When the user want to install jenkinssudonopass the following command guides the user to install. ptconfigure Jenkinssudonopass install

After typing this command the system asks users wish. The other process explains the installation through the screen- shot. kevell@corp:/# ptconfigure jenkinssudonopass install Install Sudo w/o Pass for Jenkins User?(Y/N) Y ******************************* * Pharaoh Tools * * Jenk Sudo Ps * ******************************* Creating /tmp/ptconfigure-temp-script-2682022801.sh chmod 755 /tmp/ptconfigure-temp-script-2682022801.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-2682022801.sh Permissions Executing /tmp/ptconfigure-temp-script-2682022801.sh The following will be written to /etc/sudoers Please check if it looks wrong It may break your system if wrong !!! jenkins ALL=NOPASSWD: ALL Temp File /tmp/ptconfigure-temp-script-2682022801.sh Removed ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------JenkinsSudoNoPass: Success ------Installer Finished ******************************

174 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Parameters Alternative Parameters Op- Comments tions Install sudo Instead of jenkinssudonopass, the following alternatives can Y If the user wish to w/o for also be used: JenkinsSudoNoPass , jenkinssudonopass, proceed the installation Jenkins user? jenkins-sudo-nopass,jenkins-sudo-passwordless process they can input as Options (Y/N) Y. Install sudo Instead of jenkinssudonopass, the following alternatives can N If the user wish to quit w/o for also be used: JenkinsSudoNoPass , jenkinssudonopass, the installation process Jenkins user? jenkins-sudo-nopass,jenkins-sudo-passwordless| they can input as N. (Y/N)

Benefits • Open source continous integration process. • Jenkinssudonopass is a automating builds. • By scripting builds and remove human error problems, computers are just better at running repetitive tasks. • Jenkinssudonopass need to spend time on their deployments • versatility and flexibility.

Jmeter

Synopsis This module deals with installing the jmeter with the updated version. JMeter can be used as a unit test tool for JDBC database connections, FTP, LDAP, Web services, JMS, HTTP, generic TCP connections and OS Native processes. Let us see how this module helps the user in installing and using the Jmeter.

Help Command The help command guides the users regarding the purpose and as well as about the options that are included in the Jmeter module. It lists out the alternative parameters of jmeter module. It also describes the syntax for installing the jmeter module. The help command for jmeter module is shown as below. ptconfigure Jmeter help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under Jmeter. kevell@corp:/# ptconfigure Jmeter help

******************************

This command allows you to update Jmeter.

Jmeter, jmeter

- install Installs the latest version of Jmeter example: ptconfigure jmeter install

------End Help ******************************

1.1. Commands 175 kevells Documentation, Release 0.1

Installation The command used for installing the jmeter in the users machine is shown below: ptconfigure jmeter install

After inputting the command above, the following process occurs as shown in the tabular format. Parameters Alternative Parameter Op- Comments tions Install Jmeter? Instead of jmeter, we can use Y(Yes) If the user wish to proceed the installation process (Y/N) Jmeter also. they can input as Y. Install Jmeter? Instead of jmeter, we can use N(No) If the user wish to quit the installation process they (Y/N) Jmeter also. can input as N.| If the user proceeds the installation, during the process of installation is described in the below lists: • builds the dependency tree. • Reads the state information. • list outs the packages that are automatically installed. • list outs the new packages that are installing. • details regarding the number of files upgraded, newly installed, removed and not upgraded. • Reads the package lists and displays the list of package that are already installed. The following screenshot pictorially depicts the above described process of installation.

Benefits • The parameters used in help and installation are not case sensitive which is an added advantage while compared to others. • It is well-to-do in both Ubuntu and as well as Cent OS. • This will module installs the Jmeter in updated version. • If the module is already existing in the user machine it will display a message as it is already existing. • JMeter supports variable parameterization, assertions (response validation), per thread cookies, configuration variables and a variety of reports. • Off-site developers can easily extend JMeter with custom plugins.

Jrush

Synopsis This module assists in installing the jrush to your machine. It also facilitates updating with a latest version. Let us see how this modules assists in installing a jrush.

Help Command The help command guides the users regarding the purpose and as well as about the options that are included in the Jrush module. It lists out the alternative parameters of Jrush module. It also describes the syntax for installing the Jrush module. The help command for Jrush module is shown as below. ptconfigure JRush help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under JRush.

176 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

kevell@corp:/# ptconfigure JRush help ******************************

This command allows you to install or Update JRush.

JRush, jrush, Jrush, jRush

- install Installs the latest version of jRush example: ptconfigure jRush install

------End Help ******************************

Installation The command used for installing the JRush to the users machine is shown below. ptconfigure JRush install

Options After inputting the command above, the following operations occurs as shown in the tabular format. Parameters Alternative Parameter Op- Comments tions Install JRush - Joomla Instead of JRush we can use: Y(Yes) If the user wish to proceed the installation Command Line ? (Y/N) jrush, Jrush, jRush. process they can input as Y. Install JRush - Joomla Instead of JRush we can use: N(No) If the user wish to quit the installation Command Line ? (Y/N) jrush, Jrush, jRush. process they can input as N.| If the user proceeds the installation process the following operations occurs as shown in the tabular format. Parameters Path Op- Comments tion Program data “/opt/jrush Yes If the user to proceed installation with the default program data directory (corresponding directory they can input as Yes (Default) module) Program data User specific No(End If the user wish to proceed with their own program data directory slash) directory, they can input as N, and in hand specify their own location Program executor “/usr/bin” Yes If the user to proceed installation with the default program directory executor directory they can input as Yes (default) Program executor User specific No(End If the user wish to proceed with their own program executor directory slash) directory, they can input as N, and in hand specify they own location.| During the installation, the following process occurs: • Shows the status of receiving objects. • Shows the status of resolving deltas. • checks the connectivity. • Displays as program data folder populated. • deletes the program executor if already existed.

1.1. Commands 177 kevells Documentation, Release 0.1

Finally, The installation of Jrush is completed. The following screen shot depicts the process of installing the JRush to your machine: kevell@corp:/# ptconfigure JRush install Install JRush - Joomla Command Line ?(Y/N) Y ******************************* * Pharaoh Tools * * JRush CLI !! * ******************************* What is the program data directory? Found "/opt/jrush" - use this?(Enter nothing for yes, no end slash)

What is the program executor directory? Found "/usr/bin" - use this?(Enter nothing for yes, No Trailing Slash)

git clone ’https://github.com/PharaohTools/jrush.git’ /tmp/jrush/jrushCloning into ’/tmp/jrush/jrush’... remote: Counting objects: 3452, done. remote: Total 3452(delta 0), reused0(delta 0) Receiving objects: 100%(3452/3452), 2.04 MiB | 50.00 KiB/s, done. Resolving deltas: 100%(2097/2097), done. Checking connectivity... done. Program Data folder populated Program Executor Deleted if existed ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------JRush: Success ------Installer Finished ******************************

Benefits • This module facilitates the user in installing JRush with the latest version. • The user can select their own path for program data directory and executor directory. • The parameters used in declaring the help and installations are not case sensitive, which is added advantage while compared to others. • It is well-to-do in both cent OS and as well as in ubuntu. • The required status are clearly monitored during installation.

Jetty

Synopsis provides a Web server and javax.servlet container, plus support for SPDY, WebSocket, OSGi, JMX, JNDI, JAAS and much other integration. These components are open source and available for commercial use and distribution.Jetty is used in a wide variety of projects and products, both in development and production. Jetty can be easily embedded in devices, tools, frameworks, application servers, and clusters. Jetty is a pure Java-based HTTP (Web) server and Java Servlet container. While Web Servers are usually associated with serving documents to people, Jetty is now often used for machine to machine communications, usually within larger software frameworks. Jetty is developed as a free and open source project as part of the Eclipse Foundation.

178 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

The web server is used in products such as Apache ActiveMQ, Alfresco, Apache Geronimo, Apache Maven, Apache Spark, , Eclipse, FUSE, Twitter’s Streaming API and Zimbra. Jetty is also the server in open source projects such as Lift, Eucalyptus, Red5, Hadoop and I2P. Jetty supports the latest Java Servlet API (with JSP support) as well as protocols SPDY and WebSocket.

Help Command This command helps to determine the usage of jetty module. The user will come to know about the different way/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same. ptconfigure jetty help

The pictorial representation of the above command is shown below, kevell@corp:/# ptconfigure Jetty help

******************************

This command allows you to install Jetty, the popular Web Server.

Jetty, jetty

- install Installs Jetty. example: ptconfigure jetty install

------End Help ******************************

Installation This command helps in installing jetty in system. The below given command will execute the process of installation. ptconfigure jetty install

Parame- Alternative Parameters Op- Comments ters tions ptconfigure There are two alternative parameters which can be used in command Y System starts jetty Install line. Jetty , jetty Eg: ptconfigure jetty install ptconfigure Jetty install installation Options process ptconfigure There are two alternative parameters which can be used in command N System stops jetty Install line. Jetty , jetty Eg: ptconfigure jetty install ptconfigure Jetty install| installation process

Benefits • Full-featured and standards-based • Flexible and extensible • Small footprint • Embeddable • Asynchronous • Enterprise scalable

1.1. Commands 179 kevells Documentation, Release 0.1

• Dual licensed under Apache and Eclipse

LigHTTPDServer module

Synopsis Lighttpd is a web server optimized for speed-critical environments while remaining standards-compliant, secure and flexible. It is an alternative web server for apache. Lighttpd supports the FastCGI, SCGI and CGI interfaces to external programs, Auth, Output-Compression, URL- Rewriting, permitting web applications written in any programming language to be used with the server. Lighttpd are the best known asynchronous servers. The main advantage of the asynchronous approach is scalability. This module aims to install the latest version of Lighttpd server and its dependencies.

Help Command The help command guides the user to provide what is necessary to accomplish the task. The command to make use of help under the terminal is given as follows, ptconfigure lighttpdserver help

The snapshot below gives you a pictorial representation of help command and it listed three parameters as LigHTTPDServer, lighttpd-server, lighttpdserver. (Parameters are case insensitive) Kevell@corp:/# ptconfigure LigHTTPDServer help

******************************

This command is part of Core and provides you with a method by which you can configure Application Settings. You can configure default application settings, ie: mysql admin user, host, pass

LigHTTPDServer, lighttpd-server, lighttpdserver

- install Installs LigHTTPD HTTP Server example: ptconfigure lighttpd-server install

------End Help ******************************

Installation The command used for installing Lighttpd module is given below, ptconfigure lighttpd-server install

Kevell@corp:/# ptconfigure lighttpd-server install

Install LigHTTPD Server? (Y/N) y ******************************* * Pharaoh Tools * * LigHTTPD Server! * ******************************* update-alternatives: warning: not replacing /usr/share/man/man1/spawn-fcgi.1.gz with a link 2015-01-09 14:45:09: (network.c.405) can’t bind to port: 80 Address already in use invoke-rc.d: initscript lighttpd, action "start" failed. Reading package lists...

180 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Building dependency tree... Reading state information... The following extra packages will be installed: libgamin0 libterm-readkey-perl libterm-readline-perl-perl spawn-fcgi Suggested packages: rrdtool apache2-utils The following NEW packages will be installed: gamin libgamin0 libterm-readkey-perl libterm-readline-perl-perl lighttpd spawn-fcgi 0 upgraded, 6 newly installed, 0 to remove and 280 not upgraded. Need to get 378 kB of archives. After this operation, 1,622 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libgamin0 amd64 0.1.10-4.1ubuntu1 [16.4 kB] Get:2 http://in.archive.ubuntu.com/ubuntu/ trusty/universe gamin amd64 0.1.10-4.1ubuntu1 [41.1 kB] Get:3 http://in.archive.ubuntu.com/ubuntu/ trusty/main libterm-readkey-perl amd64 2.31-1 [27.4 kB] Get:4 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libterm-readline-perl-perl all 1.0303-1 [51.9 kB] Get:5 http://in.archive.ubuntu.com/ubuntu/ trusty/universe lighttpd amd64 1.4.33-1+nmu2ubuntu2 [227 kB] Get:6 http://in.archive.ubuntu.com/ubuntu/ trusty/universe spawn-fcgi amd64 1.6.3-1 [14.0 kB] Fetched 378 kB in 24s (15.2 kB/s) Selecting previously unselected package libgamin0. (Reading database ... 171800 files and directories currently installed.) Preparing to unpack .../libgamin0_0.1.10-4.1ubuntu1_amd64.deb ... Unpacking libgamin0 (0.1.10-4.1ubuntu1) ... Selecting previously unselected package gamin. Preparing to unpack .../gamin_0.1.10-4.1ubuntu1_amd64.deb ... Unpacking gamin (0.1.10-4.1ubuntu1) ... Selecting previously unselected package libterm-readkey-perl. Preparing to unpack .../libterm-readkey-perl_2.31-1_amd64.deb ... Unpacking libterm-readkey-perl (2.31-1) ... Selecting previously unselected package libterm-readline-perl-perl. Preparing to unpack .../libterm-readline-perl-perl_1.0303-1_all.deb ... Unpacking libterm-readline-perl-perl (1.0303-1) ... Selecting previously unselected package lighttpd. Preparing to unpack .../lighttpd_1.4.33-1+nmu2ubuntu2_amd64.deb ... Unpacking lighttpd (1.4.33-1+nmu2ubuntu2) ... Selecting previously unselected package spawn-fcgi. Preparing to unpack .../spawn-fcgi_1.6.3-1_amd64.deb ... Unpacking spawn-fcgi (1.6.3-1) ... Processing triggers for man-db (2.6.7.1-1) ... Processing triggers for ufw (0.34~rc-0ubuntu2) ... Processing triggers for ureadahead (0.100.0-16) ... Setting up libterm-readkey-perl (2.31-1) ... Setting up libterm-readline-perl-perl (1.0303-1) ... Setting up spawn-fcgi (1.6.3-1) ... update-alternatives: using /usr/bin/spawn-fcgi.standalone to provide /usr/bin/spawn-fcgi (spawn-fcgi) in auto mode Setting up gamin (0.1.10-4.1ubuntu1) ... Setting up libgamin0 (0.1.10-4.1ubuntu1) ... Setting up lighttpd (1.4.33-1+nmu2ubuntu2) ... * Starting web server lighttpd ...fail! Processing triggers for libc-bin (2.19-0ubuntu6) ... Processing triggers for ufw (0.34~rc-0ubuntu2) ... Processing triggers for ureadahead (0.100.0-16) ... [Pharaoh Logging] Adding Package lighttpd from the Packager Apt executed correctly ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

1.1. Commands 181 kevells Documentation, Release 0.1

Single App Installer: ------LigHTTPDServer: Success ------Installer Finished ******************************

Paramaeters Alternative Re- Comments Parameter quired ptconfigure LigHTTPDServer, Yes This command will install the LigHTTPD module lighttpd- lighttpd-server, server lighttpdserver install options Install LigHTTPDServer, Y If the user inputs Y, this module checks for previously installed lighttpd- lighttpd-server, version, if exits it was updated to latest version or else it installs server(Y/N) lighttpdserver the fresh package. Install LigHTTPDServer, N If the user inputs N, the installation was aborted. lighttpd- lighttpd-server, server(Y/N) lighttpdserver|

Benefits to the users • Install LigHTTPDServer in a single environment without any browser. • Ease use of access and installation • Coding is case insensitive. • Non case sensitivity • Well-to-do in Ubuntu and CentOS.

Logging

Synopsis This module logs an information to the control panel and optionally php log. The process of using this module to collect data through sensors, analyze the data and save and output the results of the collection and analysis. Logging also implies the controlpanel of the system installs and analyzes the data. Non case sensitivity is a crown for this module. This suits to work with Ubuntu and cent OS.

Help command This command can function about the objectives and commands available in Logging under ptcon- figure module. It also explains the command to install logging module. Before installation, the user can read this help command explains its function. ptconfigure logging help

The following screenshots can visualize the help command kevell@corp:/# ptconfigure Logging help

******************************

Use this to log a message to the Console, and optionally also the php error log.

182 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Logging, logging

- log Logs a message to the console and optionally the php log example: ptconfigure logging log --log-message="Here is something logging to the console and error log" example: ptconfigure logging log --php-log --log-message="Here is something logging to the console and error log"

------End Help ******************************

Installation These installation procedures are for control php log. This section provides information about compat- ibility and requirements, basic instructions on how to install and configure ptconfigure to more detailed information. This command can function about the objectives and commands available under ptconfigure logging module. It also explains the command to install logging module. Before installation, the user can read this help command explains its function. ptconfigure logging log

The following screenshots can visualize the help command kevell@corp:/# ptconfigure logging log

Install Logging?(Y/N) Y ******************************* * Pharaoh Tools * * Logging! * ******************************* Enter Log Message Good Morning [Pharaoh Logging] Good Morning ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------Logging: Success ------Installer Finished ******************************

Parameters Alternative Parameters Options Comments ptconfigure logging We can use Logging, Y System starts log process under Option Install logging ptconfigure ptconfigure logging We can use Logging, N System stops log process under Install logging ptconfigure|

Benefits • Real-time Data Visualization • Non case sensitivity

1.1. Commands 183 kevells Documentation, Release 0.1

• User-defined Functionality • Terabytes of Data Storage • Network Connectivity • Well to do in Ubuntu and cent OS

Media Tools

Synopsis This module aims at installing GC recommended Media Tool as VLC Media player that enhances the productivity of the users system. VLC media player supports many audio and video compression methods and file formats, including DVD-Video, video CD and streaming protocols. VLC media player (commonly known as VLC) is a portable, free and open-source, cross-platform media player and streaming media server written by the Vide- oLAN project. Let us see about how this module assists installing VLC.

Help Command The help command leads the users regarding the purpose and as well as about the options that are included in the media tools module. The help command lists out the alternative parameters of media tools. It also describes the syntax for installing VLC. The help command for media tools module is shown as below. ptconfigure mediatools help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under media tools. Kevell@corp:/# ptconfigure MediaTools help ******************************

This command allows you to install a few GC recommended Media Tools for productivity in your system. Currently, we’re only including VLC Media Player

MediaTools, media-tools, mediatools, mediatools, media-tools

- install Installs some media tools example: ptconfigure mediatools install

------End Help

Installation The following command used to install media tools. ptconfigure mediatools install

The screenshot visualize its function. - install Installs some media tools example: ptconfigure mediatools install

------End Help

If the user proceeds the installation process, the following process occurs during installation.

184 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

• Extracts templates from packages • Reads package lists. • Builds dependency tree. • Reads the state information. • lists out the packages that are automatically installed. • lists out the extra packages that are installed. • lists out the suggested packages. • lists out the new packages that are installed. • Finally, reports are clearly displayed with the status and results. • The following screen shot explains the above mentioned process pictorially. Kevell@corp:/# ptconfigure mediatools install Install Media Tools?(Y/N) y ******************************* * Pharaoh Tools * * Media Tools! * ******************************* Extracting templates from packages: 100% Reading package lists... Building dependency tree... Reading state information... The following extra packages will be installed: liba52-0.7.4 libaacs0 libass4 libavcodec54 libavformat54 libavutil52 libbasicusageenvironment0 libbluray1 libcddb2 libchromaprint0 libcrystalhd3 libdc1394-22 libdca0 libdirac-encoder0 libdirectfb-1.2-9 libdvbpsi8 libdvdnav4 libdvdread4 libebml4 libenca0 libfaad2 libgnutls28 libgroupsock1 libgsm1 libhogweed2 libiso9660-8 libkate1 liblivemedia23 libmad0 libmatroska6 libmodplug1 libmp3lame0 libmpcdec6 libmpeg2-4 libopenjpeg2 libopus0 libpostproc52 libproxy-tools libresid-builder0c2a libschroedinger-1.0-0 libsdl-image1.2 libsdl1.2debian libsidplay2 libssh2-1 libswscale2 libtar0 libts-0.0-0 libtwolame0 libupnp6 libusageenvironment1 libva-x11-1 libva1 libvcdinfo0 libvlc5 libvlccore7 libx264-142 libxcb-composite0 libxcb-xv0 libxvidcore4 libzvbi-common libzvbi0 tsconf vlc-data vlc-nox vlc-plugin-notify vlc-plugin-pulse Suggested packages: libbluray-bdj libchromaprint-tools python-acoustid firmware-crystalhd libdvdcss2 debhelper gnutls-bin opus-tools videolan-doc The following NEW packages will be installed: liba52-0.7.4 libaacs0 libass4 libavcodec54 libavformat54 libavutil52 libbasicusageenvironment0 libbluray1 libcddb2 libchromaprint0 libcrystalhd3 libdc1394-22 libdca0 libdirac-encoder0 libdirectfb-1.2-9 libdvbpsi8 libdvdnav4 libdvdread4 libebml4 libenca0 libfaad2 libgnutls28 libgroupsock1 libgsm1 libhogweed2 libiso9660-8 libkate1 liblivemedia23 libmad0 libmatroska6 libmodplug1 libmp3lame0 libmpcdec6 libmpeg2-4 libopenjpeg2 libopus0 libpostproc52 libproxy-tools libresid-builder0c2a libschroedinger-1.0-0 libsdl-image1.2 libsdl1.2debian libsidplay2 libssh2-1 libswscale2 libtar0 libts-0.0-0 libtwolame0 libupnp6 libusageenvironment1 libva-x11-1 libva1 libvcdinfo0 libvlc5 libvlccore7 libx264-142 libxcb-composite0 libxcb-xv0 libxvidcore4 libzvbi-common libzvbi0 tsconf vlc vlc-data vlc-nox vlc-plugin-notify vlc-plugin-pulse 0 upgraded, 67 newly installed,0 to remove and6 not upgraded. Need to get 17.7 MB of archives.

1.1. Commands 185 kevells Documentation, Release 0.1

After this operation, 72.9 MB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libaacs0 amd64 0.7.0-1[47.3 kB] Get:2 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/universe libavutil52 amd64 6:9.16-0ubuntu0.14.04.1[67.2 kB] Get:3 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libgsm1 amd64 1.0.13-4[27.1 kB] Get:4 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libmp3lame0 amd64 3.99.5+repack1-3ubuntu1[158 kB] Get:5 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libopenjpeg2 amd64 1.3+dfsg-4.7ubuntu1[64.3 kB] Get:6 http://in.archive.ubuntu.com/ubuntu/ trusty/main libopus0 amd64 1.1-0ubuntu1[153 kB] Get:7 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libschroedinger-1.0-0 amd64 1.0.11-2ubuntu1[268 kB] Get:8 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libva1 amd64 1.3.0-2[38.6 kB] Get:9 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libx264-142 amd64 2:0.142.2389+git956c8d8-2[575 kB] Get:10 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libxvidcore4 amd64 2:1.3.2-9ubuntu1[298 kB] Get:11 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/universe libavcodec54 amd64 6:9.16-0ubuntu0.14.04.1[2,348 kB] Get:12 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/universe libavformat54 amd64 6:9.16-0ubuntu0.14.04.1[481 kB] Get:13 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libbasicusageenvironment0 amd64 2014.01.13-1[16.4 kB] Get:14 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libbluray1 amd64 1:0.5.0-1[98.9 kB] Get:15 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libcrystalhd3 amd64 1:0.0~git20110715.fdd2f19-9ubuntu1[52.7 kB] Get:16 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libdirac-encoder0 amd64 1.0.2-6ubuntu1[243 kB] Get:17 http://in.archive.ubuntu.com/ubuntu/ trusty/universe tsconf all 1.0-12[6,990 B] Get:18 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libts-0.0-0 amd64 1.0-12[18.8 kB] Get:19 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libdirectfb-1.2-9 amd64 1.2.10.0-5[759 kB] Get:20 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libdvbpsi8 amd64 1.0.0-3[52.3 kB] Get:21 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libdvdread4 amd64 4.2.1-2ubuntu1[50.2 kB] Get:22 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libdvdnav4 amd64 4.2.1-3[42.4 kB] Get:23 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libebml4 amd64 1.3.0-2[51.7 kB] Get:24 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libenca0 amd64 1.15-2[53.7 kB] Get:25 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libfaad2 amd64 2.7-8[176 kB] Get:26 http://in.archive.ubuntu.com/ubuntu/ trusty/main libhogweed2 amd64 2.7.1-1[133 kB] Get:27 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libgnutls28 amd64 3.2.11-2ubuntu1[539 kB] Get:28 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libgroupsock1 amd64 2014.01.13-1[22.0 kB] Get:29 http://in.archive.ubuntu.com/ubuntu/ trusty/universe liblivemedia23 amd64 2014.01.13-1[267 kB] Get:30 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libmad0 amd64 0.15.1b-8ubuntu1[71.5 kB] Get:31 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libmatroska6 amd64 1.4.1-2[155 kB] Get:32 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libmpeg2-4 amd64 0.5.1-5ubuntu1[56.4 kB] Get:33 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main libsdl1.2debian amd64 1.2.15-8ubuntu1.1[162 kB] Get:34 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libsdl-image1.2 amd64 1.2.12-5build2[28.2 kB] Get:35 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libssh2-1 amd64 1.4.3-2[66.3 kB] Get:36 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/universe libswscale2 amd64 6:9.16-0ubuntu0.14.04.1[81.6 kB] Get:37 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libusageenvironment1 amd64 2014.01.13-1[7,510 B] Get:38 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libva-x11-1 amd64 1.3.0-2[11.7 kB] Get:39 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libproxy-tools amd64 0.4.11-0ubuntu4[5,258 B] Get:40 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/universe vlc-data all 2.1.4-0ubuntu14.04.1[4,886 kB] Get:41 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/universe libvlccore7 amd64 2.1.4-0ubuntu14.04.1[342 kB] Get:42 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/universe libvlc5 amd64 2.1.4-0ubuntu14.04.1[39.9 kB] Get:43 http://in.archive.ubuntu.com/ubuntu/ trusty/main libxcb-composite0 amd64 1.10-2ubuntu1[5,036 B] Get:44 http://in.archive.ubuntu.com/ubuntu/ trusty/main libxcb-xv0 amd64 1.10-2ubuntu1[8,772 B] Get:45 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libzvbi-common all 0.2.35-2[38.7 kB] Get:46 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libzvbi0 amd64 0.2.35-2[293 kB] Get:47 http://in.archive.ubuntu.com/ubuntu/ trusty/universe liba52-0.7.4 amd64 0.7.4-17[32.1 kB] Get:48 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libass4 amd64 0.10.1-3ubuntu1[47.2 kB] Get:49 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libcddb2 amd64 1.3.2-4fakesync2[33.9 kB] Get:50 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libchromaprint0 amd64 1.1-1[33.1 kB] Get:51 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libdc1394-22 amd64 2.2.1-2ubuntu2[75.0 kB] Get:52 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libdca0 amd64 0.0.5-6ubuntu1[93.5 kB] Get:53 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libkate1 amd64 0.4.1-1ubuntu1[37.3 kB] Get:54 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libmodplug1 amd64 1:0.8.8.4-4.1[147 kB] Get:55 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libmpcdec6 amd64 2:0.1~r459-1ubuntu3[30.7 kB] Get:56 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libpostproc52 amd64 6:0.git20120821-4[30.6 kB] Get:57 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libresid-builder0c2a amd64 2.1.1-14[39.4 kB]

186 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Get:58 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libsidplay2 amd64 2.1.1-14[102 kB] Get:59 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libtwolame0 amd64 0.3.13-1ubuntu1[48.8 kB] Get:60 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libupnp6 amd64 1:1.6.17-1.2[142 kB] Get:61 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libiso9660-8 amd64 0.83-4.1ubuntu1[18.8 kB] Get:62 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libvcdinfo0 amd64 0.7.24+dfsg-0.1ubuntu2[89.5 kB] Get:63 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/universe vlc-nox amd64 2.1.4-0ubuntu14.04.1[2,033 kB] Get:64 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/universe libtar0 amd64 1.2.20-3ubuntu0.1[18.2 kB] Get:65 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/universe vlc amd64 2.1.4-0ubuntu14.04.1[1,213 kB] Get:66 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/universe vlc-plugin-notify amd64 2.1.4-0ubuntu14.04.1[5,262 B] Get:67 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/universe vlc-plugin-pulse amd64 2.1.4-0ubuntu14.04.1[16.7 kB] Fetched 17.7 MB in 1min 4s(274 kB/s) Preparing to unpack .../libupnp6_1%3a1.6.17-1.2_amd64.deb ... Unpacking libupnp6(1:1.6.17-1.2) ... Selecting previously unselected package libiso9660-8. Preparing to unpack .../libiso9660-8_0.83-4.1ubuntu1_amd64.deb ... Unpacking libiso9660-8(0.83-4.1ubuntu1) ... Selecting previously unselected package libvcdinfo0. Preparing to unpack .../libvcdinfo0_0.7.24+dfsg-0.1ubuntu2_amd64.deb ... Unpacking libvcdinfo0(0.7.24+dfsg-0.1ubuntu2) ... Selecting previously unselected package vlc-nox. Preparing to unpack .../vlc-nox_2.1.4-0ubuntu14.04.1_amd64.deb ... Unpacking vlc-nox(2.1.4-0ubuntu14.04.1) ... Selecting previously unselected package libtar0. Preparing to unpack .../libtar0_1.2.20-3ubuntu0.1_amd64.deb ... Unpacking libtar0(1.2.20-3ubuntu0.1) ... Selecting previously unselected package vlc. Preparing to unpack .../vlc_2.1.4-0ubuntu14.04.1_amd64.deb ... Unpacking vlc(2.1.4-0ubuntu14.04.1) ... Selecting previously unselected package vlc-plugin-notify. Preparing to unpack .../vlc-plugin-notify_2.1.4-0ubuntu14.04.1_amd64.deb ... Unpacking vlc-plugin-notify(2.1.4-0ubuntu14.04.1) ... Selecting previously unselected package vlc-plugin-pulse. Preparing to unpack .../vlc-plugin-pulse_2.1.4-0ubuntu14.04.1_amd64.deb ... Unpacking vlc-plugin-pulse(2.1.4-0ubuntu14.04.1) ... Processing triggers for man-db(2.6.7.1-1ubuntu1) ... Processing triggers for hicolor-icon-theme(0.13-1) ... Processing triggers for mime-support(3.54ubuntu1.1) ... Processing triggers for gnome-menus(3.10.1-0ubuntu2) ... Processing triggers for desktop-file-utils(0.22-1ubuntu1) ... Processing triggers for bamfdaemon(0.5.1+14.04.20140409-0ubuntu1) ... Rebuilding /usr/share/applications/bamf-2.index... Setting up libaacs0:amd64(0.7.0-1) ... Setting up libavutil52:amd64(6:9.16-0ubuntu0.14.04.1) ... Setting up libgsm1:amd64(1.0.13-4) ... Setting up libmp3lame0:amd64(3.99.5+repack1-3ubuntu1) ... Setting up libopenjpeg2:amd64(1.3+dfsg-4.7ubuntu1) ... Setting up libopus0(1.1-0ubuntu1) ... Setting up libschroedinger-1.0-0:amd64(1.0.11-2ubuntu1) ... Setting up libva1:amd64(1.3.0-2) ... Setting up libx264-142:amd64(2:0.142.2389+git956c8d8-2) ... Setting up libxvidcore4:amd64(2:1.3.2-9ubuntu1) ... Setting up libavcodec54:amd64(6:9.16-0ubuntu0.14.04.1) ... Setting up libavformat54:amd64(6:9.16-0ubuntu0.14.04.1) ... Setting up libbasicusageenvironment0(2014.01.13-1) ... Setting up libbluray1:amd64(1:0.5.0-1) ... Setting up libcrystalhd3:amd64(1:0.0~git20110715.fdd2f19-9ubuntu1) ... Setting up libdirac-encoder0:amd64(1.0.2-6ubuntu1) ... Setting up tsconf(1.0-12) ...

1.1. Commands 187 kevells Documentation, Release 0.1

Setting up libts-0.0-0:amd64(1.0-12) ... Setting up libdirectfb-1.2-9:amd64(1.2.10.0-5) ... Setting up libdvbpsi8:amd64(1.0.0-3) ... Setting up libdvdread4:amd64(4.2.1-2ubuntu1) ... Setting up libdvdnav4:amd64(4.2.1-3) ... Setting up libebml4:amd64(1.3.0-2) ... Setting up libenca0:amd64(1.15-2) ... Setting up libfaad2:amd64(2.7-8) ... Setting up libhogweed2:amd64(2.7.1-1) ... Setting up libgnutls28:amd64(3.2.11-2ubuntu1) ... Setting up libgroupsock1(2014.01.13-1) ... Setting up liblivemedia23(2014.01.13-1) ... Setting up libmad0:amd64(0.15.1b-8ubuntu1) ... Setting up libmatroska6:amd64(1.4.1-2) ... Setting up libmpeg2-4:amd64(0.5.1-5ubuntu1) ... Setting up libsdl1.2debian:amd64(1.2.15-8ubuntu1.1) ... Setting up libsdl-image1.2:amd64(1.2.12-5build2) ... Setting up libssh2-1:amd64(1.4.3-2) ... Setting up libswscale2:amd64(6:9.16-0ubuntu0.14.04.1) ... Setting up libusageenvironment1(2014.01.13-1) ... Setting up libva-x11-1:amd64(1.3.0-2) ... Setting up libproxy-tools(0.4.11-0ubuntu4) ... Setting up vlc-data(2.1.4-0ubuntu14.04.1) ... Setting up libvlccore7(2.1.4-0ubuntu14.04.1) ... Setting up libvlc5(2.1.4-0ubuntu14.04.1) ... Setting up libxcb-composite0:amd64(1.10-2ubuntu1) ... Setting up libxcb-xv0:amd64(1.10-2ubuntu1) ... Setting up libzvbi-common(0.2.35-2) ... Setting up libzvbi0:amd64(0.2.35-2) ... Setting up liba52-0.7.4(0.7.4-17) ... Setting up libass4:amd64(0.10.1-3ubuntu1) ... Setting up libcddb2(1.3.2-4fakesync2) ... Setting up libchromaprint0:amd64(1.1-1) ... Setting up libdc1394-22:amd64(2.2.1-2ubuntu2) ... Setting up libdca0:amd64(0.0.5-6ubuntu1) ... Setting up libkate1(0.4.1-1ubuntu1) ... Setting up libmodplug1(1:0.8.8.4-4.1) ... Setting up libmpcdec6(2:0.1~r459-1ubuntu3) ... Setting up libpostproc52(6:0.git20120821-4) ... Setting up libresid-builder0c2a(2.1.1-14) ... Setting up libsidplay2(2.1.1-14) ... Setting up libtwolame0(0.3.13-1ubuntu1) ... Setting up libupnp6(1:1.6.17-1.2) ... Setting up libiso9660-8(0.83-4.1ubuntu1) ... Setting up libvcdinfo0(0.7.24+dfsg-0.1ubuntu2) ... Setting up vlc-nox(2.1.4-0ubuntu14.04.1) ... Setting up libtar0(1.2.20-3ubuntu0.1) ... Setting up vlc(2.1.4-0ubuntu14.04.1) ... Setting up vlc-plugin-notify(2.1.4-0ubuntu14.04.1) ... Setting up vlc-plugin-pulse(2.1.4-0ubuntu14.04.1) ... Processing triggers for libc-bin(2.19-0ubuntu6.4) ... [Pharaoh Logging] Adding Package vlc from the Packager Apt executed correctly Reading package lists... Building dependency tree... Reading state information... libdvdread4 is already the newest version. libdvdread4 set to manually installed. 0 upgraded,0 newly installed,0 to remove and6 not upgraded.

188 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

[Pharaoh Logging] Package libdvdread4 from the Packager Apt is already installed, so not installing. Creating /tmp/ptconfigure-temp-script-86836778897.sh chmod 755 /tmp/ptconfigure-temp-script-86836778897.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-86836778897.sh Permissions Executing /tmp/ptconfigure-temp-script-86836778897.sh --2015-01-10 01:11:57-- http://download.videolan.org/pub/debian/stable//Packages Resolving download.videolan.org(download.videolan.org)... 195.154.216.18 Connecting to download.videolan.org(download.videolan.org)|195.154.216.18|:80... connected. HTTP request sent, awaiting response... 200OK Length: 3520(3.4K)[application/octet-stream] Saving to: ‘/tmp/dvdcss-vaA1iO/Packages’

100%[======>] 3,520 --.-K/s in 0.007s

2015-01-10 01:11:59(523 KB/s) - ‘/tmp/dvdcss-vaA1iO/Packages’ saved[3520/3520]

--2015-01-10 01:11:59-- http://download.videolan.org/pub/debian/stable/stable/libdvdcss2_1.2.13-0_amd64.deb Resolving download.videolan.org(download.videolan.org)... 195.154.216.18 Connecting to download.videolan.org(download.videolan.org)|195.154.216.18|:80... connected. HTTP request sent, awaiting response... 200OK Length: 44462(43K)[application/octet-stream] Saving to: ‘/tmp/dvdcss-vaA1iO/libdvdcss.deb’

100%[======>] 44,462 118KB/s in 0.4s

2015-01-10 01:12:00(118 KB/s) - ‘/tmp/dvdcss-vaA1iO/libdvdcss.deb’ saved[44462/44462]

Selecting previously unselected package libdvdcss2. (Reading database ... 202893 files and directories currently installed.) Preparing to unpack .../dvdcss-vaA1iO/libdvdcss.deb ... Unpacking libdvdcss2(1.2.13-0) ... Setting up libdvdcss2(1.2.13-0) ... Processing triggers for libc-bin(2.19-0ubuntu6.4) ... Temp File /tmp/ptconfigure-temp-script-86836778897.sh Removed ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------MediaTools: Success ------Installer Finished ******************************

Parameters Alternative Parameter Op- Comment tions Install Media Instead of Media Tools,the following alternatives Y(Yes) If the user wish to proceed the Tools? (Y/N) can also be used MediaTools, media-tools, installation process they can input Options mediatools. as Y Install Media Instead of Media Tools,the following alternatives N(No) If the user wish to quit the Tools? (Y/N) can also be used MediaTools, media-tools, installation process they can input mediatools. as N.|

1.1. Commands 189 kevells Documentation, Release 0.1

Benefits • The parameters used in help and installation operations are not case sensitive which is an added advantage while compared to others. • Using this module the productivity of the system can be enhanced. • It is well-to-do in both Ubuntu and as well as Cent OS. • This module facilitates installing GC recommended media tools.

Memcached

Synopsis The major aspect of this module is to install and update the memcache with the latest version. Mem- cached is a general-purpose distributed memory caching system. It is often used to speed up dynamic database-driven websites by caching data and objects in RAM to reduce the number of times an external data source (such as a database or API) must be read. Let us see about the process of installing and using this module in upcoming topics.

Help Command The help command guides the users regarding the purpose and as well as about the options that are included in the Memcached module. It lists out the alternative parameters of Memcached module. It also describes the syntax for installing the Memcached module. The help command for Memcached module is shown as below. ptconfigure Memcached help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under Memcached. kevell@corp:/# ptconfigure Memcached help

******************************

This command allows you to update Memcached.

Memcached, memcached

- install Installs the latest version of memcache example: ptconfigure memcached install

------End Help ******************************

Installation The command used for installing the Memcached in the users machine is shown below: ptconfigure memcached install

After inputting the command above, the following process occurs as shown in the tabular format.

190 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Parameters Alternative Parameters Op- Comments tions Install Instead of memcached, we can use Y(Yes) If the user wish to proceed the installation Memcached? Memcached also. process they can input as Y. (Y/N) Install Instead of memcached, we can use N(No) If the user wish to quit the installation process Memcached? Memcached also. they can input as N.| (Y/N) The following screenshot can give you an pictorial representation regarding the process of installation.

Functions of memcached While using the memcached, the process can read and implement the following functions that are included in memcached, • Memcache::add — Add an item to the server • Memcache::addServer — Add a memcached server to connection pool • Memcache::close — Close memcached server connection • Memcache::connect — Open memcached server connection • Memcache::decrement — Decrement item’s value • Memcache::delete — Delete item from the server • Memcache::flush — Flush all existing items at the server • Memcache::get — Retrieve item from the server • Memcache::getExtendedStats — Get statistics from all servers in pool • Memcache::getServerStatus — Returns server status • Memcache::getStats — Get statistics of the server • Memcache::getVersion — Return version of the server • Memcache::increment — Increment item’s value • Memcache::pconnect — Open memcached server persistent connection • Memcache::replace — Replace value of the existing item • Memcache::set — Store data at the server • Memcache::setCompressThreshold — Enable automatic compression of large values • Memcache::setServerParams — Changes server parameters and status at runtime

Benefits • The parameters used in help and installation are not case sensitive which is an added advantage while compared to others. • It is well-to-do in both Ubuntu and as well as Cent OS. • This will module installs the memcached in updated version. • If the module is already existing in the user machine it will display a message as it is already existing.

1.1. Commands 191 kevells Documentation, Release 0.1

Minify

Synopsis Minify is the removal of unnecessary characters from source code. Mini, when used as a prefix, means small. The goal of minify is to make source code “smaller” and improve performance. The term minify is often associated with interpreted scripted languages, such as php, that are deployed and transmitted over the Internet. Code that has been minified by replacing runs of spaces by a single space, for example, is more lightweight and takes less time for a browser to load. Popular minify tools for Web development include Compressor, and ubuntu Compiler. Minify suits to work with Ubuntu and cent OS.

Help command Minify makes package development a breeze: Conceptually, minify is similar to compression. Unlike code that has been compressed, however, code that has minified can still be worked with without requiring the extra step of decompression. Minified source code may also be used as a kind of obfuscation, though the term obfuscation may be distinguished as a form of false cryptography while a minified code instance may be reversed using a pretty-printer. The following help command guides the user to handle minify. ptconfigure minify help

This screen shot shows the help command usage kevell@corp:/# ptconfigure minify help

******************************

This command allows you to update Minify.

Minify, minify

- install Installs the latest version of minify example: ptconfigure minify install

------End Help ******************************

Installation It works with existing conventions for code structure, adding efficient tools to support the cycle of coding development. With minify, developing a coding becomes so easy that it will be the user default layout whenever the user is writing a significant amount of code. This command used to install minify is as follows, ptconfigure minify install

The following screenshot explains it.

Option Minify source code is especially useful for interpreted languages deployed and transmitted on the Internet, because it reduces the amount of data that needs to be transferred. Parameters Alternate Parameters Oprion Comments Install Instead of using minify we can use Minify Y It installs minify under minify?(Y/N) ptconfigure Install Instead of using minify we can use N The system exit the installation minify?(Y/N) Minify|

192 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Benefits • Minify communicates via Php coding. • Minify comforts with Ubuntu and cent OS. • Minify supports non case sensitivity. • Minify deducts unnecessary characters from the source code.

Mkdir

Synopsis This module assists in creating a directory. The user can specify the path while declaring creation of directory or at run-time of creating a directory. It can be performed either in remote or local machine. Let us see about how this module helps in creating a directory.

Help Command The help command leads the users regarding the purpose and as well as about the options that are included in the Mk Dir. The help command lists out the alternative parameters of MK Dir. . It also describes the syntax for creating a directory in two different ways either at time of declaration or at run-time. . The help command for MK dir is shown below. ptconfigure mkdir help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under MK dir. kevell@corp:/# ptconfigure Mkdir help ******************************

This command handles file copying functions.

Mkdir, mkdir

- path Will ask you for details for servers, then copy a file or directory from local to remote example: ptconfigure mkdir path example: ptconfigure mkdir path --yes --path="/path/to/new/directory"

------End Help ******************************

Alternative Parameters While using commands for help and creating a directory, instead of mkdir Mkdir can also be used.

Creating a Mk Dir Creating an Mk Dir can be done in two different ways:

Either at run-time

Example: ptconfigure mkdir path

1.1. Commands 193 kevells Documentation, Release 0.1

Or, at the time of declaration

Example: ptconfigure mkdir path --yes --path="/path/to/new/directory"

The following screen shot depicts the second way of creating a directory. kevell@corp:/# ptconfigure mkdir path --yes --path="/kevellsdoc"

[Pharaoh Logging][Mkdir] Executing mkdir /kevellsdoc ******************************

Mkdir Result: Success ------Mkdir Finished ******************************

Benefits • The parameters used in help and creating a directory operations are not case sensitive which is an added advan- tage while compared to others. • Creating a directory can be defined in two different ways as declaration time or at run-time. • It can be performed both in local or remote machine. • It is well-to-do in both Ubuntu and as well as Cent OS.

ModuleManager

Synopsis The main scope of the module manager is to allow the user to manage their modules. Its major functions includes installation, enable, disable, ensure, uninstall. let us see about these major functions of module manager in a elaborate manner from the upcoming topics.

Help Command The help command of this module manager is a brief user manual that guides the user regarding the purpose, of module manager, describes the user about the major functions such as install, enable, disable, ensure, uninstall along with the syntax for declaring them. It also lists outs the alternative parameters of module manager. The command for declaring the help option under module manager is shown below: ptconfigure ModuleManager help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under module manager. kevell@corp:/# ptconfigure ModuleManager help

******************************

The Module Manager allows you to manage modules. Install, Ensure, Uninstall, Enable, Disable.

ModuleManager, module-manager, modulemanager

- install Installs the latest version of a module. If a module of the same name already exists in your Extensions directory, an error will be thrown.

194 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

example: ptconfigure module-manager install --module-name="MyModule" --module-source="http://git.cleo-modules.com/MyModule.git"

- ensure Ensures the existence of a module. The module will only be installed if it currently doesn’t exist. example: ptconfigure module-manager ensure --module-name="MyModule" --module-source="http://git.cleo-modules.com/MyModule.git"

- uninstall Uninstalls a Module. This will delete all of the files for this Module example: ptconfigure module-manager enable --module-name="MyModule"

- enable Enables a Module. All installed Modules are enabled by default. example: ptconfigure module-manager enable --module-name="MyModule"

- disable Disables a Module. The files for this module will still exist, but none will be automatically loaded during execution. example: ptconfigure module-manager disable --module-name="MyModule"

------End Help ******************************

Installation The command used for installing the module manager in the users machine is shown below: ptconfigure module-manager install

After inputting the command above, the following process occurs as shown in the tabular format. Parameters Alternative Parameters Op- Comments tions Install Module- Instead of module-manager, we can use Y(Yes) If the user wish to proceed the Manager? modulemanager, ModuleManager also. installation process they can input as (Y/N) Y. Install Module- Instead of module-manager, we can use N(No) If the user wish to quit the installation Manager? modulemanager, ModuleManager also. process they can input as N.| (Y/N) If the user proceeds the installation, during the process of installation, the following process is done as shown in the tabular format: Parameters Path Options Comments “/usr/bin” Yes If the user to proceed in- Program executor directory stallation with the default (Default) program executor directory they can input as Yes user specific No(End slash) If the user to proceed in- Program executor directory stallation with their own (Default) program executor directory they can input as N, and in hand specify they own loca- tion| Finally installation will gets completed as depicted in the below screenshot.

Enable The enable process aims at enabling the module. All the installed modules are enabled by default using the command given below:

1.1. Commands 195 kevells Documentation, Release 0.1

ptconfigure module-manager enable --module-name="MyModule"

After inputting this command, the module which is specified gets enabled.

Disable The disable process aims at disabling the module. The files of the disabled modules remains exists but they will not be loaded at the time of execution. This can be achieved by the following command ptconfigure module-manager disable --module-name="MyModule"

After inputting this command, the module which is specified gets disabled.

Ensure The role of ensure process is to check the availability of modules. After the process of ensuring gets com- pleted the modules will be installed only if the modules report itself as not installed. The process of ensure can be done by using the command given below: ptconfigure module-manager ensure

During the process of ensuring, the versions of the modules are not checked. The following screenshot pictorially represent the process of ensure. kevell@corp:/# ptconfigure module-manager ensure

[Pharaoh Logging] Ensure module install is not checking versions [Pharaoh Logging] Module ModuleManager reports itself as Installed [Pharaoh Logging] Not installing as already installed ******************************

Single App Installer: ------ModuleManager: Success ------Installer Finished ******************************

Uninstall The uninstall process is used to delete all the files for the modules. The command used for uninstalling the module manager is shown below: ptconfigure module-manager uninstall

After inputting the command above, the following process occurs as shown in the tabular format. Parameters Alternative Parameters Op- Comments tions Un Install Instead of module-manager, we can use Y(Yes) If the user wish to proceed the un ModuleManager? modulemanager, ModuleManager also. installation process they can input as (Y/N) Y. Un Install Instead of module-manager, we can use N(No) If the user wish to quit the un ModuleManager? modulemanager, ModuleManager also. installation process they can input as (Y/N) N.| If the user proceeds the un installation, during the process of un installation, the following process is done as shown in the tabular format:

196 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Parameters Path Options Comments “/usr/bin” Yes If the user to proceed un Program executor directory installation with the default (Default) program executor directory they can input as Yes user specific No(End slash) If the user to proceed un Program executor directory installation with their own (Default) program executor directory they can input as N, and in hand specify they own loca- tion| Finally, un installation gets completed as depicted in the below screenshot.

Benefits • The parameters used in help and installation, uninstall, enable, disable, ensure are not case sensitive which is an added advantage while compared to others. • It is well-to-do in both Ubuntu and as well as Cent OS. • The ensure process facilitates the checking availability of modules before installation. • If the user wish to disable a particular module they can disable them without deleting its corresponding files. • During install, uninstall the user can specify the location for program executor directory.

MongoDB

Synopsis Mongo DB is a document oriented database. Mongo DB eschews the traditional table-based relational database structure in favor of php like documents with dynamic schemas, making the integration of data in certain types of applications easier and faster. Mongo DB is suitable to work with Ubuntu and Cent OS.

Help command This command can function about the objectives and commands available under Mongo DB module. It also explains the command to install server. ptconfigure MongoDB help

Before installation you read this help command explains its function kevell@corp:/# ptconfigure MongoDB help ******************************

This command allows you to install the MongoDB Server. Currently only MongoDB Workbench, the Database management GUI provided by Oracle for MongoDB.

MongoDB, mongo-db-server, mongodb-server, mongodbserver, mongodb, mongo-db

- install Install MongoDB Server example: ptconfigure mongodb install

1.1. Commands 197 kevells Documentation, Release 0.1

Notes, during mongodb install a root password will be set. First, it’ll look for the parameter --mongodb-root-pass, if this is not set, it’ll look in the ptconfigure config for a mongodb-default-root-pass setting, and failing both of those it will just set the password for root to ptconfigure.

------End Help ******************************

Installation Use this module to install Mongo DB on Ubuntu Linux systems from .deb packages. While Ubuntu includes its own Mongo DB packages, the official Mongo DB packages are generally more up-to-date. ptconfigure mongodb-server install

Install mongo DB server?(Y/N) If the user gives No it will exit. When the user gives input as Yes automatically it will install all depencies in root pass ass default and also install updated version. The following screen shot will explain it. kevell@corp:/# ptconfigure mongodb-server install

Install MongoDB Server? (Y/N) y ******************************* * Pharaoh Tools * * MongoDB Server! * ******************************* [Pharaoh Logging] Package mongodb-client from the Packager Apt is already installed, so not installing Reading package lists... Building dependency tree... Reading state information... The following extra packages will be installed: libboost-filesystem1.54.0 libboost-program-options1.54.0 libboost-thread1.54.0 libgoogle-perftools4 libpcrecpp0 libsnappy1 libtcmalloc-minimal4 libunwind8 libv8-3.14.5 mongodb-clients The following NEW packages will be installed: libboost-filesystem1.54.0 libboost-program-options1.54.0 libboost-thread1.54.0 libgoogle-perftools4 libpcrecpp0 libsnappy1 libtcmalloc-minimal4 libunwind8 libv8-3.14.5 mongodb-clients mongodb-server 0 upgraded, 11 newly installed, 0 to remove and 6 not upgraded. Need to get 14.6 MB of archives. After this operation, 114 MB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main libboost-filesystem1.54.0 amd64 1.54.0-4ubuntu3.1 [34.2 kB] Get:2 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main libboost-program-options1.54.0 amd64 1.54.0-4ubuntu3.1 [115 kB] Get:3 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main libboost-thread1.54.0 amd64 1.54.0-4ubuntu3.1 [26.5 kB] Get:4 http://in.archive.ubuntu.com/ubuntu/ trusty/main libpcrecpp0 amd64 1:8.31-2ubuntu2 [14.5 kB] Get:5 http://in.archive.ubuntu.com/ubuntu/ trusty/main libunwind8 amd64 1.1-2.2ubuntu3 [48.3 kB] Get:6 http://in.archive.ubuntu.com/ubuntu/ trusty/main libtcmalloc-minimal4 amd64 2.1-2ubuntu1 [104 kB] Get:7 http://in.archive.ubuntu.com/ubuntu/ trusty/main libgoogle-perftools4 amd64 2.1-2ubuntu1 [184 kB] Get:8 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libv8-3.14.5 amd64 3.14.5.8-5ubuntu2 [1,189 kB] Get:9 http://in.archive.ubuntu.com/ubuntu/ trusty/main libsnappy1 amd64 1.1.0-1ubuntu1 [11.2 kB] Get:10 http://in.archive.ubuntu.com/ubuntu/ trusty/universe mongodb-clients amd64 1:2.4.9-1ubuntu2 [9,595 kB] Get:11 http://in.archive.ubuntu.com/ubuntu/ trusty/universe mongodb-server amd64 1:2.4.9-1ubuntu2 [3,312 kB] Fetched 14.6 MB in 39s (370 kB/s) Selecting previously unselected package libboost-filesystem1.54.0:amd64. (Reading database ... 202899 files and directories currently installed.)

198 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Preparing to unpack .../libboost-filesystem1.54.0_1.54.0-4ubuntu3.1_amd64.deb ... Unpacking libboost-filesystem1.54.0:amd64 (1.54.0-4ubuntu3.1) ... Selecting previously unselected package libboost-program-options1.54.0:amd64. Preparing to unpack .../libboost-program-options1.54.0_1.54.0-4ubuntu3.1_amd64.deb ... Unpacking libboost-program-options1.54.0:amd64 (1.54.0-4ubuntu3.1) ... Selecting previously unselected package libboost-thread1.54.0:amd64. Preparing to unpack .../libboost-thread1.54.0_1.54.0-4ubuntu3.1_amd64.deb ... Unpacking libboost-thread1.54.0:amd64 (1.54.0-4ubuntu3.1) ... Selecting previously unselected package libpcrecpp0:amd64. Preparing to unpack .../libpcrecpp0_1%3a8.31-2ubuntu2_amd64.deb ... Unpacking libpcrecpp0:amd64 (1:8.31-2ubuntu2) ... Selecting previously unselected package libunwind8. Preparing to unpack .../libunwind8_1.1-2.2ubuntu3_amd64.deb ... Unpacking libunwind8 (1.1-2.2ubuntu3) ... Selecting previously unselected package libtcmalloc-minimal4. Preparing to unpack .../libtcmalloc-minimal4_2.1-2ubuntu1_amd64.deb ... Unpacking libtcmalloc-minimal4 (2.1-2ubuntu1) ... Selecting previously unselected package libgoogle-perftools4. Preparing to unpack .../libgoogle-perftools4_2.1-2ubuntu1_amd64.deb ... Unpacking libgoogle-perftools4 (2.1-2ubuntu1) ... Selecting previously unselected package libv8-3.14.5. Preparing to unpack .../libv8-3.14.5_3.14.5.8-5ubuntu2_amd64.deb ... Unpacking libv8-3.14.5 (3.14.5.8-5ubuntu2) ... Selecting previously unselected package libsnappy1. Preparing to unpack .../libsnappy1_1.1.0-1ubuntu1_amd64.deb ... Unpacking libsnappy1 (1.1.0-1ubuntu1) ... Selecting previously unselected package mongodb-clients. Preparing to unpack .../mongodb-clients_1%3a2.4.9-1ubuntu2_amd64.deb ... Unpacking mongodb-clients (1:2.4.9-1ubuntu2) ... Selecting previously unselected package mongodb-server. Preparing to unpack .../mongodb-server_1%3a2.4.9-1ubuntu2_amd64.deb ... Unpacking mongodb-server (1:2.4.9-1ubuntu2) ... Processing triggers for man-db (2.6.7.1-1ubuntu1) ... Processing triggers for ureadahead (0.100.0-16) ... Setting up libboost-filesystem1.54.0:amd64 (1.54.0-4ubuntu3.1) ... Setting up libboost-program-options1.54.0:amd64 (1.54.0-4ubuntu3.1) ... Setting up libboost-thread1.54.0:amd64 (1.54.0-4ubuntu3.1) ... Setting up libpcrecpp0:amd64 (1:8.31-2ubuntu2) ... Setting up libunwind8 (1.1-2.2ubuntu3) ... Setting up libtcmalloc-minimal4 (2.1-2ubuntu1) ... Setting up libgoogle-perftools4 (2.1-2ubuntu1) ... Setting up libv8-3.14.5 (3.14.5.8-5ubuntu2) ... Setting up libsnappy1 (1.1.0-1ubuntu1) ... Setting up mongodb-clients (1:2.4.9-1ubuntu2) ... Setting up mongodb-server (1:2.4.9-1ubuntu2) ... Adding system user ‘mongodb’ (UID 120) ... Adding new user ‘mongodb’ (UID 120) with group ‘nogroup’ ... Not creating home directory ‘/home/mongodb’. Adding group ‘mongodb’ (GID 128) ... Done. Adding user ‘mongodb’ to group ‘mongodb’ ... Adding user mongodb to group mongodb Done. mongodb start/running, process 17270 Processing triggers for libc-bin (2.19-0ubuntu6.4) ... Processing triggers for ureadahead (0.100.0-16) ... [Pharaoh Logging] Adding Package mongodb-server from the Packager Apt executed correctly ... All done!

1.1. Commands 199 kevells Documentation, Release 0.1

******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------MongoDB: Success ------Installer Finished ******************************

Parameters Alternative Parameter Op- Comment tions Install Instead of mongoDB, the following alternatives can also be used: Yes It installs mongoDB MongoDB, mongo-db-server,mongo-db, mongodb-server, mongoDB under Options Server? (Y/N) mongodb, ptconfigure Install Instead of mongoDB, the following alternatives can also be used: No It exits mongoDB MongoDB, mongo-db-server,mongo-db, mongodb-server, Server? (Y/N) mongodb|

Benefits • Mongo DB is document oriented database. • Mongo DB can updated the latest version. • While installing mongo DB all depencies, libraries can also installed automatically without searching from the web. • MongoDB can store the business subject in the minimal number of documents. • Speed enhancements. • Great advantage of load balancing and data replication features over multiple machines for storing files.

Mysqlserver synopsis This module acts as a facilitator to install mysql-server with the updated version via apt-get. If the mysql- server already exists in your machine, it will checks for the availability of newly updated module.

The Help Command The help command guides the users regarding the methodology in usage and also about the actions that can be performed under this modules. It also describes the alternative names for mysql-server. The command for using help option is given below ptconfigure mysql-server help

This command makes the users to be aware of its purpose and also about the command used for installing the mysql- server. The screenshot given below shows a pictorial presentation about the help command. kevell@corp:/# ptconfigure MysqlServer help ******************************

This command allows you to install the MySQL Server. Currently only Mysql Workbench, the Database management GUI provided by Oracle for

200 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Mysql.

MysqlServer, mysql-server, mysqlserver

- install Install some Mysql Server Tools through apt-get. example: ptconfigure mysql-server install

Notes, during mysql install a root password will be set. First, it’ll look for the parameter --mysql-root-pass, if this is not set, it’ll look in the ptconfigure config for a mysql-default-root-pass setting, and failing both of those it will just set the password for root to ptconfigure.

------End Help ******************************

Installation The command used for installing the mysql server is given below. ptconfigure mysql-server install

During the installation, the following process occurs • This module assists to install some tools for mysql server via apt-get. • Initially a root password will be set. • While installing, it will look for a parameter of –mysql-root-pass. • If the –mysql-root-pass is not available, it will search the ptconfigure config for the settings of mysql-default- root-pass. • In case of both steps mentioned above gets failed, it will proceed by setting root password to ptconfigure.

Additional Options: Let us see about, the additional options involved in installing the mysql-server. Parameters Directory(default) op- Comments tion Install In the place of MySQL Server these alternative Y(YES)If the user wish to proceed the MySQL names can be used:MysqlServer,mysql-server, installation process they can input Server? (Y/N) mysqlserver. as Y. Install In the place of MySQL Server these alternative N(NO)If the user wish to quit the MySQL names can be used:MysqlServer,mysql-server, installation process they can input Server? (Y/N) mysqlserver.| as N The following screen shot gives you an graphical presentation regarding the installation process. kevell@corp:/# ptconfigure mysql-server install Install MySQL Server?(Y/N) Y ******************************* * Pharaoh Tools * * MySQL Server! * ******************************* [Pharaoh Logging] Package debconf-utils from the Packager Apt is already installed, so not installing Creating /tmp/ptconfigure-temp-script-46222435876.sh chmod 755 /tmp/ptconfigure-temp-script-46222435876.sh 2>/dev/null

1.1. Commands 201 kevells Documentation, Release 0.1

Changing /tmp/ptconfigure-temp-script-46222435876.sh Permissions Executing /tmp/ptconfigure-temp-script-46222435876.sh Temp File /tmp/ptconfigure-temp-script-46222435876.sh Removed Reading package lists... Building dependency tree... Reading state information... The following extra packages will be installed: libdbd-mysql-perl libdbi-perl libterm-readkey-perl mysql-client-5.5 mysql-client-core-5.5 Suggested packages: libclone-perl libmldbm-perl libnet-daemon-perl libplrpc-perl libsql-statement-perl The following NEW packages will be installed: libdbd-mysql-perl libdbi-perl libterm-readkey-perl mysql-client mysql-client-5.5 mysql-client-core-5.5 0 upgraded,6 newly installed,0 to remove and 172 not upgraded. Need to get 2,315 kB/3,321 kB of archives. After this operation, 40.1 MB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main mysql-client-core-5.5 amd64 5.5.41-0ubuntu0.14.04.1[710 kB] Get:2 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main mysql-client-5.5 amd64 5.5.41-0ubuntu0.14.04.1[1,592 kB] Get:3 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main mysql-client all 5.5.41-0ubuntu0.14.04.1[12.3 kB] Fetched 2,315 kB in 44s(51.7 kB/s) Selecting previously unselected package libdbi-perl. (Reading database ... 232987 files and directories currently installed.) Preparing to unpack .../libdbi-perl_1.630-1_amd64.deb ... Unpacking libdbi-perl(1.630-1) ... Selecting previously unselected package libdbd-mysql-perl. Preparing to unpack .../libdbd-mysql-perl_4.025-1_amd64.deb ... Unpacking libdbd-mysql-perl(4.025-1) ... Selecting previously unselected package libterm-readkey-perl. Preparing to unpack .../libterm-readkey-perl_2.31-1_amd64.deb ... Unpacking libterm-readkey-perl(2.31-1) ... Selecting previously unselected package mysql-client-core-5.5. Preparing to unpack .../mysql-client-core-5.5_5.5.41-0ubuntu0.14.04.1_amd64.deb ... Unpacking mysql-client-core-5.5(5.5.41-0ubuntu0.14.04.1) ... Selecting previously unselected package mysql-client-5.5. Preparing to unpack .../mysql-client-5.5_5.5.41-0ubuntu0.14.04.1_amd64.deb ... Unpacking mysql-client-5.5(5.5.41-0ubuntu0.14.04.1) ... Selecting previously unselected package mysql-client. Preparing to unpack .../mysql-client_5.5.41-0ubuntu0.14.04.1_all.deb ... Unpacking mysql-client(5.5.41-0ubuntu0.14.04.1) ... Processing triggers for man-db(2.6.7.1-1ubuntu1) ... Setting up libdbi-perl(1.630-1) ... Setting up libdbd-mysql-perl(4.025-1) ... Setting up libterm-readkey-perl(2.31-1) ... Setting up mysql-client-core-5.5(5.5.41-0ubuntu0.14.04.1) ... Setting up mysql-client-5.5(5.5.41-0ubuntu0.14.04.1) ... Setting up mysql-client(5.5.41-0ubuntu0.14.04.1) ... [Pharaoh Logging] Adding Package mysql-client from the Packager Apt executed correctly Aborting downgrade from(at least) 5.6 to 5.5. If are sure you want to downgrade to 5.5, remove the file /var/lib/mysql/debian-*.flag and try installing again. dpkg: error processing archive /var/cache/apt/archives/mysql-server-5.5_5.5.41-0ubuntu0.14.04.1_amd64.deb(--unpack): subprocess new pre-installation script returned error exit status 1 Errors were encountered while processing: /var/cache/apt/archives/mysql-server-5.5_5.5.41-0ubuntu0.14.04.1_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code(1) Reading package lists...

202 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Building dependency tree... Reading state information... The following extra packages will be installed: libaio1 libhtml-template-perl mysql-server-5.5 mysql-server-core-5.5 Suggested packages: libipc-sharedcache-perl tinyca mailx The following NEW packages will be installed: libaio1 libhtml-template-perl mysql-server mysql-server-5.5 mysql-server-core-5.5 0 upgraded,5 newly installed,0 to remove and 172 not upgraded. Need to get 4,964 kB/5,036 kB of archives. After this operation, 53.0 MB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main mysql-server-core-5.5 amd64 5.5.41-0ubuntu0.14.04.1[3,207 kB] Get:2 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main mysql-server-5.5 amd64 5.5.41-0ubuntu0.14.04.1[1,744 kB] Get:3 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main mysql-server all 5.5.41-0ubuntu0.14.04.1[12.4 kB] Preconfiguring packages ... Fetched 4,964 kB in 1min 5s(75.8 kB/s) Selecting previously unselected package libaio1:amd64. (Reading database ... 233242 files and directories currently installed.) Preparing to unpack .../libaio1_0.3.109-4_amd64.deb ... Unpacking libaio1:amd64(0.3.109-4) ... Selecting previously unselected package mysql-server-core-5.5. Preparing to unpack .../mysql-server-core-5.5_5.5.41-0ubuntu0.14.04.1_amd64.deb ... Unpacking mysql-server-core-5.5(5.5.41-0ubuntu0.14.04.1) ... Selecting previously unselected package mysql-server-5.5. Preparing to unpack .../mysql-server-5.5_5.5.41-0ubuntu0.14.04.1_amd64.deb ... Selecting previously unselected package libhtml-template-perl. Preparing to unpack .../libhtml-template-perl_2.95-1_all.deb ... Unpacking libhtml-template-perl(2.95-1) ... Selecting previously unselected package mysql-server. Preparing to unpack .../mysql-server_5.5.41-0ubuntu0.14.04.1_all.deb ... Unpacking mysql-server(5.5.41-0ubuntu0.14.04.1) ... Processing triggers for man-db(2.6.7.1-1ubuntu1) ... [Pharaoh Logging] Adding Package mysql-server from the Packager Apt did not execute correctly ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------MysqlServer: Success ------Installer Finished ******************************

If the mysql server is already exists in your machine, then it will throw an message to the user as it is already installed. The following screen shot represents the process of ensuring: kevell@corp:/# ptconfigure mysql-server install Install MySQL Server?(Y/N) Y ******************************* * Pharaoh Tools * * MySQL Server! * ******************************* [Pharaoh Logging] Package debconf-utils from the Packager Apt is already installed, so not installing Creating /tmp/ptconfigure-temp-script-23889189196.sh

1.1. Commands 203 kevells Documentation, Release 0.1

chmod 755 /tmp/ptconfigure-temp-script-23889189196.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-23889189196.sh Permissions Executing /tmp/ptconfigure-temp-script-23889189196.sh Temp File /tmp/ptconfigure-temp-script-23889189196.sh Removed [Pharaoh Logging] Package mysql-client from the Packager Apt is already installed, so not installing [Pharaoh Logging] Package mysql-server from the Packager Apt is already installed, so not installing ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------MysqlServer: Success ------Installer Finished ******************************

Benefits • While installing the mysql server, it installs with the updated version. • It ensures before installing, and check for the availability of modules. • In case of any new modules included in the updated version, the missing module will be installed individually. • It checks the availability of library functions in the mysql server.

MysqlAdmins

Synopsis This module assists in installing and as well as managing the admin users for mysql without using root user. By using this, the users can manage their administrative functions.

Help Command The Help command guides the users regarding the command used for installing the mysql admins, and also its advantages. The command used for help option under this mysql admins is shown below. ptconfigure MysqlAdmins help

The screen shot as given below can lead the user in handling the help command for mysql admins. kevell@corp:/# ptconfigure MysqlAdmins help ******************************

This command allows you to install admin users for MySQL so that MySQL can be managed without using the Root User.

MysqlAdmins, mysql-admins, mysqladmins

- install Installs Mysql Admin Users. example: ptconfigure mysql-admins install

------End Help ******************************

204 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Installation Installing mysql admins to your machine facilitates the users to specify and manage their administrative actions. The command used for installing mysql admins is marked below. ptconfigure MysqlAdmins install

In addition, the following operations shown in a tabular format occurs. Parameters Op- Alternative Parameter Comments tion Install Admin User Y(Yes)In the place of MysqlAdmins these alternative If the user wish to proceed the for MySQL? names can be used: mysql-admins, installation process they can input (Y/N) mysqladmins. as Y. Install MySQL N(No) In the place of MysqlAdmins these alternative If the user wish to quit the access Server? (Y/N) names can be used: mysql-admins, they can input as N mysqladmins.| If the user proceed the installation process, they can frame their administrative functions by specifying the following constraints. * MySQL Root User * MySQL Root Pass * MySQL New Admin User * MySQL New Admin Pass If the user wish to process installation of mysql admins in a remote system they can specify: • MySQL Host. The following screenshot gives you an pictorial representation about the process of installation as described above. kevell@corp:/# ptconfigure mysql-admins install Install Admin User for MySQL?(Y/N) y ******************************* * Pharaoh Tools * * MySQL Admins! * ******************************* Enter MySQL Root User: root Enter MySQL Root Pass: root123 Enter MySQL New Admin User: kevells Enter MySQL New Admin Pass: kevells123 Enter MySQL Host: Enter nothing for 127.0.0.1

Creating /tmp/ptconfigure-temp-script-74285705785.sh chmod 755 /tmp/ptconfigure-temp-script-74285705785.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-74285705785.sh Permissions Executing /tmp/ptconfigure-temp-script-74285705785.sh ERROR 1045(28000): Access denied for user ’root’@’localhost’(using password: YES) Temp File /tmp/ptconfigure-temp-script-74285705785.sh Removed ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------MysqlAdmins: Success ------Installer Finished ******************************

1.1. Commands 205 kevells Documentation, Release 0.1

Benefits • In case of mysql admins is already installed in the users machine, then an message will be appearing to inform the users as it is already installed. • By using this module the administrators can manage their administrative actions as per the requirements. • They can perform the installation process even in a remote system. • Without using the root users, the users can install the mysql admins.

MysqlTools

Synopsis This module aims at installing some tools that assists the MySQL server. It also facilitates in installing the MySQL Workbench GUI and as well as mytop Command Line Tool.

Help Command The help command instructs the users in handling this module. In addition to this, it will also specifies the alternative parameters. The command used for help option is given below: ptconfigure MysqlTools help

The help command also specifies the command used for installing this mysqltools module. Look at the screen shot given below. kevell@corp:/# ptconfigure mysqltools help

******************************

This command allows you to install some tools to help with MySQL Server. Installs the MySQL Workbench GUI and also the mytop Command Line Tool.

MysqlTools, mysql-tools, mysqltools

- install Installs Mysql Tools through apt-get. example: ptconfigure mysql-tools install

------End Help ******************************

Installation This module installs the mysql tools that supports the mysql server with the aid of apt-get. The com- mand used for installing mysqltools to your machine is shown below: ptconfigure MysqlTools install

Parameters Alternative Parameter op- Comments tion Install MySQL Tools? In the place of Mysql Tools these alternative names can be Y(YES) If the user wish to proceed the installation process they can input as Y. (Y/N) used:MysqlTools,mysql-tools, mysqltools. Install MySQL Tools? In the place of Mysql Tools these alternative names can be N(No) If the user wish to proceed the installation process they can input as N.| (Y/N) used:MysqlTools,mysql-tools, If the user proceed installing the mysql tools the following operations are performed while installing • It reads the package lists.

206 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

• Builds the dependency tree. • Reads the state information. • Installs the extra packages that are required. • Installs the suggested packages. • Installs the new packages. • Displays the number of files that are upgraded, newly installed, removed, and not upgraded. The Screen shot as shown below gives you an graphical presentation regarding the steps as explained above. kevell@corp:/# ptconfigure mysqltools install

Install MySQL Tools?(Y/N) y ******************************* * Pharaoh Tools * * MySQL Tools! * ******************************* E: Unable to correct problems, you have held broken packages. Reading package lists... Building dependency tree... Reading state information... Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation:

The following packages have unmet dependencies: mysql-workbench : Depends: libmysqlcppconn7(>= 1.1.3) but it is not installabl e Recommends: ttf-bitstream-vera but it is not going to be inst alled Recommends: mysql-utilities but it is not going to be install ed [Pharaoh Logging] Adding Package mysql-workbench from the Packager Apt did not e xecute correctly dpkg: warning: parsing file ’/var/lib/dpkg/available’ near line 47586 package ’c leopatra’: missing maintainer dpkg: warning: parsing file ’/var/lib/dpkg/available’ near line 47586 package ’c leopatra’: missing architecture Reading package lists... Building dependency tree... Reading state information... The following extra packages will be installed: libconfig-inifiles-perl The following NEW packages will be installed: libconfig-inifiles-perl mytop 0 upgraded,2 newly installed,0 to remove and 13 not upgraded. Need to get 73.8 kB of archives. After this operation, 288 kB of additional disk space will be used. Get:1 http://us.archive.ubuntu.com/ubuntu/ precise/main libconfig-inifiles-perl all 2.68-1[39.6 kB] Get:2 http://in.archive.ubuntu.com/ubuntu/ trusty/universe mytop all 1.9.1-1[34 .1 kB] Fetched 73.8 kB in 7s(10.5 kB/s) Selecting previously unselected package libconfig-inifiles-perl. (Reading database ... 254866 files and directories currently installed.) Preparing to unpack .../libconfig-inifiles-perl_2.68-1_all.deb ... Unpacking libconfig-inifiles-perl(2.68-1) ... Selecting previously unselected package mytop. Preparing to unpack .../archives/mytop_1.9.1-1_all.deb ... Unpacking mytop(1.9.1-1) ...

1.1. Commands 207 kevells Documentation, Release 0.1

Processing triggers for man-db(2.6.7.1-1ubuntu1) ... Setting up libconfig-inifiles-perl(2.68-1) ... Setting up mytop(1.9.1-1) ... [Pharaoh Logging] Adding Package mytop from the Packager Apt executed correctly ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------MysqlTools: Success ------Installer Finished ******************************

It will also specifies the name of tools that are installed, for example .. rubric:: mysql-server-core-5.5:amd64, mysql-server-5.5: amd64, libaio1:amd64, mysql-server:amd64.

Benefits • The user can install their required tools that supports mysql server. • It also facilitates in installing the MySQL Workbench GUI and as well as mytop Command Line Tool. • After completion of installation, it will displays the tools lists that are newly installed.

NagiosServer

Synopsis Nagios is an open source computer system monitoring, network monitoring and infrastructure monitoring software application. Nagios offers monitoring and alerting services for servers, switches, applications, and services. It alerts the users when things go wrong and alerts them a second time when the problem has been resolved. Nagios, originally created under the name NetSaint, was written and is currently maintained by Ethan Galstad along with a group of developers who are actively maintaining both the official and unofficial plugins. Nagios was originally designed to run under Linux but also runs well on other Unix variants. It is free software licensed under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.

Help Command This command helps to determine the usage of Nagios module. The user will come to know about the different way/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same. ptconfigure nagios help

The pictorial screenshot of the above command is listed below, kevell@corp:/# ptconfigure nagios help ******************************

This command is part of Core and provides you with a method by which you can install Nagios.

NagiosServer, nagios-server, nagiosserver, nagios

208 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

- install Installs Nagios Network Monitoring Server example: ptconfigure nagios-server install

------End Help ******************************

Installation This command helps in installing the Nagios in system. The below given command will execute the process of installation. ptconfigure nagios install

The pictorial representation of the above command is listed below, kevell@corp:/# ptconfigure nagios-server install

Install Nagios Server?(Y/N) y ******************************* * Pharaoh Tools * * Nagios Server! * ******************************* E: Unable to correct problems, you have held broken packages. Reading package lists... Building dependency tree... Reading state information... Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation:

The following packages have unmet dependencies: nagios3 : Depends: nagios3-core(= 3.2.3-3ubuntu1) but it is not going to be installed [Pharaoh Logging] Adding Package nagios3 from the Packager Apt did not execute correctly ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------NagiosServer: Success ------Installer Finished ******************************

1.1. Commands 209 kevells Documentation, Release 0.1

Parame- Alternative Parameters Op- Comments ters tions Install There are four alternative parameters which can be used in command line. Y System starts Nagios NagiosServer, nagios-server, nagiosserver, nagios Eg: ptconfigure nagios installation Server? install/ ptconfigure nagiosserver install process Options (Y/N) Install There are four alternative parameters which can be used in command line. N System stops Nagios NagiosServer, nagios-server, nagiosserver, nagios Eg: ptconfigure nagios installation Server? install/ ptconfigure nagiosserver install| process (Y/N)

Benefits • Monitoring of network services (SMTP, POP3, HTTP, NNTP, ICMP, SNMP, FTP, SSH) • Monitoring of host resources (processor load, disk usage, system logs) on a majority of network operating systems, including Microsoft Windows with the NSClient++ plugin or Check MK. • Monitoring of anything else like probes (temperature, alarms,etc.) which have the ability to send collected data via a network to specifically written plugins • Monitoring via remotely run scripts via Nagios Remote Plugin Executor • Remote monitoring supported through SSH or SSL encrypted tunnels. • A simple plugin design that allows users to easily develop their own service checks depending on needs, by using their tools of choice (shell scripts, C++, Perl, Ruby, Python, PHP, C#, etc.) • Available data graphing plugins • Parallelized service checks • The ability to define network host hierarchies using ‘parent’ hosts, allowing the detection of and distinction between hosts that are down or unreachable • Contact notifications when service or host problems occur and get resolved (via e-mail, pager, SMS, or any user-defined method through plugin system) • The ability to define event handlers to be run during service or host events for proactive problem resolution • Automatic log file rotation • Support for implementing redundant monitoring hosts • An optional web-interface for viewing current network status, notifications, problem history, log files, etc. • Data storage via text files rather than database

NetBeans

Synopsis NetBeans is an integrated development environment (IDE) for developing primarily with Java, but also with other languages, in particular PHP, C/C++, and HTML. It is also an application platform framework for Java desktop applications and others. The NetBeans IDE is written in Java and can run on Windows, OS X, Linux, Solaris and other platforms supporting a compatible JVM. NetBeans IDE is a cross-platform IDE with built-in-support for Java Programming Language. The NetBeans Platform allows applications to be developed from a set of modular software components called mod- ules. Applications based on the NetBeans Platform (including the NetBeans IDE itself) can be extended by third party developers.

210 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Help Command This command helps to determine the usage of Netbeans module. The user will come to know about the different way/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same. ptconfigure Netbeans help

Installation This command helps in installing Netbeans in system. The below given command will execute the process of installation. ptconfigure install

Parame- Alternative Parameters Op- Comments ters tions Install There are Three alternative parameters which can be used in command Y System starts Netbeans? line. Netbeans , NetBeans , netbeans Eg: ptconfigure NetBeans install, installation Options (Y/N) ptconfigure netbeans install process Install There are Three alternative parameters which can be used in command N System stops Netbeans? line. Netbeans , NetBeans , netbeans Eg: ptconfigure NetBeans install, installation (Y/N) ptconfigure netbeans install| process

Benefits • User interface management (e.g. menus and toolbars) • User settings management • Storage management (saving and loading any kind of data) • Window management • Wizard framework (supports step-by-step dialogs) • NetBeans Visual Library • Integrated development tools

NetworkTools

Synopsis The network tools are software utilities designed to analyze and configure various aspects of computer network. The most common network tools found on most operating system includes Traceroute , Netstat and Ping. Each network tools have its own functions. For example: Ping is used to check connectivity Netstat is used to display network connection both incoming and outgoing

Help Command This command helps to determine the usage of network tools module. The user will come to know about the different ways/format to execute this module. This command will guide the end user to know when and how the command to be used. Below given are the command and the screenshot of the same. ptconfigure networktools help

The pictorial representation of the above command is listed below,

1.1. Commands 211 kevells Documentation, Release 0.1

kevell@corp:/# ptconfigure NetworkTools help ******************************

This command allows you to install a set of common Network Tools. These include traceroute, netstat, lsof, telnet and ps.

NetworkTools, networktools, network-tools

- install Installs the latest version of Network Tools example: ptconfigure networktools install

------End Help ******************************

Installation When the user needs to install any network tool in machine. The below given command will execute the process of installation. ptconfigure networktool install

Parameters Alternative Parameters Op- Comments tions Install Network Instead of NetworkTools, we can use Y(Yes) If the user wish to proceed the Tools? (Y/N) networktools, network-tools also. installation process they can input as Y. Install Network Instead of NetworkTools, we can use N(No) If the user wish to quit the installation Tools? (Y/N) networktools, network-tools also. process they can input as N.| If the user proceeds installation, during the process of installation the following steps are involved, • builds the dependency tree. • Reads the state information. • list outs the new packages that are installing. • details regarding the number of files upgraded, newly installed, removed and not upgraded. The following screenshot pictorially depicts the above described process of installation. kevell@corp:/# ptconfigure NetworkTools install Install Network Tools?(Y/N) Y ******************************* * Pharaoh Tools * * !Network Tools!! * ******************************* Reading package lists... Building dependency tree... Reading state information... The following NEW packages will be installed: traceroute 0 upgraded,1 newly installed,0 to remove and 301 not upgraded. Need to get 45.0 kB of archives. After this operation, 176 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/universe traceroute amd64 1:2.0.20-0ubuntu0.1[45.0 kB] Fetched 45.0 kB in 4s(10.0 kB/s) Selecting previously unselected package traceroute.

212 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

(Reading database ... 182980 files and directories currently installed.) Preparing to unpack .../traceroute_1%3a2.0.20-0ubuntu0.1_amd64.deb ... Unpacking traceroute(1:2.0.20-0ubuntu0.1) ... Processing triggers for man-db(2.6.7.1-1) ... Setting up traceroute(1:2.0.20-0ubuntu0.1) ... update-alternatives: using /usr/bin/traceroute.db to provide /usr/bin/traceroute(traceroute) in auto mode update-alternatives: using /usr/bin/lft.db to provide /usr/bin/lft(lft) in auto mode update-alternatives: using /usr/bin/traceproto.db to provide /usr/bin/traceproto(traceproto) in auto mode update-alternatives: using /usr/sbin/tcptraceroute.db to provide /usr/sbin/tcptraceroute(tcptraceroute) in auto mode [Pharaoh Logging] Adding Package traceroute from the Packager Apt executed correctly [Pharaoh Logging] Package netstat from the Packager Apt is already installed, so not installing [Pharaoh Logging] Package lsof from the Packager Apt is already installed, so not installing [Pharaoh Logging] Package telnet from the Packager Apt is already installed, so not installing [Pharaoh Logging] Package ps from the Packager Apt is already installed, so not installing ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------NetworkTools: Success ------Installer Finished ******************************

Benefits This module helps in installing the set of common network tools. This benefits the users to install various tools which can be useful when networking with other computers both within the network and across the internet. This helps the users who are working with remote machines.

Newrelic

Synopsis Newrelic used to monitoring the server. Collaboration across the different roles delivers many benefits. The combination of a shared code base, continuous integration, test-driven techniques and automated deploys, among other things, expose problems, in application code, infrastructure or configuration, earlier because the software isn’t “thrown over the wall” to Operations at the end of coding. Automated deployments and standardized production environments, key aspects of DevOps, make deployments predictable and free people from routine repetitive tasks to go do more creative things. The newrelic is comfortable with Ubuntu and cent OS.

Help command The help command leads the users regarding the purpose and as well as about the options that are included in the newrelic modules. The help command lists out the alternative parameters of newrelic under ptconfigure module. It also describes the syntax for detecting the user’s machine. The help command for newrelic is shown below. ptconfigure newrelic help

The syntax for the help command non case sensitive which adds an advantage for this module. The following screen- shot visualize the user about the help command under newrelic. kevell@corp:/# ptconfigure NewRelic help ******************************

This command allows you to update Newrelic. NewRelic, newrelic, Newrelic

1.1. Commands 213 kevells Documentation, Release 0.1

- install Installs the latest version of ptconfigure example: ptconfigure newrelic install

------End Help ******************************

Installation These installation procedures are for system administrators. This section provides information about compatibility and requirements, basic instructions on how to install and configure ptconfigure to more detailed infor- mation. Before installation the user has to follow: 1. Make sure your system meets New Relic’s PHP compatibility and requirements. 2. If you do not already have a New Relic account, create one. 3. From your New Relic Account settings, copy your license key information. 4. Follow the agent installation procedures for both the PHP extension and the local proxy daemon. 5. Complete the configuration settings for the agent and optionally the proxy daemon. 6. Change the default application name to a meaningful name. 7. Restart Apache or your PHP host program (such as php-fpm) as applicable. 8. If no data appears after a few minutes, see Troubleshooting your installation. kevell@corp:/# ptconfigure newrelic install

Install NewRelic? (Y/N) y ******************************* * Pharaoh Tools * * NewRelic! * ******************************* Creating /tmp/ptconfigure-temp-script-97361213995.sh chmod 755 /tmp/ptconfigure-temp-script-97361213995.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-97361213995.sh Permissions Executing /tmp/ptconfigure-temp-script-97361213995.sh --2015-01-28 13:05:04-- https://download.newrelic.com/548C16BF.gpg Resolving download.newrelic.com (download.newrelic.com)... 50.31.164.159 Connecting to download.newrelic.com (download.newrelic.com)|50.31.164.159|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 1682 (1.6K) [application/octet-stream] Saving to: âC~STDOUTâC™

100%[======>] 1,682 --.-K/s in 0s

2015-01-28 13:05:07 (27.9 MB/s) - written to stdout [1682/1682]

W: GPG error: http://packages.elasticsearch.org stable Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY D27D666CD88E42B4 W: GPG error: http://packages.elasticsearch.org stable Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY D27D666CD88E42B4 W: GPG error: http://packages.elasticsearch.org stable Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY D27D666CD88E42B4 W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages)

214 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 amd64 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-amd64_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 amd64 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-amd64_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 amd64 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-amd64_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 amd64 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-amd64_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 amd64 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-amd64_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 amd64 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-amd64_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 i386 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-i386_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 i386 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-i386_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 i386 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-i386_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 i386 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-i386_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 i386 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-i386_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 i386 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-i386_Packages) OK Ign http://security.ubuntu.com trusty-security InRelease Get:1 http://security.ubuntu.com trusty-security Release.gpg [933 B] Get:2 http://security.ubuntu.com trusty-security Release [62.0 kB] Get:3 http://security.ubuntu.com trusty-security/main Sources [64.8 kB] Ign http://archive.canonical.com trusty InRelease Ign http://packages.dotdeb.org squeeze InRelease Ign http://ppa.launchpad.net trusty InRelease Get:4 http://security.ubuntu.com trusty-security/restricted Sources [2,061 B] Hit http://archive.canonical.com trusty Release.gpg Hit http://packages.dotdeb.org squeeze Release.gpg Get:5 http://security.ubuntu.com trusty-security/universe Sources [17.4 kB] Hit http://archive.canonical.com trusty Release Hit http://packages.dotdeb.org squeeze Release Hit http://archive.canonical.com trusty/partner Sources Hit http://packages.dotdeb.org squeeze/all amd64 Packages Hit http://archive.canonical.com trusty/partner amd64 Packages Hit http://packages.dotdeb.org squeeze/all i386 Packages Ign http://wireframesketcher.com InRelease Hit http://archive.canonical.com trusty/partner i386 Packages Get:6 http://security.ubuntu.com trusty-security/multiverse Sources [723 B] Get:7 https://repo.varnish-cache.org precise InRelease Get:8 http://security.ubuntu.com trusty-security/main amd64 Packages [200 kB] Get:9 https://repo.varnish-cache.org precise/varnish-4.0 amd64 Packages Hit http://ppa.launchpad.net trusty Release.gpg Get:10 https://repo.varnish-cache.org precise/varnish-4.0 i386 Packages Get:11 https://repo.varnish-cache.org precise/varnish-4.0 Translation-en_IN Ign http://archive.canonical.com trusty/partner Translation-en Ign http://packages.elasticsearch.org stable InRelease Ign http://in.archive.ubuntu.com trusty InRelease Ign http://packages.elasticsearch.org stable InRelease Ign http://in.archive.ubuntu.com trusty-updates InRelease Ign http://packages.elasticsearch.org stable InRelease Ign http://packages.dotdeb.org squeeze/all Translation-en_IN

1.1. Commands 215 kevells Documentation, Release 0.1

Ign http://in.archive.ubuntu.com trusty-backports InRelease Get:12 http://packages.elasticsearch.org stable Release.gpg [490 B] Ign http://packages.dotdeb.org squeeze/all Translation-en Hit http://in.archive.ubuntu.com trusty Release.gpg Get:13 http://packages.elasticsearch.org stable Release.gpg [490 B] Get:14 http://packages.elasticsearch.org stable Release.gpg [490 B] Hit http://packages.elasticsearch.org stable Release Ign http://packages.elasticsearch.org stable Release Get:15 http://in.archive.ubuntu.com trusty-updates Release.gpg [933 B] Hit http://packages.elasticsearch.org stable Release Ign http://packages.elasticsearch.org stable Release Hit http://in.archive.ubuntu.com trusty-backports Release.gpg Hit http://wireframesketcher.com Release.gpg Hit http://packages.elasticsearch.org stable Release Ign http://packages.elasticsearch.org stable Release Hit http://in.archive.ubuntu.com trusty Release Ign http://packages.elasticsearch.org stable/main amd64 Packages/DiffIndex Get:16 http://in.archive.ubuntu.com trusty-updates Release [62.0 kB] Ign http://packages.elasticsearch.org stable/main i386 Packages/DiffIndex Ign https://repo.varnish-cache.org precise/varnish-4.0 Translation-en_IN Hit http://ppa.launchpad.net trusty Release Ign https://repo.varnish-cache.org precise/varnish-4.0 Translation-en Hit http://wireframesketcher.com Release Ign http://packages.elasticsearch.org stable/main amd64 Packages/DiffIndex Hit http://ppa.launchpad.net trusty/main amd64 Packages Ign http://packages.elasticsearch.org stable/main i386 Packages/DiffIndex Hit http://ppa.launchpad.net trusty/main i386 Packages Hit http://ppa.launchpad.net trusty/main Translation-en Ign http://packages.elasticsearch.org stable/main amd64 Packages/DiffIndex Hit http://in.archive.ubuntu.com trusty-backports Release Ign http://packages.elasticsearch.org stable/main i386 Packages/DiffIndex Hit http://wireframesketcher.com Packages Hit http://in.archive.ubuntu.com trusty/main Sources Hit http://in.archive.ubuntu.com trusty/restricted Sources Get:17 http://security.ubuntu.com trusty-security/restricted amd64 Packages [8,875 B] Hit http://in.archive.ubuntu.com trusty/universe Sources Get:18 http://security.ubuntu.com trusty-security/universe amd64 Packages [85.3 kB] Ign http://pkg.jenkins-ci.org binary/ InRelease Ign http://extras.ubuntu.com trusty InRelease Hit http://in.archive.ubuntu.com trusty/multiverse Sources Hit http://in.archive.ubuntu.com trusty/main amd64 Packages Hit http://extras.ubuntu.com trusty Release.gpg Hit http://pkg.jenkins-ci.org binary/ Release.gpg Hit http://in.archive.ubuntu.com trusty/restricted amd64 Packages Hit http://extras.ubuntu.com trusty Release Hit http://in.archive.ubuntu.com trusty/universe amd64 Packages Hit http://extras.ubuntu.com trusty/main Sources Hit http://in.archive.ubuntu.com trusty/multiverse amd64 Packages Hit http://in.archive.ubuntu.com trusty/main i386 Packages Ign http://repos.zend.com server InRelease Hit http://repos.zend.com server Release.gpg Hit http://repos.zend.com server Release Hit http://repos.zend.com server/non-free amd64 Packages Hit http://pkg.jenkins-ci.org binary/ Release Hit http://repos.zend.com server/non-free i386 Packages Hit http://in.archive.ubuntu.com trusty/restricted i386 Packages Hit http://extras.ubuntu.com trusty/main amd64 Packages Hit http://pkg.jenkins-ci.org binary/ Packages

216 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Hit http://extras.ubuntu.com trusty/main i386 Packages Hit http://in.archive.ubuntu.com trusty/universe i386 Packages Hit http://in.archive.ubuntu.com trusty/multiverse i386 Packages Ign http://wireframesketcher.com Translation-en_IN Hit http://in.archive.ubuntu.com trusty/main Translation-en Get:19 http://security.ubuntu.com trusty-security/multiverse amd64 Packages [1,161 B] Get:20 http://security.ubuntu.com trusty-security/main i386 Packages [190 kB] Hit http://dl.hhvm.com trusty InRelease Ign http://wireframesketcher.com Translation-en Hit http://dl.hhvm.com trusty/main amd64 Packages Hit http://dl.hhvm.com trusty/main i386 Packages Hit http://in.archive.ubuntu.com trusty/multiverse Translation-en Ign http://extras.ubuntu.com trusty/main Translation-en_IN Ign http://repos.zend.com server/non-free Translation-en_IN Hit http://in.archive.ubuntu.com trusty/restricted Translation-en Ign http://extras.ubuntu.com trusty/main Translation-en Ign http://repos.zend.com server/non-free Translation-en Hit http://in.archive.ubuntu.com trusty/universe Translation-en Get:21 http://in.archive.ubuntu.com trusty-updates/main Sources [158 kB] Ign http://apt.newrelic.com newrelic InRelease Get:22 http://apt.newrelic.com newrelic Release.gpg [198 B] Get:23 http://apt.newrelic.com newrelic Release [3,364 B] Ign http://dl.hhvm.com trusty/main Translation-en_IN Get:24 http://apt.newrelic.com newrelic/non-free amd64 Packages [9,582 B] Ign http://dl.hhvm.com trusty/main Translation-en Ign http://pkg.jenkins-ci.org binary/ Translation-en_IN Get:25 http://apt.newrelic.com newrelic/non-free i386 Packages [9,623 B] Ign http://pkg.jenkins-ci.org binary/ Translation-en Ign http://apt.newrelic.com newrelic/non-free Translation-en_IN Ign http://apt.newrelic.com newrelic/non-free Translation-en Hit http://packages.elasticsearch.org stable/main amd64 Packages Hit http://packages.elasticsearch.org stable/main i386 Packages Ign http://packages.elasticsearch.org stable/main Translation-en_IN Ign http://packages.elasticsearch.org stable/main Translation-en Hit http://packages.elasticsearch.org stable/main amd64 Packages Hit http://packages.elasticsearch.org stable/main i386 Packages Ign http://packages.elasticsearch.org stable/main Translation-en_IN Ign http://packages.elasticsearch.org stable/main Translation-en Hit http://packages.elasticsearch.org stable/main amd64 Packages Get:26 http://in.archive.ubuntu.com trusty-updates/restricted Sources [2,061 B] Get:27 http://security.ubuntu.com trusty-security/restricted i386 Packages [8,846 B] Get:28 http://in.archive.ubuntu.com trusty-updates/universe Sources [97.6 kB] Hit http://packages.elasticsearch.org stable/main i386 Packages Get:29 http://security.ubuntu.com trusty-security/universe i386 Packages [85.3 kB] Ign http://packages.elasticsearch.org stable/main Translation-en_IN Ign http://packages.elasticsearch.org stable/main Translation-en Get:30 http://in.archive.ubuntu.com trusty-updates/multiverse Sources [3,553 B] Get:31 http://in.archive.ubuntu.com trusty-updates/main amd64 Packages [406 kB] Get:32 http://security.ubuntu.com trusty-security/multiverse i386 Packages [1,412 B] Hit http://security.ubuntu.com trusty-security/main Translation-en Hit http://security.ubuntu.com trusty-security/multiverse Translation-en Hit http://security.ubuntu.com trusty-security/restricted Translation-en Hit http://security.ubuntu.com trusty-security/universe Translation-en Get:33 http://in.archive.ubuntu.com trusty-updates/restricted amd64 Packages [8,875 B] Get:34 http://in.archive.ubuntu.com trusty-updates/universe amd64 Packages [241 kB] Get:35 http://in.archive.ubuntu.com trusty-updates/multiverse amd64 Packages [9,382 B] Get:36 http://in.archive.ubuntu.com trusty-updates/main i386 Packages [397 kB] Get:37 http://in.archive.ubuntu.com trusty-updates/restricted i386 Packages [8,846 B]

1.1. Commands 217 kevells Documentation, Release 0.1

Get:38 http://in.archive.ubuntu.com trusty-updates/universe i386 Packages [241 kB] Get:39 http://in.archive.ubuntu.com trusty-updates/multiverse i386 Packages [9,558 B] Hit http://in.archive.ubuntu.com trusty-updates/main Translation-en Hit http://in.archive.ubuntu.com trusty-updates/multiverse Translation-en Hit http://in.archive.ubuntu.com trusty-updates/restricted Translation-en Hit http://in.archive.ubuntu.com trusty-updates/universe Translation-en Hit http://in.archive.ubuntu.com trusty-backports/main Sources Hit http://in.archive.ubuntu.com trusty-backports/restricted Sources Hit http://in.archive.ubuntu.com trusty-backports/universe Sources Hit http://in.archive.ubuntu.com trusty-backports/multiverse Sources Hit http://in.archive.ubuntu.com trusty-backports/main amd64 Packages Hit http://in.archive.ubuntu.com trusty-backports/restricted amd64 Packages Hit http://in.archive.ubuntu.com trusty-backports/universe amd64 Packages Hit http://in.archive.ubuntu.com trusty-backports/multiverse amd64 Packages Hit http://in.archive.ubuntu.com trusty-backports/main i386 Packages Hit http://in.archive.ubuntu.com trusty-backports/restricted i386 Packages Hit http://in.archive.ubuntu.com trusty-backports/universe i386 Packages Hit http://in.archive.ubuntu.com trusty-backports/multiverse i386 Packages Hit http://in.archive.ubuntu.com trusty-backports/main Translation-en Hit http://in.archive.ubuntu.com trusty-backports/multiverse Translation-en Hit http://in.archive.ubuntu.com trusty-backports/restricted Translation-en Hit http://in.archive.ubuntu.com trusty-backports/universe Translation-en Ign http://in.archive.ubuntu.com trusty/main Translation-en_IN Ign http://in.archive.ubuntu.com trusty/multiverse Translation-en_IN Ign http://in.archive.ubuntu.com trusty/restricted Translation-en_IN Ign http://in.archive.ubuntu.com trusty/universe Translation-en_IN Fetched 2,420 kB in 2min 58s (13.6 kB/s) Reading package lists... Temp File /tmp/ptconfigure-temp-script-97361213995.sh Removed dpkg: error processing package zend-server-php-5.3 (--configure): subprocess installed post-installation script returned error exit status 2 Errors were encountered while processing: zend-server-php-5.3 E: Sub-process /usr/bin/dpkg returned an error code (1) Reading package lists... Building dependency tree... Reading state information... The following packages were automatically installed and are no longer required: gyp libc-ares-dev libc-ares2 libjs-node-uuid libv8-3.14-dev linux-headers-3.13.0-32 linux-headers-3.13.0-32-generic linux-image-3.13.0-32-generic linux-image-extra-3.13.0-32-generic node-abbrev node-ansi node-archy node-async node-block-stream node-combined-stream node-cookie-jar node-delayed-stream node-forever-agent node-form-data node-fstream node-fstream-ignore node-github-url-from-git node-glob node-graceful-fs node-gyp node-inherits node-ini node--stringify-safe node-lockfile node-lru-cache node-mime node-minimatch node-mkdirp node-mute-stream node-node-uuid node-nopt node-normalize-package-data node-npmlog node-once node-osenv node-qs node-read node-read-package-json node-request node-retry node-rimraf node-semver node-sha node-sigmund node-slide node-tar node-tunnel-agent node-which nodejs nodejs-dev ttf-dejavu-core Use ’apt-get autoremove’ to remove them. The following NEW packages will be installed: newrelic-sysmond 0 upgraded, 1 newly installed, 0 to remove and 69 not upgraded. 1 not fully installed or removed. Need to get 1,914 kB of archives. After this operation, 4,780 kB of additional disk space will be used.

218 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Get:1 http://apt.newrelic.com/debian/ newrelic/non-free newrelic-sysmond amd64 2.0.2.111 [1,914 kB] Fetched 1,914 kB in 4min 33s (6,991 B/s) Selecting previously unselected package newrelic-sysmond. (Reading database ... 280715 files and directories currently installed.) Preparing to unpack .../newrelic-sysmond_2.0.2.111_amd64.deb ... Unpacking newrelic-sysmond (2.0.2.111) ... Processing triggers for ureadahead (0.100.0-16) ... Setting up zend-server-php-5.3 (6.1.0+b1177) ... Module php5 already enabled Module rewrite already enabled Site zendserver_gui already enabled X-Powered-By: PHP/5.3.26 ZendServer/6.1.0 Content-type: text/html

ERROR: "/usr/sbin/apache2ctl" -S 2>&1 returned with error Setting up newrelic-sysmond (2.0.2.111) ...

********************************************************************* ********************************************************************* *** *** Can not start the New Relic Server Monitor until you insert a *** valid license key in the following file: *** *** /etc/newrelic/nrsysmond.cfg *** *** You can do this by running the following command as root: *** *** nrsysmond-config --set license_key= *** *** No data will be reported until the server monitor can start. *** You can get your New Relic key from the ’Configuration’ section *** of the ’Support’ menu of your New Relic account (accessible at *** https://rpm.newrelic.com). *** ********************************************************************* *********************************************************************

Processing triggers for ureadahead (0.100.0-16) ... [Pharaoh Logging] Adding Package newrelic-sysmond from the Packager Apt executed correctly Enter Your Licence Key:

Creating /tmp/ptconfigure-temp-script-5830489845.sh chmod 755 /tmp/ptconfigure-temp-script-5830489845.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-5830489845.sh Permissions Executing /tmp/ptconfigure-temp-script-5830489845.sh Error: no value specified for license_key

********************************************************************* ********************************************************************* *** *** Can not start the New Relic Server Monitor until you insert a *** valid license key in the following file: *** *** /etc/newrelic/nrsysmond.cfg *** *** You can do this by running the following command as root: *** *** nrsysmond-config --set license_key=

1.1. Commands 219 kevells Documentation, Release 0.1

*** *** No data will be reported until the server monitor can start. *** You can get your New Relic key from the ’Configuration’ section *** of the ’Support’ menu of your New Relic account (accessible at *** https://rpm.newrelic.com). *** ********************************************************************* *********************************************************************

Temp File /tmp/ptconfigure-temp-script-5830489845.sh Removed ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------NewRelic: Success ------Installer Finished ******************************

Parameters Alternative Parameters Op- Comments tions Install Instead of using newrelic the user can use Y(Yes) It starts installing newrelic under Options newrelic?(Y/N) NewRellic, Newrelic ptconfigure Install Instead of using newrelic the user can use N(No) It terminates the installation newrelic?(Y/N) NewRellic, Newrelic.|

Benefits

Technical benefits • Continuous software delivery • Less complex problems to fix • Faster resolution of problems • Comforts with Ubuntu and centOS • Non case sensitivity

Business benefits • Faster delivery of features • More stable operating environments • More time available to add value (rather than fix/maintain)

NginxServer

Synopsis Nginx, pronounced “Engine X”, is a high-performance Web server. The Nginx Web Server is a light weight and versatile server that can be configured for all the different tasks that many modern websites demand. Ngnix server

220 Chapter 1. About pharaohtools kevells Documentation, Release 0.1 acts as a facilitator to the users in configuring applications settings. Few examples for applications settings includes mysql admin user, host, pass. Nginx is making headlines as the new Web server of choice for many webmasters. The top reason for its popularity is its speed. Nginx is faster than Apache in non-testing environments because its architecture is event driven while Apache’s is process driven. The ptconfigure modules acts as a way through for installing this Nginx Server.

Help Command The help command leads the users regarding the purpose and as well as about the options that are included in the Ngnix server module. The help command lists out the alternative parameters of Ngnix server. It also describes the syntax for installing Ngnix server. The help command for Ngnix server is given below. ptconfigure nginx-server help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under Nginx Server. kevell@corp:/# ptconfigure NginxServer help ******************************

This command is part of Core and provides you with a method by which you can configure Application Settings. You can configure default application settings, ie: mysql admin user, host, pass

NginxServer, nginx-server, nginxserver

- install Installs Nginx HTTP Server example: ptconfigure nginx-server install

------End Help ******************************

Installation Installing the Nginx server is simpler by using the following command as shown: ptconfigure nginx-server install

After inputting the command above the following operations as shown in the tabular format occurs. Parameters Alternative Parameter | Options Comments Install Nginx Instead of Nginx Server, the | Y(Yes) following alternatives can also | be used: NginxServer, | nginx-server, nginxserver. | If the user wish to proceed the Server? (Y/N) installation process they can input as Y. Install Nginx Instead of Nginx Server, the following alternatives can N(No) If the user wish to Quit the Server? (Y/N) also be used: NginxServer, nginx-server, nginxserver.| installation process they can input as N. If the user proceeds the installation process, the Nginx HTTP Server will be installed. If the package of Nginx is already exists in the users machine, then a message will appear to instruct the user as Nginx is already exists in that machine. Finally reports are generated with clear results and status. The following screen shot explains the above mentioned process pictorially. Kevell@corp:/# ptconfigure nginx-server install

Install Nginx Server?(Y/N) y ******************************* * Pharaoh Tools *

1.1. Commands 221 kevells Documentation, Release 0.1

* Nginx Server! * ******************************* Reading package lists... Building dependency tree... Reading state information... The following extra packages will be installed: nginx-common nginx-core Suggested packages: fcgiwrap nginx-doc The following NEW packages will be installed: nginx nginx-common nginx-core 0 upgraded,3 newly installed,0 to remove and 278 not upgraded. Need to get 347 kB of archives. After this operation, 1,295 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main nginx-common all 1.4.6-1ubuntu3.1[17.9 kB] Get:2 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main nginx-core amd64 1.4.6-1ubuntu3.1[324 kB] Get:3 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main nginx all 1.4.6-1ubuntu3.1[5,218 B] Fetched 347 kB in 3s(104 kB/s) Selecting previously unselected package nginx-common. (Reading database ... 168194 files and directories currently installed.) Preparing to unpack .../nginx-common_1.4.6-1ubuntu3.1_all.deb ... Unpacking nginx-common(1.4.6-1ubuntu3.1) ... Selecting previously unselected package nginx-core. Preparing to unpack .../nginx-core_1.4.6-1ubuntu3.1_amd64.deb ... Unpacking nginx-core(1.4.6-1ubuntu3.1) ... Selecting previously unselected package nginx. Preparing to unpack .../nginx_1.4.6-1ubuntu3.1_all.deb ... Unpacking nginx(1.4.6-1ubuntu3.1) ... Processing triggers for ureadahead(0.100.0-16) ... ureadahead will be reprofiled on next reboot Processing triggers for ufw(0.34~rc-0ubuntu2) ... Processing triggers for man-db(2.6.7.1-1) ... Setting up nginx-common(1.4.6-1ubuntu3.1) ... Processing triggers for ureadahead(0.100.0-16) ... Processing triggers for ufw(0.34~rc-0ubuntu2) ... Setting up nginx-core(1.4.6-1ubuntu3.1) ... Setting up nginx(1.4.6-1ubuntu3.1) ... [Pharaoh Logging] Adding Package nginx from the Packager Apt executed correctly ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------NginxServer: Success ------Installer Finished ******************************

Benefits • By using this Nginx Server the user can configure their application settings. • The parameters used in help and installation operations are not case sensitive which is an added advantage while compared to others.

222 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

• Nginx is fast because it does not need to create a new process for each new request. • Nginx uses very little memory, especially for static Web pages. • Nginx can be used with a range of systems. • Nginx is highly scalable, and performance is not dependent on hardware. • Nginx is easy to install and configure. • Like Apache, Nginx has all the features you would expect from a leading Web server: • Static file serving. • SSL/TLS support. • Virtual hosts. • Reverse proxying. • Load balancing. • Compression. • Access controls. • URL rewriting. • Custom logging. • Server-side includes. • WebDAV. • FLV streaming. • FastCGI.

Node-JS

Synopsis This module assists the users to install Node JS which is a Server Side JS Language. Node.js is an open source, cross-platform runtime environment for server-side and networking applications. Node.js applications are written in JavaScript, and can be run within the Node.js runtime on OS X, Microsoft Windows, Linux and FreeBSD. Here, let us see how does this module facilitates in installing and using the Node-JS.

Help Command The help command leads the users regarding the purpose and as well as about the options that are included in the Node-JS module. The help command lists out the alternative parameters of Node-JS module. It also describes the syntax for installing Node-JS module. The help command for Node-JS module is shown as below. ptconfigure NodeJS help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under Node JS. kevell@corp:/# ptconfigure NodeJS help ******************************

This command allows you to install Node JS, The Server Side JS Language

NodeJS, node-js, nodejs

- install

1.1. Commands 223 kevells Documentation, Release 0.1

Installs NodeJS through apt-get. example: ptconfigure node-js install

------End Help ******************************

Installation Installing the Node-JS to your machine, can be done simply by using the following command as shown: ptconfigure node-js install

After inputting the command above, the following operations occurs as shown in the tabular format. Parameters Alternative Parameter Op- Comments tion Install Node Instead of Node JS, NodeJS, node-js, Y(Yes) If the user wish to proceed the installation JS? (Y/N) nodejs can also be used. process they can input as Y. Install Node Instead of Node JS, NodeJS, node-js, N(No) If the user wish to proceed the installation JS? (Y/N) nodejs can also be used. process they can input as N.| If the user proceeds the installation process, during execution of installation the following process occurs: • Reads package lists. • builds dependency tree. • reads state information. • list of packages that are automatically installed. • list of new packages installed. • lists out the number of files that are upgraded, newly installed, removed, not upgraded. Finally, the reports and status are clearly reported. And also, adding package nodejs from the Packager Apt executed correctly. The following screenshot depicts the entire process of installation as described. If the node-js module is already existing in the users machine, it will show an message as the Package node-js from the packager Apt is already installed. The screen shot as follows is an good example for those type of messages. kevell@corp:/# ptconfigure node-js install Install Node JS?(Y/N) y ******************************* * Pharaoh Tools * * Node JS! * ******************************* Reading package lists... Building dependency tree... Reading state information... The following extra packages will be installed: ax25-node libax25 -inetd The following NEW packages will be installed: ax25-node libax25 node openbsd-inetd 0 upgraded,4 newly installed,0 to remove and 17 not upgraded. Need to get 110 kB of archives. After this operation, 465 kB of additional disk space will be used. Get:1 http://archive.ubuntu.com/ubuntu/ trusty/universe libax25 amd64 0.0.12-rc2+cvs20120204-2ubuntu2[22.7 kB] Get:2 http://archive.ubuntu.com/ubuntu/ trusty/main openbsd-inetd amd64 0.20091229-2ubuntu3[30.8 kB] Get:3 http://archive.ubuntu.com/ubuntu/ trusty/universe ax25-node amd64 0.3.2-7.4[54.8 kB] Get:4 http://archive.ubuntu.com/ubuntu/ trusty/universe node all 0.3.2-7.4[1,284 B]

224 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Fetched 110 kB in 2s(39.1 kB/s) Selecting previously unselected package libax25. (Reading database ... 237551 files and directories currently installed.) Preparing to unpack .../libax25_0.0.12-rc2+cvs20120204-2ubuntu2_amd64.deb ... Unpacking libax25(0.0.12-rc2+cvs20120204-2ubuntu2) ... Selecting previously unselected package openbsd-inetd. Preparing to unpack .../openbsd-inetd_0.20091229-2ubuntu3_amd64.deb ... Unpacking openbsd-inetd(0.20091229-2ubuntu3) ... Selecting previously unselected package ax25-node. Preparing to unpack .../ax25-node_0.3.2-7.4_amd64.deb ... Unpacking ax25-node(0.3.2-7.4) ... Selecting previously unselected package node. Preparing to unpack .../node_0.3.2-7.4_all.deb ... Unpacking node(0.3.2-7.4) ... Processing triggers for man-db(2.6.7.1-1ubuntu1) ... Processing triggers for ureadahead(0.100.0-16) ... Setting up libax25(0.0.12-rc2+cvs20120204-2ubuntu2) ... Setting up openbsd-inetd(0.20091229-2ubuntu3) ... * Stopping internet superserver inetd ...done. * Not starting internet superserver: no services enabled Processing triggers for ureadahead(0.100.0-16) ... Setting up ax25-node(0.3.2-7.4) ... Setting up node(0.3.2-7.4) ... Processing triggers for libc-bin(2.19-0ubuntu6.4) ... [Pharaoh Logging] Adding Package node from the Packager Apt executed correctly

Reading package lists... Building dependency tree... Reading state information... The following extra packages will be installed: libv8-3.14.5 The following NEW packages will be installed: libv8-3.14.5 nodejs 0 upgraded,2 newly installed,0 to remove and 17 not upgraded. Need to get 1,873 kB of archives. After this operation, 7,429 kB of additional disk space will be used. Get:1 http://archive.ubuntu.com/ubuntu/ trusty/universe libv8-3.14.5 amd64 3.14.5.8-5ubuntu2[1,189 kB] Get:2 http://archive.ubuntu.com/ubuntu/ trusty/universe nodejs amd64 0.10.25~dfsg2-2ubuntu1[684 kB] Fetched 1,873 kB in 14s(126 kB/s) Selecting previously unselected package libv8-3.14.5. (Reading database ... 237621 files and directories currently installed.) Preparing to unpack .../libv8-3.14.5_3.14.5.8-5ubuntu2_amd64.deb ... Unpacking libv8-3.14.5(3.14.5.8-5ubuntu2) ... Selecting previously unselected package nodejs. Preparing to unpack .../nodejs_0.10.25~dfsg2-2ubuntu1_amd64.deb ... Unpacking nodejs(0.10.25~dfsg2-2ubuntu1) ... Processing triggers for doc-base(0.10.5) ... Processing1 added doc-base file... Processing triggers for man-db(2.6.7.1-1ubuntu1) ... Setting up libv8-3.14.5(3.14.5.8-5ubuntu2) ... Setting up nodejs(0.10.25~dfsg2-2ubuntu1) ... update-alternatives: using /usr/bin/nodejs to provide /usr/bin/js(js) in auto mode Processing triggers for libc-bin(2.19-0ubuntu6.4) ... [Pharaoh Logging] Adding Package nodejs from the Packager Apt executed correctly ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more

1.1. Commands 225 kevells Documentation, Release 0.1

******************************

Single App Installer: ------NodeJS: Success ------Installer Finished

Benefits • The parameters used for declaring help command, installation are not case sensitive which is an added advantage while compared to others. • It is well-to-do in both Cent OS and as well as in Ubuntu. • If the node-js package is already existing in the user machine, it won’t overwrites, instead of that it will show a message as already exist. • Node.js uses the Google V8 JavaScript engine to execute code, and a large percentage of the basic modules are written in JavaScript. Node.js contains a built-in library to allow applications to act as a Web server without software such as Apache HTTP Server or IIS.

OpenOffice

Synopsis This module acts as a facilitator to install Openoffice .Open-office is the premier open suite of office-related software. Let us see the usage and methodologies of installing open office in upcoming topics.

Help Command The help command guides the users regarding the purpose and as well as about the options that are included in the Open Office module. It lists out the alternative parameters of Open Office module. It also describes the syntax for installing the Open Office module. The help command for Open Office module is shown as below. ptconfigure OpenOffice help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under Open Office. kevell@corp:/# ptconfigure openoffice help

******************************

This command allows you to install OpenOffice.

OpenOffice,openoffice,Openoffice

- install Installs OpenOffice. example: ptconfigure openoffice install

------End Help ******************************

226 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Installation The command used for installing the Open Office in the users machine is shown below: ptconfigure openoffice install

After inputting the command above, the following process occurs as shown in the tabular format. Parameters Alternative Parameters Op- Comments tions Install Open Instead of openoffice, we can use Y(Yes) If the user wish to proceed the installation Office? (Y/N) OpenOffice, Openoffice also. process they can input as Y. Install Open Instead of openoffice, we can use N(No) If the user wish to quit the installation Office? (Y/N) OpenOffice, Openoffice also. process they can input as N.| If the user proceeds the installation, during the process of installation is described in the below lists: • Reads package lists. • Builds the dependency tree. • Reads state information. • List outs the packages that are automatically installed. • List outs the extra package that are installing. • List outs the suggested packages. • List outs the new packages that are installing. • Details regarding the number of files upgraded, newly installed, removed and not upgraded. Finally, the process of installation gets completed. The following screenshot visually represent the process of installing the open Office.

Benefits • The parameters used in help and installation are not case sensitive which is an added advantage while compared to others. • It is well-to-do in both Ubuntu and as well as Cent OS. • This will module installs the php apc in updated version. • The primary advantage of using Apache OpenOffice as a productivity suite comes from the cost. It includes word processing, spreadsheet, presentation, vector graphic editing and database management components. • It’s easy for beginners to learn to use, but it is powerful enough to do the advanced tasks experienced users want. It’s designed so that the commands and functions you perform in one component of the software work throughout the entire suite.

Oracle

Synopsis Oracle module used to update oracle. It is the first database designed for enterprise grid computation, the most flexible and cost effective way to manage information and applications. Enterprise grid computing creates large pools of industry-standard, modular storage and servers. With this architecture, each new system can be rapidly provisioned from the pool of components. There is no need for peak workloads, because capacity can be easily added or reallocated from the resource pools as needed. It is comfortable with Ubuntu and Cent OS.

1.1. Commands 227 kevells Documentation, Release 0.1

Help command This help command guides the user to update Oracle. This also checks execution, resolving, and request. The help command for Oracle is shown below. ptconfigure Oracle help

After inputs the above command, it starts functioning to update oracle. It catechesis the functions in the screenshots.

Installation Installation includes installation of Oracle required to make the installation in an updated version. It is a manifest process to install Oracle module under ptconfigure Oracle by just using the command given below, ptconfigure Oracle Install

After vitalize the command it will catechize input. When the user input as yes automatically it will install Oracle with checking from the system. If not exit the installa- tion. The following screen shot demonstrate Oracle and its functions. kevell@corp:/# ptconfigure Oracle install Install Oracle?(Y/N) y ******************************* * Pharaoh Tools * * Oracle! * ******************************* Creating /tmp/ptconfigure-temp-script-74494590076.sh chmod 755 /tmp/ptconfigure-temp-script-74494590076.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-74494590076.sh Permissions Executing /tmp/ptconfigure-temp-script-74494590076.sh --2015-01-28 19:28:31-- http://oss.oracle.com/el4/RPM-GPG-KEY-oracle Resolving oss.oracle.com(oss.oracle.com)... 137.254.120.35 Connecting to oss.oracle.com(oss.oracle.com)|137.254.120.35|:80... connected. HTTP request sent, awaiting response... 302 Found Location: https://oss.oracle.com/el4/RPM-GPG-KEY-oracle[following] --2015-01-28 19:28:32-- https://oss.oracle.com/el4/RPM-GPG-KEY-oracle Connecting to oss.oracle.com(oss.oracle.com)|137.254.120.35|:443... connected. HTTP request sent, awaiting response... 200OK Length: 1743(1.7K)[text/plain] Saving to: ‘STDOUT’

100%[======>] 1,743 --.-K/s in0s 2015-01-28 19:28:35(4.27 MB/s) - written to stdout[1743/1743] W: GPG error: http://oss.oracle.com unstable Release: The following signatures were invalid: KEYEXPIRED 1378511808 KEYEXPIRED 1378511808 KEYEXPIRED 1378511808 W: Failed to fetch http://oss.oracle.com/debian/dists/unstable/main/binary-amd64/Packages HttpError404

W: Failed to fetch http://oss.oracle.com/debian/dists/unstable/non-free/binary-amd64/Packages HttpError404

E: Some index files failed to download. They have been ignored, or old ones used instead. OK Ign http://dl.google.com stable InRelease Hit http://dl.google.com stable Release.gpg Hit http://dl.google.com stable Release Hit http://dl.google.com stable/main amd64 Packages Hit http://dl.google.com stable/main i386 Packages Ign http://repos.zend.com server InRelease Hit http://repos.zend.com server Release.gpg Hit http://repos.zend.com server Release Ign http://dl.google.com stable/main Translation-en_US

228 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Ign http://dl.google.com stable/main Translation-en Hit http://repos.zend.com server/non-free amd64 Packages Hit http://repos.zend.com server/non-free i386 Packages Ign http://extras.ubuntu.com trusty InRelease Ign http://security.ubuntu.com trusty-security InRelease Ign http://us.archive.ubuntu.com trusty InRelease Get:1 http://oss.oracle.com unstable InRelease Ign http://oss.oracle.com unstable InRelease Hit http://extras.ubuntu.com trusty Release.gpg Ign http://us.archive.ubuntu.com trusty-updates InRelease Get:2 http://security.ubuntu.com trusty-security Release.gpg[933B] Hit http://extras.ubuntu.com trusty Release Ign http://us.archive.ubuntu.com trusty-backports InRelease Get:3 http://security.ubuntu.com trusty-security Release[62.0 kB] Hit http://extras.ubuntu.com trusty/main Sources Hit http://us.archive.ubuntu.com trusty Release.gpg Hit http://extras.ubuntu.com trusty/main amd64 Packages Hit http://extras.ubuntu.com trusty/main i386 Packages Get:4 http://oss.oracle.com unstable Release Ign http://oss.oracle.com unstable Release Get:5 http://us.archive.ubuntu.com trusty-updates Release.gpg[933B] Hit http://us.archive.ubuntu.com trusty-backports Release.gpg Get:6 http://oss.oracle.com unstable/main amd64 Packages Hit http://us.archive.ubuntu.com trusty Release Get:7 http://us.archive.ubuntu.com trusty-updates Release[62.0 kB] Get:8 http://oss.oracle.com unstable/non-free i386 Packages Ign http://repos.zend.com server/non-free Translation-en_US Get:9 http://oss.oracle.com unstable/main Translation-en_US Ign http://repos.zend.com server/non-free Translation-en Ign http://extras.ubuntu.com trusty/main Translation-en_US Ign http://extras.ubuntu.com trusty/main Translation-en Get:10 http://security.ubuntu.com trusty-security/main Sources[64.8 kB] Hit http://us.archive.ubuntu.com trusty-backports Release Hit http://us.archive.ubuntu.com trusty/main Sources Hit http://us.archive.ubuntu.com trusty/restricted Sources Hit http://us.archive.ubuntu.com trusty/universe Sources Hit http://us.archive.ubuntu.com trusty/multiverse Sources Hit http://us.archive.ubuntu.com trusty/main amd64 Packages Hit http://us.archive.ubuntu.com trusty/restricted amd64 Packages Hit http://us.archive.ubuntu.com trusty/universe amd64 Packages Hit http://us.archive.ubuntu.com trusty/multiverse amd64 Packages Hit http://us.archive.ubuntu.com trusty/main i386 Packages Err http://oss.oracle.com unstable/main amd64 Packages HttpError404 Hit http://us.archive.ubuntu.com trusty/restricted i386 Packages Err http://oss.oracle.com unstable/non-free amd64 Packages HttpError404 Ign http://oss.oracle.com unstable/main Translation-en_US Ign http://oss.oracle.com unstable/main Translation-en Hit http://us.archive.ubuntu.com trusty/universe i386 Packages Ign http://oss.oracle.com unstable/non-free Translation-en_US Hit http://us.archive.ubuntu.com trusty/multiverse i386 Packages Hit http://us.archive.ubuntu.com trusty/main Translation-en Get:11 http://security.ubuntu.com trusty-security/restricted Sources[2,061 B] Ign http://oss.oracle.com unstable/non-free Translation-en Hit http://us.archive.ubuntu.com trusty/multiverse Translation-en Hit http://us.archive.ubuntu.com trusty/restricted Translation-en Get:12 http://security.ubuntu.com trusty-security/universe Sources[17.4 kB]

1.1. Commands 229 kevells Documentation, Release 0.1

Hit http://us.archive.ubuntu.com trusty/universe Translation-en Get:13 http://us.archive.ubuntu.com trusty-updates/main Sources[159 kB] Get:14 http://security.ubuntu.com trusty-security/multiverse Sources[723B] Get:15 http://security.ubuntu.com trusty-security/main amd64 Packages[200 kB] Get:16 http://us.archive.ubuntu.com trusty-updates/restricted Sources[2,061 B] Get:17 http://us.archive.ubuntu.com trusty-updates/universe Sources[97.6 kB] Get:18 http://security.ubuntu.com trusty-security/restricted amd64 Packages[8,875 B] Get:19 http://security.ubuntu.com trusty-security/universe amd64 Packages[85.3 kB] Get:20 http://security.ubuntu.com trusty-security/multiverse amd64 Packages[1,161 B] Get:21 http://security.ubuntu.com trusty-security/main i386 Packages[190 kB] Get:22 http://us.archive.ubuntu.com trusty-updates/multiverse Sources[3,553 B] Get:23 http://us.archive.ubuntu.com trusty-updates/main amd64 Packages[406 kB] Get:24 http://security.ubuntu.com trusty-security/restricted i386 Packages[8,846 B] Get:25 http://security.ubuntu.com trusty-security/universe i386 Packages[85.3 kB] Get:26 http://security.ubuntu.com trusty-security/multiverse i386 Packages[1,412 B] Hit http://security.ubuntu.com trusty-security/main Translation-en Hit http://security.ubuntu.com trusty-security/multiverse Translation-en Hit http://security.ubuntu.com trusty-security/restricted Translation-en Hit http://security.ubuntu.com trusty-security/universe Translation-en Get:27 http://us.archive.ubuntu.com trusty-updates/restricted amd64 Packages[8,875 B] Get:28 http://us.archive.ubuntu.com trusty-updates/universe amd64 Packages[241 kB] Get:29 http://us.archive.ubuntu.com trusty-updates/multiverse amd64 Packages[9,382 B] Get:30 http://us.archive.ubuntu.com trusty-updates/main i386 Packages[398 kB] Get:31 http://us.archive.ubuntu.com trusty-updates/restricted i386 Packages[8,846 B] Get:32 http://us.archive.ubuntu.com trusty-updates/universe i386 Packages[241 kB] Get:33 http://us.archive.ubuntu.com trusty-updates/multiverse i386 Packages[9,558 B] Hit http://us.archive.ubuntu.com trusty-updates/main Translation-en Hit http://us.archive.ubuntu.com trusty-updates/multiverse Translation-en Hit http://us.archive.ubuntu.com trusty-updates/restricted Translation-en Hit http://us.archive.ubuntu.com trusty-updates/universe Translation-en Hit http://us.archive.ubuntu.com trusty-backports/main Sources Hit http://us.archive.ubuntu.com trusty-backports/restricted Sources Hit http://us.archive.ubuntu.com trusty-backports/universe Sources Hit http://us.archive.ubuntu.com trusty-backports/multiverse Sources Hit http://us.archive.ubuntu.com trusty-backports/main amd64 Packages Hit http://us.archive.ubuntu.com trusty-backports/restricted amd64 Packages Hit http://us.archive.ubuntu.com trusty-backports/universe amd64 Packages Hit http://us.archive.ubuntu.com trusty-backports/multiverse amd64 Packages Hit http://us.archive.ubuntu.com trusty-backports/main i386 Packages Hit http://us.archive.ubuntu.com trusty-backports/restricted i386 Packages Hit http://us.archive.ubuntu.com trusty-backports/universe i386 Packages Hit http://us.archive.ubuntu.com trusty-backports/multiverse i386 Packages Hit http://us.archive.ubuntu.com trusty-backports/main Translation-en Hit http://us.archive.ubuntu.com trusty-backports/multiverse Translation-en Hit http://us.archive.ubuntu.com trusty-backports/restricted Translation-en Hit http://us.archive.ubuntu.com trusty-backports/universe Translation-en Ign http://us.archive.ubuntu.com trusty/main Translation-en_US Ign http://us.archive.ubuntu.com trusty/multiverse Translation-en_US Ign http://us.archive.ubuntu.com trusty/restricted Translation-en_US Ign http://us.archive.ubuntu.com trusty/universe Translation-en_US Fetched 2,380 kB in 3min 52s(10.3 kB/s) Temp File /tmp/ptconfigure-temp-script-74494590076.sh Removed E: Failed to fetch http://oss.oracle.com/debian/dists/unstable/non-free/binary-i386/oracle-xe_10.2.0.1-1.1_i386.deb GnuTLS recv error(-9): A TLS packet with unexpected length was received.

E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing? Reading package lists... Building dependency tree... Reading state information...

230 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

The following extra packages will be installed: gcc-4.9-base:i386 libaio:i386 libc6:i386 libgcc1:i386 Suggested packages: glibc-doc:i386 locales:i386 The following NEW packages will be installed: gcc-4.9-base:i386 libaio:i386 libc6:i386 libgcc1:i386 oracle-xe:i386 0 upgraded,5 newly installed,0 to remove and 15 not upgraded. 16 not fully installed or removed. Need to get 225 MB of archives. After this operation, 415 MB of additional disk space will be used. WARNING: The following packages cannot be authenticated! libaio:i386 oracle-xe:i386 Get:1 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main gcc-4.9-base i386 4.9.1-0ubuntu1[14.9 kB] Get:2 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main libc6 i386 2.19-0ubuntu6.5[4,003 kB] Get:3 http://oss.oracle.com/debian/ unstable/main libaio i386 0.3.104-1[6,018 B] Get:4 http://oss.oracle.com/debian/ unstable/non-free oracle-xe i386 10.2.0.1-1.1[221MB] Err http://oss.oracle.com/debian/ unstable/non-free oracle-xe i386 10.2.0.1-1.1 GnuTLS recv error(-9): A TLS packet with unexpected length was received. Get:5 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main libgcc1 i386 1:4.9.1-0ubuntu1[47.9 kB] Fetched 4,071 kB in 8min 36s(7,880 B/s) ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------Oracle: Success ------Installer Finished

******************************

Parameters Alternate Parameters Op- Comments tions Install Instead of using Oracle we can use Y It will install Oracle under ptconfigure in Option Oracle?(Y/N) oracle, Ora-cle pharaoh tools Install Instead of using Oracle we can use N The system exit the installation Oracle?(Y/N) oracle, Ora-cle|

Benefits • Portability is possible. • Backup and Recovery also available. • High speed in Performance. • Multiple Database Support. • Non case sensitivity. • Relevantly work with Ubuntu and CentOS.

PackageManager

1.1. Commands 231 kevells Documentation, Release 0.1

Synopsis This command used to wrap the package management. It is having three options. They are pkg-install, pkg-ensure, pkg-remove. This allow the user to install in any system. It manage the package Manager functions. It suitable to work with Ubuntu and centOS.

Help command This help command guides the user to install,ensure,remove package management. This allows installation, ensure, remove. The help command for package Manager is shown below. ptconfigure packagemanager help

After inputs the above command, it starts functioning to wrap. It catechesis the functions in the screenshots. kevell@corp:/# ptconfigure packagemanager help ******************************

This command allows you to use a Package Management wrapper.

PackageManager, package-manager, packagemanager, package-mgr, pkgmgr

- pkg-install Installs a Package through a Package Manager example: ptconfigure package-manager install --package-name="mysql" --package-version="5.0" --packager="apt-get"

- pkg-ensure Installs a Package through a Package Manager example: ptconfigure package-manager install --package-name="mysql" --package-version="5.0" --packager="apt-get"

- pkg-remove Removes a Package through a Package Manager example: ptconfigure package-manager install --package-name="mysql" --package-version="5.0" --packager="apt-get"

A package manager wrapper that will allow you to install packages on any system

------End Help ******************************

Alternative parameters The following are the alternative parameters that can be defined in declarations: PackageManager, package-manager, packagemanager, pkgmgr, package-mgr.

Pkg-install Installation includes installation of PackageManager required to make the installation in an updated version. It is a manifest process to install PackageManager module under ptconfigure. PackageManager by just using the command given below, ptconfigure PackageManager Install

After vitalize the command it will catechize input. When the user input as yes automatically it will install PackageManager with checking from the system. If not exit the installation. The following screen shot demonstrate PackageManager and its functions.

Pkg-ensure Pkg ensure a system service is running. In case of not running start it else don’t attempt. Through this command the user can identify whether the system is working or idle. Simple commands are easy to handle. The following command used to ensure through package manager.

232 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

ptconfigure PackageManager ensure

Pkg-remove Pkg remove command used to remove a package from package manager. The package manager first checks the package want to remove from package manager. Then it ask for confirmation. Then use the remove option. ptconfigure PackageManager remove

Benefits • Non case sensitivity. • Well-to-do in Ubuntu and CentOS. • Remove the package is possible • Wrap the package manager • Commands are simple to use

Parallax

Synopsis The parallax promotes the multitasking functions in the users machine. The parameters to define the installation and help are not case sensitive, while compared to others. It is easier to define the multi tasking function either at the time of installation or at the time of running the installation process.

Help Command The help command leads the user in working with this parallax. It also specifies the command used for installing the parallax and also the syntax for two types of declaring installation. The help command also list out the alternative parameters that can be used. The command used for help option under the parallax is given below. ptconfigure parallax help

The display of results after the input of help command is represented in the screenshot below. kevell@corp:/# ptconfigure Parallax help ******************************

This Module lets you execute commands in parallel

Parallax, parallax

- cli Go through all questions to execute parallel programs example: ptconfigure parallax cli example: ptconfigure parallax cli --yes --command-1="pwd" --command-2="ls"

- child Unlikely you’ll use this, its used by cli to spawn child processes example: parallax cli child

------End Help ******************************

1.1. Commands 233 kevells Documentation, Release 0.1

Installation It is easier to go with parallax for installing as installation can be defined in two different ways as per the users requirements. Those two ways are defined as below: • By mentioning the types of multi tasking that are required while defining the installation command. • Or , by mentioning the types of tasks while running(Run-time) installation. The command used for specifying the multi-tasks at the time of declaring installation command is shown below: ptconfigure parallax cli --yes --command-1="pwd" --command-2="who"

After mentioning this command, the parallax executes both of the tasks as specified above in command-1 and command-2. The two tasks are performed parallel and result are displayed. The screen shot attached below is an very good example for type of declaration defined above. kevell@corp:/# ptconfigure parallax cli --yes --command-1="pwd" --command-2="who" Completed task: pwd Completed task: who ******************************

COMMAND: pwd COMPLETE: 1 EXIT_STATUS: 0 OUTPUT: /home/kevells

COMMAND: who COMPLETE: 1 EXIT_STATUS: 0 OUTPUT: kevells :0 2015-01-08 12:15(:0) kevells pts/2 2015-01-08 14:11(:0) kevells pts/1 2015-01-08 16:36(:0) kevells pts/10 2015-01-08 16:36(:0)

------

In Cli

******************************

The command used for declaring the multi tasks at run-time is shown below: ptconfigure parallax cli

After inputting the command above the following process occurs: Paramaters Alternative Parameter Op- comments tions Run Commands In Spite of parallax, the following Y(yes) If the user wish to proceed the in Parallel? (Y/N) alternatives can also be used: parallax, installation process they can input as Parallax Y. Run Commands In Spite of parallax, the following N(No) If the user wish to Quit the in Parallel? (Y/N) alternatives can also be used: parallax, installation process they can input as Parallax| N. If the user wish to proceed installation, the user can specify the multiple tasks as per their requirements. After com- pletion of specifying the multiple tasks, if the users wish to stop they can stop by simply entering none.

234 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Finally, the results of completed tasks along with its status are defined at the end. The following screen shots can you an graphical representation regarding the above mentioned process. kevell@corp:/# ptconfigure parallax cli

Run Commands in Parallel?(Y/N) y Enter Command to include next. Enter none to end. pwd Enter Command to include next. Enter none to end. who Enter Command to include next. Enter none to end.

Completed task: pwd Completed task: who ******************************

COMMAND: pwd COMPLETE: 1 EXIT_STATUS: 0 OUTPUT: /home/kevells

COMMAND: who COMPLETE: 1 EXIT_STATUS: 0 OUTPUT: kevells :0 2015-01-08 12:15(:0) kevells pts/2 2015-01-08 14:11(:0) kevells pts/1 2015-01-08 16:36(:0) kevells pts/10 2015-01-08 16:36(:0)

------

In Cli

******************************

Benefits • The user can define the parallel tasks either in run-time or in an pre-defined way as per their requirements. • Finally, after completion of multi-tasks the results and status of the tasks completed are clearly reported. • The syntax used for declaring is not case-sensitive while comparing to others which is an added advantage. • It is well-to-do in both cent Os and as well as case sensitive.

Pear

Synopsis PEAR is short for “PHP Extension and Application Repository” and is pronounced just like the fruit. The purpose of PEAR is to provide: • A structured library of open-source code for PHP users • A system for code distribution and package maintenance

1.1. Commands 235 kevells Documentation, Release 0.1

• A standard style for code written in PHP, specified here • The PHP Extension Community Library (PECL) PEAR’s mission is to provide reusable components, lead innovation in PHP, provide best practices for PHP develop- ment and educate developers. The code in PEAR is partitioned in “packages”. Each package is a separate project with its own development team, version number, release cycle, documentation and a defined relation to other packages (including dependencies). Packages are distributed as gzipped tar files with a description file inside, and installed on your local system using the PEAR installer.

Help Command This command helps to determine the usage of PEAR module. The user will come to know about the different way/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same. ptconfigure help

The pictorial representation of the above command is listed below, kevell@corp:/# ptconfigure pear help ******************************

This command allows you to modify create or modify pears

Pear, pear

- create Create a new system pear, overwriting if it exists example: ptconfigure pear create --pearname="somename"

- remove Remove a system pear example: ptconfigure pear remove --pearname="somename"

- set-password Set the password of a system pear example: ptconfigure pear set-password --pearname="somename" --new-password="somepassword"

- exists Check the existence of a pear example: ptconfigure pear exists --pearname="somename"

- show-groups Show groups to which a pear belongs example: ptconfigure pear show-groups --pearname="somename"

- add-to-group Add pear to a group example: ptconfigure pear add-to-group --pearname="somename" --groupname="somegroupname"

- remove-from-group Remove pear from a group example: ptconfigure pear remove-from-group --pearname="somename" --groupname="somegroupname"

------End Help ******************************

236 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Create When the user needs to create a new system pear or needs to overwrite the existing one, the below given command will execute the process. ptconfigure pear create - -pearname=”somename”

Remove When the user needs to remove a system pear, the below given command will execute the process. ptconfigure pear remove - -pearname=”somename”

Set Password When the user needs to set password of a system pear, the below given command will execute the process. ptconfigure pear setpassword - -pearname=”somename”- - new-password=”somepassword”

Exists When the user needs to know the existence of pear, the below given command will execute the process. ptconfigure pear exists - -pearname=”somename”

Show-groups When the user needs to know the group to which a pear belongs, the below given command will execute the process. ptconfigure pear show-groups - -pearname=”somename”

Add to group When the user needs to allocate pear to a particular group, the below given command will execute the process. ptconfigure pear add-to-group - -pearname=”somename” - - groupname=”somegroupname”

Remove from group When the user needs to remove pear from a group, the below given command will execute the process. ptconfigure pear remove-from-group - -pearname=”name” - -groupname=”groupname”

Alternative Parameter There are two alternative parameters which can be used in command line. Pear, pear Eg: ptconfigure pear create - -pearname=”somename”/ ptconfigure Pear create - -pearname=”somename”

Benefits Pear.php.net provides both a human-friendly (HTML) and machine-friendly (currently REST) interface to the packages available from pear.php.net. All communication occurs over the HTTP protocol. Other functions the pear.php.net site provides are: • user account management (independent of the SVN server) • package management • release management • Well-to-do in Ubuntu and Cent OS • Non case sensitivity

1.1. Commands 237 kevells Documentation, Release 0.1

PECL

Synopsis PECL stands for “Positive Emitter Coupled Logic”. Pecl are differential logic outputs commonly used in high-speed clock distribution circuits. This command provides the user to create, remove, setpassward, exist . Group activities also possible through this command. This command main function is based on the system. It is suitable with Ubuntu and CentOS.

Help command Pecl makes package development a breeze: it works with exist, modify, create, to support the set passward for system pecl. With pecl, modifying a package becomes so easy that it will be the user default layout whenever the user is writing a significant amount of code. ptconfigure pecl help

The following screenshot explains its function. kevell@corp:/# ptconfigure PECL help

******************************

This command allows you to modify create or modify pecls

PECL, pecl

- create Create a new system pecl, overwriting if it exists example: ptconfigure pecl create --peclname="somename"

- remove Remove a system pecl example: ptconfigure pecl remove --peclname="somename"

- set-password Set the password of a system pecl example: ptconfigure pecl set-password --peclname="somename" --new-password="somepassword"

- exists Check the existence of a pecl example: ptconfigure pecl exists --peclname="somename"

- show-groups Show groups to which a pecl belongs example: ptconfigure pecl show-groups --peclname="somename"

- add-to-group Add pecl to a group example: ptconfigure pecl add-to-group --peclname="somename" --groupname="somegroupname"

- remove-from-group Remove pecl from a group example: ptconfigure pecl remove-from-group --peclname="somename" --groupname="somegroupname"

------End Help ******************************

238 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Create This command allow the user to create a new system pecl. Overwriting is possible in case of existence. New pecl name can be mentioned in a single command itself. The command used for create is as follows ptconfigure pecl create

After input as the above command, it starts creating pecl. In case of file existing the indication message appears. The command and its function explains with the screen shots. - create Create a new system pecl, overwriting if it exists example: ptconfigure pecl create --peclname="somename"

Remove This command allow the user to remove a pecl. Removable pecl name can be mentioned in a single command line itself. The command used for create is as follows ptconfigure pecl remove

After input as the above command, it starts removing pecl. In case of file already removed from the pecl the indication message appears. The command and its function explains with the screen shots. - remove Remove a system pecl example: ptconfigure pecl remove --peclname="somename"

Set passward Setpassward used to run a particular command with root permissions in pecl. The interesting thing is that when the user use passward for a particular command, system prompts the user for current user’s password. The command used for create is as follows ptconfigure pecl set-passward

Pecl name and new passward also mention in the same command line. This makes another benefit for this module. The following screen shot visualize its functions. - set-password Set the password of a system pecl example: ptconfigure pecl set-password --peclname="somename" --new-password="somepassword"

Exists This command used to check the existence of a pecl. Simple command makes this command work properly. Firstly it checks pecl name in the system then it indicates whether it is existing or not. The following command used to do this function ptconfigure pecl Exists

The following screen shot visualize its functions. - exists Check the existence of a pecl example: ptconfigure pecl exists --peclname="somename"

Show-Group This command used to check the work group of a pecl. Simple command makes this command work properly. Firstly it checks group name then pecl name in the system then it indicates the group name to which a pecl belongs. The following command used to do this function.

1.1. Commands 239 kevells Documentation, Release 0.1

- show-groups Show groups to which a pecl belongs example: ptconfigure pecl show-groups --peclname="somename"

Add-to-Groups This facilitates the user to add a pecl to a group. While adding it can asks pecl name and group name. The user can enter the according to their wish. ptconfigure pecl add-to-group

After input the command it add a pecl in group. - add-to-group Add pecl to a group example: ptconfigure pecl add-to-group --peclname="somename" --groupname="somegroupname"

Remove-from-group This command allow the user to remove a pecl from group. Removable pecl name can be mentioned in a single command line itself. The command used for create is as follows ptconfigure pecl remove-from-group

After input as the above command, it starts removing pecl from group. In case of file already removed from the pecl the indication message appears. The command and its function explains with the screen shots. - remove-from-group Remove pecl from a group example: ptconfigure pecl remove-from-group --peclname="somename" --groupname="somegroupname"

Benefits • Non case sensitivity. • Well-to-do in Ubuntu and CentOS. • Lower power consumption. • Create a new system pecl • Remove a pecl • Add to group is possible • Remove group is possible • Show group is possible

Phake

Synopsis Phake is a mocking framework for PHP. It allows for the creation of objects that mimic a real object in a predictable and controlled manner. This allows you to treat external method calls made by your system under test (SUT) as just another form of input to your SUT and output from your SUT. This is done by stubbing methods that supply indirect input into your test and by verifying parameters to methods that receive indirect output from your test.

240 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Help Command This command helps to determine the usage of Phake module. The user will come to know about the different ways/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same. ptconfigure Phake help kevell@corp:/# ptconfigure Phake help ******************************

This command allows you to install or update Phake.

Phake, phake

- install Installs the latest version of phake example: ptconfigure phake install

- ensure Installs the latest version of phake, only if a version is not installed example: ptconfigure phake ensure

------End Help ******************************

Installation When the user needs to install Phake in machine, the below given command will execute the process of installation. ptconfigure Phake install

The system ask for the directory name, if you wants to set up your PATH you can define your path. Define your path followed by ‘/’ symbol. Press Enter if there is no changes to be done. “What is the program data directory? Found “/opt/phake” - use this? Then the system ask for executing directory name, if you wants to set up your PATH you can define your path. Define your path followed by ‘/’ symbol. Press Enter if there is no changes to be done “What is the program executer directory? Found “/usr/bin” - Use this? “ The below screenshot shows the same. kevell@corp:/# ptconfigure Phake install Install Phake ?(Y/N) Y ******************************* * Pharaoh Tools * * Phake * ******************************* What is the program data directory? Found "/opt/phake" - use this?(Enter nothing for yes, no end slash)

What is the program executor directory? Found "/usr/bin" - use this?(Enter nothing for yes, No Trailing Slash) git clone ’http://github.com/jaz303/phake.git’ /tmp/phake/phakeCloning into ’/tmp/phake/phake’... remote: Counting objects: 552, done. remote: Total 552(delta 0), reused0(delta 0) Receiving objects: 100%(552/552), 91.36 KiB | 76.00 KiB/s, done.

1.1. Commands 241 kevells Documentation, Release 0.1

Resolving deltas: 100%(314/314), done. Checking connectivity... done. Program Data folder populated Program Executor Deleted if existed ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------Phake: Success ------Installer Finished ******************************

Parame- Alternative Parameter Op- Comments ters tions ptconfigure Either of the two alternative parameter can be used in Y Once the user provides the Phake command- Phake, phake eg: ptconfigure phake Install option, System starts installation Options Install process ptconfigure Either of the two alternative parameter can be used in N Once the user provides the Phake command- Phake, phake eg: ptconfigure phake option, System stops installation Install Install| process

Benefits • Phake is a great mocking library and can be easily integrated into PHPUnit. • Its new approach to prototype mocks and stubs and the separation between stubbing and verification phases is very refreshing and easy to use.

PharaohTools

Synopsis The Pharaoh tool module assists in installing ptdeploy, pttest, Jrush, generating ptconfigure reports. It facilitates the users to ensure the availability before installations. Only missing modules can be installed specifically.

Help Command The help command guides the users about how to make use of this particular module under ptcon- figure. It also make them aware of the options that can be performed on this specific module. The screen shot as shown below gives you a pictorial representation regarding the usage of help command. kevell@corp:/# ptconfigure PharaohTools help ******************************

This command allows you to install the Pharaoh Tools which are ready. These include ptconfigure - this Configuration Management tool, ptdeploy - the Automated Deployment tool, and pttest, the test configuration and automation tool.

PharaohTools, pharaohtools, pharaoh-tools

242 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

- install Installs the latest version of all of the Pharaoh Tools example: ptconfigure pharaoh-tools install

------End Help ******************************

Installation The pharaoh tool module acts as a shorter route that envelops installation of ptdeploy, pttest, Jrush. If any one particular module is missing among the three, the specific module alone will be installed which is an added advantage. The ensure process plays an important role in grabbing data’s regarding the availability of modules. The command used for installation process under Pharaoh tool is given below, ptconfigure pharaoh-tools install

Parameters Available Input Comments options Install Pharaoh Tools? Y(Yes) If the user wish to proceed with installation process, they can (Y/N) input as Y Install Pharaoh Tools? N(No) If the user wish to quit the installation process, they can quit (Y/N) simply by using N| While installing the Pharaoh tool the following steps takes place:

Ensure • The pharaoh tool ensures the available modules. • While ensuring, It won’t check about the versions. ptdeploy • The module ptdeploy reports itself as installed, in case of existence. • It also checks the version for ptdeploy module. • If the ptdeploy module is not available in the machine, then automatically ptdeploy will progress to install. pttest • After completion of installing ptdeploy, it will ensure the pttest module. • The module pttest reports itself as installed, in case of existence. • If the pttest module is not available in the machine, then automatically pttest will progress to install.

Jrush • After completion of installing pttest, it will ensure the Jrush module. • The module Jrush reports itself as installed, in case of existence. • If the Jrush module is not available in the machine, then automatically Jrush will progress to install. If all the three modules are already existing, then it will show exceptional message as given in the screenshot below,

1.1. Commands 243 kevells Documentation, Release 0.1

kevell@corp:/# ptconfigure pharaoh-tools install Install Pharaoh Tools?(Y/N) Y ******************************* * Pharaoh Tools * * Pharaoh Tools * ******************************* [Pharaoh Logging] Ensure module install is not checking versions [Pharaoh Logging] Module ptdeploy reports itself as Installed [Pharaoh Logging] Not installing as already installed [Pharaoh Logging] Ensure module install is not checking versions [Pharaoh Logging] Module pttest reports itself as Installed [Pharaoh Logging] Not installing as already installed [Pharaoh Logging] Ensure module install is not checking versions [Pharaoh Logging] Module ptconfigure reports itself as Installed [Pharaoh Logging] Not installing as already installed [Pharaoh Logging] Ensure module install is not checking versions [Pharaoh Logging] Module JRush reports itself as Installed [Pharaoh Logging] Not installing as already installed ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------PharaohTools: Success ------Installer Finished ******************************

Additional Options While installing ptdeploy, pttest, Jrush the following options are required as input from the user. Let us see about, the additional options that can be specified by the users if they wish, is represented in a tabular format as shown below. Parameter Path Op- Comment tion Program data “/opt/pttest Yes If the user to proceed installation with the default program directory (corresponding data directory they can input as Yes (Default) module)” Program data User specific No(End If the user wish to proceed with their own program data directory slash) directory, they can input as N, and in hand specify they own location. Program executor “/usr/bin” Yes If the user to proceed installation with the default program directory executor directory they can input as Yes (Default) Program executor User specific No(End If the user wish to proceed with their own program executor directory slash) directory, they can input as N, and in hand specify they own location.| While installing it will specify the location of git clone, displays the number of objects , receiving objects, resolving deltas, connectivity. The following screen shot explains you graphically about the process involved in installation of Pharaoh tool.

244 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

kevell@corp:/# ptconfigure pharaoh-tools install Install Pharaoh Tools?(Y/N) Y ******************************* * Pharaoh Tools * * Pharaoh Tools * ******************************* [Pharaoh Logging] Ensure module install is not checking versions [Pharaoh Logging] Module ptdeploy reports itself as Installed [Pharaoh Logging] Not installing as already installed [Pharaoh Logging] Ensure module install is not checking versions [Pharaoh Logging] Module pttest reports itself as Installed [Pharaoh Logging] Not installing as already installed [Pharaoh Logging] Ensure module install is not checking versions [Pharaoh Logging] Module ptconfigure reports itself as Installed [Pharaoh Logging] Not installing as already installed [Pharaoh Logging] Ensure module install is not checking versions [Pharaoh Logging] Module JRush reports itself as Installed [Pharaoh Logging] Not installing as already installed ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------PharaohTools: Success ------Installer Finished ******************************

Benefits • It facilitates the users to ensure before installation. • In case of any particular module is missing, the user can proceed to install that particular module alone. • The user can specify their own path or location for program data directory and executor directory. • If any particular module already exists in the machine, then the installation tool will throw an exception message as it is already installed. • It avoids unwanted overwriting of modules, hence it is time saving.

PHPAPC

Synopsis This module aims at installing the PHP APC to the users machine in all possible ways. APC is one of the most popular caching mechanism for PHP’s op-code caching. Once activated, it starts caching PHP codes automatically. It also works nicely with W3 Total Cache plugin for storing Object & MySQL caches. The upcoming topics will guides your entirely in all aspects involved in installing the PHP APC.

Help Command The help command guides the users regarding the purpose and as well as about the options that are included in the Php APC module. It lists out the alternative parameters of Php APC module. It also describes the syntax for installing the Php APC module. The help command for Php APC module is shown as below.

1.1. Commands 245 kevells Documentation, Release 0.1

ptconfigure PHPAPC help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under Php APC. kevell@corp:/# ptconfigure PHPAPC help

******************************

This command allows you to install some common and helpful PHP APC.

PHPAPC, php-apc, phpapc, phpapc

- install Install PHP APC. example: ptconfigure phpapc install

------End Help ******************************

Installation The command used for installing the Php APC in the users machine is shown below: ptconfigure phpapc install

After inputting the command above, the following process occurs as shown in the tabular format. Parameters Alternative Parameter Op- Comments tions Install PHP Instead of phpapc, we can use Y(Yes) If the user wish to proceed the installation APC? (Y/N) PHPAPC, php-apc. process they can input as Y. Install PHP Instead of phpapc, we can use N(No) If the user wish to quit the installation process APC? (Y/N) PHPAPC, php-apc. they can input as N.| If the user proceeds the installation, during the process of installation is described in the below lists: • Reads package lists. • Builds the dependency tree. • Reads state information. • List outs the packages that are automatically installed. • List outs the extra package that are installing. • List outs the suggested packages. • List outs the new packages that are installing. • Details regarding the number of files upgraded, newly installed, removed and not upgraded. Finally, the process of installation gets completed. The following screenshot visually represent the process of installing the PHP APC. kevell@corp:/# ptconfigure phpapc install

Install PHP APC?(Y/N) Y *******************************

246 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

* Pharaoh Tools * * PHP APC! * ******************************* E: Could not get lock /var/cache/apt/archives/lock - open(11: Resource temporarily unavailable) E: Unable to lock directory /var/cache/apt/archives/ Reading package lists... Building dependency tree... Reading state information... The following packages were automatically installed and are no longer required: gyp libc-ares-dev libc-ares2 libjs-node-uuid libv8-3.14-dev linux-headers-3.13.0-32 linux-headers-3.13.0-32-generic linux-image-3.13.0-32-generic linux-image-extra-3.13.0-32-generic node-abbrev node-ansi node-archy node-async node-block-stream node-combined-stream node-cookie-jar node-delayed-stream node-forever-agent node-form-data node-fstream node-fstream-ignore node-github-url-from-git node-glob node-graceful-fs node-gyp node-inherits node-ini node-json-stringify-safe node-lockfile node-lru-cache node-mime node-minimatch node-mkdirp node-mute-stream node-node-uuid node-nopt node-normalize-package-data node-npmlog node-once node-osenv node-qs node-read node-read-package-json node-request node-retry node-rimraf node-semver node-sha node-sigmund node-slide node-tar node-tunnel-agent node-which nodejs nodejs-dev ttf-dejavu-core Use ’apt-get autoremove’ to remove them. The following extra packages will be installed: php5-apcu The following packages will be REMOVED: php5-xcache The following NEW packages will be installed: php-apc php5-apcu 0 upgraded,2 newly installed,1 to remove and 78 not upgraded. 9 not fully installed or removed. [Pharaoh Logging] Adding Package php-apc from the Packager Apt did not execute correctly ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------PHPAPC: Success ------Installer Finished ******************************

APC Functions This sub topics deals with the most frequently used functions under APC. While working with Php APC the user can refer with these functions of APC. • apc_add — Cache a new variable in the data store • apc_bin_dump — Get a binary dump of the given files and user variables • apc_bin_dumpfile — Output a binary dump of cached files and user variables to a file • apc_bin_load — Load a binary dump into the APC file/user cache • apc_bin_loadfile — Load a binary dump from a file into the APC file/user cache • apc_cache_info — Retrieves cached information from APC’s data store

1.1. Commands 247 kevells Documentation, Release 0.1

• apc_cas — Updates an old value with a new value • apc_clear_cache — Clears the APC cache • apc_compile_file — Stores a file in the bytecode cache, bypassing all filters. • apc_dec — Decrease a stored number • apc_define_constants — Defines a set of constants for retrieval and mass-definition • apc_delete_file — Deletes files from the opcode cache • apc_delete — Removes a stored variable from the cache • apc_exists — Checks if APC key exists • apc_fetch — Fetch a stored variable from the cache • apc_inc — Increase a stored number • apc_load_constants — Loads a set of constants from the cache • apc_sma_info — Retrieves APC’s Shared Memory Allocation information • apc_store — Cache a variable in the data store

Benefits • The parameters used in help and installation are not case sensitive which is an added advantage while compared to others. • It is well-to-do in both Ubuntu and as well as Cent OS. • This will module installs the php apc in updated version. • If the module is already existing in the user machine it will display a message as it is already existing. • APC comes with file named apc.php, which provides a simple web-based interface.

PHPCodeBeautifier

Synopsis PhpCodeBeautifier is a module which avoid the user of spending hours on reformating code to suit the user own way of presenting it. Proper formatting makes code easier to read and understand. PHP Beautifier parses the user source code and formats it in the style of the user choice. It performs well in Ubuntu and cent OS.

Help command The help command leads the users regarding the purpose and as well as about the options that are included in the PhpCodeBeautifier modules. The help command lists out the alternative parameters of php code under ptconfigure module. It also describes the syntax for installing the user’s code beautifier. The help command for PhpCodeBeautifier is shown below. ptconfigure PHPCodeBeautifier help

The syntax for the help command non case sensitive which adds an advantage for this module. The following screen- shot visualize the user about the help command under the syntax for the help command non case sensitive which adds an advantage for this module. The following screenshot visualize the user about the help command under php code. kevell@corp:/# ptconfigure PHPCodeBeautifier help

******************************

248 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

This command allows you to update PHPCodeBeautifier.

PHPCodeBeautifier, phpcodebeautifier

- install Installs the latest version of PHPCodeBeautifier example: ptconfigure PHPCodeBeautifier install

------End Help ******************************

Installation Installation typically involves code being copied/generated from the installation files to new files on the local computer for easier access by the operating system. It formats and beautify the code; some of them can remove redundant elements. Using them, the user has to make sure and have a backup, so the user data can always be restored. The following command used to install PhpCodeBeautifier. ptconfigure PhpCodeBeautifier install

While installing this module the following screen shot will be appeared. kevell@corp:/# ptconfigure PHPCodeBeautifier install

Install PHPCodeBeautifier?(Y/N) y ******************************* * Pharaoh Tools * * PHPCodeBeautifier! * ******************************* [Pharaoh Logging] Package php-pear from the Packager Apt is already installed, so not installing Creating /tmp/ptconfigure-temp-script-47226840682.sh chmod 755 /tmp/ptconfigure-temp-script-47226840682.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-47226840682.sh Permissions Executing /tmp/ptconfigure-temp-script-47226840682.sh PHP Warning: PHP Startup: Unable to load dynamic library ’/usr/lib/php5/20121212/mcrypt.so’ - /usr/lib/php5/20121212/mcrypt.so: cannot open shared object file: No such file or directory in Unknown on line 0 WARNING: "pear/Console_Getopt" is deprecated in favor of "pear/Console_GetoptPlus" Did not download optional dependencies: pear/PHP_DocBlockGenerator, use --alldeps to download automatically WARNING: "pear/DB" is deprecated in favor of "pear/MDB2" Did not download optional dependencies: pear/DB, pear/MDB2, pear/Mail, use --alldeps to download automatically pear/PHP_Beautifier can optionally use package "pear/PHP_DocBlockGenerator"(version >= 1, excluded versions: 1) pear/Log can optionally use package "pear/DB"(version >= 1.3) pear/Log can optionally use package "pear/MDB2"(version >= 2.0.0RC1) pear/Log can optionally use package "pear/Mail" pear/Log can optionally use PHP extension "sqlite" downloading PHP_Beautifier-0.1.15.tgz ... Starting to download PHP_Beautifier-0.1.15.tgz(74,408 bytes) ...... done: 74,408 bytes downloading Log-1.12.8.tgz ... Starting to download Log-1.12.8.tgz(46,725 bytes) ...done: 46,725 bytes install ok: channel://pear.php.net/Log-1.12.8 install ok: channel://pear.php.net/PHP_Beautifier-0.1.15 Temp File /tmp/ptconfigure-temp-script-47226840682.sh Removed ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

1.1. Commands 249 kevells Documentation, Release 0.1

Single App Installer: ------PHPCodeBeautifier: Success ------Installer Finished ******************************

Parameters Op- Alternative Parameters Comments tions Install Y Instead of using PhpcodeBeautifier the user It starts installing PhpCodeBeautifier? can use phpcodebeautifier phpCodeBeautifier under Options (Y/N) ptconfigure Install N Instead of using PhpcodeBeautifier the user It terminates the installation PhpCodeBeautifier? can use phpcodebeautifier| (Y/N)

Benefits • PhpCodeBeautifier which allow to process file visually. • PhpCodeBeautifier can format source codes written in over 85 languages – among them PHP, Ruby, HTML. • This is non case sensitivity. • PhpCodeBeautifier suits to work with Ubuntu and cent OS. • PhpCodeBeautifier is a specific utility that reformats a program to conform to a standard of presentation. phpconf

Synopsis This module assists in installing and as well as managing the configuration of php. The user can frame their configuration as per their requirement at the time of executing installation.

Help Command The help command leads the user in working with this php config. It also specifies the command used for installation. The help command also list out the alternative parameters that can be used. The command used for help option under the php config is given below. ptconfigure PHPConf help

The screen shot as given below shows pictorial representation regarding the help usage in php config. kevell@corp:/# ptconfigure PHPConf help ******************************

This command is part of Core and provides you with a method by which you can install Apache HTTP Server

PHPConf, php-configure, php-configuration, php-conf, phpconf

- install Installs a configuration for PHP example: ptconfigure phpconf install

------

250 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

End Help ******************************

Installation Installing the php config is more beneficial for the users as they can frame the configuration as per their requirements. The command used for installation is given below: ptconfigure PHPConf install

After inputting the command as shown above the following operations occurs as shown in the tabular format. kevell@corp:/# ptconfigure PHPConf install Install PHP Conf?(Y/N) y ******************************* *Pharaoh Tools* * PHP Conf!* ******************************* Set non-default value for user_ini.filename? Default is .user.ini(Y/N) y What value for user_ini.filename?

Set non-default value for user_ini.cache_ttl? Default is 300(Y/N)

Set non-default value for engine? Default is On(Y/N)

Set non-default value for short_open_tag? Default is On(Y/N)

Set non-default value for asp_tags? Default is Off(Y/N)

Set non-default value for precision? Default is 14(Y/N)

Set non-default value for y2k_compliance? Default is On(Y/N)

Set non-default value for output_buffering? Default is 4096(Y/N)

Set non-default value for output_handler? Default is(Y/N)

Set non-default value for zlib.output_compression? Default is Off(Y/N)

Set non-default value for zlib.output_compression_level? Default is -1(Y/N)

Set non-default value for zlib.output_handler? Default is(Y/N)

Set non-default value for implicit_flush? Default is Off(Y/N)

Set non-default value for unserialize_callback_func? Default is(Y/N)

Set non-default value for serialize_precision? Default is 17(Y/N)

Set non-default value for allow_call_time_pass_reference? Default is Off(Y/N)

Set non-default value for safe_mode? Default is Off(Y/N)

Set non-default value for safe_mode_gid? Default is Off(Y/N)

Set non-default value for safe_mode_exec_dir? Default is(Y/N)

Set non-default value for safe_mode_allowed_env_vars? Default is PHP_(Y/N)

1.1. Commands 251 kevells Documentation, Release 0.1

Set non-default value for safe_mode_protected_env_vars? Default is LD_LIBRARY_PATH(Y/N)

Set non-default value for open_basedir? Default is(Y/N)

Set non-default value for disable_functions? Default is pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigpr ocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,(Y/N)

Set non-default value for disable_classes? Default is(Y/N)

Set non-default value for ignore_user_abort? Default is On(Y/N)

Set non-default value for realpath_cache_size? Default is 16k(Y/N)

Set non-default value for realpath_cache_ttl? Default is 120(Y/N)

Set non-default value for zend.enable_gc? Default is On(Y/N)

Set non-default value for expose_php? Default is On(Y/N)

Set non-default value for max_execution_time? Default is 30(Y/N)

Set non-default value for max_input_time? Default is 60(Y/N)

Set non-default value for max_input_nesting_level? Default is 64(Y/N)

Set non-default value for max_input_vars? Default is 1000(Y/N)

Set non-default value for memory_limit? Default is 128M(Y/N)

... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------PHPConf: Success ------Installer Finished ******************************

Parame- Alternative Parameters Re- Comment ters quired Install Instead of PHP Conf these alternative names can be Y(YES)If the user wish to proceed the PHP- used: php-configure, php-conf php-configuration, nstallation process they can input Options Conf?(Y/N) phpconf as Y Install Instead of PHP Conf these alternative names can be N(No) If the user wish to quit the PHPConf? used: php-configure, php-conf installation process they can (Y/N) input as N.| If the user proceeds the installation process, while executing the installation, the module specifies the default value of configuration and also enquires the user to mention the non-default values for configuration as per their requirements. The specifications for configuration while installing is listed below: • Value for user_ini.filename

252 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

• value for user_ini.cache_ttl? • Value for engine. • value for short_open_tag. • value for asp_tags. • value for precision. • value for y2k_compliance. • value for output_buffering. • value for output_handler. • value for zlib.output_compression. • value for zlib.output_compression_level. • value for zlib.output_handler. • value for implicit_flush. • value for unserialize_callback_func. • value for serialize precision. • value for allow_call_time_pass_reference. • value for safe_mode. • value for safe_mode_gid. • value for safe_mode_exec_dir? • value for safe_mode_allowed_env_vars. • value for open basedir. • value for disable functions. • value for disable_classes? • value for ignore_user_abort • value for realpath_cache_size? • value for realpath_cache_ttl. • value for zend.enable_gc. • value for expose_php. • value for max_execution_time. • value for max_input_time. • value for max_input_nesting_level. • value for max_input_vars. • value for memory_limits. After looking at the default values for the configuration functions, the user can decide their actions. If they are oaky with default values they can input as N. If they require to specify the configuration values they can input as Y. The screen shot as shown below explains the above described process visually.

1.1. Commands 253 kevells Documentation, Release 0.1

Benefits • The parameters used for defining installation and help command is not case sensitive. • The users can frame the configuration functions at the run-time of installation. • It works well on both Cent OS and windows.

Phpci

Synopsis PHPCI is an open source continuous integration tool specifically designed for ptconfigure. The user have built it with simplicity in mind, so whilst it does not do everything Jenkins can do, it is a breeze to set up and use. This is ease with Ubuntu and cent OS.

Help command This help command guide the user to perform certain operation about Phpci module. This is suitable for all type of corporate users. ptconfigure PHPCI help

The help command shows a short list of the commands built into the Phpci module. The following screen shot visualize it. kevell@corp:/# ptconfigure PHPCI help ******************************

This command allows you to install PHPCI, the popular Build Server.

PHPCI, phpci

- install Installs PHPCI through git, with its dependencies example: ptconfigure phpci install

- config-default, default-config Installs a default config.yml file for PHPCI example: ptconfigure phpci config-default --yes --guess

- install-default-database Installs a default database and user for PHPCI example: ptconfigure phpci install-default-database --yes --guess --mysql-admin-user="root" # guess will provide root --mysql-admin-pass="some-pass" # guess will provide ptconfigure

You can install a complete local version of PHPCI with the following:

sudo ptconfigure phpci install --yes --guess sudo ptconfigure phpci install-default-database --yes --guess sudo ptconfigure phpci config-default --yes --guess

------End Help ******************************

254 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Installation This module helps to install phpci. First step this module have to check composer is available in the system or not. If it is not available in the system automatically, it will install it. ptconfigure Phpci install

After inputting the command above, the following process are involved during the process of installation as depicted in the tabular format, Parameters Alternative Parameter Op- Comments tions Install PHPCI? Instead of PHPCI, we can use Y(Yes) If the user wish to proceed the installation process (Y/N) phpci also. they can input as Y. Install PHPCI? Instead of PHPCI, we can use N(No) If the user wish to quit the installation process they (Y/N) phpci also. can input as N.| If the user proceeds installation, during the process of installation the following steps are involved, • builds the dependency tree. • Reads the state information. • list outs the extra packages that are automatically installed. • list outs the suggested packages that are installing. • list outs the new packages that are installing. • details regarding the number of files upgraded, newly installed, removed and not upgraded. And then, it will asks input from the users, as depicted in tabular format Parameter Path Op- Comment tion Program data “/opt/(correspondingYes If the user to proceed installation with the default program directory module)” data directory they can input as Yes (Default) Program data User Specific No(End If the user wish to proceed with their own program data directory Slash) directory, they can input as N, and in hand specify they own location. Program “/usr/bin” Yes If the user to proceed installation with the default program executor executor directory they can input as Yes directory (Dafault) Program User specific No(End If the user wish to proceed with their own program executor executor Slash) directory, they can input as N, and in hand specify they own directory location.| The following screenshot pictorially depicts the above described process of installation. kevell@corp:/# ptconfigure phpci install Install PHPCI?(Y/N) Y ******************************* * Pharaoh Tools * * ! PHPCI ! * ******************************* Reading package lists... Building dependency tree... Reading state information... The following extra packages will be installed:

1.1. Commands 255 kevells Documentation, Release 0.1

libmcrypt4 Suggested packages: libmcrypt-dev mcrypt The following NEW packages will be installed: libmcrypt4 php5-mcrypt 0 upgraded,2 newly installed,0 to remove and 301 not upgraded. Need to get 77.3 kB of archives. After this operation, 324 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libmcrypt4 amd64 2.5.8-3.1ubuntu1[61.9 kB] Get:2 http://in.archive.ubuntu.com/ubuntu/ trusty/universe php5-mcrypt amd64 5.4.6-0ubuntu5[15.4 kB] Fetched 77.3 kB in 4s(19.1 kB/s) Selecting previously unselected package libmcrypt4. (Reading database ... 182037 files and directories currently installed.) Preparing to unpack .../libmcrypt4_2.5.8-3.1ubuntu1_amd64.deb ... Unpacking libmcrypt4(2.5.8-3.1ubuntu1) ... Selecting previously unselected package php5-mcrypt. Preparing to unpack .../php5-mcrypt_5.4.6-0ubuntu5_amd64.deb ... Unpacking php5-mcrypt(5.4.6-0ubuntu5) ... Setting up libmcrypt4(2.5.8-3.1ubuntu1) ... Setting up php5-mcrypt(5.4.6-0ubuntu5) ... Processing triggers for libc-bin(2.19-0ubuntu6) ... [Pharaoh Logging] Adding Package php5-mcrypt from the Packager Apt executed correctly Creating /tmp/ptconfigure-temp-script-82480901916.sh chmod 755 /tmp/ptconfigure-temp-script-82480901916.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-82480901916.sh Permissions Executing /tmp/ptconfigure-temp-script-82480901916.sh Temp File /tmp/ptconfigure-temp-script-82480901916.sh Removed Creating /tmp/ptconfigure-temp-script-43828918328.sh chmod 755 /tmp/ptconfigure-temp-script-43828918328.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-43828918328.sh Permissions Executing /tmp/ptconfigure-temp-script-43828918328.sh Enabling module rewrite. To activate the new configuration, you need to run: service apache2 restart Temp File /tmp/ptconfigure-temp-script-43828918328.sh Removed [Pharaoh Logging] Ensure module install is not checking versions sh: 1: composer: not found [Pharaoh Logging] Module Composer reports itself as Not Installed [Pharaoh Logging] Installing as not installed ******************************* * Pharaoh Tools * * Composer! * ******************************* What is the program data directory? Found "/opt/composer" - use this?(Enter nothing for yes, no end slash)

What is the program executor directory? Found "/usr/bin" - use this?(Enter nothing for yes, No Trailing Slash) git clone ’https://github.com/phpengine/composer-phar.git’ /tmp/composer/composerCloning into ’/tmp/composer/composer’... remote: Counting objects: 6, done. remote: Total6(delta 0), reused0(delta 0) Unpacking objects: 100%(6/6), done. Checking connectivity... done. Program Data folder populated Program Executor Deleted if existed ... All done! *******************************

256 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Thanks for installing , visit www.pharaohtools.com for more Creating /tmp/ptconfigure-temp-script-34508236330.sh chmod 755 /tmp/ptconfigure-temp-script-34508236330.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-34508236330.sh Permissions Executing /tmp/ptconfigure-temp-script-34508236330.sh #!/usr/bin/env php Installing block8/phpci(1.5.2) - Installing block8/phpci(1.5.2) Downloading: 100%

Created project in phpci Loading composer repositories with package information Installing dependencies from lock file Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. Run update to update them. Your requirements could not be resolved to an installable set of packages.

Problem 1 - The requested PHP extension ext-pdo_mysql * is missing from your system.

Temp File /tmp/ptconfigure-temp-script-34508236330.sh Removed Creating /tmp/ptconfigure-temp-script-28990655696.sh chmod 755 /tmp/ptconfigure-temp-script-28990655696.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-28990655696.sh Permissions Executing /tmp/ptconfigure-temp-script-28990655696.sh sudo: dapperstrano: command not found Temp File /tmp/ptconfigure-temp-script-28990655696.sh Removed ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------PHPCI: Success ------Installer Finished ******************************

Benefits • PHPCI used to install configuration and database file. While installing if there is any file is existing, overwrite the content. • New version can update automatically. • It can accept user wish in case of install database. • Continuous integration is possible. • Multiple environment • Build php with different variants like PDO, mysql, sqlite, debug ...etc. • Automatic feature detection.

PHPCS

1.1. Commands 257 kevells Documentation, Release 0.1

Synopsis This module assists in installing php cs from GC Repo. While installing, this module fetches the latest version. The user can specify the location for program data directory and executor directory. Finally Results are clearly reported.

Help Command The help command leads the users regarding the purpose and as well as about the options that are included in the php cs module. It also describes the syntax for installing php cs. The help command for php cs is given below. ptconfigure PHPCS help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under PHPCS. kevell@corp:/# ptconfigure PHPCS help ******************************

This command allows you to install PHPCS from a GC Repo.

PHPCS - install Installs the latest version of PHPCS example: ptconfigure phpcs install

------End Help ******************************

Installation Installing the PHP CS is simpler by using the following command as shown: ptconfigure PHPCS install

After inputting the command above the following operations as shown in the tabular format occurs. Paramaters Options Comments Install PHP Code Sniffer ? Y(Yes) If the user wish to proceed the installation process they can input (Y/N) as Y. Install PHP Code Sniffer ? N(No) If the user wish to quit the installation process they can input as N.| (Y/N) If the user proceeds the installation process the following operations occurs as shown in the tabular format.

258 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Paramaters Path Option Comment Program data direc- opt/phpcs (corresponding Yes If the user to proceed installation tory(Default) module)” with the default pro- gram data directory they can input as Yes

Program data directory User specific No(End slash) If the user wish to proceed with their own program data directory, they can input as N, and in hand specify they own location. Program executor directory “/usr/bin” Yes If the user to proceed in- (Default) stallation with the default program executor directory they can input as Yes Program executor directory User specific No(End slash) If the user wish to proceed with their own program ex- ecutor directory, they can input as N, and in hand specify they own location.| After these process as shown in the tabular format, the results are clearly reported along with the status. The following screen shot explains you graphically about the process involved in installation of PHPCS. Kevell@corp:/# ptconfigure PHPCS install Install PHP Code Sniffer ?(Y/N) y ******************************* * Pharaoh Tools * * PHP CSniffer * ******************************* What is the program data directory? Found "/opt/phpcs" - use this?(Enter nothing for yes, no end slash)

What is the program executor directory? Found "/usr/bin" - use this?(Enter nothing for yes, No Trailing Slash) git clone ’https://github.com/phpengine/ptconfigure-phpcs.git’ /tmp/phpcs/phpcsCloning into ’/tmp/phpcs/phpcs’... remote: Counting objects: 862, done. remote: Total 862(delta 0), reused0(delta 0) Receiving objects: 100%(862/862), 491.23 KiB | 64.00 KiB/s, done. Resolving deltas: 100%(378/378), done. Checking connectivity... done. Program Data folder populated Program Executor Deleted if existed ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------PHPCS: Success ------Installer Finished ****************************

1.1. Commands 259 kevells Documentation, Release 0.1

Benefits • This module facilitates the user in installing PHP CS with the updated version. • The user can select their own path for program data directory and executor • The parameters used in declaring the help and installations are not case sensitive, which is added advantage while compared to others.

PHPDox

Synopsis This module facilitates the users in installing the Php Dox with the latest version. phpdox is a documen- tation generator for generating API documentation in HTML format, for instance, from PHP source code. Let us see how this module, assists in installing the Php Dox.

Help Command The help command guides the users regarding the purpose and as well as about the options that are included in the Phpdox module. It lists out the alternative parameters of Phpdox module. It also describes the syntax for installing the Phpdox module. The help command for Phpdox module is shown as below. ptconfigure Phpdox help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under Phpdox. kevell@corp:/# ptconfigure PHPDox help

******************************

This command allows you to update PHPDox.

PHPDox, phpdox

- install Installs the latest version of example: ptconfigure phpdox install

------End Help ******************************

Installation The command used for installing the phpdox in the users machine is shown below: ptconfigure phpdox install

After inputting the command above, the following process occurs as shown in the tabular format. Parameters Alternative Parameter Op- Comments tions Install Instead of phpdox, we can use Y(Yes) If the user wish to proceed the installation PHPDox? (Y/N) PHPDox also. process they can input as Y. Install Instead of phpdox, we can use N(No) If the user wish to quit the installation process PHPDox? (Y/N) PHPDox also they can input as N.| If the user proceeds the installation, the process of installation looks like the screenshot given below:

260 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

kevell@corp:/# ptconfigure phpdox install

Install PHPDox? (Y/N) y ******************************* * Pharaoh Tools * * PHPDox! * ******************************* Creating /tmp/ptconfigure-temp-script-27804177792.sh chmod 755 /tmp/ptconfigure-temp-script-27804177792.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-27804177792.sh Permissions Executing /tmp/ptconfigure-temp-script-27804177792.sh --2015-01-28 15:42:36-- http://phpdox.de/releases/phpdox.phar Resolving phpdox.de (phpdox.de)... 188.94.27.6 Connecting to phpdox.de (phpdox.de)|188.94.27.6|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 801185 (782K) [application/phar] Saving to: âC~phpdox.pharâC™

100%[======>] 8,01,185 11.7KB/s in 2m 9s

2015-01-28 15:44:47 (6.08 KB/s) - âC~phpdox.pharâC™ saved [801185/801185]

PHP Warning: PHP Startup: Unable to load dynamic library ’/usr/lib/php5/20121212/mcrypt.so’ - /usr/lib/php5/20121212/mcrypt.so: cannot open shared object file: No such file or directory in Unknown on line 0 Sorry, but your PHP environment is currently not able to run phpDox due to the following issue(s): ext/xsl not installed/enabled

Please adjust your PHP configuration and try again.

Oups... phpDox encountered a problem and has terminated!

It most likely means you’ve found a bug, so please file a report for this and paste the following details and the stacktrace (if given) along:

PHP Version: 5.5.9-1ubuntu4.5 (Linux) PHPDox Version: 0.7.0 ErrorException: E_CORE_WARNING Location: Unknown (Line 0)

PHP Startup: Unable to load dynamic library ’/usr/lib/php5/20121212/mcrypt.so’ - /usr/lib/php5/20121212/mcrypt.so: cannot open shared object file: No such file or directory

No stacktrace available phpDox 0.7.0 - Copyright (C) 2010 - 2015 by Arne Blankerts

Temp File /tmp/ptconfigure-temp-script-27804177792.sh Removed ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

1.1. Commands 261 kevells Documentation, Release 0.1

Single App Installer: ------PHPDox: Success ------Installer Finished ******************************

Benefits • The parameters used in help and installation are not case sensitive which is an added advantage while compared to others. • It is well-to-do in both Ubuntu and as well as Cent OS. • This will module installs the phpdox in updated version. • If the module is already existing in the user machine it will display a message as it is already existing.

PHPEclipse

Synopsis PHPEclipse is a set of plug-ins for the Eclipse Framework which provides integrated IDE for PHP devel- opers. Eclipse and PHPEclipse are written in Java, and will run on all graphical desktop environments. PHPEclipse is Open Source software, freely available under the Common Public Licence. The Eclipse Platform provides users with a consistent user interface paradigm. A software development IDE is one of the more complex desktop applications most of us are likely to use, and so the time required for a developer to become efficient with a particular IDE can be significant. Eclipse doesn’t reduce this time, but it does provide a consistent interface approach which need only be learnt once in order to develop efficiently with a wide range of programming languages and tools. As part of this approach, Eclipse provides detailed documentation and tutorials on all its generic functionality, allowing plugin projects, such as PHPEclipse, to focus only on their areas specific to their domain. By learning to use Eclipse as a development platform, or learning to develop your own plug-in tools for eclipse, you are acquiring a useful and flexible skill.

Help Command This command helps to determine the usage of PhpEclipse module. The user will come to know about the different way/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same. ptconfigure PHPeclipse help

The pictorial representation of the above command is shown below, kevell@corp:/# ptconfigure PHPEclipse help

******************************

This command allows you to update PHPEclipse.

phpeclipse, PHPEclipse, PHP-Eclipse

- install Installs the latest version of PHPEclipse example: ptconfigure phpeclipse install

------

262 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

End Help ******************************

Installation This command helps in installing the latest version of PHPeclipse in system. The below given command will execute the process of installation. ptconfigure PHPEclipse install

Parameters Alternative Parameters Op- Comments tions ptconfigure There are three alternative parameters which can be used in command Y System starts PHPEclipse line. PHP-Eclipse, PHPEclipse, phpeclipse Eg: ptconfigure installation Options Install? (Y/N) PHPEclipse install ptconfigure PHP-Eclipse install process ptconfigure There are three alternative parameters which can be used in command N System stops PHPEclipse line. PHP-Eclipse, PHPEclipse, phpeclipse Eg: ptconfigure installation Install? (Y/N) PHPEclipse install ptconfigure PHP-Eclipse install| process

Benefits • PHP, HTML, XML and CSS • Code completion • Integrated web browser preview • Integrated control of Apache & MySQL servers

PHPEdit

Synopsis PHPEdit module is a complete Integrated Development Environment for PHP. Much more than a simple PHP edit, it helps the user to carry out their projects in a friendly and efficient way, with a single tool integrating all the features the user will need from the design of their projects, their documentation, to their deployment. It appropriate with Ubuntu and centOS.

Help command The help command guides the users regarding the purpose and as well as about the options that are included in the Phpedit module. It lists out the alternative parameters of Phpedit module. It also describes the syntax for installing the Phpedit module. The help command for Phpedit module is shown as below. ptconfigure Phpedit help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under Phpedit. kevell@corp:/# ptconfigure PHPEdit help

******************************

This command allows you to update PHPEdit.

PHP-Edit, , PHPEdit

- install Installs the latest version of PHPEdit

1.1. Commands 263 kevells Documentation, Release 0.1

example: ptconfigure phpedit install

------End Help ******************************

Installation PHPEdit comes with a lot of extensions, frameworks, help files and tools, so it is shipped in an in- staller which can be customized to suits the user needs.However, because PHPEdit is constantly evolving, with new features and maintenance fixes, an auto update system is also available, to help keep up with PHPEdit’s latest releases effortlessly. the command used for installation of this module as follows, ptconfigure Phpedit install

The screen shot makes clear about this module.

Parameters Alternative Parameters Op- Comments tions Install Instead of PHP-Edit, the following alternatives can Y The user wish to proceed the phpedit? also be used: phpedit,PHPEdit installation process. Option (Y/N) Install Instead of PHP-Edit, the following alternatives can N The user wish to quit the phpedit? also be used: phpedit,PHPEdit | installation process. (Y/N)

Benefits • Write the user code faster with all the available code assistants and code generators. • Improve the quality of your projects with the integrated debugger, and the unit tests module • Deploy easily with a single click the user projects, and work transparently on remote files • Increase the user productivity with their favorite frameworks • Code intelligence is possible. • Debugger and Profiler also available. • Non case sensitivity acts a vital role in this module

PHPMD

Synopsis PHP MessDeductor is a spin-off of PHP Depend and aims to be a PHP equivalent of the well known Java tool PMD. PHPMD can be seen as an user friendly frontend application for the raw metrics stream measured by PHP Depend. General collateral or GC is the range of assets that are accepted, at any particular moment, as collateral in the repo market by the majority of market intermediaries and at a very similar repo rate. This is suitable with Ubuntu and cent OS.

Help command It takes a given PHPMD source code base and look for several potential problems within that source. PHPMD is a young project and so it only provides a limited set of pre defined rules, compared with PMD, that detect code smells and possible errors within the analyzed source code. Checkout the rules section to learn more about allimplemented rules. The following help command guides the user to install phpmd module.

264 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

ptconfigure PHPMD help

The following screen shot vizualize its functions. kevell@corp:/# ptconfigure PHPMD help ******************************

This command allows you to install PHPMD from a GC Repo.

PHPMD

- install Installs the latest GC Repo version of PHPMD example: ptconfigure phpmd install

------End Help ******************************

Installation At the moment PHPMD comes with the following three renderers: • , which formats the report as XML. • text, simple textual format. • html, single HTML file with possible problems. The command used for installing the PHPMD to the users machine is shown below. ptconfigure PHPMD install

After inputting the command above, the following process occurs as shown in the screenshot format. kevell@corp:/# ptconfigure phpmd install Install PHP Mess Detector ?(Y/N) Y ******************************* * Pharaoh Tools * * PHP Mess Dt. * ******************************* What is the program data directory? Found "/opt/phpmd" - use this?(Enter nothing for yes, no end slash)

What is the program executor directory? Found "/usr/bin" - use this?(Enter nothing for yes, No Trailing Slash) git clone ’https://github.com/phpengine/ptconfigure-phpmd.git’ /tmp/phpmd/phpmdCloning into ’/tmp/phpmd/phpmd’... remote: Counting objects: 356, done. remote: Total 356(delta 0), reused0(delta 0) Receiving objects: 100%(356/356), 306.45 KiB | 9.00 KiB/s, done. Resolving deltas: 100%(239/239), done. Checking connectivity... done. Program Data folder populated Program Executor Deleted if existed ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

1.1. Commands 265 kevells Documentation, Release 0.1

Single App Installer: ------PHPMD: Success ------Installer Finished ******************************

Parameters Path Op- Comments tions Program Data directory “/opt/PHPMD”Yes If the user wish to proceed with the default path as (Default) specified, they can enter ‘y’ Program Data directory End slash No If the user needs to specify his own path, they can enter Options ‘n’ and give the path Program executor “/usr/bin” Yes If the user wish to proceed with the default path as directory(Default) specified, they can enter ‘y’ Program executor No trailing No If the user needs to specify his own path, they can enter directory slash ‘n’ and give the path|

Benefits Excessive PublicCount: A large number of public methods and attributes declared in a class can indicate the class may need to be broken up as increased effort will be required to thoroughly test it. Excessive ParameterList: Long parameter lists can indicate that a new object should be created to wrap the numerous parameters. Basically, try to group the parameters together. Cyclomatic Complexity: Complexity is determined by the number of decision points in a method plus one for the method entry. Superglobals: Accessing a super-global variable directly is considered a bad practice. These variables should be encapsulated in objects that are provided by a framework, for instance. Short Variable: Detects when a field, local, or parameter has a very short name. Long Variable: Detects when a field, formal or local variable is declared with a long name.

PHPModules

Synopsis This Modules aims at installing and enveloping some of the common and helpful, supporting Php modules. Few examples are: php5-gd the image libs, php5-imagick the image libs, php5-curl the remote file handling libs, php5-mysql the libs for handling mysql connections. Let us see how to use this module, the process of installation in upcoming topics.

Help Command The help command guides the users regarding the purpose and as well as about the options that are included in the Php module. It lists out the alternative parameters of Php module. It also describes the syntax for installing the Php module. The help command for Php module is shown as below.

266 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

ptconfigure PHPModules help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under Php module. kevell@corp:/# ptconfigure PHPModules help

******************************

This command allows you to install some common and helpful PHP Modules.

PHPModules, php-mods, phpmods, php-modules, phpmodules

- install Installs some common PHP Modules. These include php5-gd the image libs, php5-imagick the image libs, php5-curl the remote file handling libs, php5-mysql the libs for handling mysql connections. example: ptconfigure phpmods install

------End Help ******************************

Installation The command used for installing the php modules in the users machine is shown below: ptconfigure phpmods install

After inputting the command above, the following process occurs as shown in the tabular format. Parameters Alternative Parameter Op- Comments tions Install PHP Instead of phpmods, we can use PHPModules, Y(Yes) If the user wish to proceed the Modules? php-mods, php-modules, phpmodules also. installation process they can input as (Y/N) Y. Install PHP Instead of phpmods, we can use PHPModules, N(No) If the user wish to quit the Modules? php-mods, php-modules, phpmodules also.| installation process they can input as (Y/N) N. If the user proceeds the installation, during the process of installation is described in the below lists: • builds the dependency tree. • Reads the state information. • list outs the packages that are automatically installed. • list outs the new packages that are installing. • details regarding the number of files upgraded, newly installed, removed and not upgraded. The following screenshot pictorially depicts the above described process of installation. kevell@corp:/# ptconfigure phpmods install

Install PHP Modules?(Y/N) Y ******************************* * Pharaoh Tools * * PHP Mods! *

1.1. Commands 267 kevells Documentation, Release 0.1

******************************* E: dpkg was interrupted, you must manually run ’sudo dpkg --configure -a’ to correct the problem. [Pharaoh Logging] Adding Package php-apc from the Packager Apt did not execute correctly E: dpkg was interrupted, you must manually run ’sudo dpkg --configure -a’ to correct the problem. [Pharaoh Logging] Adding Package php5-gd from the Packager Apt did not execute correctly E: dpkg was interrupted, you must manually run ’sudo dpkg --configure -a’ to correct the problem. [Pharaoh Logging] Adding Package php5-imagick from the Packager Apt did not execute correctly E: dpkg was interrupted, you must manually run ’sudo dpkg --configure -a’ to correct the problem. [Pharaoh Logging] Adding Package php5-curl from the Packager Apt did not execute correctly E: dpkg was interrupted, you must manually run ’sudo dpkg --configure -a’ to correct the problem. [Pharaoh Logging] Adding Package php5-mysql from the Packager Apt did not execute correctly E: dpkg was interrupted, you must manually run ’sudo dpkg --configure -a’ to correct the problem. [Pharaoh Logging] Adding Package php5-memcache from the Packager Apt did not execute correctly E: dpkg was interrupted, you must manually run ’sudo dpkg --configure -a’ to correct the problem. [Pharaoh Logging] Adding Package php5-memcached from the Packager Apt did not execute correctly E: dpkg was interrupted, you must manually run ’sudo dpkg --configure -a’ to correct the problem. [Pharaoh Logging] Adding Package php5-mongo from the Packager Apt did not execute correctly ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------PHPModules: Success ------Installer Finished ******************************

Benefits • The parameters used in help and installation are not case sensitive which is an added advantage while compared to others. • It is well-to-do in both Ubuntu and as well as Cent OS. • All the frequently used php modules installation gets enveloped under a single process.

Php SSH

Synopsis PhpSSH has now become even easier to get it up and running. Making it much easier to auto upgrade ptconfigure via PhpSSH. Taking remote shell, for carrying out different tasks is a norm, if the user have multiple server machine’s in an infrastructure.

Help command The help command guides the users regarding the purpose and as well as about the options that are included in the Php SSH. It lists out the alternative parameters of Php SSH. It also describes the syntax for Php SSH modules. The help command for Php SSH module is shown as below. ptconfigure PHPSSH help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under PHP SSH.

268 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

kevell@corp:/# ptconfigure PHPSSH help ******************************

This command allows you to install the PHP SSH default Module

PHPSSH, php-ssh, phpssh

- install Installs the PECL PHP SSH Extension. example: ptconfigure phpssh install

------End Help ******************************

Installation This is a prominent process to install Phpssh module under ptconfigure by just using the command given below, ptconfigure phpssh install

After inputting the command above, the following steps are involved during the process of installation as described in the table, Parameters Alternative Parameter Op- Comments tions Install PHP Instead of using PHP SSH We can use Y(Yes) If the user wish to proceed the installation SSH? (Y/N) PHPSSH, phpssh,php-ssh process they can input as Y. Install PHP Instead of using PHP SSH We can use N(No) If the user wish to quit the installation SSH? (Y/N) PHPSSH, phpssh,php-ssh process they can input as N.| If the user proceeds the installation, during the process of installation is described in the below lists: • builds the dependency tree. • Reads the state information. • list outs the extra packages that are installing. • list outs the new packages that are installing. • details regarding the number of files upgraded, newly installed, removed and not upgraded. The following screenshot pictorially depicts the above described process of installation. kevell@corp:/# ptconfigure phpssh install Install PHP SSH?(Y/N) Y ******************************* * Pharaoh Tools * * PHP SSH! * *******************************

Creating config file /etc/php5/mods-available/ssh2.ini with new version Reading package lists... Building dependency tree... Reading state information... The following extra packages will be installed: libssh2-1 The following NEW packages will be installed:

1.1. Commands 269 kevells Documentation, Release 0.1

libssh2-1 libssh2-php 0 upgraded,2 newly installed,0 to remove and 301 not upgraded. Need to get 91.0 kB of archives. After this operation, 389 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libssh2-1 amd64 1.4.3-2[66.3 kB] Get:2 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libssh2-php amd64 0.12-1build1[24.7 kB] Fetched 91.0 kB in 4s(19.8 kB/s) Selecting previously unselected package libssh2-1:amd64. (Reading database ... 183000 files and directories currently installed.) Preparing to unpack .../libssh2-1_1.4.3-2_amd64.deb ... Unpacking libssh2-1:amd64(1.4.3-2) ... Selecting previously unselected package libssh2-php. Preparing to unpack .../libssh2-php_0.12-1build1_amd64.deb ... Unpacking libssh2-php(0.12-1build1) ... Setting up libssh2-1:amd64(1.4.3-2) ... Setting up libssh2-php(0.12-1build1) ... Processing triggers for libc-bin(2.19-0ubuntu6) ... [Pharaoh Logging] Adding Package libssh2-php from the Packager Apt executed correctly ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------PHPSSH: Success ------Installer Finished ******************************

Benefits • The first and the foremost is the privacy of the communication. This means the connection, which provides a remote shell login, must be encrypted to prevent eavesdropping. • There must be a mechanism to check whether the data send by either party is not altered, or tampered with. In short, integrity check is necessary. • Identity of both the server and the client must be provided to each other, to establish a proper authentication. • Encryption and authentication mechanisms provided by PhpSSH enhances security to a greater extent.

PHPStorm

Synopsis PhpStorm keeps up with latest PHP & ptconfigure trends, integrates a variety of modern tools, and brings even more extensibility with support for major PHP frameworks. Development environment auto-configuration (cod- ing standard, file associations, etc.)Is possible. It is comfortable with Ubuntu and cent OS.

Help Command This command can function about the objectives and commands available under ptconfigure Php storm module. It also explains the command to install Php storm module. Before installation, the user can read this help command explains its function. ptconfigure PHPStorm help

270 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under PHP Storm. kevell@corp:/# ptconfigure PHPStorm help ******************************

This command allows you to install Intellij, the JetBrains IDE

PHPStorm,

- install Installs the latest version of Developer Tools example: ptconfigure gittools install

------End Help ******************************

Installation If the user wish to install git tools to their machine, they can use the command as given below, ptconfigure gittools install

After inputting the command above, the following steps are involved during the process of installation as described in the table, Parameters Alternative Parameters Op- Comments tions Install Git Instead of using PHPStorm We Y(Yes) If the user wish to proceed the installation Tools? (Y/N) can use phpstorm process they can input as Y. Install Git Instead of using PHPStorm We N(No) If the user wish to quit the installation process Tools? (Y/N) can use phpstorm they can input as N| The following screenshot pictorially depicts the above described process of installation. kevell@corp:/# ptconfigure gittools install Install Git Tools?(Y/N) Y ******************************* * Pharaoh Tools * * !Git Tools!! * ******************************* [Pharaoh Logging] Package git from the Packager Apt is already installed, so not installing [Pharaoh Logging] Package git-core from the Packager Apt is already installed, so not installing [Pharaoh Logging] Package gitk from the Packager Apt is already installed, so not installing [Pharaoh Logging] Package git-cola from the Packager Apt is already installed, so not installing ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------GitTools: Success ------Installer Finished ******************************

1.1. Commands 271 kevells Documentation, Release 0.1

Benefits • More settings to keep your code as neat as possible • Better interface with Development environment auto-configuration. • Better code hints & debugging • Zen Coding is available with Devops. • Multiple cursors and simple keyboard shortcuts for creating, editing, and navigating between issues. • More Custom attributes, customizable workflows and powerful Customization. • Used to install latest version of developer tools.

PHP Unit

Synopsis This module facilitates the users to install PHPUnit from a GC Repo. PHP Unit Testing Framework is a unit testing framework that enables developers to discover bugs and in turn drive down the costs associated with developing PHP software. The PHP Unit Testing Framework generates reports in either XML, XHTML or ASCII. Let us see, how does this module helps in installing an PHP unit.

Help Command The help command leads the users regarding the purpose and as well as about the options that are included in the PHP unit module. It also describes the syntax for installing PHP unit. The help command for PHP unit module is shown as below. ptconfigure PHPUnit help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under PHP unit. kevell@corp:/# ptconfigure PHPUnit help ******************************

This command allows you to install PHPUnit from a GC Repo.

PHPUnit

- install Installs the latest GC Repo version of PHPUnit example: ptconfigure phpunit install

------End Help ******************************

Installation The command used for installing the PHP unit to the users machine is shown below. ptconfigure PHPUnit install

After inputting the command above, the following operations occurs as shown in the tabular format. Parameters Options Comments Install PHP Unit? (Y/N) Y(Yes) If the user wish to proceed the installation process they can input as Y. Install PHP Unit? (Y/N) N(No) If the user wish to quit the installation process they can input as N.| If the user proceeds the installation process the following operations occurs as shown in the tabular format.

272 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Parameters Path Op- Comments tion Program data “/opt/phpunit Yes If the user to proceed installation with the default program directory (corresponding data directory they can input as Yes module)” Program data User specific No(End If the user wish to proceed with their own program data directory slash) directory, they can input as N, and in hand specify their own location Program “/usr/bin” Yes If the user to proceed installation with the default program executor executor directory they can input as Yes directory (default) Program User specific No(End If the user wish to proceed with their own program executor executor slash) directory, they can input as N, and in hand specify they own directory location.| Finally, the installation of PHP unit is completed. The following screenshot depicts visually about the process of installation. kevell@corp:/# ptconfigure phpunit install Install PHP Unit ?(Y/N) Y ******************************* * Pharaoh Tools * * PHP Unit ! * ******************************* What is the program data directory? Found "/opt/phpunit" - use this?(Enter nothing for yes, no end slash)

What is the program executor directory? Found "/usr/bin" - use this?(Enter nothing for yes, No Trailing Slash) git clone -b 3.5 ’https://github.com/sebastianbergmann/phpunit.git’ /tmp/phpunit/phpunitCloning into ’/tmp/phpunit/phpunit’... remote: Counting objects: 50529, done. Receiving objects: 71%(35876/50529), 12.02 MiB | 41.00 KiB/s Receiving objects: 95%(48003/50529), 16.82 MiB | 38.00 KiB/s Receiving objects: 95%(48254/50529), 16.86 MiB | 40.00 KiB/s Receiving objects: 96%(48508/50529), 16.95 MiB | 43.00 KiB/s

remote: Total 50529(delta 0), reused0(delta 0) Receiving objects: 100%(50529/50529), 17.91 MiB | 36.00 KiB/s, done. Resolving deltas: 100%(26834/26834), done. Checking connectivity... done. git clone -b 1.0 ’https://github.com/sebastianbergmann/dbunit.git’ /tmp/phpunit/dbunitCloning into ’/tmp/phpunit/dbunit’... remote: Counting objects: 4596, done. remote: Total 4596(delta 0), reused0(delta 0) Receiving objects: 100%(4596/4596), 1.04 MiB | 31.00 KiB/s, done. Resolving deltas: 100%(3183/3183), done. Checking connectivity... done. git clone -b 1.2 ’https://github.com/sebastianbergmann/php-file-iterator.git’ /tmp/phpunit/php-file-iteratorCloning into ’/tmp/phpunit/php-file-iterator’... remote: Counting objects: 453, done. remote: Total 453(delta 0), reused0(delta 0) Receiving objects: 100%(453/453), 60.66 KiB | 16.00 KiB/s, done. Resolving deltas: 100%(188/188), done. Checking connectivity... done. git clone -b 1.0 ’https://github.com/sebastianbergmann/php-code-coverage.git’ /tmp/phpunit/php-code-coverageCloning into ’/tmp/phpunit/php-code-coverage’... remote: Counting objects: 7650, done.

1.1. Commands 273 kevells Documentation, Release 0.1

remote: Total 7650(delta 0), reused0(delta 0) Receiving objects: 100%(7650/7650), 2.77 MiB | 17.00 KiB/s, done. Resolving deltas: 100%(3671/3671), done. Checking connectivity... done. git clone -b 1.0 ’https://github.com/sebastianbergmann/php-token-stream.git’ /tmp/phpunit/php-token-streamCloning into ’/tmp/phpunit/php-token-stream’... remote: Counting objects: 1234, done. remote: Total 1234(delta 0), reused0(delta 0) Receiving objects: 100%(1234/1234), 201.76 KiB | 41.00 KiB/s, done. Resolving deltas: 100%(565/565), done. Checking connectivity... done. git clone -b 1.0 ’https://github.com/sebastianbergmann/phpunit-mock-objects.git’ /tmp/phpunit/phpunit-mock-objectsCloning into ’/tmp/phpunit/phpunit-mock-objects’... remote: Counting objects: 4703, done. remote: Total 4703(delta 0), reused0(delta 0) Receiving objects: 100%(4703/4703), 837.24 KiB | 104.00 KiB/s, done. Resolving deltas: 100%(2910/2910), done. Checking connectivity... done. git clone -b 1.0 ’https://github.com/sebastianbergmann/phpunit-selenium.git’ /tmp/phpunit/phpunit-seleniumCloning into ’/tmp/phpunit/phpunit-selenium’... remote: Counting objects: 8115, done. remote: Total 8115(delta 0), reused0(delta 0) Receiving objects: 100%(8115/8115), 2.07 MiB | 28.00 KiB/s, done. Resolving deltas: 100%(4762/4762), done. Checking connectivity... done. git clone ’https://github.com/phpengine/ptconfigure-phpunit-php-timer’ /tmp/phpunit/php-timerCloning into ’/tmp/phpunit/php-timer’... remote: Counting objects: 253, done. remote: Total 253(delta 0), reused0(delta 0) Receiving objects: 100%(253/253), 31.55 KiB | 12.00 KiB/s, done. Resolving deltas: 100%(126/126), done. Checking connectivity... done. git clone ’https://github.com/sebastianbergmann/php-text-template.git’ /tmp/phpunit/php-text-templateCloning into ’/tmp/phpunit/php-text-template’... remote: Counting objects: 209, done. remote: Total 209(delta 0), reused0(delta 0) Receiving objects: 100%(209/209), 33.69 KiB | 16.00 KiB/s, done. Resolving deltas: 100%(92/92), done. Checking connectivity... done. Program Data folder populated Program Executor Deleted if existed ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------PHPUnit35: Success ------Installer Finished ******************************

Benefits • This module facilitates the user in installing PHP Unit from the GC Repo version. • The user can select their own path for program data directory and executor • The parameters used in declaring the help and installations are not case sensitive, which is added advantage while compared to others. • It is well-to-do in both cent OS and as well as in ubuntu.

274 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

PHPVM

Synopsis This module acts as a facilitator for installing and as well as updating the php vm with the latest version. Let us see about the usage of this module and the possible ways to use this module in the upcoming topics.

Help Command The help command guides the users regarding the purpose and as well as about the options that are included in the Phpvm module. It lists out the alternative parameters of Phpvm module. It also describes the syntax for installing the Phpvm module. The help command for Phpvm module is shown as below. ptconfigure Phpvm help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under Phpvm. kevell@corp:/# ptconfigure phpvm help

******************************

This command allows you to update PHPVM.

PHPVM, Phpvm, phpvm

- install Installs the latest version of PHPVM example: ptconfigure phpvm install

------End Help ******************************

Installation The command used for installing the phpvm in the users machine is shown below: ptconfigure phpvm install

After inputting the command above, the following process occurs as shown in the tabular format. Parameters Alternative Parameter Op- Comments tions Install Instead of phpvm, we can use Y(Yes) If the user wish to proceed the installation PHPVM? PHPVM, Phpvm also. process they can input as Y. (Y/N) Install Instead of phpvm, we can use N(No) If the user wish to quit the installation process PHPVM? PHPVM, Phpvm also. they can input as N.| (Y/N) If the user proceeds the installation, during the process of installation is described in the below lists: • builds the dependency tree. • Reads the state information. • list outs the packages that are automatically installed. • list outs the new packages that are installing. • details regarding the number of files upgraded, newly installed, removed and not upgraded. • Reads the package lists and displays the list of package that are already installed.

1.1. Commands 275 kevells Documentation, Release 0.1

The following screenshot pictorially depicts the above described process of installation. kevell@corp:/# ptconfigure phpvm install

Install PHPVM? (Y/N) Y ******************************* * Pharaoh Tools * * PHPVM! * ******************************* Creating /tmp/ptconfigure-temp-script-45523327550.sh chmod 755 /tmp/ptconfigure-temp-script-45523327550.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-45523327550.sh Permissions Executing /tmp/ptconfigure-temp-script-45523327550.sh W: GPG error: http://packages.elasticsearch.org stable Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY D27D666CD88E42B4 W: GPG error: http://packages.elasticsearch.org stable Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY D27D666CD88E42B4 W: GPG error: http://packages.elasticsearch.org stable Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY D27D666CD88E42B4 W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 amd64 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-amd64_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 amd64 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-amd64_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 amd64 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-amd64_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 amd64 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-amd64_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 amd64 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-amd64_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 amd64 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-amd64_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 i386 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-i386_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 i386 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-i386_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 i386 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-i386_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 i386 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-i386_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 i386 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-i386_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 i386 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-i386_Packages) Hit https://repo.varnish-cache.org precise InRelease Hit https://repo.varnish-cache.org precise/varnish-4.0 amd64 Packages Hit https://repo.varnish-cache.org precise/varnish-4.0 i386 Packages Get:1 https://repo.varnish-cache.org precise/varnish-4.0 Translation-en Ign http://repos.zend.com server InRelease Hit http://repos.zend.com server Release.gpg Hit http://repos.zend.com server Release Hit http://repos.zend.com server/non-free amd64 Packages Hit http://repos.zend.com server/non-free i386 Packages Ign http://repos.zend.com server/non-free Translation-en Ign http://security.ubuntu.com trusty-security InRelease Hit http://dl.hhvm.com trusty InRelease Hit http://security.ubuntu.com trusty-security Release.gpg Ign http://in.archive.ubuntu.com trusty InRelease

276 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Hit http://dl.hhvm.com trusty/main amd64 Packages Ign http://pkg.jenkins-ci.org binary/ InRelease Hit http://security.ubuntu.com trusty-security Release Hit http://dl.hhvm.com trusty/main i386 Packages Ign http://in.archive.ubuntu.com trusty-updates InRelease Ign https://repo.varnish-cache.org precise/varnish-4.0 Translation-en Hit http://security.ubuntu.com trusty-security/main Sources Ign http://in.archive.ubuntu.com trusty-backports InRelease Hit http://pkg.jenkins-ci.org binary/ Release.gpg Hit http://security.ubuntu.com trusty-security/restricted Sources Hit http://in.archive.ubuntu.com trusty Release.gpg Hit http://security.ubuntu.com trusty-security/universe Sources Hit http://in.archive.ubuntu.com trusty-updates Release.gpg Hit http://pkg.jenkins-ci.org binary/ Release Hit http://security.ubuntu.com trusty-security/multiverse Sources Hit http://in.archive.ubuntu.com trusty-backports Release.gpg Hit http://security.ubuntu.com trusty-security/main amd64 Packages Ign http://dl.hhvm.com trusty/main Translation-en Hit http://in.archive.ubuntu.com trusty Release Hit http://security.ubuntu.com trusty-security/restricted amd64 Packages Hit http://in.archive.ubuntu.com trusty-updates Release Hit http://security.ubuntu.com trusty-security/universe amd64 Packages Hit http://security.ubuntu.com trusty-security/multiverse amd64 Packages Hit http://in.archive.ubuntu.com trusty-backports Release Hit http://security.ubuntu.com trusty-security/main i386 Packages Hit http://in.archive.ubuntu.com trusty/main Sources Hit http://security.ubuntu.com trusty-security/restricted i386 Packages Hit http://pkg.jenkins-ci.org binary/ Packages Hit http://in.archive.ubuntu.com trusty/restricted Sources Hit http://security.ubuntu.com trusty-security/universe i386 Packages Hit http://in.archive.ubuntu.com trusty/universe Sources Hit http://security.ubuntu.com trusty-security/multiverse i386 Packages Hit http://in.archive.ubuntu.com trusty/multiverse Sources Hit http://security.ubuntu.com trusty-security/main Translation-en Hit http://in.archive.ubuntu.com trusty/main amd64 Packages Hit http://security.ubuntu.com trusty-security/multiverse Translation-en Hit http://in.archive.ubuntu.com trusty/restricted amd64 Packages Hit http://security.ubuntu.com trusty-security/restricted Translation-en Ign http://archive.canonical.com trusty InRelease Ign http://apt.newrelic.com newrelic InRelease Hit http://in.archive.ubuntu.com trusty/universe amd64 Packages Ign http://packages.elasticsearch.org stable InRelease Ign http://ppa.launchpad.net trusty InRelease Hit http://archive.canonical.com trusty Release.gpg Hit http://apt.newrelic.com newrelic Release.gpg Hit http://in.archive.ubuntu.com trusty/multiverse amd64 Packages Hit http://security.ubuntu.com trusty-security/universe Translation-en Ign http://packages.elasticsearch.org stable InRelease Hit http://archive.canonical.com trusty Release Ign http://packages.dotdeb.org squeeze InRelease Hit http://apt.newrelic.com newrelic Release Hit http://in.archive.ubuntu.com trusty/main i386 Packages Ign http://packages.elasticsearch.org stable InRelease Hit http://archive.canonical.com trusty/partner Sources Hit http://packages.dotdeb.org squeeze Release.gpg Hit http://apt.newrelic.com newrelic/non-free amd64 Packages Hit http://in.archive.ubuntu.com trusty/restricted i386 Packages Hit http://archive.canonical.com trusty/partner amd64 Packages

1.1. Commands 277 kevells Documentation, Release 0.1

Get:2 http://packages.elasticsearch.org stable Release.gpg [490 B] Hit http://apt.newrelic.com newrelic/non-free i386 Packages Hit http://packages.dotdeb.org squeeze Release Hit http://archive.canonical.com trusty/partner i386 Packages Get:3 http://packages.elasticsearch.org stable Release.gpg [490 B] Ign http://wireframesketcher.com InRelease Hit http://packages.dotdeb.org squeeze/all amd64 Packages Hit http://in.archive.ubuntu.com trusty/universe i386 Packages Get:4 http://packages.elasticsearch.org stable Release.gpg [490 B] Hit http://packages.dotdeb.org squeeze/all i386 Packages Ign http://pkg.jenkins-ci.org binary/ Translation-en Hit http://in.archive.ubuntu.com trusty/multiverse i386 Packages Hit http://packages.elasticsearch.org stable Release Ign http://packages.elasticsearch.org stable Release Ign http://archive.canonical.com trusty/partner Translation-en Hit http://in.archive.ubuntu.com trusty/main Translation-en Hit http://packages.elasticsearch.org stable Release Ign http://packages.elasticsearch.org stable Release Hit http://ppa.launchpad.net trusty Release.gpg Ign http://apt.newrelic.com newrelic/non-free Translation-en Hit http://in.archive.ubuntu.com trusty/multiverse Translation-en Hit http://packages.elasticsearch.org stable Release Ign http://packages.elasticsearch.org stable Release Hit http://in.archive.ubuntu.com trusty/restricted Translation-en Ign http://packages.elasticsearch.org stable/main amd64 Packages/DiffIndex Hit http://wireframesketcher.com Release.gpg Hit http://in.archive.ubuntu.com trusty/universe Translation-en Ign http://packages.elasticsearch.org stable/main i386 Packages/DiffIndex Hit http://in.archive.ubuntu.com trusty-updates/main Sources Hit http://in.archive.ubuntu.com trusty-updates/restricted Sources Hit http://ppa.launchpad.net trusty Release Ign http://packages.elasticsearch.org stable/main amd64 Packages/DiffIndex Ign http://packages.dotdeb.org squeeze/all Translation-en Hit http://in.archive.ubuntu.com trusty-updates/universe Sources Ign http://packages.elasticsearch.org stable/main i386 Packages/DiffIndex Hit http://in.archive.ubuntu.com trusty-updates/multiverse Sources Hit http://wireframesketcher.com Release Get:5 http://in.archive.ubuntu.com trusty-updates/main amd64 Packages [407 kB] Ign http://packages.elasticsearch.org stable/main amd64 Packages/DiffIndex Ign http://extras.ubuntu.com trusty InRelease Ign http://packages.elasticsearch.org stable/main i386 Packages/DiffIndex Hit http://extras.ubuntu.com trusty Release.gpg Hit http://ppa.launchpad.net trusty/main amd64 Packages Hit http://extras.ubuntu.com trusty Release Hit http://ppa.launchpad.net trusty/main i386 Packages Hit http://extras.ubuntu.com trusty/main Sources Hit http://extras.ubuntu.com trusty/main amd64 Packages Hit http://extras.ubuntu.com trusty/main i386 Packages Hit http://ppa.launchpad.net trusty/main Translation-en Hit http://wireframesketcher.com Packages Ign http://extras.ubuntu.com trusty/main Translation-en Ign http://wireframesketcher.com Translation-en Get:6 http://in.archive.ubuntu.com trusty-updates/restricted amd64 Packages [8875 B] Get:7 http://in.archive.ubuntu.com trusty-updates/universe amd64 Packages [243 kB] Get:8 http://in.archive.ubuntu.com trusty-updates/multiverse amd64 Packages [11.2 kB] Hit http://packages.elasticsearch.org stable/main amd64 Packages Hit http://packages.elasticsearch.org stable/main i386 Packages Get:9 http://in.archive.ubuntu.com trusty-updates/main i386 Packages [399 kB]

278 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Ign http://packages.elasticsearch.org stable/main Translation-en Hit http://packages.elasticsearch.org stable/main amd64 Packages Hit http://packages.elasticsearch.org stable/main i386 Packages Ign http://packages.elasticsearch.org stable/main Translation-en Hit http://packages.elasticsearch.org stable/main amd64 Packages Hit http://packages.elasticsearch.org stable/main i386 Packages Ign http://packages.elasticsearch.org stable/main Translation-en Get:10 http://in.archive.ubuntu.com trusty-updates/restricted i386 Packages [8846 B] Get:11 http://in.archive.ubuntu.com trusty-updates/universe i386 Packages [243 kB] Get:12 http://in.archive.ubuntu.com trusty-updates/multiverse i386 Packages [11.4 kB] Get:13 http://in.archive.ubuntu.com trusty-updates/main Translation-en [194 kB] Hit http://in.archive.ubuntu.com trusty-updates/multiverse Translation-en Hit http://in.archive.ubuntu.com trusty-updates/restricted Translation-en Hit http://in.archive.ubuntu.com trusty-updates/universe Translation-en Hit http://in.archive.ubuntu.com trusty-backports/main Sources Hit http://in.archive.ubuntu.com trusty-backports/restricted Sources Hit http://in.archive.ubuntu.com trusty-backports/universe Sources Hit http://in.archive.ubuntu.com trusty-backports/multiverse Sources Hit http://in.archive.ubuntu.com trusty-backports/main amd64 Packages Hit http://in.archive.ubuntu.com trusty-backports/restricted amd64 Packages Hit http://in.archive.ubuntu.com trusty-backports/universe amd64 Packages Hit http://in.archive.ubuntu.com trusty-backports/multiverse amd64 Packages Hit http://in.archive.ubuntu.com trusty-backports/main i386 Packages Hit http://in.archive.ubuntu.com trusty-backports/restricted i386 Packages Hit http://in.archive.ubuntu.com trusty-backports/universe i386 Packages Hit http://in.archive.ubuntu.com trusty-backports/multiverse i386 Packages Hit http://in.archive.ubuntu.com trusty-backports/main Translation-en Hit http://in.archive.ubuntu.com trusty-backports/multiverse Translation-en Hit http://in.archive.ubuntu.com trusty-backports/restricted Translation-en Hit http://in.archive.ubuntu.com trusty-backports/universe Translation-en Fetched 1364 kB in 51s (26.6 kB/s) Reading package lists... Temp File /tmp/ptconfigure-temp-script-45523327550.sh Removed [Pharaoh Logging] Package apache2 from the Packager Apt is already installed, so not installing [Pharaoh Logging] Package mysql-server from the Packager Apt is already installed, so not installing [Pharaoh Logging] Package php5 from the Packager Apt is already installed, so not installing E: Could not get lock /var/cache/apt/archives/lock - open (11: Resource temporarily unavailable) E: Unable to lock directory /var/cache/apt/archives/ Reading package lists... Building dependency tree... Reading state information... The following packages were automatically installed and are no longer required: gyp libc-ares-dev libc-ares2 libframework2-zend-server libicu36 libjs-node-uuid libmcrypt4 liboci-us-locales-zend libpng3 libsqlite0 libssl0.9.8 libv8-3.14-dev lighttpd-zend-server linux-headers-3.13.0-32 linux-headers-3.13.0-32-generic linux-image-3.13.0-32-generic linux-image-extra-3.13.0-32-generic node-abbrev node-ansi node-archy node-async node-block-stream node-combined-stream node-cookie-jar node-delayed-stream node-forever-agent node-form-data node-fstream node-fstream-ignore node-github-url-from-git node-glob node-graceful-fs node-gyp node-inherits node-ini node-json-stringify-safe node-lockfile node-lru-cache node-mime node-minimatch node-mkdirp node-mute-stream node-node-uuid node-nopt node-normalize-package-data node-npmlog node-once node-osenv node-qs node-read node-read-package-json node-request node-retry node-rimraf node-semver node-sha node-sigmund node-slide node-tar node-tunnel-agent node-which nodejs nodejs-dev php-5.3-bcmath-zend-server php-5.3-bz2-zend-server php-5.3-calendar-zend-server php-5.3-ctype-zend-server php-5.3-curl-zend-server php-5.3-exif-zend-server

1.1. Commands 279 kevells Documentation, Release 0.1

php-5.3-fcgi-zend-server php-5.3-fileinfo-zend-server php-5.3-ftp-zend-server php-5.3-gd-zend-server php-5.3-gettext-zend-server php-5.3-imap-zend-server php-5.3-intl-zend-server php-5.3-ldap-zend-server php-5.3-loader-zend-server php-5.3-mbstring-zend-server php-5.3-mcrypt-zend-server php-5.3-oci8-zend-server php-5.3-pdo-mysql-zend-server php-5.3-pdo-pgsql-zend-server php-5.3-pgsql-zend-server php-5.3-phar-zend-server php-5.3-posix-zend-server php-5.3-soap-zend-server php-5.3-sockets-zend-server php-5.3-sqlite-zend-server php-5.3-tidy-zend-server php-5.3-tokenizer-zend-server php-5.3-xsl-zend-server php-5.3-zip-zend-server sqlite sqlite3 ttf-dejavu-core zend-server-doc Use ’apt-get autoremove’ to remove them. The following packages will be REMOVED: php-5.3-common-extensions-zend-server php-5.3-mysql-zend-server php-5.3-mysqli-zend-server zend-server-php-5.3 zend-server-php-5.3-common The following NEW packages will be installed: php5-mysql 0 upgraded, 1 newly installed, 5 to remove and 79 not upgraded. 9 not fully installed or removed. [Pharaoh Logging] Adding Package php5-mysql from the Packager Apt did not execute correctly ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------PHPVM: Success ------Installer Finished ******************************

Benefits • The parameters used in help and installation are not case sensitive which is an added advantage while compared to others. • It is well-to-do in both Ubuntu and as well as Cent OS. • This will module installs the phpvm in updated version. • If the module is already existing in the user machine it will display a message as it is already existing.

Ping

Synopsis As a verb, PING means “to get the attention of” or “to check for the presence of” another party online. PING (Packet INternet Groper) module used to test the system connectivity. PING used to send network data to, and receive network data from, another computer on a network. PING frequently used to test, whether another system is reachable over a network, and if so, how much time it takes for that data to be exchanged.

Help command This command helps to determine the usage of PING module. This help command figure out the options to use along with PING command. This command will guide the end user to know the usage of different options and the syntax for those options. Below given are the command and the screenshot of the same.

280 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

ptconfigure ping help kevell@corp:/# ptconfigure ping help

******************************

This command allows you to test the status of ports

Ping, ping

- once ping a target once example: ptconfigure ping once --yes --guess --target=www.google.com # url/ip to ping test --interval=5 # no seconds to wait between requests, will guess 2

- ten ping a target ten times example: ptconfigure ping ten --yes --guess --target=www.google.com # url/ip to ping test --interval=5 # no seconds to wait between requests, will guess 2

- until-responding ping a target for a set amount of time until it responds example: ptconfigure ping once --yes --guess --target=www.google.com # url/ip to ping test --interval=5 # no seconds to wait between requests, will guess 2 --max-wait=100 # no seconds in total to keep trying, will guess 60

------End Help ******************************

Options PING module have three different options, which retrieve data as per the option used in commands. Below table explains the same Op- Commands Functions tions Once ptconfigure ping once – yes –guess Ping us a target once. Once option will retrieve data only –target=google.com – interval=5 once Ten ptconfigure ping ten – yes –guess Ten option pull data for ten times, having interval time as 5 –target=google.com – interval=5 seconds [waits for seconds before sending the next packet] Until- ptconfigure ping once – yes –guess Ping us the target for a set amount of time until it responds, responding–target=google.com – interval=5 – having interval time as 5 seconds and max 100 seconds to try max-wait=100 for the target| Note: • Interval - Number of seconds to wait between each request • Max-wait - Number of seconds in total to keep trying • Interval time and Max-wait time frequency can be decided by the user as per the requirement

Once Option

1.1. Commands 281 kevells Documentation, Release 0.1

kevell@corp:/# ptconfigure ping once --yes --guess --target=www.google.com

[Pharaoh Logging] Ping Latency is 34 ms ******************************

Ping Modifications: ------

Ping: Success

------Ping Mods Finished ******************************

Ten Option kevell@corp:/# ptconfigure ping ten --yes --guess --target=www.google.com

[Pharaoh Logging] Ping Latency is 36 ms [Pharaoh Logging] Ping Latency is 34 ms [Pharaoh Logging] Ping Latency is 34 ms [Pharaoh Logging] Ping Latency is 34 ms [Pharaoh Logging] Ping Latency is 36 ms ******************************

Ping Modifications: ------

Ping: Success

------Ping Mods Finished ******************************

Until responding kevell@corp:/# ptconfigure ping once -- yes --guess --target=google.com -- interval=5 -- max-wait=100

[Pharaoh Logging] Ping Latency is 37 ms ******************************

Ping Modifications: ------

Ping: Success

------Ping Mods Finished ******************************

Benefits PING helps the user to verify a particular IP address existence and can accept request. PING command is the best way to test connectivity between two nodes. Whether it is Local Area Network (LAN) or Wide Area Network (WAN).

282 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Port

Synopsis Port certify to check the status of ports and services. This module helps to check the port service under ptconfigure. This module is most comfortable with Ubuntu and cent OS.

Help This help command guide the user about Port module. This is suitable for all type of IT people. ptconfigure port help

The help command shows a short list of the commands built into the port module. kevell@corp:/# ptconfigure Port help ******************************

This command allows you to test the status of ports and services running on them

Port, port

- is-responding Test if a port is responding example: ptconfigure port is-responding --port-number="25"

- process See which process is using a port example: ptconfigure port process --port-number="25"

------End Help ******************************

Process If the user needs to see which process is using a particular port, the below command process the same. ptconfigure port process --port-number="25"

The following screenshot depicts the above mentioned procees kevell@corp:/# ptconfigure port process --port-number="22" [Pharaoh Logging] Port 22 is being used by the process sshd ***************************** Port Modifications: ------Port: Success ------Port Mods Finished ****************************** Is-responding ------

If the user needs to test if a particular port is responding or not, the below command process the same. ptconfigure port process --port-number="25"

Benefits • The user can check the current working status of the port.

1.1. Commands 283 kevells Documentation, Release 0.1

• It is a user friendly module. • Less time consuming.

PostgresServer

Synopsis PostgresServer is a general purpose and object-relational database management system. Use to install database. PostgresServer designed to run on LINUX-like platforms. However, PostgresServer is portable so that it could run on various platforms such as Mac OS X, Solaris and Windows. It allows you to add custom functions developed using different programming languages such as C/C++, Java, etc.

Help Command This command helps to determine the usage of PostgresServer module. User will come to know about the different ways/format to execute this module. This command will guide the end user to know when and how the command to be used. Below given are the command and the screenshot of the same. ptconfigure PostgresServer help

kevell@corp:/# ptconfigure PostgresServer help ******************************

This command allows you to install the Postgres Server. Currently only Postgres Workbench, the Database management GUI provided by Oracle for Postgres.

PostgresServer, postgres-server, postgresserver

- install Install some Postgres Server Tools through apt-get. example: ptconfigure postgres-server install

Notes, during postgres install a root password will be set. First, it’ll look for the parameter --postgres-root-pass, if this is not set, it’ll look in the ptconfigure config for a postgres-default-root-pass setting, and failing both of those it will just set the password for root to ptconfigure.

------End Help ******************************

Installation When the user needs to install the module in machine. The below given command will execute the process of installation. ptconfigure PostgresServer install

After inputting the command above, the process of execution involves as described in the tabular format, Parameters Alternative Parameter Op- Comment tions Install Postgres PostgresServer, postgresserver, postgres-server. Y If the user wish to proceed Server? (Y/N) The user can use any one of the above. installation they can input as Y. Install Postgres PostgresServer, postgresserver, postgres-server. N If the user wish to quit Server? (Y/N) The user can use any one of the above.| installation they can input as N. If the user proceeds installation, during the process of installation the following steps are involved,

284 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

• builds the dependency tree. • Reads the state information. • list outs the extra packages that are automatically installed. • list outs the suggested packages that are installing. • list outs the new packages that are installing. • details regarding the number of files upgraded, newly installed, removed and not upgraded. The following screenshot pictorially depicts the above described process of installation. kevell@corp:/# ptconfigure PostgresServer install Install Postgres Server?(Y/N) Y ******************************* * Pharaoh Tools * * Postgres Server! * ******************************* Adding user postgres to group ssl-cert

Creating config file /etc/logrotate.d/postgresql-common with new version Building PostgreSQL dictionaries from installed myspell/hunspell packages... en_us Removing obsolete dictionary files: * No PostgreSQL clusters exist; see "man pg_createcluster" Reading package lists... Building dependency tree... Reading state information... The following extra packages will be installed: libpq5 postgresql-9.3 postgresql-client-9.3 postgresql-client-common postgresql-common Suggested packages: oidentd ident-server locales-all postgresql-doc-9.3 The following NEW packages will be installed: libpq5 postgresql postgresql-9.3 postgresql-client-9.3 postgresql-client-common postgresql-common 0 upgraded,6 newly installed,0 to remove and 301 not upgraded. Need to get 3,666 kB of archives. After this operation, 15.4 MB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main libpq5 amd64 9.3.5-0ubuntu0.14.04.1[80.6 kB] Get:2 http://in.archive.ubuntu.com/ubuntu/ trusty/main postgresql-client-common all 154[25.4 kB] Get:3 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main postgresql-client-9.3 amd64 9.3.5-0ubuntu0.14.04.1[782 kB] Get:4 http://in.archive.ubuntu.com/ubuntu/ trusty/main postgresql-common all 154[103 kB] Get:5 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main postgresql-9.3 amd64 9.3.5-0ubuntu0.14.04.1[2,670 kB] Get:6 http://in.archive.ubuntu.com/ubuntu/ trusty/main postgresql all 9.3+154[5,088 B] Preconfiguring packages ... Fetched 3,666 kB in 8min 13s(7,435 B/s) Selecting previously unselected package libpq5. (Reading database ... 181615 files and directories currently installed.) Preparing to unpack .../libpq5_9.3.5-0ubuntu0.14.04.1_amd64.deb ... Unpacking libpq5(9.3.5-0ubuntu0.14.04.1) ... Selecting previously unselected package postgresql-client-common. Preparing to unpack .../postgresql-client-common_154_all.deb ... Unpacking postgresql-client-common(154) ... Selecting previously unselected package postgresql-client-9.3. Preparing to unpack .../postgresql-client-9.3_9.3.5-0ubuntu0.14.04.1_amd64.deb ... Unpacking postgresql-client-9.3(9.3.5-0ubuntu0.14.04.1) ... Selecting previously unselected package postgresql-common. Preparing to unpack .../postgresql-common_154_all.deb ...

1.1. Commands 285 kevells Documentation, Release 0.1

Adding ’diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common’ Unpacking postgresql-common(154) ... Selecting previously unselected package postgresql-9.3. Preparing to unpack .../postgresql-9.3_9.3.5-0ubuntu0.14.04.1_amd64.deb ... Unpacking postgresql-9.3(9.3.5-0ubuntu0.14.04.1) ... Selecting previously unselected package postgresql. Preparing to unpack .../postgresql_9.3+154_all.deb ... Unpacking postgresql(9.3+154) ... Processing triggers for man-db(2.6.7.1-1) ... Processing triggers for ureadahead(0.100.0-16) ... ureadahead will be reprofiled on next reboot Setting up libpq5(9.3.5-0ubuntu0.14.04.1) ... Setting up postgresql-client-common(154) ... Setting up postgresql-client-9.3(9.3.5-0ubuntu0.14.04.1) ... update-alternatives: using /usr/share/postgresql/9.3/man/man1/psql.1.gz to provide /usr/share/man/man1/psql.1.gz(psql.1.gz) in auto mode Setting up postgresql-common(154) ... Processing triggers for ureadahead(0.100.0-16) ... Setting up postgresql-9.3(9.3.5-0ubuntu0.14.04.1) ... Creating new cluster 9.3/main ... config /etc/postgresql/9.3/main data /var/lib/postgresql/9.3/main locale en_IN port 5432 update-alternatives: using /usr/share/postgresql/9.3/man/man1/postmaster.1.gz to provide /usr/share/man/man1/postmaster.1.gz(postmaster.1.gz) in auto mode * Starting PostgreSQL 9.3 database server ...done. Setting up postgresql(9.3+154) ... Processing triggers for libc-bin(2.19-0ubuntu6) ... [Pharaoh Logging] Adding Package postgresql from the Packager Apt executed correctly E: Failed to fetch http://in.archive.ubuntu.com/ubuntu/pool/main/p/postgresql-common/postgresql-contrib_9.3+154_all.deb Connection failed[IP: 91.189.88.149 80]

E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing? Reading package lists... Building dependency tree... Reading state information... The following extra packages will be installed: libossp-uuid16 postgresql-contrib-9.3 Suggested packages: uuid libdbd-pg-perl The following NEW packages will be installed: libossp-uuid16 postgresql-contrib postgresql-contrib-9.3 0 upgraded,3 newly installed,0 to remove and 301 not upgraded. Need to get 435 kB of archives. After this operation, 2,038 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty/main libossp-uuid16 amd64 1.6.2-1.3ubuntu1[29.6 kB] Get:2 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main postgresql-contrib-9.3 amd64 9.3.5-0ubuntu0.14.04.1[400 kB] Get:3 http://in.archive.ubuntu.com/ubuntu/ trusty/main postgresql-contrib all 9.3+154[5,106 B] Err http://in.archive.ubuntu.com/ubuntu/ trusty/main postgresql-contrib all 9.3+154 Connection failed[IP: 91.189.88.149 80] Fetched 430 kB in 6min 25s(1,114 B/s) [Pharaoh Logging] Adding Package postgresql-contrib from the Packager Apt did not execute correctly ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer:

286 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

------PostgresServer: Success ------Installer Finished ******************************

Benefits • User-defined types • Table inheritance • Sophisticated locking mechanism • Views, rules, sub-select • Nested transactions (save points) • Point-in-time recovery

Process

Synopsis This module assists the users in handling a required process functions, and also to kill a process. The user can specify the particular process based on their requirements. The user can specify the name of the process, the file or directory either from local or in a remote machine. Let us see, the usage and methodologies involved in it.

Help Command The help command serves the users regarding how to handle and to work with process as per their needs. It also lists out the alternative parameters of process. It describes the syntax for killing a process, and also about how to specify killing a process on the basis of their needs. The help command for process module is shown as below. ptconfigure process help

The following screenshot as shown below, depicts how to kill a process, and how to define killing a process. kevell@corp:/# ptconfigure process help ******************************

This command handles process functions, kill a process for now

Process, process

- kill Will ask you for process name, aa file or directory from local to remote example: ptconfigure process kill example: ptconfigure process kill --yes --name="selenium" --use-psax # default, will look for string in result of example: ptconfigure process kill --yes --name="selenium" --use-pkill # will allow pkill to find by string to kill example: ptconfigure process kill --yes --guess --id="1234 # will kill a process by id --level # will guess a 9

------End Help ******************************

1.1. Commands 287 kevells Documentation, Release 0.1

How to define and to use the process To kill a process the following syntax can be used. ptconfigure process kill or ptconfigure process kill --yes --name="selenium" --use-psax # default

The syntax as shown above will looks for string in result of. ptconfigure process kill --yes --name="selenium" --use-pkill #

The syntax as shown above is used to specify or find a string which is to be killed. ptconfigure process kill --yes --guess id="1234 #

The command as shown above will kills a process as per the given id. ptconfigure process kill --yes --level #

The command as above is used to kill a process as per the specified level. ptconfigure process kill --yes --guess --name="skype"

The command as above is used to kill a process by specifying its name. The following screenshot depicts the working of killing a process.

Killing a process using a PID If the PID # 3486 is assigned to the lighttpd process. To kill the lighttpd server, you need to pass a PID as follows: # kill 3486 or $ sudo kill 3486

This will terminate a process with a PID of 3486.

How do I verify that the process is gone / killed? Use the ps or pidof command:

$ ps aux | grep lighttpd $ pidof lighttpd

How can I kill two or more PIDs? The syntax is as follows to kill two or more PIDs as required can be used in a single command: kill pid1 pid2 pid3 kill -15 pid1 pid2 pid3 kill -9 pid1 pid2 pid3 kill -9 3546 5557 4242

288 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Say hello to kill all command This is a Linux only command. to kill processes by name. So no need to find the PIDs using the ‘pidof process’ or ‘ps aux | grep process’ command. Do not use killall command on Unix operating systems. This is a Linux specific command. The syntax is killall Process-Name-Here

To kill the lighttpd server, enter: # killall -15 lighttpd or .. code-block:: bash # killall -9 lighttpd To kill the Firefox web-browser process, enter: # killall -9 firefox-bin

As I said earlier, the kill all command on UNIX-like system does something else. It kills all process and not just specific process. Do not use kill all on UNIX system.

Benefits • The user can kill a process using different parameters as per their requirements. For example: by using the id, level of the process it can be specified to kill.

PTBuild

Synopsis This tool helps the user to install and update ptbuild under ptconfigure in pharaoh tools. Automation of the build should include automating the integration, which often includes deployment into a production-like environment. In many cases, the build script not only compiles binaries, but also generates documentation, website pages, statistics and distribution media such as Red Hat. It comforts with Ubuntu and Cent OS.

Help command The help command leads the users regarding the purpose and as well as about the options that are included in the ptbuild modules. The help command lists out the alternative parameters of ptbuild under ptconfigure module. It also describes the syntax for installing the user’s updation. The help command for ptbuild is shown below. ptconfigure ptbuild help

The following screen shot shows the full effort of ptbuild. kevell@corp:/# ptconfigure ptbuild help

******************************

This command allows you to install or update ptbuild.

ptbuild, ptbuild

- install Installs the latest version of ptbuild example: ptconfigure ptbuild install

- ensure Ensures ptbuild is installed

1.1. Commands 289 kevells Documentation, Release 0.1

example: ptconfigure ptbuild ensure

- uninstall Uninstalls the latest version of ptbuild example: ptconfigure ptbuild uninstall ------End Help ******************************

Installation This is a tool that sits under ptconfigure and pulls down clean copies of the user codebase and does full builds, from scratch, all the time. This command is used to install latest version of ptbuild. The command used for installation is as follows. ptconfigure ptbuild install

After inputs the command the system can ask install ptbuild?(Y/N) If the user gives Y then ptbuild will be installed. The following Screen shot demonstrate it .

Parameters Directory_Default Op- Comments tions Program data “/opt/ptbuild(correspondingY(Yes) If the user wish to proceed installation with the same directory (default) module)” default directory specified they can input as Y. Program data User Specific No(End If the user needs to specify their own location, they can directory Slash) input as N. and in hand specify their own location Program executor “/usr/bin” Y(Yes) If the user wish to proceed installation with the same directory (default) default directory specified they can input as Y. Program executor User Specific No(End If the user needs to specify their own location, they can directory Slash) input as N. and in hand specify their own location|

Uninstall This command is used to Uninstall the latest version of ptbuild. The command used for Uninstallation is as follows. ptconfigure ptbuild Uninstall

After inputs the command the system can ask Uninstall ptbuild?(Y/N) If the user gives Y then ptbuild will be Uninstalled. The following Screen shot demonstrate it .

Parameters Directory_Default Op- Comments tions Program data “/opt/ptbuild(correspondingY(Yes) If the user wish to proceed uninstallation with the same directory (default) module)” default directory specified they can input as Y. Program data User Specific No(End If the user needs to specify their own location, they can directory Slash) input as N. and in hand specify their own location Program executor “/usr/bin” Y(Yes) If the user wish to proceed uninstallation with the same directory (default) default directory specified they can input as Y. Program executor User Specific No(End If the user needs to specify their own location, they can directory Slash) input as N. and in hand specify their own location|

290 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Ensure Ensure process used to check the ptbuild installed in the user system or not. The following command helps the user to ensure. ptconfigure ptbuild ensure

The following screen shot shows its functions.

Benefits • Used to Install ptbuilds possible. • Suitable to work with Ubuntu and centos. • Non case sensitivity. • Automation in updated version. • Reliability, Availability, serviceability with other connections.

PTConfigure

Synopsis This module lift installation in updated version. Automation is possible. Location for data directory and executor directory can be specified while installing in this module. It specifies the configuration of your environment. It is user friendly with Ubuntu and cent OS.

Help command This help command guide the user about ptconfigure. Suitable for all type of user. It depicts the alternative parameters and commands for installation. The following help command and the screenshot will assist the user regarding the usage. ptconfigure ptconfigure help kevell@corp:/# ptconfigure ptconfigure help ******************************

This command allows you to update ptconfigure. ptconfigure, cleo, ptconfigure

- install Installs the latest version of ptconfigure example: ptconfigure ptconfigure install

------End Help ******************************

Installation It is a simplier process to install ptconfigure module by just using the command given below, ptconfigure ptconfigure install

1.1. Commands 291 kevells Documentation, Release 0.1

After giving the command the ptconfigure will be installed with new updates. After the user input has passed it will check if any file is missing and in hand it will install automatically. The following screen shot enumerate it. kevell@corp:/# ptconfigure ptconfigure install

Install ptconfigure - Update to latest version ?(Y/N) y ******************************* *Pharaoh Tools* *ptconfigure! * ******************************* What is the program data directory? Found "/opt/ptconfigure" - use this?(Enter nothing for yes, no end slash)

What is the program executor directory? Found "/usr/bin" - use this?(Enter nothing for yes, No Trailing Slash) git clone ’https://github.com/PharaohTools/ptconfigure.git’/tmp/ptconfigure/ptconfigureCloning into ’/tmp/ptconfigure/ptconfigure’... remote: Counting objects: 19656, done. remote: Total 19656(delta 0), reused0(delta 0) Receiving objects: 100%(19656/19656), 6.15 MiB | 66.00 KiB/s, done. Resolving deltas: 100%(11790/11790), done. Checking connectivity... done. Program Data Folder /opt/ptconfigure Deleted if existed Program Data folder populated Program Executor Deleted if existed ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------ptconfigure: Success ------Installer Finished ****************************** Parameters Alternative Parameter Op- Comments tion Install ptconfigure ptconfigure There are three parameters which can be Y(Yes) It will install Update to latest version? (Y/N) used. ptconfigure, cleo, ptconfigure ptconfigure Install ptconfigure ptconfigure There are three parameters which can be N(No) It will exit from Update to latest version? (Y/N) used. ptconfigure, cleo, ptconfigure| installation

Benefits • ptconfigure is used to install configuration file. While installing if there is any file is existing overwrite the content. • New version can update automatically. • Updation can be done in this module without web search.

PTDeploy

292 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Synopsis The ptdeploy envelops the applications of the users with automated deployment, build and release func- tions, web App versioning and infrastructure by code in PHP. In order to build for well-deployment, many files are needed to be copied from FTP or other ad hoc solutions. And also lot of Enterprise Automation tools were missing. In order to overcome these shortages ptdeploy under the pharaoh tool were build up. PHP has ptdeploy just as ruby fiils the gap in ptdeploy. This tool is for provisioning applications and builds to your boxes. The user can set up even simple or complex application deployment pattern to their system with one or two PHP files Or, quickly setup cloud friendly deployment patterns. ptdeploy is modular, object oriented and extendible. So if the user requires any extra modules they can create and add the new modules based on their requirements. This ptdeploy acts as a wrapper where all the steps of user deployment get covered into a single file. This allows using a single command to fire up an instance of your applications.

Help Command This command helps to determine the usage of ptdeploy module. The user will come to know about the different way/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same. ptconfigure ptdeploy help

The screenshot for the above command is listed below, kevell@corp:/# ptconfigure ptdeploy help ******************************

This command allows you to update ptdeploy.

ptdeploy, dapper, ptdeploy

- install Installs the latest version of ptdeploy example: ptconfigure ptdeploy install

- ensure Installs the latest version of ptdeploy, only if a version is not installed example: ptconfigure ptdeploy ensure

------End Help ******************************

Installation This command helps to install the latest version of ptdeploy. The below given command will execute the process of installation. ptconfigure ptdeploy install

The screenshot for the above command is listed below, kevell@corp:/# ptconfigure ptdeploy install Install ptdeploy ?(Y/N) Y ******************************* * Pharaoh Tools * * ptdeploy *

1.1. Commands 293 kevells Documentation, Release 0.1

******************************* What is the program data directory? Found "/opt/ptdeploy" - use this?(Enter nothing for yes, no end slash)

What is the program executor directory? Found "/usr/bin" - use this?(Enter nothing for yes, No Trailing Slash) git clone ’https://github.com/PharaohTools/ptdeploy.git’ /tmp/ptdeploy/ptdeployCloning into ’/tmp/ptdeploy/ptdeploy’... remote: Counting objects: 6989, done. remote: Total 6989(delta 0), reused0(delta 0), pack-reused 6989 Receiving objects: 100%(6989/6989), 2.61 MiB | 176.00 KiB/s, done. Resolving deltas: 100%(4335/4335), done. Checking connectivity... done. Program Data folder populated Program Executor Deleted if existed ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------ptdeploy: Success ------Installer Finished ******************************

Ensure This command helps to install the latest version of ptdeploy, only if a version is not installed. The below given command will execute the process of installation. ptconfigure ptdeploy ensure

The screenshot for the above command is listed below, kevell@corp:/# ptconfigure ptdeploy ensure [Pharaoh Logging] Ensure module install is not checking versions [Pharaoh Logging] Module ptdeploy reports itself as Installed [Pharaoh Logging] Not installing as already installed ******************************

Single App Installer: ------ptdeploy: Success ------Installer Finished ******************************

Parameters Alternative Parameter Op- Comments tions ptconfigure There are two alternative parameters which can be used in command Y System starts ptdeploy line. ptdeploy, dapper, ptdeploy Example: ptconfigure ptdeploy install / installation Options install? (Y/N) ptconfigure dapper install process ptconfigure There are two alternative parameters which can be used in command N System stops ptdeploy line. ptdeploy, dapper, ptdeploy Example: ptconfigure ptdeploy install / installation install? (Y/N) ptconfigure dapper install| process

294 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Benefits • Editing the host files, virtual host files, configuration files, database updates and more can all be automated using this. • By using the capability of remote server management, the users can automate deployments across infrastructure of any size.

PTTest

Synopsis pttest module is for handling test suite configuration and execution using a common set of rules across a range of tools and technologies. It can be used to generate starter test suites for your applications, and automated test execution scripts within minutes. This module aims at installing the latest version of pttest tool.

Help Command The help command guides the user to provide what is necessary to accomplish the task. The command to make use of help under the terminal is given as follows, ptconfigure pttest help

The snapshot below gives you a pictorial representation of help command. kevell@corp:/# ptconfigure pttest help ******************************

This command allows you to update pttest.

PTTest, cleo, pttest

- install Installs the latest version of pttest example: pttest pttest install

------End Help ******************************

Installation The preferred way to install any of the pharaoh apps is through ptconfigure. If you already installed ptconfigure then you can install pttest by using the following command, ptconfigure pttest install

The snapshot below gives you a pictorial representation of help command. kevell@corp:/# ptconfigure pttest install Install pttest - Update to latest version ?(Y/N) Y ******************************* * Pharaoh Tools * * pttest! * ******************************* What is the program data directory? Found "/opt/pttest" - use this?(Enter nothing for yes, no end slash)

What is the program executor directory? Found "/usr/bin" - use this?(Enter nothing for yes, No Trailing Slash) git clone ’https://github.com/PharaohTools/pttest.git’ /tmp/pttest/pttestCloning into ’/tmp/pttest/pttest’... remote: Counting objects: 909, done.

1.1. Commands 295 kevells Documentation, Release 0.1

remote: Total 909(delta 0), reused0(delta 0) Receiving objects: 100%(909/909), 361.15 KiB | 87.00 KiB/s, done. Resolving deltas: 100%(412/412), done. Checking connectivity... done. Program Data folder populated Program Executor Deleted if existed ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------pttest: Success ------Installer Finished ******************************

Para- Alterna- Op- Comments maters tive tion Parameter Install pttest, cleo, Yes The system checks for previously installed version, if exits it was updated to pttest? pttest latest version or else it installs the fresh package. To save the program files to Options (Y/N) the specific path user must enter key ‘/’ button or else it uses the default path as shown in figure. Install pttest, cleo, No Stops the installation process| pttest pttest (Y/N)

Benefits to the users • Easy use of access and installation • Coding is case insensitive • Full source is available and there are no license costs.

PTVirtualize

Synopsis ptvirtualize achieve to manage the Virtualbox. This module helps to install under ptconfigure. Data direc- tory and executor directory can specify while installing in this module. This module is most comfortable with Ubuntu and cent OS.

Help command This help command guide the user about ptvirtualize module. This is suitable for all type of business people. The help command shows a short list of the commands built into the ptvirtualize module. Kevell@corp:/# ptconfigure ptvirtualize help ******************************

This command allows you to install or update ptvirtualize.

296 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

ptvirtualize, ptvirtualize

- install Installs the latest version of ptvirtualize example: ptconfigure ptvirtualize install

------End Help ******************************

Installation Installation of a ptvirtualize module is including device drivers and plugins, act of making the program ready for execution. While installing this module the following command will be passed. ptconfigure ptvirtualize install

After inputs the command the system can ask Install ptvirtualize?(Y/N) If the user gives Y then ptvirtualize will be installed. The following Screen shot demonstrate it . Kevell@corp:/# ptconfigure ptvirtualize install Install ptvirtualize ?(Y/N) y ******************************* * Pharaoh Tools * * ptvirtualize * ******************************* What is the program data directory? Found "/opt/ptvirtualize" - use this?(Enter nothing for yes, no end slash)

What is the program executor directory? Found "/usr/bin" - use this?(Enter nothing for yes, No Trailing Slash) git clone ’https://github.com/PharaohTools/ptvirtualize.git’ /tmp/ptvirtualize/ptvirtualizeCloning into ’/tmp/ptvirtualize/ptvirtualize’... remote: Counting objects: 4063, done. remote: Total 4063(delta 0), reused0(delta 0) Receiving objects: 100%(4063/4063), 2.13 MiB | 393.00 KiB/s, done. Resolving deltas: 100%(2530/2530), done. Checking connectivity... done. Program Data folder populated Program Executor Deleted if existed ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------ptvirtualize: Success ------Installer Finished ******************************

If the user gives N then it will Exit the screen. The following Screen shot demonstrate it . kevells@corp:/# ptconfigure ptvirtualize install Install ptvirtualize ?(Y/N) n ******************************

1.1. Commands 297 kevells Documentation, Release 0.1

Single App Installer: ------ptvirtualize: Failure ------Installer Finished ******************************

Parameters Directory Option Comment Data directory(DEFAULT) YES “/opt/ptvirtualize” It will install ptvirtualize under ptconfigure Option Data directory No End slash The user has to a specify the path. Executor directory (Default) Yes “/usr/bin” It will install executor directory Executor directory No No trailing slash The user gives input as directory name|

Benefits • Ubuntu users can simply install ptvirtualize from the repository. • The real advantage of ptvirtualize lies in its performance. • Integration with Host OS. • Speed accessability. • Manage virtual box.

Python

Synopsis Python is a widely used general –purpose, high-level programming language. This module aims to install the latest version of python package and its dependencies.

Help Command The help command guides the user to provide what is necessary to accomplish the task. The command to make use of help under the terminal is given as follows, ptconfigure python help

The snapshot below gives you a pictorial representation of help command and it listed two parameters as Python and python. ( Parameters are case insensitive ) kevell@corp:/# ptconfigure Python help ******************************

This command allows you to install the latest available Python in the Ubuntu repositories.

Python, python

- install Installs the latest version of Python example: ptconfigure python install

------

298 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

End Help ******************************

Installation The command used for installing python module is given below, ptconfigure python install

The screenshot for the above command is listed below, kevell@corp:/# ptconfigure python install

Install Python?(Y/N) y ******************************* * Pharaoh Tools * * !Python!! * ******************************* Reading package lists... Building dependency tree... Reading state information... python is already the newest version. 0 upgraded,0 newly installed,0 to remove and 13 not upgraded. [Pharaoh Logging] Package python from the Packager Apt is already installed, so not installing. dpkg: warning: parsing file ’/var/lib/dpkg/available’ near line 47618 package ’ptconfigure’: missing maintainer dpkg: warning: parsing file ’/var/lib/dpkg/available’ near line 47618 package ’ptconfigure’: missing architecture Reading package lists... Building dependency tree... Reading state information... The following extra packages will be installed: docutils-common docutils-doc python-pygments python-roman Suggested packages: texlive--recommended texlive-latex-base texlive-lang-french ttf-linux-libertine ttf-bitstream-vera The following NEW packages will be installed: docutils-common docutils-doc python-docutils python-pygments python-roman 0 upgraded,5 newly installed,0 to remove and 13 not upgraded. Need to get 2,190 kB of archives. After this operation, 8,623 kB of additional disk space will be used. Get:1 http://us.archive.ubuntu.com/ubuntu/ precise/main docutils-common all 0.8.1-4ubuntu1[153 kB] Get:2 http://us.archive.ubuntu.com/ubuntu/ precise/main docutils-doc all 0.8.1-4ubuntu1[1,289 kB] Get:3 http://us.archive.ubuntu.com/ubuntu/ precise/main python-roman all 0.8.1-4ubuntu1[12.6 kB] Get:4 http://us.archive.ubuntu.com/ubuntu/ precise/main python-docutils all 0.8.1-4ubuntu1[382 kB] Get:5 http://us.archive.ubuntu.com/ubuntu/ precise/main python-pygments all 1.4+dfsg-2[353 kB] Fetched 2,190 kB in 7s(277 kB/s) Selecting previously unselected package docutils-common. (Reading database ... 254879 files and directories currently installed.) Preparing to unpack .../docutils-common_0.8.1-4ubuntu1_all.deb ... Unpacking docutils-common(0.8.1-4ubuntu1) ... Selecting previously unselected package docutils-doc. Preparing to unpack .../docutils-doc_0.8.1-4ubuntu1_all.deb ... Unpacking docutils-doc(0.8.1-4ubuntu1) ... Selecting previously unselected package python-roman. Preparing to unpack .../python-roman_0.8.1-4ubuntu1_all.deb ... Unpacking python-roman(0.8.1-4ubuntu1) ... Selecting previously unselected package python-docutils. Preparing to unpack .../python-docutils_0.8.1-4ubuntu1_all.deb ...

1.1. Commands 299 kevells Documentation, Release 0.1

Unpacking python-docutils(0.8.1-4ubuntu1) ... Selecting previously unselected package python-pygments. Preparing to unpack .../python-pygments_1.4+dfsg-2_all.deb ... Unpacking python-pygments(1.4+dfsg-2) ... Processing triggers for man-db(2.6.7.1-1ubuntu1) ... Processing triggers for sgml-base(1.26+nmu4ubuntu1) ... Processing triggers for doc-base(0.10.5) ... Processing1 added doc-base file... Setting up docutils-common(0.8.1-4ubuntu1) ... update-catalog: Suppressing action on super catalog. Invoking trigger instead. Setting up docutils-doc(0.8.1-4ubuntu1) ... Setting up python-roman(0.8.1-4ubuntu1) ... Setting up python-pygments(1.4+dfsg-2) ... Processing triggers for sgml-base(1.26+nmu4ubuntu1) ... Setting up python-docutils(0.8.1-4ubuntu1) ... update-alternatives: using /usr/share/docutils/scripts/python2/rst-buildhtml to provide /usr/bin/rst-buildhtml(rst-buildhtml) in auto mode update-alternatives: using /usr/share/docutils/scripts/python2/rst2html to provide /usr/bin/rst2html(rst2html) in auto mode update-alternatives: using /usr/share/docutils/scripts/python2/rst2latex to provide /usr/bin/rst2latex(rst2latex) in auto mode update-alternatives: using /usr/share/docutils/scripts/python2/rst2man to provide /usr/bin/rst2man(rst2man) in auto mode update-alternatives: using /usr/share/docutils/scripts/python2/rst2odt to provide /usr/bin/rst2odt(rst2odt) in auto mode update-alternatives: using /usr/share/docutils/scripts/python2/rst2odt_prepstyles to provide /usr/bin/rst2odt_prepstyles(rst2odt_prepstyles) in auto mode update-alternatives: using /usr/share/docutils/scripts/python2/rst2pseudoxml to provide /usr/bin/rst2pseudoxml(rst2pseudoxml) in auto mode update-alternatives: using /usr/share/docutils/scripts/python2/rst2s5 to provide /usr/bin/rst2s5(rst2s5) in auto mode update-alternatives: using /usr/share/docutils/scripts/python2/rst2xetex to provide /usr/bin/rst2xetex(rst2xetex) in auto mode update-alternatives: using /usr/share/docutils/scripts/python2/rst2xml to provide /usr/bin/rst2xml(rst2xml) in auto mode update-alternatives: using /usr/share/docutils/scripts/python2/rstpep2html to provide /usr/bin/rstpep2html(rstpep2html) in auto mode [Pharaoh Logging] Adding Package python-docutils from the Packager Apt executed correctly ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------Python: Success ------Installer Finished ******************************

Parameters Re- Comments quired ptconfigure Yes This command will install the python module python install Option Install python Y If the user inputs Y, this modue checks for previously installed package, if exits it was ( Y/N) updated to the new version or else it installs the fresh package. Install python N If the user inputs N, the installation was aborted.| ( Y/N)

Benefits to the users • Time consuming • Ease use of access and installation • Coding is case insensitive

300 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

• Full source is available and there are no license costs.

Ra

Synopsis This tool used structured and manage the other tools. It helps to generate Devops beneficial in php . This makes it possible. It is well-to-do in Ubuntu and CentOS. This tool manages the functionality of Pharaoh tools.

Help command The help command guides the users regarding the purpose and as well as about the options that are included in the Ra module. It lists out the alternative parameters of Ra module. It also describes the syntax for installing the Ra module. The help command for Ra module is shown as below. ptconfigure Ra help

The syntax for declaring the help command is non case sensitive which an added advantage is. The following screen- shot visualize the user about the help command under Ra. kevell@corp:/# ptconfigure Ra help

******************************

This command allows you to install or update Ra.

Ra, ra

- install Installs the latest version of ra example: ptconfigure ra install

- ensure Ensures the latest version of ra example: ptconfigure ra ensure

- uninstall Installs the latest version of ra example: ptconfigure ra uninstall

------End Help ******************************

Installation Installation includes installation of Ra required to make the installation in a updated version . It is a manifest process to install Ra module under ptconfigure by just using the command given below, ptconfigure Ra Install

After vitalize the command it will catechize input. When the user input as yes automatically it will install Ra with checking from the system. If not exit the installation. The following screen shot demonstrates it.

Ensure Ensure process used to check the Ra ensure the latest version of ra in the user system. The following command helps the user to ensure.

1.1. Commands 301 kevells Documentation, Release 0.1

ptconfigure Ra ensure

The following screen shot shows its functions.

UnInstall Uninstallation includes Ra required to make the Uninstallation for latest version . It is a manifest process to uninstall Ra module under ptconfigure by just using the command given below, ptconfigure Ra unInstall

After vitalize the command it will catechize input. When the user input as yes automatically it will uninstall Ra with checking from the system. The following screen shot demonstrates it.

Parameters Alternate Parameters Options Comments Install Instead of using Ra we can use Y It will install Ra under ptconfigure in Pharaoh Option Ra?(Y/N) ra tools Install Instead of using Ra we can use N The system exit the installation.| Ra?(Y/N) ra

Benefits • Non case sensitive. • Automate deployments across infrastructure of any size. • User friendly operation. • Suitable to work with Ubuntu and CentOS. • Used for managing all the tools. • Guides the user operation.

Rackspace

Synopsis Rackspace provides high-performance, reliable infrastructure to succeed in the cloud. It takes full-featured, optimized platforms, and a team of experts to run workloads. Rackspace has two primary lines of business — Cloud Servers and Dedicated Servers. Rackspace helps design, build, and operate workloads across both environments depending on the individual needs of the customer. Cloud Servers - The Managed Infrastructure service level provides a core set of services necessary to set customers up in the cloud, including architecture advice, security assistance, and code development assistance (through APIs and SDKs). The Managed Operations support level provides all Managed Infrastructure services plus additional proactive support. Dedicated Servers - The Managed service level consists of on-demand support where proactive services are provided.

Help Command This command helps to determine the usage of Rackspace. The user will come to know about the different way/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same.

302 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

kevell@corp:/# ptconfigure Rackspace help

******************************

This is an extension provided for Handling Servers on Rackspace.

Rackspace, rackspace

- box-add Lets you add boxes to Rackspace, and adds them to your papyrusfile example: ptconfigure rackspace box-add --yes --rackspace-ssh-key-path="/home/dave/.ssh/bastion.pub" --rackspace-ssh-key-name="bastion"

- box-destroy Will destroy box/es in an environment for you, and remove them from the papyrus file example: ptconfigure rackspace box-destroy --yes --guess --rackspace-ssh-key-path="/home/dave/.ssh/bastion.pub" --rackspace-ssh-key-name="bastion"

- box-destroy-all Will destroy all boxes in your Rackspace account - Careful - its irreversible example: ptconfigure rackspace box-destroy-all --yes --guess

- save-ssh-key, sshkey, ssh-key Will let you save a local ssh key to your Rackspace account, so you can ssh in to your nodes with it securely and without a password example: ptconfigure rackspace save-ssh-key --yes --rackspace-ssh-key-path="/home/dave/.ssh/bastion.pub" --rackspace-ssh-key-name="bastion"

- list Will display data about your Rackspace account example: ptconfigure rackspace list example: ptconfigure rackspace list --yes --guess # use project saved connection details if possible --rackspace-list-data-type=sizes # servers, sizes, images, domains, regions, ssh_keys

- list-containers Will display Container data about your Rackspace account example: ptconfigure rackspace list-containers example: ptconfigure rackspace list-containers --yes --guess # use project saved connection details if possible

- list-objects Will display object of Containers data about your Rackspace account example: ptconfigure rackspace list-objects example: ptconfigure rackspace list-objects --yes --guess # use project saved connection details if possible

------End Help ******************************

Box-add This command helps to add boxes to Rackspace, and adds them to your papyrus file. The below given command will execute the process.

1.1. Commands 303 kevells Documentation, Release 0.1

ptconfigure rackspace box-add --yes --rackspace-ssh-key-path="/home/dave/.ssh/bastion.pub" --rackspace-ssh-key-name="bastion"

Box-destroy This command helps to destroy box/es in an environment for you, and remove them from the papyrus file. The below given command will execute the process. ptconfigure rackspace box-destroy --yes --guess --rackspace-ssh-key-path="/home/dave/.ssh/bastion.pub" --rackspace-ssh-key-name="bastion"

Box-destroy-all This command helps to destroy all boxes in your Rackspace account. The most critical part is it is irreversible. ptconfigure rackspace box-destroy-all --yes --guess

Save-ssh-key This command helps to save a local ssh key to your Rackspace account, so you can ssh in to your nodes with it securely and without a password. There are three alternative parameter used for this particular command - ssh-key, sshkey, ssh-key. The below given command will execute the process. ptconfigure rackspace save-ssh-key --yes --rackspace-ssh-key-path="/home/dave/.ssh/bastion.pub" --rackspace-ssh-key-name="bastion"

List This command helps to data about your Rackspace account. The below given command will execute the process. ptconfigure rackspace list ptconfigure rackspace list --yes --guess # use project saved connection details if possible --rackspace-list-data-type=sizes # servers, sizes, images, domains, regions, ssh_keys

List-containers This command helps to display Container data about your Rackspace account. The below given command will execute the process. ptconfigure rackspace list-containers ptconfigure rackspace list-containers --yes --guess # use project saved connection details if possible

List-objects This command helps to display object of Containers data about your Rackspace account. The below given command will execute the process. ptconfigure rackspace list-objects ptconfigure rackspace list-objects --yes --guess # use project saved connection details if possible

Alternative Parameter There are two alternative parameters which can be used in command line. Rackspace, rackspace

Benefits Rackspace provides a complete solution for customers demanding a high-performance, purpose-built in- frastructure designed for relational databases backed and supported by engineers who specialize in MySQL work- loads. Rackspace is a fully managed service for customers who want to focus on developing their applications and not worry about the underlying infrastructure. The service offers on demand backups and restores, integrated monitoring, redundant storage, scalability to grow based on your application needs, and full control of your database.

304 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Redis

Synopsis Redis is a data structure server. In redis, networked, in-memory, and stores keys with optional durability. Redis is the most popular key-value store. The name Redis means REmote DIctionary Server. Redis supports master- slave replication. Data from any Redis server can replicate to any number of slaves. This allows Redis to implement a single-rooted replication tree. These services handle installation, configuration and maintenance of Redis on behalf of the application owner. This service comforts with Ubuntu and centOS.

Help command The help command leads the users regarding the purpose and as well as about the options that are included in the redis module. The help command lists out the alternative parameters of redis under ptconfigure module. It also describes the syntax for initializing the user’s machine. The help command for redis shown below. ptconfigure redis help

The pictorial representation of the above command is listed below, kevell@corp:/# ptconfigure Redis help

******************************

This command allows you to update Redis.

Redis, redis

- install Installs the latest version of redis example: ptconfigure redis install

------End Help ******************************

Installation Installation of a redis module is including device drivers and plugins, act of making the program ready for execution. While installing this module the following command will be passed. ptconfigure redis install

After inputs the command the system can ask Install Redis? (Y/N) If the user gives Y then redis will be installed. The following Screen shot demonstrate it. kevell@corp:/# ptconfigure redis install

Install Redis? (Y/N) y ******************************* * Pharaoh Tools * * Redis! * ******************************* Creating /tmp/ptconfigure-temp-script-78539017469.sh chmod 755 /tmp/ptconfigure-temp-script-78539017469.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-78539017469.sh Permissions Executing /tmp/ptconfigure-temp-script-78539017469.sh W: GPG error: http://packages.elasticsearch.org stable Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY D27D666CD88E42B4 W: GPG error: http://packages.elasticsearch.org stable Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY D27D666CD88E42B4

1.1. Commands 305 kevells Documentation, Release 0.1

W: GPG error: http://packages.elasticsearch.org stable Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY D27D666CD88E42B4 W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 amd64 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-amd64_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 amd64 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-amd64_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 amd64 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-amd64_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 amd64 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-amd64_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 amd64 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-amd64_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 amd64 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-amd64_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 i386 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-i386_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 i386 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-i386_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 i386 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-i386_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 i386 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-i386_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 i386 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-i386_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 i386 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-i386_Packages) deb-src http://packages.dotdeb.org squeeze all OK Ign http://in.archive.ubuntu.com trusty InRelease Ign http://in.archive.ubuntu.com trusty-updates InRelease Ign http://in.archive.ubuntu.com trusty-backports InRelease Hit http://in.archive.ubuntu.com trusty Release.gpg Get:1 http://in.archive.ubuntu.com trusty-updates Release.gpg [933 B] Hit http://in.archive.ubuntu.com trusty-backports Release.gpg Hit http://in.archive.ubuntu.com trusty Release Get:2 http://in.archive.ubuntu.com trusty-updates Release [62.0 kB] Get:3 https://repo.varnish-cache.org precise InRelease Hit http://in.archive.ubuntu.com trusty-backports Release Get:4 https://repo.varnish-cache.org precise/varnish-4.0 amd64 Packages Hit http://in.archive.ubuntu.com trusty/main Sources Get:5 https://repo.varnish-cache.org precise/varnish-4.0 i386 Packages Hit http://in.archive.ubuntu.com trusty/restricted Sources Ign http://archive.canonical.com trusty InRelease Hit http://in.archive.ubuntu.com trusty/universe Sources Get:6 https://repo.varnish-cache.org precise/varnish-4.0 Translation-en_IN Hit http://archive.canonical.com trusty Release.gpg Hit http://in.archive.ubuntu.com trusty/multiverse Sources Ign http://repos.zend.com server InRelease Hit http://repos.zend.com server Release.gpg Hit http://repos.zend.com server Release Hit http://archive.canonical.com trusty Release Hit http://repos.zend.com server/non-free amd64 Packages Hit http://in.archive.ubuntu.com trusty/main amd64 Packages Hit http://repos.zend.com server/non-free i386 Packages Hit http://archive.canonical.com trusty/partner Sources Hit http://in.archive.ubuntu.com trusty/restricted amd64 Packages Hit http://archive.canonical.com trusty/partner amd64 Packages Hit http://archive.canonical.com trusty/partner i386 Packages Hit http://in.archive.ubuntu.com trusty/universe amd64 Packages

306 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Hit http://in.archive.ubuntu.com trusty/multiverse amd64 Packages Hit http://in.archive.ubuntu.com trusty/main i386 Packages Ign http://archive.canonical.com trusty/partner Translation-en Hit http://in.archive.ubuntu.com trusty/restricted i386 Packages Hit http://in.archive.ubuntu.com trusty/universe i386 Packages Ign https://repo.varnish-cache.org precise/varnish-4.0 Translation-en_IN Hit http://in.archive.ubuntu.com trusty/multiverse i386 Packages Ign https://repo.varnish-cache.org precise/varnish-4.0 Translation-en Ign http://repos.zend.com server/non-free Translation-en_IN Hit http://in.archive.ubuntu.com trusty/main Translation-en Ign http://repos.zend.com server/non-free Translation-en Hit http://in.archive.ubuntu.com trusty/multiverse Translation-en Ign http://extras.ubuntu.com trusty InRelease Hit http://in.archive.ubuntu.com trusty/restricted Translation-en Hit http://extras.ubuntu.com trusty Release.gpg Ign http://packages.dotdeb.org squeeze InRelease Get:7 http://packages.dotdeb.org squeeze Release.gpg [836 B] Hit http://in.archive.ubuntu.com trusty/universe Translation-en Get:8 http://packages.dotdeb.org squeeze Release [2,287 B] Get:9 http://in.archive.ubuntu.com trusty-updates/main Sources [158 kB] Get:10 http://packages.dotdeb.org squeeze/all amd64 Packages [20.6 kB] Hit http://extras.ubuntu.com trusty Release Hit http://extras.ubuntu.com trusty/main Sources Hit http://extras.ubuntu.com trusty/main amd64 Packages Get:11 http://packages.dotdeb.org squeeze/all i386 Packages [20.6 kB] Hit http://extras.ubuntu.com trusty/main i386 Packages Ign http://extras.ubuntu.com trusty/main Translation-en_IN Ign http://security.ubuntu.com trusty-security InRelease Ign http://extras.ubuntu.com trusty/main Translation-en Ign http://packages.dotdeb.org squeeze/all Translation-en_IN Ign http://packages.elasticsearch.org stable InRelease Ign http://pkg.jenkins-ci.org binary/ InRelease Get:12 http://in.archive.ubuntu.com trusty-updates/restricted Sources [2,061 B] Get:13 http://security.ubuntu.com trusty-security Release.gpg [933 B] Ign http://packages.dotdeb.org squeeze/all Translation-en Ign http://packages.elasticsearch.org stable InRelease Get:14 http://in.archive.ubuntu.com trusty-updates/universe Sources [97.6 kB] Get:15 http://security.ubuntu.com trusty-security Release [62.0 kB] Hit http://pkg.jenkins-ci.org binary/ Release.gpg Ign http://packages.elasticsearch.org stable InRelease Get:16 http://packages.elasticsearch.org stable Release.gpg [490 B] Hit http://pkg.jenkins-ci.org binary/ Release Get:17 http://packages.elasticsearch.org stable Release.gpg [490 B] Get:18 http://packages.elasticsearch.org stable Release.gpg [490 B] Hit http://pkg.jenkins-ci.org binary/ Packages Hit http://packages.elasticsearch.org stable Release Ign http://packages.elasticsearch.org stable Release Get:19 http://security.ubuntu.com trusty-security/main Sources [64.8 kB] Hit http://packages.elasticsearch.org stable Release Ign http://packages.elasticsearch.org stable Release Hit http://packages.elasticsearch.org stable Release Ign http://packages.elasticsearch.org stable Release Get:20 http://in.archive.ubuntu.com trusty-updates/multiverse Sources [3,553 B] Ign http://packages.elasticsearch.org stable/main amd64 Packages/DiffIndex Get:21 http://in.archive.ubuntu.com trusty-updates/main amd64 Packages [406 kB] Ign http://packages.elasticsearch.org stable/main i386 Packages/DiffIndex Ign http://packages.elasticsearch.org stable/main amd64 Packages/DiffIndex Ign http://packages.elasticsearch.org stable/main i386 Packages/DiffIndex

1.1. Commands 307 kevells Documentation, Release 0.1

Get:22 http://security.ubuntu.com trusty-security/restricted Sources [2,061 B] Ign http://ppa.launchpad.net trusty InRelease Hit http://dl.hhvm.com trusty InRelease Get:23 http://security.ubuntu.com trusty-security/universe Sources [17.4 kB] Hit http://ppa.launchpad.net trusty Release.gpg Hit http://dl.hhvm.com trusty/main amd64 Packages Ign http://packages.elasticsearch.org stable/main amd64 Packages/DiffIndex Hit http://dl.hhvm.com trusty/main i386 Packages Hit http://ppa.launchpad.net trusty Release Get:24 http://security.ubuntu.com trusty-security/multiverse Sources [723 B] Ign http://wireframesketcher.com InRelease Ign http://packages.elasticsearch.org stable/main i386 Packages/DiffIndex Get:25 http://security.ubuntu.com trusty-security/main amd64 Packages [200 kB] Hit http://wireframesketcher.com Release.gpg Hit http://ppa.launchpad.net trusty/main amd64 Packages Hit http://wireframesketcher.com Release Hit http://ppa.launchpad.net trusty/main i386 Packages Ign http://pkg.jenkins-ci.org binary/ Translation-en_IN Hit http://ppa.launchpad.net trusty/main Translation-en Ign http://pkg.jenkins-ci.org binary/ Translation-en Hit http://wireframesketcher.com Packages Ign http://dl.hhvm.com trusty/main Translation-en_IN Ign http://dl.hhvm.com trusty/main Translation-en Ign http://wireframesketcher.com Translation-en_IN Ign http://wireframesketcher.com Translation-en Get:26 http://security.ubuntu.com trusty-security/restricted amd64 Packages [8,875 B] Get:27 http://security.ubuntu.com trusty-security/universe amd64 Packages [85.3 kB] Get:28 http://security.ubuntu.com trusty-security/multiverse amd64 Packages [1,161 B] Get:29 http://security.ubuntu.com trusty-security/main i386 Packages [190 kB] Hit http://packages.elasticsearch.org stable/main amd64 Packages Get:30 http://in.archive.ubuntu.com trusty-updates/restricted amd64 Packages [8,875 B] Hit http://packages.elasticsearch.org stable/main i386 Packages Get:31 http://in.archive.ubuntu.com trusty-updates/universe amd64 Packages [241 kB] Ign http://packages.elasticsearch.org stable/main Translation-en_IN Ign http://packages.elasticsearch.org stable/main Translation-en Hit http://packages.elasticsearch.org stable/main amd64 Packages Hit http://packages.elasticsearch.org stable/main i386 Packages Ign http://packages.elasticsearch.org stable/main Translation-en_IN Get:32 http://in.archive.ubuntu.com trusty-updates/multiverse amd64 Packages [9,382 B] Ign http://packages.elasticsearch.org stable/main Translation-en Get:33 http://in.archive.ubuntu.com trusty-updates/main i386 Packages [397 kB] Hit http://packages.elasticsearch.org stable/main amd64 Packages Hit http://packages.elasticsearch.org stable/main i386 Packages Ign http://packages.elasticsearch.org stable/main Translation-en_IN Ign http://packages.elasticsearch.org stable/main Translation-en Get:34 http://security.ubuntu.com trusty-security/restricted i386 Packages [8,846 B] Get:35 http://security.ubuntu.com trusty-security/universe i386 Packages [85.3 kB] Get:36 http://security.ubuntu.com trusty-security/multiverse i386 Packages [1,412 B] Hit http://security.ubuntu.com trusty-security/main Translation-en Hit http://security.ubuntu.com trusty-security/multiverse Translation-en Hit http://security.ubuntu.com trusty-security/restricted Translation-en Hit http://security.ubuntu.com trusty-security/universe Translation-en Get:37 http://in.archive.ubuntu.com trusty-updates/restricted i386 Packages [8,846 B] Get:38 http://in.archive.ubuntu.com trusty-updates/universe i386 Packages [241 kB] Get:39 http://in.archive.ubuntu.com trusty-updates/multiverse i386 Packages [9,558 B] Hit http://in.archive.ubuntu.com trusty-updates/main Translation-en Hit http://in.archive.ubuntu.com trusty-updates/multiverse Translation-en Hit http://in.archive.ubuntu.com trusty-updates/restricted Translation-en

308 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Hit http://in.archive.ubuntu.com trusty-updates/universe Translation-en Hit http://in.archive.ubuntu.com trusty-backports/main Sources Hit http://in.archive.ubuntu.com trusty-backports/restricted Sources Hit http://in.archive.ubuntu.com trusty-backports/universe Sources Hit http://in.archive.ubuntu.com trusty-backports/multiverse Sources Hit http://in.archive.ubuntu.com trusty-backports/main amd64 Packages Hit http://in.archive.ubuntu.com trusty-backports/restricted amd64 Packages Hit http://in.archive.ubuntu.com trusty-backports/universe amd64 Packages Hit http://in.archive.ubuntu.com trusty-backports/multiverse amd64 Packages Hit http://in.archive.ubuntu.com trusty-backports/main i386 Packages Hit http://in.archive.ubuntu.com trusty-backports/restricted i386 Packages Hit http://in.archive.ubuntu.com trusty-backports/universe i386 Packages Hit http://in.archive.ubuntu.com trusty-backports/multiverse i386 Packages Hit http://in.archive.ubuntu.com trusty-backports/main Translation-en Hit http://in.archive.ubuntu.com trusty-backports/multiverse Translation-en Hit http://in.archive.ubuntu.com trusty-backports/restricted Translation-en Hit http://in.archive.ubuntu.com trusty-backports/universe Translation-en Ign http://in.archive.ubuntu.com trusty/main Translation-en_IN Ign http://in.archive.ubuntu.com trusty/multiverse Translation-en_IN Ign http://in.archive.ubuntu.com trusty/restricted Translation-en_IN Ign http://in.archive.ubuntu.com trusty/universe Translation-en_IN Fetched 2,441 kB in 1min 15s (32.5 kB/s) Reading package lists... Temp File /tmp/ptconfigure-temp-script-78539017469.sh Removed [Pharaoh Logging] Package redis-server from the Packager Apt is already installed, so not installing ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------Redis: Success ------Installer Finished ******************************

Parameters Alternative Op- Comments Parameters tions Install Redis? Redis, redis Y(Yes) If the user wish to proceed installation, they can input Option (Y/N) as Y Install Redis? Redis, redis N(No) If the user wish to quit installation, they can input as (Y/N) N.|

Benefits • Automatic scaling, unlimited Redis nodes. • High availability in Ubuntu and cent OS. • Data persistence and durability. • Daily and on-demand backups. • Built-in clustering. • Non case sensitivity.

1.1. Commands 309 kevells Documentation, Release 0.1

RubyBDD

Synopsis Ruby Behaviour Driven Development (BDD) gives you the best of Test Driven Development, Domain Driven Design, and Acceptance Test Driven Planning techniques, so the user can install Ruby BDD for better software with self-documenting, executable tests that bring users and developers together with a Php language. It comforts with Ubuntu and Cent OS.

Help command The help command leads the users regarding the purpose and as well as about the options that are included in the Ruby Bdd modules. The help command lists out the alternative parameters of Ruby Bdd under ptconfigure module. It also describes the syntax for installing the user’s updation. The help command for Ruby Bdd is shown below. ptconfigure Ruby Bdd help

The following screen shot shows the full effort of Ruby Bdd. kevell@corp:/# ptconfigure RubyBDD help

******************************

This command allows you to install Ruby RVM.

RubyBDD, rubybdd, ruby-bdd

- install Installs Ruby BDD Gems example: ptconfigure ruby-bdd install

------End Help ******************************

Installation Installation includes installation of Ruby Bdd required to make the installation in a updated version . It is a manifest process to install Ruby Bdd module under ptconfigure by just using the command given below, ptconfigure Ruby Bdd Install

After vitalize the command it will catechize input. When the user input as yes automatically it will install Ruby Bdd with checking from the system. If not exit the installation. The following screen shot demonstrates it. kevell@corp:/# ptconfigure ruby-bdd install

Install Ruby BDD?(Y/N) Y ******************************* * Pharaoh Tools * * !Ruby BDD!! * ******************************* ERROR: Error installing cucumber: ERROR: Failed to build gem native extension.

/usr/bin/ruby1.9.1 extconf.rb /usr/lib/ruby/1.9.1//custom_require.rb:36:in‘require’: cannot load such file -- mkmf (LoadError) from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in ‘require’

310 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

from extconf.rb:1:in‘

Gem files will remain installed in /var/lib/gems/1.9.1/gems/gherkin-2.12.2 for inspection. Results logged to /var/lib/gems/1.9.1/gems/gherkin-2.12.2/ext/gherkin_lexer_ar/gem_make.out INFO: ‘gem install -y‘ is now default and will be removed INFO: use --ignore-dependencies to install only the gems you list Building native extensions. This could take a while... [Pharaoh Logging] Adding Package cucumber from the Packager Gem did not execute correctly ERROR: Error installing capybara: ERROR: Failed to build gem native extension.

/usr/bin/ruby1.9.1 extconf.rb /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in ‘require’: cannot load such file -- mkmf(LoadError) from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in‘require’ from extconf.rb:4:in ‘

Gem files will remain installed in /var/lib/gems/1.9.1/gems/nokogiri-1.6.6.2 for inspection. Results logged to /var/lib/gems/1.9.1/gems/nokogiri-1.6.6.2/ext/nokogiri/gem_make.out INFO:‘gem install -y‘ is now default and will be removed INFO: use --ignore-dependencies to install only the gems you list Building native extensions. This could take a while... [Pharaoh Logging] Adding Package capybara from the Packager Gem did not execute correctly ERROR: While executing gem ...(Gem::DependencyError) Unable to resolve dependencies: calabash-android requires rubyzip(~> 0.9.9); -test-cloud requires rubyzip(~> 1.1) INFO:‘gem install -y‘ is now default and will be removed INFO: use --ignore-dependencies to install only the gems you list [Pharaoh Logging] Adding Package calabash from the Packager Gem did not execute correctly ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------RubyBDD: Success ------Installer Finished ******************************

Parameters Alternate Parameters Op- Comments tions Install Instead of using RubyBdd we can use Y It will install RubyBdd under Option RubyBdd?(Y/N) ruby-bdd,rubybdd ptconfigure in Pharaoh tools Install Instead of using RubyBdd we can use N The system exit the installation RubyBdd?(Y/N) ruby-bdd,rubybdd.|

Benefits • Rubybdd is well-to-do in Ubuntu and CentOS • Rubybdd supports non case sensitivity • Rubybdd is flexible

1.1. Commands 311 kevells Documentation, Release 0.1

• Another great advantage to having BDD are the driven development – the user can update as latest version of rubybdd, and patch level, of ruby. • Rubybdd used for installation

RubyRVM

Synopsis Ruby Ruby Version Manager(RVM), often abbreviated as RVM, is a unix-like software platform designed to manage multiple installations of Ruby on the same device. The entire ruby environment including the Ruby inter- preter, installed RubyGems, and documentation is partitioned. These includes JRuby, , MacRuby, IronRuby, Maglev, , Topaz. It is user friendly with Ubuntu and cent OS. .

Help command This command can function about the objectives and commands available under Ruby RVM mod- ule. It also explains the command to Ruby RVM module. Before installation you read this help command explains its function. ptconfigure RubyRVM help

The following image also helps you to understand this module clearly. kevell@corp:/# ptconfigure RubyRVM help ******************************

This command allows you to install Ruby RVM.

RubyRVM, rubyrvm, ruby-rvm, rubyRVM

- install Installs Ruby RVM example: ptconfigure ruby-rvm install

Ruby is installed the recommended per-user way. To use ruby after the install first run "source ~/.rvm/scripts/rvm" to get access to the Ruby install for your user, then "rvm install 1.9.3"(to install, specify version as needed) then "rvm use 1.9.3"(to select your default version for the session)

------End Help ******************************

Installation It is a glaring process to install RubyRVM module under ptconfigure by just using the command given below, ptconfigure RubyRVM install

After key in the command, it can asks Install RubyRVM?(Y/N) kevell@corp:/# ptconfigure RubyRVM install Install Ruby RVM?(Y/N) Y ******************************* * Pharaoh Tools * * !Ruby RVM!! *

312 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

******************************* Enter User To Install As: kevell Enter Install User Home Dir: /home/kevell Reading package lists... Building dependency tree... Reading state information... The following extra packages will be installed: libtinfo-dev The following NEW packages will be installed: libreadline6-dev libtinfo-dev 0 upgraded,2 newly installed,0 to remove and 17 not upgraded. Need to get 289 kB of archives. After this operation, 1,280 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty/main libtinfo-dev amd64 5.9+20140118-1ubuntu1[76.3 kB] Get:2 http://in.archive.ubuntu.com/ubuntu/ trusty/main libreadline6-dev amd64 6.3-4ubuntu2[213 kB] Get:3 http://in.archive.ubuntu.com/ubuntu/ trusty/main libreadline6-dev amd64 6.3-4ubuntu2[213 kB] Fetched 192 kB in 2min 21s(1,358 B/s) Selecting previously unselected package libtinfo-dev:amd64. (Reading database ... 212798 files and directories currently installed.) Preparing to unpack .../libtinfo-dev_5.9+20140118-1ubuntu1_amd64.deb ... Unpacking libtinfo-dev:amd64(5.9+20140118-1ubuntu1) ... Selecting previously unselected package libreadline6-dev:amd64. Preparing to unpack .../libreadline6-dev_6.3-4ubuntu2_amd64.deb ... Unpacking libreadline6-dev:amd64(6.3-4ubuntu2) ... Processing triggers for install-info(5.2.0.dfsg.1-2) ... Setting up libtinfo-dev:amd64(5.9+20140118-1ubuntu1) ... Setting up libreadline6-dev:amd64(6.3-4ubuntu2) ... [Pharaoh Logging] Adding Package libreadline6-dev from the Packager Apt executed correctly Reading package lists... Building dependency tree... Reading state information... The following extra packages will be installed: libyaml-0-2 The following NEW packages will be installed: libyaml-0-2 libyaml-dev 0 upgraded,2 newly installed,0 to remove and 17 not upgraded. Need to get 104 kB of archives. After this operation, 438 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main libyaml-0-2 amd64 0.1.4-3ubuntu3.1[48.1 kB] Get:2 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main libyaml-dev amd64 0.1.4-3ubuntu3.1[55.9 kB] Err http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main libyaml-dev amd64 0.1.4-3ubuntu3.1 Connection failed[IP: 91.189.92.200 80] Get:3 http://security.ubuntu.com/ubuntu/ trusty-security/main libyaml-dev amd64 0.1.4-3ubuntu3.1[55.9 kB] Fetched 75.9 kB in 2min 18s(550 B/s) Selecting previously unselected package libyaml-0-2:amd64. (Reading database ... 212839 files and directories currently installed.) Preparing to unpack .../libyaml-0-2_0.1.4-3ubuntu3.1_amd64.deb ... Unpacking libyaml-0-2:amd64(0.1.4-3ubuntu3.1) ... Selecting previously unselected package libyaml-dev:amd64. Preparing to unpack .../libyaml-dev_0.1.4-3ubuntu3.1_amd64.deb ... Unpacking libyaml-dev:amd64(0.1.4-3ubuntu3.1) ... Setting up libyaml-0-2:amd64(0.1.4-3ubuntu3.1) ... Setting up libyaml-dev:amd64(0.1.4-3ubuntu3.1) ... Processing triggers for libc-bin(2.19-0ubuntu6.5) ... [Pharaoh Logging] Adding Package libyaml-dev from the Packager Apt executed correctly Reading package lists...

1.1. Commands 313 kevells Documentation, Release 0.1

Building dependency tree... Reading state information... Suggested packages: sqlite3-doc The following NEW packages will be installed: libsqlite3-dev 0 upgraded,1 newly installed,0 to remove and 17 not upgraded. Need to get 439 kB of archives. After this operation, 1,491 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty/main libsqlite3-dev amd64 3.8.2-1ubuntu2[439 kB] Fetched 439 kB in 7s(60.6 kB/s) Selecting previously unselected package libsqlite3-dev:amd64. (Reading database ... 212853 files and directories currently installed.) Preparing to unpack .../libsqlite3-dev_3.8.2-1ubuntu2_amd64.deb ... Unpacking libsqlite3-dev:amd64(3.8.2-1ubuntu2) ... Setting up libsqlite3-dev:amd64(3.8.2-1ubuntu2) ... [Pharaoh Logging] Adding Package libsqlite3-dev from the Packager Apt executed correctly Reading package lists... Building dependency tree... Reading state information... Suggested packages: sqlite3-doc The following NEW packages will be installed: sqlite3 0 upgraded,1 newly installed,0 to remove and 17 not upgraded. Need to get 28.9 kB of archives. After this operation, 165 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty/main sqlite3 amd64 3.8.2-1ubuntu2[28.9 kB] Fetched 28.9 kB in 1s(15.4 kB/s) Selecting previously unselected package sqlite3. (Reading database ... 212862 files and directories currently installed.) Preparing to unpack .../sqlite3_3.8.2-1ubuntu2_amd64.deb ... Unpacking sqlite3(3.8.2-1ubuntu2) ... Processing triggers for man-db(2.6.7.1-1ubuntu1) ... Setting up sqlite3(3.8.2-1ubuntu2) ... [Pharaoh Logging] Adding Package sqlite3 from the Packager Apt executed correctly [Pharaoh Logging] Package libxml2-dev from the Packager Apt is already installed, so not installing Reading package lists... Building dependency tree... Reading state information... The following NEW packages will be installed: libxslt1-dev 0 upgraded,1 newly installed,0 to remove and 17 not upgraded. Need to get 407 kB of archives. After this operation, 2,450 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty/main libxslt1-dev amd64 1.1.28-2build1[407 kB] Fetched 407 kB in 10s(40.4 kB/s) Selecting previously unselected package libxslt1-dev:amd64. (Reading database ... 212867 files and directories currently installed.) Preparing to unpack .../libxslt1-dev_1.1.28-2build1_amd64.deb ... Unpacking libxslt1-dev:amd64(1.1.28-2build1) ... Processing triggers for man-db(2.6.7.1-1ubuntu1) ... Processing triggers for doc-base(0.10.5) ... Processing1 added doc-base file... Setting up libxslt1-dev:amd64(1.1.28-2build1) ... [Pharaoh Logging] Adding Package libxslt1-dev from the Packager Apt executed correctly Reading package lists... Building dependency tree...

314 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Reading state information... The following extra packages will be installed: libbison-dev libsigsegv2 m4 Suggested packages: bison-doc The following NEW packages will be installed: bison libbison-dev libsigsegv2 m4 0 upgraded,4 newly installed,0 to remove and 17 not upgraded. Need to get 805 kB of archives. After this operation, 2,220 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty/main libsigsegv2 amd64 2.10-2[15.0 kB] Get:2 http://in.archive.ubuntu.com/ubuntu/ trusty/main m4 amd64 1.4.17-2ubuntu1[195 kB] Get:3 http://in.archive.ubuntu.com/ubuntu/ trusty/main libbison-dev amd64 2:3.0.2.dfsg-2[338 kB] Get:4 http://in.archive.ubuntu.com/ubuntu/ trusty/main bison amd64 2:3.0.2.dfsg-2[257 kB] Fetched 805 kB in 16s(47.8 kB/s) Selecting previously unselected package libsigsegv2:amd64. (Reading database ... 213011 files and directories currently installed.) Preparing to unpack .../libsigsegv2_2.10-2_amd64.deb ... Unpacking libsigsegv2:amd64(2.10-2) ... Selecting previously unselected package m4. Preparing to unpack .../m4_1.4.17-2ubuntu1_amd64.deb ... Unpacking m4(1.4.17-2ubuntu1) ... Selecting previously unselected package libbison-dev:amd64. Preparing to unpack .../libbison-dev_2%3a3.0.2.dfsg-2_amd64.deb ... Unpacking libbison-dev:amd64(2:3.0.2.dfsg-2) ... Selecting previously unselected package bison. Preparing to unpack .../bison_2%3a3.0.2.dfsg-2_amd64.deb ... Unpacking bison(2:3.0.2.dfsg-2) ... Processing triggers for man-db(2.6.7.1-1ubuntu1) ... Processing triggers for install-info(5.2.0.dfsg.1-2) ... Setting up libsigsegv2:amd64(2.10-2) ... Setting up m4(1.4.17-2ubuntu1) ... Setting up libbison-dev:amd64(2:3.0.2.dfsg-2) ... Setting up bison(2:3.0.2.dfsg-2) ... update-alternatives: using /usr/bin/bison.yacc to provide /usr/bin/yacc(yacc) in auto mode Processing triggers for libc-bin(2.19-0ubuntu6.5) ... [Pharaoh Logging] Adding Package bison from the Packager Apt executed correctly Reading package lists... Building dependency tree... Reading state information... The following NEW packages will be installed: libffi-dev 0 upgraded,1 newly installed,0 to remove and 17 not upgraded. Need to get 99.8 kB of archives. After this operation, 323 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty/main libffi-dev amd64 3.1~rc1+r3.0.13-12[99.8 kB] Fetched 99.8 kB in 2s(43.9 kB/s) Selecting previously unselected package libffi-dev:amd64. (Reading database ... 213131 files and directories currently installed.) Preparing to unpack .../libffi-dev_3.1~rc1+r3.0.13-12_amd64.deb ... Unpacking libffi-dev:amd64(3.1~rc1+r3.0.13-12) ... Processing triggers for man-db(2.6.7.1-1ubuntu1) ... Processing triggers for doc-base(0.10.5) ... Processing1 added doc-base file... Processing triggers for install-info(5.2.0.dfsg.1-2) ... Setting up libffi-dev:amd64(3.1~rc1+r3.0.13-12) ... [Pharaoh Logging] Adding Package libffi-dev from the Packager Apt executed correctly Reading package lists...

1.1. Commands 315 kevells Documentation, Release 0.1

Building dependency tree... Reading state information... The following extra packages will be installed: zlib1g-dev The following NEW packages will be installed: libmysqlclient-dev zlib1g-dev 0 upgraded,2 newly installed,0 to remove and 17 not upgraded. Need to get 1,046 kB of archives. After this operation, 6,048 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty/main zlib1g-dev amd64 1:1.2.8.dfsg-1ubuntu1[183 kB] Get:2 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main libmysqlclient-dev amd64 5.5.41-0ubuntu0.14.04.1[862 kB] Fetched 1,046 kB in 28s(37.2 kB/s) Selecting previously unselected package zlib1g-dev:amd64. (Reading database ... 213164 files and directories currently installed.) Preparing to unpack .../zlib1g-dev_1%3a1.2.8.dfsg-1ubuntu1_amd64.deb ... Unpacking zlib1g-dev:amd64(1:1.2.8.dfsg-1ubuntu1) ... Selecting previously unselected package libmysqlclient-dev. Preparing to unpack .../libmysqlclient-dev_5.5.41-0ubuntu0.14.04.1_amd64.deb ... Unpacking libmysqlclient-dev(5.5.41-0ubuntu0.14.04.1) ... Processing triggers for man-db(2.6.7.1-1ubuntu1) ... Setting up zlib1g-dev:amd64(1:1.2.8.dfsg-1ubuntu1) ... Setting up libmysqlclient-dev(5.5.41-0ubuntu0.14.04.1) ... [Pharaoh Logging] Adding Package libmysqlclient-dev from the Packager Apt executed correctly [Pharaoh Logging] Package libmysql-ruby from the Packager Apt is already installed, so not installing Reading package lists... Building dependency tree... Reading state information... The following NEW packages will be installed: libgdbm-dev 0 upgraded,1 newly installed,0 to remove and 17 not upgraded. Need to get 24.9 kB of archives. After this operation, 144 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty/main libgdbm-dev amd64 1.8.3-12build1[24.9 kB] Fetched 24.9 kB in 1s(20.8 kB/s) Selecting previously unselected package libgdbm-dev. (Reading database ... 213260 files and directories currently installed.) Preparing to unpack .../libgdbm-dev_1.8.3-12build1_amd64.deb ... Unpacking libgdbm-dev(1.8.3-12build1) ... Processing triggers for man-db(2.6.7.1-1ubuntu1) ... Setting up libgdbm-dev(1.8.3-12build1) ... [Pharaoh Logging] Adding Package libgdbm-dev from the Packager Apt executed correctly Reading package lists... Building dependency tree... Reading state information... Suggested packages: ncurses-doc The following NEW packages will be installed: libncurses5-dev 0 upgraded,1 newly installed,0 to remove and 17 not upgraded. Need to get 170 kB of archives. After this operation, 1,056 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty/main libncurses5-dev amd64 5.9+20140118-1ubuntu1[170 kB] Fetched 170 kB in 3s(48.0 kB/s) Selecting previously unselected package libncurses5-dev:amd64. (Reading database ... 213306 files and directories currently installed.) Preparing to unpack .../libncurses5-dev_5.9+20140118-1ubuntu1_amd64.deb ... Unpacking libncurses5-dev:amd64(5.9+20140118-1ubuntu1) ... Setting up libncurses5-dev:amd64(5.9+20140118-1ubuntu1) ...

316 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

[Pharaoh Logging] Adding Package libncurses5-dev from the Packager Apt executed correctly [Pharaoh Logging] Package g++ from the Packager Apt is already installed, so not installing Reading package lists... Building dependency tree... Reading state information... The following extra packages will be installed: libssl-doc The following NEW packages will be installed: libssl-dev libssl-doc 0 upgraded,2 newly installed,0 to remove and 17 not upgraded. Need to get 2,038 kB of archives. After this operation, 7,809 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main libssl-dev amd64 1.0.1f-1ubuntu2.8[1,071 kB] Get:2 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main libssl-doc all 1.0.1f-1ubuntu2.8[967 kB] Fetched 2,038 kB in 58s(34.6 kB/s) Selecting previously unselected package libssl-dev:amd64. (Reading database ... 213343 files and directories currently installed.) Preparing to unpack .../libssl-dev_1.0.1f-1ubuntu2.8_amd64.deb ... Unpacking libssl-dev:amd64(1.0.1f-1ubuntu2.8) ... Selecting previously unselected package libssl-doc. Preparing to unpack .../libssl-doc_1.0.1f-1ubuntu2.8_all.deb ... Unpacking libssl-doc(1.0.1f-1ubuntu2.8) ... Processing triggers for man-db(2.6.7.1-1ubuntu1) ... Setting up libssl-dev:amd64(1.0.1f-1ubuntu2.8) ... Setting up libssl-doc(1.0.1f-1ubuntu2.8) ... [Pharaoh Logging] Adding Package libssl-dev from the Packager Apt executed correctly Reading package lists... Building dependency tree... Reading state information... The following extra packages will be installed: automake autotools-dev Suggested packages: autoconf2.13 autoconf-archive gnu-standards autoconf-doc libtool The following NEW packages will be installed: autoconf automake autotools-dev 0 upgraded,3 newly installed,0 to remove and 17 not upgraded. Need to get 877 kB of archives. After this operation, 3,653 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty/main autoconf all 2.69-6[322 kB] Get:2 http://in.archive.ubuntu.com/ubuntu/ trusty/main autotools-dev all 20130810.1[44.3 kB] Get:3 http://in.archive.ubuntu.com/ubuntu/ trusty/main automake all 1:1.14.1-2ubuntu1[510 kB] Fetched 877 kB in 15s(57.6 kB/s) Selecting previously unselected package autoconf. (Reading database ... 214752 files and directories currently installed.) Preparing to unpack .../autoconf_2.69-6_all.deb ... Unpacking autoconf(2.69-6) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../autotools-dev_20130810.1_all.deb ... Unpacking autotools-dev(20130810.1) ... Selecting previously unselected package automake. Preparing to unpack .../automake_1%3a1.14.1-2ubuntu1_all.deb ... Unpacking automake(1:1.14.1-2ubuntu1) ... Processing triggers for man-db(2.6.7.1-1ubuntu1) ... Processing triggers for install-info(5.2.0.dfsg.1-2) ... Processing triggers for doc-base(0.10.5) ... Processing1 added doc-base file... Setting up autoconf(2.69-6) ... Setting up autotools-dev(20130810.1) ...

1.1. Commands 317 kevells Documentation, Release 0.1

Setting up automake(1:1.14.1-2ubuntu1) ... update-alternatives: using /usr/bin/automake-1.14 to provide /usr/bin/automake(automake) in auto mode [Pharaoh Logging] Adding Package autoconf from the Packager Apt executed correctly [Pharaoh Logging] Package automake from the Packager Apt is already installed, so not installing Reading package lists... Building dependency tree... Reading state information... The following extra packages will be installed: libltdl-dev Suggested packages: libtool-doc gfortran fortran95-compiler gcj-jdk The following NEW packages will be installed: libltdl-dev libtool 0 upgraded,2 newly installed,0 to remove and 17 not upgraded. Need to get 345 kB of archives. After this operation, 2,400 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty/main libltdl-dev amd64 2.4.2-1.7ubuntu1[157 kB] Get:2 http://in.archive.ubuntu.com/ubuntu/ trusty/main libtool amd64 2.4.2-1.7ubuntu1[188 kB] Fetched 345 kB in 10s(33.3 kB/s) Selecting previously unselected package libltdl-dev:amd64. (Reading database ... 214971 files and directories currently installed.) Preparing to unpack .../libltdl-dev_2.4.2-1.7ubuntu1_amd64.deb ... Unpacking libltdl-dev:amd64(2.4.2-1.7ubuntu1) ... Selecting previously unselected package libtool. Preparing to unpack .../libtool_2.4.2-1.7ubuntu1_amd64.deb ... Unpacking libtool(2.4.2-1.7ubuntu1) ... Processing triggers for man-db(2.6.7.1-1ubuntu1) ... Setting up libltdl-dev:amd64(2.4.2-1.7ubuntu1) ... Setting up libtool(2.4.2-1.7ubuntu1) ... [Pharaoh Logging] Adding Package libtool from the Packager Apt executed correctly Creating /tmp/ptconfigure-temp-script-25544965900.sh chmod 755 /tmp/ptconfigure-temp-script-25544965900.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-25544965900.sh Permissions Executing /tmp/ptconfigure-temp-script-25544965900.sh Temp File /tmp/ptconfigure-temp-script-25544965900.sh Removed ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------RubyRVM: Success ------Installer Finished ******************************

In case the user input as Y, it can install Rubysystem from the package. Else, it can exit the screen. The following screen shots can explain it. [Pharaoh Logging] Package libreadline6-dev from the Packager Apt is already installed, so not installing [Pharaoh Logging] Package libyaml-dev from the Packager Apt is already installed, so not installing [Pharaoh Logging] Package libsqlite3-dev from the Packager Apt is already installed, so not installing [Pharaoh Logging] Package sqlite3 from the Packager Apt is already installed, so not installing

Libreadline6-dev,libyaml-dev,libsqlites3-dev these packages installs automatically.

318 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Parameters Alternate Parameters Op- Comments tions ptconfigure RubyRVM We can use RubyRVM,rubyrvm, Y System starts installation Options Install ruby-rvm,rubyRvm. process ptconfigure RubyRVM We can use RubyRVM,rubyrvm, N System stops installation Install ruby-rvm,rubyRvm.| process

Benefits • RVM is useful even if you don’t want to install multiple versions at the same time. • Getting it from the package manager (at least in ubuntu) gives you an updated version that changes installation directories from the default. • Building from source requires getting a load of dependencies and configuring options. • RVM is great as this allows your to install different versions without touching your system’s default Ruby install. • Another great advantage to having RVM are the gemsets - you can create as many gemsets that are unique to the version, and patch level, of ruby. • Ruby system is a dynamic, reflective, high-level scripting language for quick and easy object-oriented program- ming (OOP). • In Ruby system, there are many convenient and enjoyable tool. Including the tools that are used in the deploy- ment process. • The average Ruby system is usually already an experienced professional having extreme knowledge in both web development and general software engineering skills. • The main advantage of the Ruby programming language and the Ruby System is considered to be the speed of development. • Caching projects – one of the most important steps in developing a major Internet project. In PHP, there are various options for data caching.

RubySystem

Synopsis Ruby system is a dynamic, reflective, high-level scripting language. Ruby system is not just for Web application development working with the Ruby RVM. It can also be used as a powerful as a scripting language and a very good alternative to the usual shell scripting, commonly used to achieve the scripting needs in systems adminstration.Set of built-in modules and a few external libraries, Ruby system can make systems adminstration more efficient.Ruby system is a very useful and powerful tool that is a must have in every system administrator’s toolbox.It is comfortable with Ubuntu and Cent OS.

Help command This command can function about the objectives and commands available under Ruby system mod- ule. It also explains the command to install Ruby system. Before installation, the user can read this help command explains its function. ptconfigure RubySystem help

The following image also helps you to understand this module clearly. kevell@corp:/# ptconfigure RubySystem help ******************************

This command allows you to install Ruby RVM, the system wide version.

1.1. Commands 319 kevells Documentation, Release 0.1

RubySystem, rubysystem, ruby-system, rubysys

- install Installs Ruby a System Wide version of Ruby for you example: ptconfigure ruby-rvm install

Ruby is installed the recommended per-user way. To use ruby after the install first run "source ~/.rvm/scripts/rvm" to get access to the Ruby install for your user, then "rvm install 1.9.3"(to install, specify version as needed) then "rvm use 1.9.3"(to select your default version for the session)

------End Help ******************************

Installation It is a glaring process to install Ruby system module under ptconfigure by just using the command given below, ptconfigure rubysystem install

After key in the command, it can asks Install Ruby, system wide?(Y/N) In case the user input as Y, it can install Rubysystem from the package. Else, it can exit the screen. The following screen shots can explain it. kevell@corp:/# ptconfigure RubySystem install

Install Ruby, System Wide?(Y/N) Y ******************************* * Pharaoh Tools * * Ruby System! * *******************************

Reading package lists... Building dependency tree... Reading state information... The following packages were automatically installed and are no longer required: linux-headers-3.13.0-32 linux-headers-3.13.0-32-generic linux-image-3.13.0-32-generic linux-image-extra-3.13.0-32-generic Use ’apt-get autoremove’ to remove them. Suggested packages: ruby1.9.1-examples ri1.9.1 graphviz ruby1.9.1-dev The following NEW packages will be installed: ruby1.9.1 0 upgraded,1 newly installed,0 to remove and 12 not upgraded. 1 not fully installed or removed. Need to get 37.5 kB of archives. After this operation, 240 kB of additional disk space will be used. Get:1 http://us.archive.ubuntu.com/ubuntu/ precise/main ruby1.9.1 amd64 1.9.3.0-1ubuntu1[37.5 kB] Fetched 37.5 kB in 7s(5232 B/s) Selecting previously unselected package ruby1.9.1. (Reading database ... 282890 files and directories currently installed.) Preparing to unpack .../ruby1.9.1_1.9.3.0-1ubuntu1_amd64.deb ... Unpacking ruby1.9.1(1.9.3.0-1ubuntu1) ... Processing triggers for man-db(2.6.7.1-1ubuntu1) ...

320 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Setting up zend-server-php-5.3(6.1.0+b1177) ... Module php5 already enabled Module rewrite already enabled Site zendserver_gui already enabled X-Powered-By: PHP/5.3.26 ZendServer/6.1.0 Content-type: text/html

Setting up ruby1.9.1(1.9.3.0-1ubuntu1) ... update-alternatives: using /usr/bin/gem1.9.1 to provide /usr/bin/gem(gem) in auto mode [Pharaoh Logging] Adding Package ruby1.9.1 from the Packager Apt executed correctly ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------RubySystem: Success ------Installer Finished ******************************

Parameters Alternative Parameters Op- Comments tions ptconfigure Rubysystem We can use RubySystem,rubysystem, Y System starts installation Options Install ruby-system,rubysys. process ptconfigure Rubysystem We can use RubySystem,rubysystem, N System stops installation Install ruby-system,rubysys.| process

Benifits • Ruby system is a dynamic, reflective, high-level scripting language for quick and easy object-oriented program- ming . • In Ruby system, is a convenient and enjoyable tool. Including the tools that are used in the deployment process. • The Ruby system is already an experienced professional having extreme knowledge in both web development and general software engineering skills. • The main advantage of the Ruby programming language and the Ruby System is considered to be the speed of development.

Run Command

Synopsis The run command modules enables the users to execute an operating system command. This is mainly be used in an Autopilot. Using this run command the user can specify the command, name of the user and also to run the either in background or front-end. Let us see the uses of run command.

Help Command The help command describes the uses of run command, its major functionality, its alternative parameters, the commands used for executing a command, and also about the syntax for specifying the command, name of the user and also to run the either in background or front-end. The syntax used for declaring the help command is shown below.

1.1. Commands 321 kevells Documentation, Release 0.1

ptconfigure RunCommand help

The following screen shot depicts pictorially about the working of help command. kevell@corp:/# ptconfigure RunCommand help ******************************

This allows you to execute an Operating System command. This would primarily be used in an Autopilot.

RunCommand, runcommand, run-command

- execute Execute a Command example: ptconfigure run-command --yes --command="ls -lah /tmp" --run-as-user="ubuntu" --background

------End Help ******************************

How to use Run command The syntax used for specifying the run command in shown below. ptconfigure run-command --yes --command="ls -lah /tmp" --run-as-user="ubuntu" --background

Parame- Function Alternative Usage ter parameters com- It allows the user to specify the command Runcommand, By using this, the user can specify mand=”ls and its purpose. runcommand, their own command as per their -lah run-command requirements. /tmp” run-as- By using this the user can specify the Runcommand, By using this, the user can specify user=”ubuntu”name of the user. runcommand, their required user login as per run-command their requirements. ”– It allows the user to specify where to run Runcommand, By using this, the user can specify background the particular command either in runcommand, their platform of usage as per background or in the front-end. run-command their requirements.|

Benefits • The parameters used for declaring help command, installation are not case sensitive which is an added advantage while compared to others. • It is well-to-do in both Cent OS and as well as in Ubuntu. • The users can specify the command, name of the user and also to run the either in background or front-end. • The help command guides the users in how to execute the run command an also its purpose.

Selenium Server

Synopsis Selenium is a portable framework for web applications. Selenium provides a record/playback tool for authoring tests without learning a test scripting language (Selenium IDE). It also provides a test domain-specific language (Selenese)[1] to write tests in a number of popular programming languages, includ- ing Java, C#, Groovy, Perl, PHP, Python and Ruby. The tests can then be run against most modern web browsers. Selenium deploys on Windows, Linux, and Macintosh platforms

322 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Let us see about how this module facilitates the users in installing selenium server.

Help Command The help command guides the users regarding the purpose and as well as about the options that are included in the selenium server module. It lists out the alternative parameters of selenium server module. It also describes the syntax for installing it. The help command for selenium server module is shown as below. ptconfigure seleniumserver help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under selenium server module. kevell@corp:/# ptconfigure SeleniumServer help ******************************

This command allows you to install Selenium Server.

SeleniumServer, selenium-server, selenium, selenium-srv, seleniumserver

- install Installs Selenium Server. Note, you’ll also need Java installed as it is a prerequisite for Selenium example: ptconfigure selenium install example: ptconfigure selenium install --with-chrome-driver # will set the executor command to use default chrome driver

------End Help ******************************

Installation The command used for installing the Selenium server is simple as entering the command which is shown below. ptconfigure seleniumserver install

The screenshot for the above command is listed below, kevell@corp:/# ptconfigure selenium install

Install Selenium Server?(Y/N) y ******************************* * Pharaoh Tools * * Selenium Srv * ******************************* Enter Selenium Version (0) 2.39 (1) 2.40 (2) 2.41 (3) 2.42 (4) 2.43 (5) 2.44 5 PHP Notice: Undefined index: version in /opt/ptconfigure/ptconfigure/src/Modules/SeleniumServer/Model/SeleniumServerAllLinux.php on line 50 [Pharaoh Logging] Ensure module install is not checking versions [Pharaoh Logging] Command ’git’ found [Pharaoh Logging] Command ’gitk’ found

1.1. Commands 323 kevells Documentation, Release 0.1

[Pharaoh Logging] Command ’git-cola’ found [Pharaoh Logging] Not installing as already installed [Pharaoh Logging] Ensure module install is not checking versions [Pharaoh Logging] Module Java reports itself as Installed [Pharaoh Logging] Not installing as already installed Creating /tmp/ptconfigure-temp-script-96670533394.sh chmod 755 /tmp/ptconfigure-temp-script-96670533394.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-96670533394.sh Permissions Executing /tmp/ptconfigure-temp-script-96670533394.sh --2015-02-12 15:31:34-- http://selenium-release.storage.googleapis.com//selenium-server-standalone-.0.jar Resolving selenium-release.storage.googleapis.com(selenium-release.storage.googleapis.com)... 74.125.236.43, 74.125.236.42, 74.125.236.44, ... Connecting to selenium-release.storage.googleapis.com(selenium-release.storage.googleapis.com)|74.125.236.43|:80... connected. HTTP request sent, awaiting response... 404 Not Found 2015-02-12 15:31:35 ERROR 404: Not Found. mv: cannot stat ‘/tmp/selenium/*’: No such file or directory mv: cannot stat ‘selenium-server-standalone-.0.jar’: No such file or directory Temp File /tmp/ptconfigure-temp-script-96670533394.sh Removed Program Executor Deleted if existed ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------SeleniumServer: Success ------Installer Finished ******************************

Option After inputting the command above, the following operations occurs as shown in the tabular format. Parameters Alternative Parameters Op- Comments tions Install Instead of seleniumserver, we can use Y(Yes) If the user wish to proceed the Selenium SeleniumServer, Selenium, selenium-srv , installation process they can input Server? (Y/N) selenium-server also. as Y. Install Instead of seleniumserver, we can use N(No) If the user wish to quit the Selenium SeleniumServer, Selenium, selenium-srv , installation process they can input Server? (Y/N) selenium-server also. as N.|

Benefits • The parameters used in help and installation are not case sensitive which is an added advantage while compared to others. • It is well-to-do in both Ubuntu and as well as Cent OS. • You can develop automated tests in the programming language of your choice such as c#, java, python, php, perl and ruby as well as running those tests on different combination of browsers such as Chrome, Firefox or IE

Service

324 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Synopsis This module facilitates the current status of file in the system. It can mention the status as running or not. Automation is possible. This module specify the configuration of your environment. It is user friendly with Ubuntu and cent OS.

Help command Help command used to find information about a specified command. For more information about changes to functionality of service we can use this help command. The following screen shot will guide you. ptconfigure Service help

Kevell@corp:/# ptconfigure Service help

******************************

This command allows you to view or modify service

Service, service

- start Start a system service example: ptconfigure service start --service-name="apache2"

- stop Stop a system service example: ptconfigure service restart --service-name="apache2"

- restart Restart a system service example: ptconfigure service restart --service-name="apache2"

- ensure-running Ensure a system service is running. If it is already running, dont attempt to start it If it is not running, start it example: ptconfigure service ensure-running --service-name="apache2"

- is-running Checks whether a system service is running. example: ptconfigure service is-running --service-name="apache2"

- run-at-reboots Ensure a system service will auto start on reboots. example: ptconfigure service run-at-reboots --service-name="apache2"

------End Help ******************************

1.1. Commands 325 kevells Documentation, Release 0.1

Param- Alternative Functions Comment eters Parameter start Service, Start a system service ptconfigure service start service –service-name=”apache2” stop Service, Stop asystem service ptconfigure service stop service –service-name=”apache2” Restart Service, Restart a system service ptconfigure service restart Options service –service-name=”apache2” Ensure- Service, Ensure a system service is running. In case of ptconfigure service ensure-running running service not running start it else don’t attempt –service- name=”apache2” Is- Service, Check whether a system service is running or ptconfigure service is-running running service not running start it else don’t attempt –service-name=”apache2” Run-at- Service, Ensure a system service auto start on reboots ptconfigure service run-at-reboots reboots service –service- name=”apache2|

Benefits • The user can check the system working status at any time. • Service provides to exchange data among the system. • It permits the sharing of the resources of the machine • Service also provides the function of back-up. • Service provides a flexible networking environment. • This involves coordination of distributed data.

SFTP

Synopsis This module assist in transferring files from one system to another. It can upload or download the files to the system. Automation is possible. Put and get options are available in this module. It specifies the configuration of your environment. It is user friendly with Ubuntu and cent OS.

Help command Help command used to find information about a specified command. For more information about changes to functionality of SFTP we can use this help command. ptconfigure sftp help

The following screen shot will guide you. kevell@corp:/# ptconfigure sftp help ******************************

This command handles SFTP Transfer Functions.

SFTP, sftp

- put Will ask you for details for servers, then copy a file or directory from local to remote example: ptconfigure sftp put example: ptconfigure sftp put --yes --environment-name=staging --source="/tmp/file" --target="/home/user/file" example: ptconfigure sftp put --yes --source="/tmp/file" --target="/home/user/file" # will ask for server details

326 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

- get Will ask you for details for servers, then copy a file or directory from remote to local example: ptconfigure sftp get example: ptconfigure sftp get --yes --environment-name=staging --source="/tmp/file" --target="/home/user/file" example: ptconfigure sftp get --yes --source="/tmp/file" --target="/home/user/file" # will ask for server details

------End Help ******************************

Installation As a company, and as individuals, SFTP has been dedicated to meeting each partner’s technology challenges, fulfilling their engineering requirements, and satisfying their business goals. It is an obvious process to install SFTP module under ptconfigure by just using the command given below, ptconfigure SFTP put

After giving the command then the system will raise the question as, Install SFTP server group? Y/N If the user input as Y then SSh timeout section? The user has to enter the value Please enter remote ssh port Default value is 22. The user can enter any value Enter server host IP? The user has to enter username, password, and key path. Add another server? If the user input as Y he has to enter new server name Then everything will be connected. If the user input as N previous server name can be accessed. The following screenshot will guide you. kevell@corp:/# ptconfigure sftp put

SFTP on Server group?(Y/N) Y Please Enter SSH Timeout in seconds 90 Please Enter remote SSH Port 22 Use Environments Configured in Project?(Y/N) N [Pharaoh Logging] Attempting to load SFTP connections... Enter local source file path /root/vv Enter remote target file path /root/gg/vv [Pharaoh Logging] Opening SFTP Connections... [Pharaoh Logging] All SFTP Puts Completed ******************************

1.1. Commands 327 kevells Documentation, Release 0.1

Parameters Syntax Comments Options put Source to target The file can transferred get Path to source The file can downloaded from remote system|

Benefits • Multi server from remote area. • Specified file is not available error message will come. • Accessability is difficult without permission. • Automatically overwrite in case of already in case of file exist. • Non case sensitive. • Secrecy and security is possible. Solving customers most challenging technology problems and enabling their success is the SFTP mission and passion.

Skipfish

Synopsis skipfish module used to install skipfish. Skipfish is an active web application security reconnaissance tool. It prepares an interactive sitemap for the targeted site by carrying out a recursive crawl and dictionary-based probes. The resulting map is then annotated with the output from a number of active security checks. The final report generated by the tool is meant to serve as a foundation for professional web application security assessments. This module strengthen with Ubuntu and cent OS.

Help command The help command guides the users regarding the purpose and as well as about the options that are included in the Skipfish module. It lists out the alternative parameters of Skipfish module. It also describes the syntax for installing the Skipfish module. The help command for Skipfish module is shown as below. ptconfigure Skipfish help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under Skipfish. kevell@corp:/# ptconfigure Skipfish help

******************************

This command allows you to install Skipfish. Skipfish, skipfish

- install Installs Skipfish. example: ptconfigure skipfish install

------End Help ******************************

Installation This command authorize to install skipfish with interactive site map . When the user want to install skipfish the following command guides the user to install.

328 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

ptconfigure skipfish install after typing this command the system asks users wish. The other process explains the installation through the screen- shot. kevell@corp:/# ptconfigure Skipfish install Install Skipfish?(Y/N) y ******************************* * Pharaoh Tools * * Skipfish ! * ******************************* Reading package lists... Building dependency tree... Reading state information... The following NEW packages will be installed: skipfish 0 upgraded,1 newly installed,0 to remove and 15 not upgraded. Need to get 233 kB of archives. After this operation, 574 kB of additional disk space will be used. Get:1 http://us.archive.ubuntu.com/ubuntu/ trusty/universe skipfish amd64 2.10b-1[233 kB] Fetched 233 kB in 29s(7,910 B/s) Selecting previously unselected package skipfish. (Reading database ... 199429 files and directories currently installed.) Preparing to unpack .../skipfish_2.10b-1_amd64.deb ... Unpacking skipfish(2.10b-1) ... Processing triggers for man-db(2.6.7.1-1ubuntu1) ... Setting up skipfish(2.10b-1) ... [Pharaoh Logging] Adding Package skipfish from the Packager Apt executed correctly ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------Skipfish: Success ------Installer Finished

******************************

Parameters Alternative Parameters Op- Comments tions Install Skipfish ? Instead of Skipfish we can Y(Yes) If the user wish to proceed the installation process Option (Y/N) use skipfish they can input as Y. Install Skipfish ? Instead of Skipfish we can N(No) If the user wish to quit the installation process they (Y/N) use skipfish can input as N.|

Benefits • skipfish is highly adaptive and reliable. • Well-designed security checks. • Graceful handling of multi-framework sites

1.1. Commands 329 kevells Documentation, Release 0.1

• Automatic updated version installation • High speed accessible. • Non case sensitivity. • well to do in Ubuntu and Cent OS.

SshEncrypt

Synopsis Sshencrypt assist the user to install encrypted private key. It is the process of encoding messages or information in such a way that only authorized parties can read it. Sshencrypt does not of itself prevent interception, but denies the message content to the interceptor. In an encryption scheme, the message or information, referred to as plaintext, is encrypted using an encryption algorithm, generating ciphertxt that can only be read if decrypted. It comforts with Ubuntu and CentOS.

Help command The help command guides the user to handle key in ptconfigure. This help command guides the user to install sshencrypt. This also unencrypt the key. Encryption can be used to protect data “at rest”, such as files on computers and storage devices. In recent years there have been numerous reports of confidential data such as customers’ personal records being exposed through loss or theft of laptops or backup drives. The help command for Sshencrypt is shown below. ptconfigure sshencrypt help

After inputs the above command, it starts functioning to install an encrypted private key. It catechesis the functions in the screenshots. The following screen shot shows about sshencrypted

Alternative parameter There are many alternatives available in sshencrypt. Each alternative shows an added ad- vantages to this modules. They are, SshEncrypt, ssh-encrypt, sshencrypt.

Encrypt It is used to install an encrypted sshkey. It is in principle possible to decrypt the message without possessing the key, but, for a well-designed encryption scheme, large computational resources and skill are required. Encrypt by just given command given below. ptconfigure ssh-encrypt install

The pictorial representation of the above command is listed below, - encrypt Installs an encrypted SSH Key. example: ptconfigure ssh-encrypt install

After vitalize the command it will catechize input. When the user input as yes automatically it installs encrypted with checking from the system. If not exit the installation.

Unencrypt It used to installs unencrypted ssh key. An authorised recipient can easily decrypt the message with the key provided by the originator to recipients, but not to unauthorised interceptors. Unencrypt by just given command given below. ptconfigure ssh-encrypt install

The pictorial representation of the above command is listed below,

330 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

- unencrypt Installs an encrypted SSH Key. example: ptconfigure ssh-encrypt install

Benefits • Secrecy can be maintained. • Well-to-do in Ubuntu and CentOS. • Non case sensitivity. • The receiving party has access to the decryption key that enables messages to be read.

Ssh Harden

Synopsis This module assists in creating and modifying sshhardens. The ssh harden facilitates security functions for the users SSH accounts.

Help Command The help command leads the users regarding the purpose and as well as about the options that are included in the SSH harden module. The help command lists out the alternative parameters of SSH harden. It also describes the syntax for using SSH harden to securify. The help command for SSH harden is given below. ptconfigure SshHarden help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under SSH Harden. Kevell@corp:/# ptconfigure SshHarden help

******************************

This command allows you to modify create or modify sshhardens

SshHarden, sshharden, ssh-harden

- securify Add some security to your SSH accounts example: ptconfigure ssh-harden securify

------End Help ******************************

Securify The command used for securifying the users SSH account via SSH harden is shown below: ptconfigure ssh-harden securify

After inputting the command as given above the installation of Ssh Hardening begins as shown in the tabular format.

1.1. Commands 331 kevells Documentation, Release 0.1

Paramaters Alternative Parameter Op- comments tions Install Ssh Instead of Ssh Hardening, the following Y(yes) If the user wish to proceed the Hardening? alternatives can also be used: SshHarden, installation process they can input (Y/N) sshharden, ssh-harden. as Y. Install Ssh Instead of Ssh Hardening, the following N(No) If the user wish to Quit the Hardening? alternatives can also be used: SshHarden, installation process they can input (Y/N) sshharden, ssh-harden.| as N. If the user proceeds the installation of Ssh harden that enables securifying the ssh account of users gets initiated. While the process of execution occurs, the sshd config gets modified that disallows root ssh login and as well as sshd config is modified that disallows password based ssh login. finally it will restarts the ssh service and display the results of completed Ssh Harden modifications. The following screen shot explains the above mentioned process pictorially. Kevell@corp:/# ptconfigure ssh-harden securify

Install Ssh Hardening?(Y/N) y [Pharaoh Logging][File] Reading File /etc/ssh/sshd_config PHP Notice: Undefined index: searchline in /opt/ptconfigure/ptconfigure/src/Modules/File/Model/FileAllOS.php on line 175 [Pharaoh Logging][File] Reading File /etc/ssh/sshd_config [Pharaoh Logging][File] Reading File /etc/ssh/sshd_config PHP Notice: Undefined index: searchline in /opt/ptconfigure/ptconfigure/src/Modules/File/Model/FileAllOS.php on line 149 [Pharaoh Logging][File] Writing File /etc/ssh/sshd_config [Pharaoh Logging] /etc/ssh/sshd_config modified to disallow root ssh login [Pharaoh Logging][File] Reading File /etc/ssh/sshd_config PHP Notice: Undefined index: searchline in /opt/ptconfigure/ptconfigure/src/Modules/File/Model/FileAllOS.php on line 175 [Pharaoh Logging][File] Reading File /etc/ssh/sshd_config [Pharaoh Logging][File] Reading File /etc/ssh/sshd_config PHP Notice: Undefined index: searchline in /opt/ptconfigure/ptconfigure/src/Modules/File/Model/FileAllOS.php on line 149 [Pharaoh Logging][File] Writing File /etc/ssh/sshd_config [Pharaoh Logging] /etc/ssh/sshd_config modified to disallow password based ssh login [Pharaoh Logging] Restarting ssh service ssh stop/waiting ssh start/running, process 17375 ******************************

SshHarden Modifications: ------

Ssh Hardening: Success

------SshHarden Mods Finished ******************************

Benefits • This Ssh harden acts as a enhancer that enables the security functions of the users SSH accounts. • The parameters used in help and securifying, installation operations are not case sensitive which is an added advantage while compared to others. • This module enables modification of ssh harden config that prohibits root ssh login, password based ssh login.

SshKeygen

332 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Synopsis It is an aid to generate the key value. This module is having two key types. They are dsa,rsa. dsa key bit value is 1024 and the rsa key bit value is more than 768. Then only it can function. It is handy in task with Ubuntu and cent OS.

Help Command This help command explains about the installation of a particular module. The help command is easy to operate by the end user. The following command guided the user about the installation. ptconfigure Sshkeygen help

After giving the command, the command will list the help options. The following screen shots will give visual effect for the usage of this module. kevell@corp:/# ptconfigure SshKeygen help ******************************

This command allows you to install an SSH Key Pair.

SshKeygen, ssh-keygen, sshkeygen

- install Installs a new SSH Key example: ptconfigure ssh-keygen install example: ptconfigure ssh-keygen install --yes --bits=4096 --type=rsa --path="/home/dave/.ssh/id_rsa" --comment="Daves"

- uninstall Removes an SSH Key example: ptconfigure ssh-keygen uninstall

------End Help ******************************

Installation Installation is not a difficult process to install this module under ptconfigure by merely using the com- mand given below, ptconfigure sshkeygen install

After entering inputs ssh key gen will be installed successfully. The following screen shots will give visual effect for the usage of this module. kevell@corp:/# ptconfigure ssh-keygen install Install SSH Key Generation?(Y/N) Y ******************************* * Pharaoh Tools * * sshkeygen! * ******************************* Enter number of bits for SSH Key(multiple of 1024): 1024 Choose Key type(rsa/dsa) (0) rsa (1) dsa 1 Enter path to store private key(public key will be same with .pub): /root/SSH/abcd Plain text comment appended to public key. None is fine

1.1. Commands 333 kevells Documentation, Release 0.1

kevell ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------SshKeygen: Success ------Installer Finished ******************************

Parameters Directory (default) Options Comments Install Key Generation Yes It will install key generation under ptconfigure Install Key Generation No The user has to an exit. Choose key type rsa 0 It will install key generation Options under selected key type Choose key type dsa 1 It will install key generation under selected key type path /root/ssh/filename • It will create the file with public and private key|

Benefits We can work from remote place. The user has to instruct the system for path. Auto generation is possible. We can append the file whenever you need. We can share the keys without password. Non case sensitive.

SshKeyInstall

Synopsis Ssh key Install used to install ssh key for a new user. An authentication is more secure than password authentication. This is particularly important if the system is visible on the internet. With public key authentication, the authenticating entity has a public key and a private key. Each key is a large number with special mathematical properties. It is suitable with Ubuntu and CentOS.

Help command The help command guides the users regarding the purpose and as well as about the options that are included in the Sshkey install module. It lists out the alternative parameters of Sshkeyinstall module. It also describes the syntax for installing the Sshkeyinstall module. The help command for Sshkeyinstall module is shown as below. ptconfigure Sshkeyinstall help

The syntax for declaring the help command is non case sensitive which an added advantage is. The following screen- shot visualize the user about the help command under Sshkeyinstall. kevell@corp:/# ptconfigure SshKeyInstall help

******************************

This command allows you to install an SSH Public key for a user

SshKeyInstall, sshkeyinstall, ssh-key-install

334 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

- public-key Add an SSH Public Key to an account example: ptconfigure ssh-key-install public-key example: ptconfigure ssh-key-install public-key --yes --public-key-data="zzzzz" example: ptconfigure ssh-key-install public-key --yes --public-key-file="id_rsa.pub" --user-name=dave

------End Help ******************************

Installation Installation includes installation of Sshkeyinstall required to make the installation in a updated version . It is a manifest process to install Sshkeyinstall module under ptconfigure Sshkeyinstall by just using the command given below, ptconfigure Sshkeyinstall public-key

After vitalize the command it will catechize input. When the user input as yes automatically it will install Sshkeyinstall with checking from the system. If not exit the installation. The following screen shot demonstSshkeyinstallte Sshkeyinstall it.

Parameters Alternate Parameters Op- Comments tions Install Sshkeyin- Instead of using SshKeyInstall we can use Y It will install Sshkeyinstall under Options stall?(Y/N) Sshkeyinstall, ssh-key-install ptconfigure in Pharaoh tools Install Sshkeyin- Instead of using SshKeyInstall we can use N The system exit the installation stall?(Y/N) Sshkeyinstall, ssh-key-install|

Benefits • Sshkeyinstall is well-to-do in Ubuntu and CentOS • Sshkeyinstall can holdup non case sensitivity • Sshkeyinstall is flexible • Sshkeyinstall used install sshkey • Sshkeyinstall supports security

SshKeyStore

Synopsis SSH, or secure shell, is an encrypted protocol used to administer and communicate with servers. When working with a Linux server, chances are, you will spend most of your time in a terminal session connected to your server through SSH. SSH keys are a way to identify trusted computers, without involving passwords. SSH keys provide a secure way of logging into a Linux and Unix-based server. OpenSSH server supports various authentication schema. The two most popular are as follows: 1. Passwords based authentication 2. Public key based authentication. It is an alternative security method to using passwords. This method is recom- mended on a VPS, cloud, dedicated or even home based server. In public key based method you can log into remote hosts and server, and transfer files to them, without using your account passwords. This module allows you to find credentials for a key on a machine.

1.1. Commands 335 kevells Documentation, Release 0.1

Help Command This command helps to determine the usage of sshkeystore module. The user will come to know about the different way/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same. ptconfigure sshkeystore help

The screenshot for the above command is listed below, kevell@corp:/# ptconfigure SshKeyStore help ******************************

This command allows you to find credentials for a key on a machine

SshKeyStore, sshkeystore, ssh-key-store

- find Add an SSH Public Key to an account example: ptconfigure ssh-key-store find --key=daveylad example: ptconfigure ssh-key-store find --key=daveylad --prefer=user

------End Help ******************************

Find When the user needs to add a SSH Public Key to an account, the below given command will execute the process. ptconfigure ssh-key-store find --key=daveylad

Alternative Parameter There are two alternative parameters which can be used in command line. SshKeyStore, sshkeystore, ssh-key-store Example: ptconfigure sshkeystore help /ptconfigure ssh-key-store help

Benefits • The private SSH key (the part that can be passphrase protected), is never exposed on the network. The passphrase is only used to decrypt the key on the local machine. This means that network-based brute forcing will not be possible against the passphrase. • The private key is kept within a restricted directory. The SSH client will not recognize private keys that are not kept in restricted directories. The key itself must also have restricted permissions (read and write only available for the owner). This means that other users on the system cannot snoop. • Any attacker hoping to crack the private SSH key passphrase must already have access to the system. This means that they will already have access to your user account or the root account. If you are in this position, the passphrase can prevent the attacker from immediately logging into your other servers. This will hopefully give you time to create and implement a new SSH key pair and remove access from the compromised key.

StandardTools

Synopsis This module assist in installing standard tools in the system. It can install all the tools like vim, zip etc,. Automation is possible. It specifies the standardization of your environment. It is user friendly with Ubuntu and cent OS.

336 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Help command Help command used to find information about a specified command. For more information about standard tools. we can use this help command. ptconfigure StandardTools help

The following screen shot will guide you. kevell@corp:/# ptconfigure StandardTools help ******************************

This command allows you to install a few GC recommended Standard Tools for productivity in your system. The kinds of tools we found ourselves installing on every box we have, client or server. These include curl, vim, drush and zip.

StandardTools, standard-tools, standardtools, stdtools, std-tools

- install Installs some standard tools example: ptconfigure stdtools install

------End Help ******************************

Installation As a company, and as individuals, Standard Tools has been dedicated to meet the User challenges, ful- filling their requirements, and satisfying their business goals. It is an obvious process to install standard tools module under ptconfigure by just using the command given below, ptconfigure stdtools install

After entering the command, Install standard tools? (Y/N) If the user value as y Then all the updated standard tools installed. If the user value as N It will exit the screen The Screenshots shows this. kevell@corp:/# ptconfigure stdtools install Install Standard Tools?(Y/N) Y ******************************* * Pharaoh Tools * * Std. Tools!! * ******************************* Reading package lists... Building dependency tree... Reading state information... curl is already the newest version. 0 upgraded,0 newly installed,0 to remove and 13 not upgraded. [Pharaoh Logging] Package curl from the Packager Apt is already installed, so not installing.

1.1. Commands 337 kevells Documentation, Release 0.1

Reading package lists... Building dependency tree... Reading state information... vim is already the newest version. 0 upgraded,0 newly installed,0 to remove and 13 not upgraded. [Pharaoh Logging] Package vim from the Packager Apt is already installed, so not installing.

Creating config file /etc/php5/mods-available/mysql.ini with new version php5_invoke: Enable module mysql for cli SAPI php5_invoke: Enable module mysql for fpm SAPI php5_invoke: Enable module mysql for apache2 SAPI

Creating config file /etc/php5/mods-available/mysqli.ini with new version php5_invoke: Enable module mysqli for cli SAPI php5_invoke: Enable module mysqli for fpm SAPI php5_invoke: Enable module mysqli for apache2 SAPI

Creating config file /etc/php5/mods-available/pdo_mysql.ini with new version php5_invoke: Enable module pdo_mysql for cli SAPI php5_invoke: Enable module pdo_mysql for fpm SAPI php5_invoke: Enable module pdo_mysql for apache2 SAPI Reading package lists... Building dependency tree... Reading state information... The following extra packages will be installed: php-console-table php5-mysql Suggested packages: drupal7 Recommended packages: php-console-color The following NEW packages will be installed: drush php-console-table php5-mysql 0 upgraded,3 newly installed,0 to remove and 13 not upgraded. Need to get 430 kB of archives. After this operation, 1,800 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main php5-mysql amd64 5.5.9+dfsg-1ubuntu4.5[62.9 kB] Get:2 http://in.archive.ubuntu.com/ubuntu/ trusty/universe php-console-table all 1.1.6-1[14.7 kB] Get:3 http://in.archive.ubuntu.com/ubuntu/ trusty/universe drush all 5.10.0-2[353 kB] Fetched 430 kB in 1min 4s(6,634 B/s) Selecting previously unselected package php5-mysql. (Reading database ... 212663 files and directories currently installed.) Preparing to unpack .../php5-mysql_5.5.9+dfsg-1ubuntu4.5_amd64.deb ... Unpacking php5-mysql(5.5.9+dfsg-1ubuntu4.5) ... Selecting previously unselected package php-console-table. Preparing to unpack .../php-console-table_1.1.6-1_all.deb ... Unpacking php-console-table(1.1.6-1) ... Selecting previously unselected package drush. Preparing to unpack .../drush_5.10.0-2_all.deb ... Unpacking drush(5.10.0-2) ... Processing triggers for libapache2-mod-php5(5.5.9+dfsg-1ubuntu4.5) ... Processing triggers for php5-fpm(5.5.9+dfsg-1ubuntu4.5) ... php5-fpm stop/waiting php5-fpm start/running, process 5110 Processing triggers for man-db(2.6.7.1-1ubuntu1) ... Setting up php5-mysql(5.5.9+dfsg-1ubuntu4.5) ... Setting up php-console-table(1.1.6-1) ... Setting up drush(5.10.0-2) ... Processing triggers for libapache2-mod-php5(5.5.9+dfsg-1ubuntu4.5) ...

338 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Processing triggers for php5-fpm(5.5.9+dfsg-1ubuntu4.5) ... php5-fpm stop/waiting php5-fpm start/running, process 6189 [Pharaoh Logging] Adding Package drush from the Packager Apt executed correctly Reading package lists... Building dependency tree... Reading state information... zip is already the newest version. 0 upgraded,0 newly installed,0 to remove and 13 not upgraded. [Pharaoh Logging] Package zip from the Packager Apt is already installed, so not installing. ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------StandardTools: Success ------Installer Finished ******************************

Alternative Parameters The following are the alternate parameters. StandardTools, standard-tools, standardtools, std-tools, stdtools.

Benefits • Updated version of installation available. • In case of existing, it can overwrite. • Non case sensitive

Storyplayer

Synopsis Storyplayer is DataSift’s test tool for functional and non-functional testing of software and services, built to test at the firehose scale. It sits nicely between PHPUnit for unit testing by developers, and Behat for acceptance testing by product managers. Storyplayer is a new open-source testing tool. Storyplayer was initially designed and built to test DataSift’s real-time firehose-filtering product. This is a service-oriented architecture consisting of: • Data piplines (using ZeroMQ and HTTP) • Supporting services (using HTTP and sometimes ZeroMQ) • Internal and public-facing APIs (using JSON over HTTP) • Front end interfaces (using HTML) Storyplayer can test software written in any language, because Storyplayer is designed to interact with your software just like a user would.

Help Command This command helps to determine the usage of Storyplayer. The user will come to know about the different way/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same.

1.1. Commands 339 kevells Documentation, Release 0.1

kevell@corp:/# ptconfigure Storyplayer help

******************************

This command allows you to install Storyplayer from a GC Repo.

Storyplayer

- install Installs the latest GC Repo version of PHPUnit example: ptconfigure storyplayer install

------End Help ******************************

Installation If the user need to install storyplayer module in machine, the below given command will execute the process of installation. ptconfigure storyplayer install kevell@corp:/# ptconfigure storyplayer install

Install Storyplayer ?(Y/N) y ******************************* * Pharaoh Tools * * Storyplayer * ******************************* What is the program data directory? Found "/opt/storyplayer" - use this?(Enter nothing for yes, no end slash)

What is the program executor directory? Found "/usr/bin" - use this?(Enter nothing for yes, No Trailing Slash)

Program Data Folder /opt/storyplayer Deleted if existed Creating /tmp/ptconfigure-temp-script-30388926365.sh chmod 755 /tmp/ptconfigure-temp-script-30388926365.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-30388926365.sh Permissions Executing /tmp/ptconfigure-temp-script-30388926365.sh --2015-03-13 09:28:16-- https://getcomposer.org/installer Resolving getcomposer.org(getcomposer.org)... 87.98.253.108 Connecting to getcomposer.org(getcomposer.org)|87.98.253.108|:443... connected. HTTP request sent, awaiting response... 200OK Length: unspecified[text/plain] Saving to: âC~installerâC™

[<=> ] 2,74,634 38.3KB/s in 7.0s Installing /yaml(v2.6.4) Downloading https://api.github.com/repos/symfony/Yaml/zipball/60ed7751671113cf1ee7d7778e691642c2e9acd8 Downloading: 100% Writing /home/deepak/.composer/cache/files/symfony/yaml/60ed7751671113cf1ee7d7778e691642c2e9acd8.zip into cache Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/symfony/yaml/Symfony/Component/Yaml/608f7b6f8cc4abc17da0dac15662c7c4’ -d ’/opt/storyplayer/storyplayer/vendor/composer/0d5e9897’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/0d5e9897’

REASON: datasift/storyplayer 1.5.8 requires symfony/yaml 2.* -> satisfiable by symfony/yaml[2.0.4, 2.0.5, 2.0.6, 2.0.7, v2.0.10, v2.0.12, v2.0.13, v2.0.14, v2.0.15, v2.0.16, v2.0.17, v2.0.18, v2.0.19, v2.0.20, v2.0.21, v2.0.22, v2.0.23, v2.0.24, v2.0.25, v2.0.9, v2.1.0, v2.1.1, v2.1.10, v2.1.11, v2.1.12, v2.1.13, v2.1.2, v2.1.3, v2.1.4, v2.1.5, v2.1.6, v2.1.7, v2.1.8, v2.1.9, v2.2.0, v2.2.1, v2.2.10, v2.2.11, v2.2.2, v2.2.3, v2.2.4, v2.2.5, v2.2.6, v2.2.7, v2.2.8, v2.2.9, v2.3.0, v2.3.1, v2.3.10, v2.3.11, v2.3.12, v2.3.13, v2.3.14, v2.3.15, v2.3.16, v2.3.17, v2.3.18, v2.3.19, v2.3.2, v2.3.20, v2.3.21, v2.3.22, v2.3.23, v2.3.24, v2.3.25, v2.3.3, v2.3.4, v2.3.5, v2.3.6, v2.3.7, v2.3.8, v2.3.9, v2.4.0, v2.4.1, v2.4.10, v2.4.2, v2.4.3, v2.4.4, v2.4.5, v2.4.6, v2.4.7, v2.4.8, v2.4.9, v2.5.0, v2.5.1, v2.5.10, v2.5.2, v2.5.3, v2.5.4, v2.5.5, v2.5.6, v2.5.7, v2.5.8, v2.5.9, v2.6.0, v2.6.1, v2.6.2, v2.6.3, v2.6.4].

- Installing datasift/ifconfig-parser(0.1.1)

340 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Downloading https://api.github.com/repos/datasift/ifconfig-parser-php/zipball/7a47ed1aa85e6742555724ae969c115bb637f849 Downloading: 100% Writing /home/deepak/.composer/cache/files/datasift/ifconfig-parser/7a47ed1aa85e6742555724ae969c115bb637f849.zip into cache Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/datasift/ifconfig-parser/7a60b9e6dd74a292d2e0206419acad01’ -d ’/opt/storyplayer/storyplayer/vendor/composer/eadbda9d’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/eadbda9d’

REASON: datasift/netifaces 0.1.0 requires datasift/ifconfig-parser * -> satisfiable by datasift/ifconfig-parser[0.1.0, 0.1.1].

- Installing datasift/os(0.1.2) Downloading https://api.github.com/repos/datasift/os-php/zipball/e21c7483663a9407668b819416c5f7e80eded31f Downloading: 100% Writing /home/deepak/.composer/cache/files/datasift/os/e21c7483663a9407668b819416c5f7e80eded31f.zip into cache Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/datasift/os/7e5bf2fa027859f511091d6f1c5e8943’ -d ’/opt/storyplayer/storyplayer/vendor/composer/9b169e68’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/9b169e68’

REASON: datasift/netifaces 0.1.0 requires datasift/os * -> satisfiable by datasift/os[0.1.0, 0.1.1, 0.1.2].

- Installing datasift/netifaces(0.1.0) Downloading https://api.github.com/repos/datasift/netifaces/zipball/c01728273b0718bff86817e62a26fd358eb39996 Downloading: 100% Writing /home/deepak/.composer/cache/files/datasift/netifaces/c01728273b0718bff86817e62a26fd358eb39996.zip into cache Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/datasift/netifaces/77390360a5b5ceb6a0f0bdde18368c14’ -d ’/opt/storyplayer/storyplayer/vendor/composer/7435e2a0’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/7435e2a0’

REASON: datasift/storyplayer 1.5.8 requires datasift/netifaces * -> satisfiable by datasift/netifaces[0.1.0].

- Installing symfony/event-dispatcher(v2.6.4) Downloading https://api.github.com/repos/symfony/EventDispatcher/zipball/f75989f3ab2743a82fe0b03ded2598a2b1546813 Downloading: 100% Writing /home/deepak/.composer/cache/files/symfony/event-dispatcher/f75989f3ab2743a82fe0b03ded2598a2b1546813.zip into cache Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/f023f688e5c023b05e0833ab4e2e83f3’ -d ’/opt/storyplayer/storyplayer/vendor/composer/ba821eaa’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/ba821eaa’

REASON: guzzle/guzzle v3.9.2 requires symfony/event-dispatcher ~2.1 -> satisfiable by symfony/event-dispatcher[v2.1.0, v2.1.1, v2.1.10, v2.1.11, v2.1.12, v2.1.13, v2.1.2, v2.1.3, v2.1.4, v2.1.5, v2.1.6, v2.1.7, v2.1.8, v2.1.9, v2.2.0, v2.2.1, v2.2.10, v2.2.11, v2.2.2, v2.2.3, v2.2.4, v2.2.5, v2.2.6, v2.2.7, v2.2.8, v2.2.9, v2.3.0, v2.3.1, v2.3.10, v2.3.11, v2.3.12, v2.3.13, v2.3.14, v2.3.15, v2.3.16, v2.3.17, v2.3.18, v2.3.19, v2.3.2, v2.3.20, v2.3.21, v2.3.22, v2.3.23, v2.3.24, v2.3.25, v2.3.3, v2.3.4, v2.3.5, v2.3.6, v2.3.7, v2.3.8, v2.3.9, v2.4.0, v2.4.1, v2.4.10, v2.4.2, v2.4.3, v2.4.4, v2.4.5, v2.4.6, v2.4.7, v2.4.8, v2.4.9, v2.5.0, v2.5.1, v2.5.10, v2.5.2, v2.5.3, v2.5.4, v2.5.5, v2.5.6, v2.5.7, v2.5.8, v2.5.9, v2.6.0, v2.6.1, v2.6.2, v2.6.3, v2.6.4].

- Installing guzzle/guzzle(v3.9.2) Downloading https://api.github.com/repos/guzzle/guzzle3/zipball/54991459675c1a2924122afbb0e5609ade581155 Downloading: 100% Writing /home/deepak/.composer/cache/files/guzzle/guzzle/54991459675c1a2924122afbb0e5609ade581155.zip into cache Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/guzzle/guzzle/c0af4c3a7828a121b4fec3476e285c9e’ -d ’/opt/storyplayer/storyplayer/vendor/composer/b04adeaa’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/b04adeaa’

REASON: aws/aws-sdk-php 2.7.22 requires guzzle/guzzle ~3.7 -> satisfiable by guzzle/guzzle[v3.7.0, v3.7.1, v3.7.2, v3.7.3, v3.7.4, v3.8.0, v3.8.1, v3.9.0, v3.9.1, v3.9.2].

- Installing aws/aws-sdk-php(2.7.22) Downloading https://api.github.com/repos/aws/aws-sdk-php/zipball/7c97f11ca46c47209e597ebab6e74e164cdf6216 Downloading: 100% Writing /home/deepak/.composer/cache/files/aws/aws-sdk-php/7c97f11ca46c47209e597ebab6e74e164cdf6216.zip into cache Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/aws/aws-sdk-php/ff3c26d9e20b7d54678b52c9b5f87191’ -d ’/opt/storyplayer/storyplayer/vendor/composer/62e7677e’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/62e7677e’

REASON: datasift/storyplayer 1.5.8 requires aws/aws-sdk-php 2.* -> satisfiable by aws/aws-sdk-php[2.0.0, 2.0.1, 2.0.2, 2.0.3, 2.1.0, 2.1.1, 2.1.2, 2.2.0, 2.2.1, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.4.0, 2.4.1, 2.4.10, 2.4.11, 2.4.12, 2.4.2, 2.4.3, 2.4.4, 2.4.5, 2.4.6, 2.4.7, 2.4.8, 2.4.9, 2.5.0, 2.5.1, 2.5.2, 2.5.3, 2.5.4, 2.6.0, 2.6.1, 2.6.10, 2.6.11, 2.6.12, 2.6.13, 2.6.14, 2.6.15, 2.6.16, 2.6.2, 2.6.3, 2.6.4, 2.6.5, 2.6.6, 2.6.7, 2.6.8, 2.6.9, 2.7.0, 2.7.1, 2.7.10, 2.7.11, 2.7.12, 2.7.13, 2.7.14, 2.7.15, 2.7.16, 2.7.17, 2.7.18, 2.7.19, 2.7.2, 2.7.20, 2.7.21, 2.7.22, 2.7.3, 2.7.4, 2.7.5, 2.7.6, 2.7.7, 2.7.8, 2.7.9].

- Installing mockery/mockery(0.9.3) Downloading https://api.github.com/repos/padraic/mockery/zipball/686f85fa5b3b079cc0157d7cd3e9adb97f0b41e1 Downloading: 100% Writing /home/deepak/.composer/cache/files/mockery/mockery/686f85fa5b3b079cc0157d7cd3e9adb97f0b41e1.zip into cache Extracting archive

1.1. Commands 341 kevells Documentation, Release 0.1

Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/mockery/mockery/785f0a3edd73b0bdb7d7966c21c5d2bb’ -d ’/opt/storyplayer/storyplayer/vendor/composer/7f28b98b’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/7f28b98b’

REASON: datasift/stone 1.9.13 requires mockery/mockery 0.9.* -> satisfiable by mockery/mockery[0.9.0, 0.9.1, 0.9.2, 0.9.3].

- Installing sebastian/version(1.0.4) Downloading https://api.github.com/repos/sebastianbergmann/version/zipball/a77d9123f8e809db3fbdea15038c27a95da4058b Downloading: 100% Writing /home/deepak/.composer/cache/files/sebastian/version/a77d9123f8e809db3fbdea15038c27a95da4058b.zip into cache Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/sebastian/version/3754e43c48c06a19f73793bf8f82531a’ -d ’/opt/storyplayer/storyplayer/vendor/composer/6889492f’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/6889492f’

REASON: phpunit/phpunit 4.5.0 requires sebastian/version ~1.0 -> satisfiable by sebastian/version[1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4].

- Installing sebastian/global-state(1.0.0) Downloading https://api.github.com/repos/sebastianbergmann/global-state/zipball/c7428acdb62ece0a45e6306f1ae85e1c05b09c01 Downloading: 100% Writing /home/deepak/.composer/cache/files/sebastian/global-state/c7428acdb62ece0a45e6306f1ae85e1c05b09c01.zip into cache Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/sebastian/global-state/2ba6b95e4ab3760fbdc0a5070386e9ec’ -d ’/opt/storyplayer/storyplayer/vendor/composer/483de02a’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/483de02a’

REASON: phpunit/phpunit 4.5.0 requires sebastian/global-state ~1.0 -> satisfiable by sebastian/global-state[1.0.0].

- Installing sebastian/recursion-context(1.0.0) Downloading https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/3989662bbb30a29d20d9faa04a846af79b276252 Downloading: 100% Writing /home/deepak/.composer/cache/files/sebastian/recursion-context/3989662bbb30a29d20d9faa04a846af79b276252.zip into cache Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/sebastian/recursion-context/b3c72f22bd17f683490b6a5282d7f3a5’ -d ’/opt/storyplayer/storyplayer/vendor/composer/1d071769’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/1d071769’

REASON: sebastian/exporter 1.2.0 requires sebastian/recursion-context ~1.0 -> satisfiable by sebastian/recursion-context[1.0.0].

- Installing sebastian/exporter(1.2.0) Downloading https://api.github.com/repos/sebastianbergmann/exporter/zipball/84839970d05254c73cde183a721c7af13aede943 Downloading: 100% Writing /home/deepak/.composer/cache/files/sebastian/exporter/84839970d05254c73cde183a721c7af13aede943.zip into cache Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/sebastian/exporter/2533514510f26c88718fcf7941effeba’ -d ’/opt/storyplayer/storyplayer/vendor/composer/7ce7bae3’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/7ce7bae3’

REASON: phpunit/phpunit 4.5.0 requires sebastian/exporter ~1.2 -> satisfiable by sebastian/exporter[1.2.0].

- Installing sebastian/environment(1.2.1) Downloading https://api.github.com/repos/sebastianbergmann/environment/zipball/6e6c71d918088c251b181ba8b3088af4ac336dd7 Downloading: 100% Writing /home/deepak/.composer/cache/files/sebastian/environment/6e6c71d918088c251b181ba8b3088af4ac336dd7.zip into cache Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/sebastian/environment/b030989406fc2d810fd209cbc370c97b’ -d ’/opt/storyplayer/storyplayer/vendor/composer/b869a17e’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/b869a17e’

REASON: phpunit/phpunit 4.5.0 requires sebastian/environment ~1.2 -> satisfiable by sebastian/environment[1.2.0, 1.2.1].

- Installing sebastian/diff(1.2.0) Downloading https://api.github.com/repos/sebastianbergmann/diff/zipball/5843509fed39dee4b356a306401e9dd1a931fec7 Downloading: 100% Writing /home/deepak/.composer/cache/files/sebastian/diff/5843509fed39dee4b356a306401e9dd1a931fec7.zip into cache Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/sebastian/diff/0275b11a00ddec6770ddcf80f45f5045’ -d ’/opt/storyplayer/storyplayer/vendor/composer/1796ba86’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/1796ba86’

REASON: sebastian/comparator 1.1.1 requires sebastian/diff ~1.2 -> satisfiable by sebastian/diff[1.2.0].

342 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

- Installing sebastian/comparator(1.1.1) Downloading https://api.github.com/repos/sebastianbergmann/comparator/zipball/1dd8869519a225f7f2b9eb663e225298fade819e Downloading: 100% Writing /home/deepak/.composer/cache/files/sebastian/comparator/1dd8869519a225f7f2b9eb663e225298fade819e.zip into cache Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/sebastian/comparator/ce196c53a14ada40f3f0e52125deca9f’ -d ’/opt/storyplayer/storyplayer/vendor/composer/8a1fe81e’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/8a1fe81e’

REASON: phpunit/phpunit 4.5.0 requires sebastian/comparator ~1.1 -> satisfiable by sebastian/comparator[1.1.0, 1.1.1].

- Installing /instantiator(1.0.4) Downloading https://api.github.com/repos/doctrine/instantiator/zipball/f976e5de371104877ebc89bd8fecb0019ed9c119 Downloading: 100% Writing /home/deepak/.composer/cache/files/doctrine/instantiator/f976e5de371104877ebc89bd8fecb0019ed9c119.zip into cache Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/doctrine/instantiator/485434fe08559549c945cc95091ce33c’ -d ’/opt/storyplayer/storyplayer/vendor/composer/42852e57’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/42852e57’

REASON: phpunit/phpunit-mock-objects 2.3.0 requires doctrine/instantiator ~1.0,>=1.0.1 -> satisfiable by doctrine/instantiator[1.0.1, 1.0.2, 1.0.3, 1.0.4].

- Installing /reflection-docblock(2.0.4) Downloading https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d68dbdc53dc358a816f00b300704702b2eaff7b8 Downloading: 100% Writing /home/deepak/.composer/cache/files/phpdocumentor/reflection-docblock/d68dbdc53dc358a816f00b300704702b2eaff7b8.zip into cache Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/phpdocumentor/reflection-docblock/d1a0972308473be16bda65bdaa2cf8af’ -d ’/opt/storyplayer/storyplayer/vendor/composer/72e855c2’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/72e855c2’

REASON: phpspec/prophecy v1.3.1 requires phpdocumentor/reflection-docblock ~2.0 -> satisfiable by phpdocumentor/reflection-docblock[2.0.0, 2.0.1, 2.0.2, 2.0.3, 2.0.4].

- Installing phpspec/prophecy(v1.3.1) Downloading https://api.github.com/repos/phpspec/prophecy/zipball/9ca52329bcdd1500de24427542577ebf3fc2f1c9 Downloading: 100% Writing /home/deepak/.composer/cache/files/phpspec/prophecy/9ca52329bcdd1500de24427542577ebf3fc2f1c9.zip into cache Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/phpspec/prophecy/78dda2d75504c0751056397b7bc0ae20’ -d ’/opt/storyplayer/storyplayer/vendor/composer/a8b9b8b0’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/a8b9b8b0’

REASON: phpunit/phpunit 4.5.0 requires phpspec/prophecy ~1.3.1 -> satisfiable by phpspec/prophecy[v1.3.1].

- Installing phpunit/php-text-template(1.2.0) Downloading https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/206dfefc0ffe9cebf65c413e3d0e809c82fbf00a Downloading: 100% Writing /home/deepak/.composer/cache/files/phpunit/php-text-template/206dfefc0ffe9cebf65c413e3d0e809c82fbf00a.zip into cache Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/phpunit/php-text-template/3e1b52545afad3b107af424940d7fbf1’ -d ’/opt/storyplayer/storyplayer/vendor/composer/1f635d33’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/1f635d33’

REASON: phpunit/phpunit 4.5.0 requires phpunit/php-text-template ~1.2 -> satisfiable by phpunit/php-text-template[1.2.0].

- Installing phpunit/phpunit-mock-objects(2.3.0) Downloading https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/c63d2367247365f688544f0d500af90a11a44c65 Downloading: 100% Writing /home/deepak/.composer/cache/files/phpunit/phpunit-mock-objects/c63d2367247365f688544f0d500af90a11a44c65.zip into cache Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/phpunit/phpunit-mock-objects/80d5d7c80920ce66d3db4a290b0d7003’ -d ’/opt/storyplayer/storyplayer/vendor/composer/06696499’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/06696499’

REASON: phpunit/phpunit 4.5.0 requires phpunit/phpunit-mock-objects ~2.3 -> satisfiable by phpunit/phpunit-mock-objects[2.3.0].

- Installing phpunit/php-timer(1.0.5) Downloading https://api.github.com/repos/sebastianbergmann/php-timer/zipball/19689d4354b295ee3d8c54b4f42c3efb69cbc17c Downloading: 100% Writing /home/deepak/.composer/cache/files/phpunit/php-timer/19689d4354b295ee3d8c54b4f42c3efb69cbc17c.zip into cache

1.1. Commands 343 kevells Documentation, Release 0.1

Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/phpunit/php-timer/6af874a6494f793d2b2f16397503d95f’ -d ’/opt/storyplayer/storyplayer/vendor/composer/82395102’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/82395102’

REASON: phpunit/phpunit 4.5.0 requires phpunit/php-timer ~1.0.2 -> satisfiable by phpunit/php-timer[1.0.3, 1.0.4, 1.0.5].

- Installing phpunit/php-file-iterator(1.3.4) Downloading https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/acd690379117b042d1c8af1fafd61bde001bf6bb Downloading: 100% Writing /home/deepak/.composer/cache/files/phpunit/php-file-iterator/acd690379117b042d1c8af1fafd61bde001bf6bb.zip into cache Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/phpunit/php-file-iterator/29860041713566d1f8eab5bbde1c27ed’ -d ’/opt/storyplayer/storyplayer/vendor/composer/c1800bc8’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/c1800bc8’

REASON: phpunit/phpunit 4.5.0 requires phpunit/php-file-iterator ~1.3.2 -> satisfiable by phpunit/php-file-iterator[1.3.2, 1.3.3, 1.3.4].

- Installing phpunit/php-token-stream(1.4.0) Downloading https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/db32c18eba00b121c145575fcbcd4d4d24e6db74 Downloading: 100% Writing /home/deepak/.composer/cache/files/phpunit/php-token-stream/db32c18eba00b121c145575fcbcd4d4d24e6db74.zip into cache Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/phpunit/php-token-stream/d8f7babec98475553410c41ce40cebf8’ -d ’/opt/storyplayer/storyplayer/vendor/composer/c8215ab0’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/c8215ab0’

REASON: phpunit/php-code-coverage 2.0.15 requires phpunit/php-token-stream ~1.3 -> satisfiable by phpunit/php-token-stream[1.3.0, 1.4.0].

- Installing phpunit/php-code-coverage(2.0.15) Downloading https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/34cc484af1ca149188d0d9e91412191e398e0b67 Downloading: 100% Writing /home/deepak/.composer/cache/files/phpunit/php-code-coverage/34cc484af1ca149188d0d9e91412191e398e0b67.zip into cache Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/phpunit/php-code-coverage/070381e4e7d02391a7267ca3286dc116’ -d ’/opt/storyplayer/storyplayer/vendor/composer/b9bd1f43’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/b9bd1f43’

REASON: phpunit/phpunit 4.5.0 requires phpunit/php-code-coverage ~2.0 -> satisfiable by phpunit/php-code-coverage[2.0.0, 2.0.1, 2.0.10, 2.0.11, 2.0.12, 2.0.13, 2.0.14, 2.0.15, 2.0.2, 2.0.3, 2.0.4, 2.0.5, 2.0.6, 2.0.7, 2.0.8, 2.0.9].

- Installing phpunit/phpunit(4.5.0) Downloading https://api.github.com/repos/sebastianbergmann/phpunit/zipball/5b578d3865a9128b9c209b011fda6539ec06e7a5 Downloading: 100% Writing /home/deepak/.composer/cache/files/phpunit/phpunit/5b578d3865a9128b9c209b011fda6539ec06e7a5.zip into cache Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/phpunit/phpunit/c4fb13d2d024ebe94df766398785564e’ -d ’/opt/storyplayer/storyplayer/vendor/composer/0aa0e7f3’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/0aa0e7f3’

REASON: datasift/stone 1.9.13 requires phpunit/phpunit ~4.5 -> satisfiable by phpunit/phpunit[4.5.0].

- Installing datasift/stone(1.9.13) Downloading https://api.github.com/repos/datasift/ms-lib-stone/zipball/07ac2c438fb2fd783ed60b443805aa91062c39d0 Downloading: 100% Writing /home/deepak/.composer/cache/files/datasift/stone/07ac2c438fb2fd783ed60b443805aa91062c39d0.zip into cache Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/datasift/stone/51d992cf8e39cf7d041bc51408514788’ -d ’/opt/storyplayer/storyplayer/vendor/composer/ae4de42c’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/ae4de42c’

REASON: datasift/storyplayer 1.5.8 requires datasift/stone >=1.5.0 -> satisfiable by datasift/stone[1.5.0, 1.5.1, 1.5.2, 1.5.3, 1.5.4, 1.5.5, 1.6.0, 1.6.1, 1.6.2, 1.6.3, 1.6.4, 1.6.5, 1.6.6, 1.6.7, 1.6.8, 1.6.9, 1.7.0, 1.7.1, 1.7.2, 1.8.0, 1.8.1, 1.9.0, 1.9.1, 1.9.10, 1.9.11, 1.9.12, 1.9.13, 1.9.2, 1.9.3, 1.9.4, 1.9.5, 1.9.6, 1.9.7, 1.9.8, 1.9.9].

- Installing datasift/webdriver(1.5.2) Downloading https://api.github.com/repos/datasift/php_webdriver/zipball/3274a66007382a25fec3a5da2deb5fb55eab5927 Downloading: 100% Writing /home/deepak/.composer/cache/files/datasift/webdriver/3274a66007382a25fec3a5da2deb5fb55eab5927.zip into cache Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/datasift/webdriver/e942c5be451d58c532a3277af5465426’ -d ’/opt/storyplayer/storyplayer/vendor/composer/ded7c928’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/ded7c928’

REASON: datasift/storyplayer 1.5.8 requires datasift/webdriver >=1.5.0 -> satisfiable by datasift/webdriver[1.5.0, 1.5.1, 1.5.2].

344 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

- Installing phix/exceptionslib(1.1.6) Downloading https://api.github.com/repos/stuartherbert/ExceptionsLib/zipball/b27d393a178ad664dec4a0d49263608b9ad9806c Downloading: 100% Writing /home/deepak/.composer/cache/files/phix/exceptionslib/b27d393a178ad664dec4a0d49263608b9ad9806c.zip into cache Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/phix/exceptionslib/d37a7542ee710c1d8c2ced57afafd14c’ -d ’/opt/storyplayer/storyplayer/vendor/composer/42ed2734’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/42ed2734’

REASON: phix/validationlib 4.2.0 requires phix/exceptionslib 1.* -> satisfiable by phix/exceptionslib[1.1.5, 1.1.6].

- Installing phix/validationlib(4.2.0) Downloading https://api.github.com/repos/stuartherbert/ValidationLib/zipball/70bc0f9f37ca2893cb55fa5d53f6a211ed22578d Downloading: 100% Writing /home/deepak/.composer/cache/files/phix/validationlib/70bc0f9f37ca2893cb55fa5d53f6a211ed22578d.zip into cache Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/phix/validationlib/dcac5c90f670780d971f2ddddd8981d1’ -d ’/opt/storyplayer/storyplayer/vendor/composer/0f0782b2’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/0f0782b2’

REASON: phix/cliengine 1.3.2 requires phix/validationlib 4.* -> satisfiable by phix/validationlib[4.0.1, 4.0.2, 4.1.0, 4.2.0].

- Installing phix/consoledisplaylib(4.0.2) Downloading https://api.github.com/repos/stuartherbert/ConsoleDisplayLib/zipball/d5860841db19a444266a92cc2e9420fce7a97e21 Downloading: 100% Writing /home/deepak/.composer/cache/files/phix/consoledisplaylib/d5860841db19a444266a92cc2e9420fce7a97e21.zip into cache Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/phix/consoledisplaylib/c57b0aee824e9176631789e8539f3353’ -d ’/opt/storyplayer/storyplayer/vendor/composer/200d8b4a’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/200d8b4a’

REASON: phix/cliengine 1.3.2 requires phix/consoledisplaylib 4.* -> satisfiable by phix/consoledisplaylib[4.0.1, 4.0.2].

- Installing phix/contractlib(2.1.4) Downloading https://api.github.com/repos/stuartherbert/ContractLib/zipball/93f7a623426063f3a13f17a3a940cb80cc9a05b4 Downloading: 100% Writing /home/deepak/.composer/cache/files/phix/contractlib/93f7a623426063f3a13f17a3a940cb80cc9a05b4.zip into cache Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/phix/contractlib/88dbd4c59b5d71c35ed7bb3f68702542’ -d ’/opt/storyplayer/storyplayer/vendor/composer/06337270’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/06337270’

REASON: phix/commandlinelib 4.2.0 requires phix/contractlib 2.* -> satisfiable by phix/contractlib[2.1.3, 2.1.4].

- Installing phix/commandlinelib(4.2.0) Downloading https://api.github.com/repos/stuartherbert/CommandLineLib/zipball/447c1608d8bfd4ffd390ae61183e023495881a21 Downloading: 100% Writing /home/deepak/.composer/cache/files/phix/commandlinelib/447c1608d8bfd4ffd390ae61183e023495881a21.zip into cache Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/phix/commandlinelib/d962f3a1671e6c8b413f082df120527f’ -d ’/opt/storyplayer/storyplayer/vendor/composer/9db26cbf’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/9db26cbf’

REASON: phix/cliengine 1.3.2 requires phix/commandlinelib 4.* -> satisfiable by phix/commandlinelib[4.0.0, 4.0.1, 4.1.0, 4.2.0].

- Installing phix/autoloader(4.3.3) Downloading https://api.github.com/repos/stuartherbert/Autoloader/zipball/bcb15eaadc74e9debd309831b2cb47b540f8a861 Downloading: 100% Writing /home/deepak/.composer/cache/files/phix/autoloader/bcb15eaadc74e9debd309831b2cb47b540f8a861.zip into cache Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/phix/autoloader/e44990011ae95de29d7711a172e7d08e’ -d ’/opt/storyplayer/storyplayer/vendor/composer/43adb134’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/43adb134’

REASON: datasift/storyplayer 1.5.8 requires phix/autoloader 4.* -> satisfiable by phix/autoloader[4.3.1, 4.3.2, 4.3.3].

- Installing phix/cliengine(1.3.2) Downloading https://api.github.com/repos/stuartherbert/CliEngine/zipball/ad5a66a84ec3d717ef558375442bd0becee4d992 Downloading: 100% Writing /home/deepak/.composer/cache/files/phix/cliengine/ad5a66a84ec3d717ef558375442bd0becee4d992.zip into cache

1.1. Commands 345 kevells Documentation, Release 0.1

Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/phix/cliengine/a6ec29317943b4c7a36b332efe2a6477’ -d ’/opt/storyplayer/storyplayer/vendor/composer/73af218c’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/73af218c’

REASON: datasift/storyplayer 1.5.8 requires phix/cliengine @dev -> satisfiable by phix/cliengine[1.0.0, 1.1.0, 1.1.1, 1.2.0, 1.2.1, 1.3.0, 1.3.1, 1.3.2].

- Installing datasift/storyplayer(1.5.8) Downloading https://api.github.com/repos/datasift/storyplayer/zipball/711caccdec0dc253ca6ab08273d757a7b983f8c4 Downloading: 100% Writing /home/deepak/.composer/cache/files/datasift/storyplayer/711caccdec0dc253ca6ab08273d757a7b983f8c4.zip into cache Extracting archive Executing command(CWD): unzip ’/opt/storyplayer/storyplayer/vendor/datasift/storyplayer/13b06a3ef0d79cec7fc314767c604d3f’ -d ’/opt/storyplayer/storyplayer/vendor/composer/18616df3’&& chmod -R u+w ’/opt/storyplayer/storyplayer/vendor/composer/18616df3’

REASON: Required by root: Install command rule(install datasift/storyplayer 1.5.5|install datasift/storyplayer 1.5.6|install datasift/storyplayer 1.5.7|install datasift/storyplayer 1.5.8|install datasift/storyplayer 2.0.0|install datasift/storyplayer 2.0.1|install datasift/storyplayer 2.0.2|install datasift/storyplayer 2.1.0|install datasift/storyplayer 2.1.1|install datasift/storyplayer 2.1.2) symfony/event-dispatcher suggests installing symfony/dependency-injection() symfony/event-dispatcher suggests installing symfony/http-kernel() aws/aws-sdk-php suggests installing doctrine/cache(Adds support for caching of credentials and responses) aws/aws-sdk-php suggests installing monolog/monolog(Adds support for logging HTTP requests and responses) sebastian/global-state suggests installing ext-uopz( *) phpdocumentor/reflection-docblock suggests installing dflydev/markdown(~1.0) phpdocumentor/reflection-docblock suggests installing erusev/parsedown(~1.0) phpunit/php-code-coverage suggests installing ext-(>=2.2.1) phpunit/phpunit suggests installing phpunit/php-invoker(~1.1) Writing lock file Generating autoload files All settings correct for using Composer Downloading...

Composer successfully installed to: /opt/storyplayer/storyplayer/composer.phar Use it: php composer.phar Temp File /tmp/ptconfigure-temp-script-90378632638.sh Removed Program Executor Deleted if existed ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------Storyplayer: Success ------Installer Finished

Benefits • Each user story is a simple description of one feature or benefit that your product or service provides. • They are written in plain English, and they include clear acceptance tests and a place to record the ‘why’ behind anything that your product or service provides. • They can be shared between your product teams, your project management, your architects, your engineers and your testers. • Service stories are exactly like user stories, but for internal services and APIs. Storyplayer is designed from the outset to automate the testing of all of your stories - to fill that gap between unit testing and product acceptance testing.

346 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Sudonopass

Synopsis Sudonopass used to run a particular command with root permissions. The interesting thing is that when the user use sudo for a particular command, system prompts the user for current user’s password. Once the user enter the password, the command runs with root privileges. This is suitable to work with Ubuntu and Cent OS.

Help command This help command guide the user about sudonopass module. This is suitable for all type of business users. The help command shows a short list of the commands built into the sudonopass module. The following screen shot enumerate it. kevell@corp:/# ptconfigure SudoNoPass help ******************************

This command allows you to add an entry to the system sudo file that will allow your user to have passwordless sudo. This is required for quite a few of the builds provided by Golden Contact, as will perform test execution, software installs and more, silently.

SudoNoPass, sudonopass, sudo-nopass, sudo-passwordless

- install Installs the sudo without password entry example: ptconfigure sudo-nopass install

------End Help ******************************

Installation Use this module to install sudonopass on Ubuntu Linux system packages. ptconfigure sudonopass install

Install sudonopass ?(Y/N) When the user gives input, as yes automatically it will install configure the root pass access for everybody. The following screen shot will explain it. kevell@corp:/# ptconfigure sudo-nopass install Install Sudo w/o Pass for User?(Y/N) y ******************************* * Pharaoh Tools * * Sudo NoPass! * ******************************* Enter User To Install As: Kevells The following will be written to /etc/sudoers Please check if it looks wrong You may not be able to use Sudo if it is incorrect!!! Kevells ALL=NOPASSWD: ALL Is this okay?(Y/N) y ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

1.1. Commands 347 kevells Documentation, Release 0.1

Single App Installer: ------SudoNoPass: Success ------Installer Finished ******************************

Parameters Option Output Option Install sudonopass yes It will install sudonopass under ptconfigure Install sudonopass No It will exit|

Benefits • Sudonopass makes sure that root privileges are there for a specific command (or for a specific time) and not for the complete session as that may result in accidental misuse of root privileges. • The user can use sudonopass even grant limited privileges to a user. This is helpful when the user do not want a user to have control of all the root powers while doing a sudonopass. • The best advantage is that sudonopass requires user’s own login password rather than root password. This helps in keeping root password private and there is no need to change it even when a user (sudoer) leaves. • This file provides information on the commands that were execute using sudo and their time of execution. This helps administrator to keep track of even trusted users

SVN

Synopsis This module assists the users to install the latest version of SVN in Ubuntu. (often abbreviated SVN, after the command name svn) is a software versioning and revision control system distributed as free software under the Apache License.[1] Developers use Subversion to maintain current and historical versions of files such as source code, web pages, and documentation. Its goal is to be a mostly compatible successor to the widely used Concurrent Versions System (CVS). Let us see how this module facilitates in installing, uninstalling, ensuring the subversion in ubuntu.

Help Command The help command guides the users regarding the purpose and as well as about the options that are included in the SVN. It lists out the alternative parameters of SVN. It also describes the syntax for install, uninstall, ensuring the SVN. The help command for SVN module is shown as below. ptconfigure svn help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under SVN. kevell@corp:/# ptconfigure svn help ******************************

This command allows you to install the latest available SVN in the Ubuntu repositories.

SVN, svn

- install

348 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Installs the latest available(In your package manager) version of SVN example: ptconfigure svn install

- ensure Ensures SVN is installed example: ptconfigure svn ensure

- uninstall Installs the latest version of SVN example: ptconfigure svn uninstall

------End Help ******************************

Installation The command used for installing the SVN to the ubuntu is shown below. ptconfigure svn install

After inputting the command above, the following operations occurs as shown in tabular format. Parameters Alternative Parameter Op- Comments tion Install SVN? Instead of SVN, we can use Y(Yes) If the user wish to proceed the installation process they (Y/N) svn also can input as Y. Install SVN? Instead of SVN, we can use N(No) If the user wish to quit the installation process they (Y/N) svn also can input as N.| If the user proceeds the installation process, during execution of installation the following process occurs: • Reads package lists. • builds dependency tree. • reads state information. • lists out extra packages installed. • lists out new packages installed. • number of files upgraded, newly installed, removed, not upgraded. • Finally, the installation of SVN gets completed. The following screenshot depicts you about the process of installing SVN in ubuntu. kevell@corp:/# ptconfigure svn install Install SVN?(Y/N) Y ******************************* * Pharaoh Tools * * !Subversion! * ******************************* Reading package lists... Building dependency tree... Reading state information... The following extra packages will be installed: libserf-1-1 libsvn1 Suggested packages: subversion-tools db5.3-util The following NEW packages will be installed:

1.1. Commands 349 kevells Documentation, Release 0.1

libserf-1-1 libsvn1 subversion 0 upgraded,3 newly installed,0 to remove and8 not upgraded. Need to get 1,240 kB of archives. After this operation, 4,701 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main libserf-1-1 amd64 1.3.3-1ubuntu0.1[42.2 kB] Get:2 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main libsvn1 amd64 1.8.8-1ubuntu3.1[917 kB] Get:3 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main subversion amd64 1.8.8-1ubuntu3.1[280 kB] Fetched 1,240 kB in 43s(28.3 kB/s) Selecting previously unselected package libserf-1-1:amd64. (Reading database ... 211229 files and directories currently installed.) Preparing to unpack .../libserf-1-1_1.3.3-1ubuntu0.1_amd64.deb ... Unpacking libserf-1-1:amd64(1.3.3-1ubuntu0.1) ... Selecting previously unselected package libsvn1:amd64. Preparing to unpack .../libsvn1_1.8.8-1ubuntu3.1_amd64.deb ... Unpacking libsvn1:amd64(1.8.8-1ubuntu3.1) ... Selecting previously unselected package subversion. Preparing to unpack .../subversion_1.8.8-1ubuntu3.1_amd64.deb ... Unpacking subversion(1.8.8-1ubuntu3.1) ... Processing triggers for man-db(2.6.7.1-1ubuntu1) ... Setting up libserf-1-1:amd64(1.3.3-1ubuntu0.1) ... Setting up libsvn1:amd64(1.8.8-1ubuntu3.1) ... Setting up subversion(1.8.8-1ubuntu3.1) ... Processing triggers for libc-bin(2.19-0ubuntu6.5) ... [Pharaoh Logging] Adding Package subversion from the Packager Apt executed correctly ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------SVN: Success ------Installer Finished ******************************

Un install The command used for un installing the SVN to the ubuntu is shown below. ptconfigure svn uninstall

After inputting the command above, the following operations occurs as shown in the tabular format. Parameters Alternative Parameter Op- Comments tion Uninstall SVN? Instead of SVN, we can Y(Yes) If the user wish to proceed the un-installation process (Y/N) use svn also they can input as Y. Uninstall SVN? Instead of SVN, we can N(No) If the user wish to quit the un-installation process they (Y/N) use svn also can input as N.| If the user proceeds the un installation process, during execution of un installation the following process occurs: • Reads package lists. • builds dependency tree. • reads state information. • lists out packages that are automatically installed.

350 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

• lists out packages that are removed. • number of files upgraded, newly installed, removed, not upgraded. Finally, the un installation of SVN gets completed. The following screenshot depicts you about the process of un installing SVN in ubuntu. kevell@corp:/# ptconfigure svn uninstall Uninstall SVN?(Y/N) Y ******************************* * Pharaoh Tools * * !Subversion! * ******************************* [Pharaoh Logging] Removing Package subversion Reading package lists... Building dependency tree... Reading state information... The following packages were automatically installed and are no longer required: libserf-1-1 libsvn1 Use ’apt-get autoremove’ to remove them. The following packages will be REMOVED: subversion 0 upgraded,0 newly installed,1 to remove and8 not upgraded. After this operation, 1,425 kB disk space will be freed. (Reading database ... 211322 files and directories currently installed.) Removing subversion(1.8.8-1ubuntu3.1) ... Processing triggers for man-db(2.6.7.1-1ubuntu1) ... [Pharaoh Logging] Removed Package subversion from the Packager Apt ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Uninstaller: ------SVN: Success ------Installer Finished ******************************

Ensure The command used for ensuring SVN is shown below. ptconfigure svn ensure

The ensure process performs the following functions: • It will ensure whether the module is installed or not, and does not checks the version. • If the module is already installed it will report as it is already existed. • If the module is not available in the user machine, then it will proceed installation. The following screenshots depicts the process of ensuring. kevell@corp:/# ptconfigure svn ensure [Pharaoh Logging] Ensure module install is not checking versions sh: 1: svn: not found [Pharaoh Logging] Module SVN reports itself as Not Installed

1.1. Commands 351 kevells Documentation, Release 0.1

[Pharaoh Logging] Installing as not installed ******************************* * Pharaoh Tools * * !Subversion! * ******************************* Reading package lists... Building dependency tree... Reading state information... Suggested packages: subversion-tools db5.3-util The following NEW packages will be installed: subversion 0 upgraded,1 newly installed,0 to remove and8 not upgraded. Need to get0 B/280 kB of archives. After this operation, 1,425 kB of additional disk space will be used. Selecting previously unselected package subversion. (Reading database ... 211282 files and directories currently installed.) Preparing to unpack .../subversion_1.8.8-1ubuntu3.1_amd64.deb ... Unpacking subversion(1.8.8-1ubuntu3.1) ... Processing triggers for man-db(2.6.7.1-1ubuntu1) ... Setting up subversion(1.8.8-1ubuntu3.1) ... [Pharaoh Logging] Adding Package subversion from the Packager Apt executed correctly ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Benefits • The parameters used in declaring the help and installations, uninstall, ensure are not case sensitive, which is added advantage while compared to others. • The user can ensure about the availability before proceeding the installation. • It will not overwrite the packages, hence it is less time-consuming.

System Detection

Synopsis This module aims at detecting the users machine and in hand provides them the necessary information to them regarding the users system. It also provides a facility to the users to configure their applications settings. The few examples for applications settings includes mysql admin user, host, pass.

Help Command The help command leads the users regarding the purpose and as well as about the options that are included in the System detection modules. The help command lists out the alternative parameters of System detection. It also describes the syntax for detecting the users machine. The help command for System detection is shown below. ptconfigure systemdetection help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under system detection. kevell@corp:/# ptconfigure SystemDetection help ******************************

This is a default Module and provides you with a method by which you can configure Application Settings.

352 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

You can configure default application settings, ie: mysql admin user, host, pass

SystemDetection, system-detection, systemdetection

- detect Detects the Operating System example: ptconfigure system-detection detect

------End Help ******************************

Detection The command used for system detection is given below. ptconfigure systemdetection detect

After inputting the command above, the process of system detection starts. During system detection the following information’s regarding the corresponding machine are reported: • Operating System • Linux Type • Distro • Version • Architecture • Host Name • IP Address 0. • IP Address 1. Finally, After detection the information regarding the above mentioned features are clearly reported. The following screen shot depicts you about the process of system detection. Kevell@corp:/# ptconfigure system-detection detect ******************************

Systems Detection: ------

Operating System: Linux Linux Type: Debian Distro: Ubuntu Version: 14.04 Architecture: 64 Host Name: Kevells IP Address 0: 127.0.0.1 IP Address 1: 192.168.1.3

------Detection Finished ******************************

Alternative Parameters Instead of systemdetection, the following parameters can be used:

1.1. Commands 353 kevells Documentation, Release 0.1

• SystemDetection • system-detection

Benefits • The users can configure the application settings using this system detections. • The parameters used for declaring help command, system detection are not case sensitive which is an added advantage while compared to others. • It is well-to-do in both Cent OS and as well as in Ubuntu.

Teamcity module

Synopsis Teamcity is a Java-based build management and continuous integration server. This module aims to install the latest version of Teamcity server and its dependencies.

Help Command The help command guides the user to provide what is necessary to accomplish the task. The command to make use of help under the terminal is given as follows, ptconfigure Teamcity help

The snapshot below gives you a pictorial representation of help command and it listed two parameters as Teamcity and teamcity. (Parameters are case insensitive) kevell@copy:/# ptconfigure teamcity help ******************************

This command allows you to install Teamcity, the popular Build Server.

Teamcity, teamcity

- install Installs Teamcity from the Jetbrains distributed native package example: ptconfigure teamcity install

------End Help ******************************

Installation The command used for installing Teamcity module is given below, ptconfigure Teamcity install

The screenshot below explains how to install teamcity module. kevell@corp:/# ptconfigure Teamcity install Install Teamcity?(Y/N) y ******************************* * Pharaoh Tools * * ! Teamcity ! * ******************************* PHP Notice: Undefined index: version in /opt/ptconfigure/ptconfigure/src/Modules/Teamcity/Model/TeamcityUbuntu.php on line 42

354 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

[Pharaoh Logging] Ensure module install is not checking versions [Pharaoh Logging] Module Java reports itself as Installed [Pharaoh Logging] Not installing as already installed Creating /tmp/ptconfigure-temp-script-82478215982.sh chmod 755 /tmp/ptconfigure-temp-script-82478215982.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-82478215982.sh Permissions Executing /tmp/ptconfigure-temp-script-82478215982.sh --2015-01-08 14:42:15-- http://download.jetbrains.com/teamcity/TeamCity-8.1.3.tar.gz Resolving download..com(download.jetbrains.com)... 54.217.236.18 Connecting to download.jetbrains.com(download.jetbrains.com)|54.217.236.18|:80... connected. HTTP request sent, awaiting response... 302 Moved Temporarily Location: http://download-cf.jetbrains.com/teamcity/TeamCity-8.1.3.tar.gz[following] --2015-01-08 14:42:16-- http://download-cf.jetbrains.com/teamcity/TeamCity-8.1.3.tar.gz Resolving download-cf.jetbrains.com(download-cf.jetbrains.com)... 54.230.190.208, 54.230.190.220, 54.230.190.210, ... Connecting to download-cf.jetbrains.com(download-cf.jetbrains.com)|54.230.190.208|:80... connected. HTTP request sent, awaiting response... 200OK Length: 551078596(526M)[application/x-tar] Saving to: ‘TeamCity-8.1.3.tar.gz’

99%[ >] 60,46,771 63.3KB/s

Parameters Re- Comments quired ptconfigure Y(YES) This command will install Teamcity module Teamcity install Options Install Y If the user inputs Y, this module checks for supporting requirements for Teamcity if Teamcity ( exits it was updated to the new version or else it installs the fresh package with Y/N) supporting requirements. Install N If the user inputs N, the installation was aborted.| Teamcity ( Y/N)

Benefits to the users • Installs all supporting requirements to run teamcity server in an efficient manner • Ease use of access and installation • Coding is case insensitive.

Templating

Synopsis The term templating when used in the context of ptconfigure file format refers to a common feature of many software applications that define a unique non-executable file format intended specifically for that particular application. Templating formats are those whose file indicates that the file type is intended as a very high starting point from which to create other files. These types of files are usually installed templating file with new values. It suits to work with Ubuntu and centos.

Help command The help command leads the users regarding the purpose and as well as about the options that are included in the template modules. The help command lists out the alternative parameters of templating under Ptconfigure module. It also describes the syntax for detecting the user’s machine.

1.1. Commands 355 kevells Documentation, Release 0.1

The help command for templating is shown below. ptconfigure templating help

The following screenshot explains about templating. kevell@corp:/# ptconfigure templating help ******************************

This command allows you to install a templated file with new values.

Templating, templating, template

- install Installs a template example: ptconfigure template install

------End Help ******************************

Installation In ptconfigure context, templating refers to creating a single virtual machine image as a guest operat- ing system, then saving it as a tool for multiple running virtual machines. The technique is used to install both in virtualization and cloud computing management, and is common in large server warehouses. The following command helps the user to install templating. ptconfigure templating install

The following screen shot guides the user to install.

Parameters Alternative Parametrs Syn- Comments tax Install templating Instead of using templating the user can use Y(Yes) Templating can be Option functionality (Y/N) Templating, templating, template installed under pttest. Install templating Instead of using templating the user can use N(No) It can exit the screen. functionality (Y/N) Templating, templating, template|

Benefits • Template processing is used in various contexts for different purposes. • The specific purpose is ordinarily contingent upon the software application or template in use. • Non sensitive • Suits to work with Ubuntu and centos. • Updated version with new values is possible.

Tomcat

Synopsis Tomcat is an application server from ptconfigure that executes php and renders Web pages that include php coding. Tomcat is the result of developers and is available from the php Web site in both binary and source versions.

356 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Tomcat can be used as either a standalone product with its own internal Web server or together with other Web servers. Tomcat supports Ubuntu and cent OS.

Help command This command can function about the objectives and commands available under tomcat module. It also explains the command to install tomcat. Before installation the user read this help command. ptconfigure tomcat help

The following screen shots explains its function kevell@corp:/# ptconfigure Tomcat help

******************************

This command allows you to update tomcat.

Tomcat, tomcat, tom-cat

- install Installs the latest version of awstats example: ptconfigure tomcat install

------End Help ******************************

Installation Use this module to install Tomcat on Ubuntu Linux systems from php. While Ubuntu includes its own Tomcat , the official Tomcat servers are generally more up-to-date. ptconfigure tomcat install

Install tomcat?(Y/N) When the user gives input as Yes automatically it installs all depencies in default and also install updated version. The following screen shot will explain it. kevell@corp:/# ptconfigure Tomcat install Install Tomcat?(Y/N) y ******************************* * Pharaoh Tools * * Tomcat! * *******************************

Creating config file /etc/default/tomcat7 with new version Adding system user‘tomcat7’ (UID 117) ... Adding new user ‘tomcat7’(UID 117) with group‘tomcat7’ ... Not creating home directory ‘/usr/share/tomcat7’. Creating config file /etc/logrotate.d/tomcat7 with new version * Starting Tomcat servlet engine tomcat7 [OK] Reading package lists... Building dependency tree... Reading state information... The following extra packages will be installed: authbind libcommons-collections3-java libcommons-dbcp-java libcommons-pool-java libecj-java libgeronimo-jta-1.1-spec-java libservlet3.0-java libtomcat7-java tomcat7-common

1.1. Commands 357 kevells Documentation, Release 0.1

Suggested packages: libcommons-collections3-java-doc libcommons-dbcp-java-doc ecj ant libecj-java-gcj libgeronimo-jta-java-doc tomcat7-docs tomcat7-admin tomcat7-examples tomcat7-user libtcnative-1 The following NEW packages will be installed: authbind libcommons-collections3-java libcommons-dbcp-java libcommons-pool-java libecj-java libgeronimo-jta-1.1-spec-java libservlet3.0-java libtomcat7-java tomcat7 tomcat7-common 0 upgraded, 10 newly installed,0 to remove and 15 not upgraded. Need to get 6,266 kB of archives. After this operation, 8,097 kB of additional disk space will be used. Get:1 http://us.archive.ubuntu.com/ubuntu/ trusty/main libcommons-collections3-java all 3.2.1-6[602 kB] Get:2 http://us.archive.ubuntu.com/ubuntu/ trusty/main libcommons-pool-java all 1.6-2[105 kB] Get:3 http://us.archive.ubuntu.com/ubuntu/ trusty/main libcommons-dbcp-java all 1.4-3ubuntu1[149 kB] Get:4 http://us.archive.ubuntu.com/ubuntu/ trusty/main libecj-java all 3.9.0-1[1,352 kB] Get:5 http://us.archive.ubuntu.com/ubuntu/ trusty/main libgeronimo-jta-1.1-spec-java all 1.1.1-3ubuntu1[12.4 kB] Get:6 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main libservlet3.0-java all 7.0.52-1ubuntu0.1[293 kB] Get:7 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main libtomcat7-java all 7.0.52-1ubuntu0.1[3,649 kB] Get:8 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main tomcat7-common all 7.0.52-1ubuntu0.1[47.9 kB] Get:9 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main tomcat7 all 7.0.52-1ubuntu0.1[35.6 kB] Get:10 http://us.archive.ubuntu.com/ubuntu/ trusty/main authbind amd64 2.1.1[19.6 kB] Preconfiguring packages ... Fetched 6,266 kB in 8min 28s(12.3 kB/s) Selecting previously unselected package libcommons-collections3-java. (Reading database ... 199303 files and directories currently installed.) Preparing to unpack .../libcommons-collections3-java_3.2.1-6_all.deb ... Unpacking libcommons-collections3-java(3.2.1-6) ... Selecting previously unselected package libcommons-pool-java. Preparing to unpack .../libcommons-pool-java_1.6-2_all.deb ... Unpacking libcommons-pool-java(1.6-2) ... Selecting previously unselected package libcommons-dbcp-java. Preparing to unpack .../libcommons-dbcp-java_1.4-3ubuntu1_all.deb ... Unpacking libcommons-dbcp-java(1.4-3ubuntu1) ... Selecting previously unselected package libecj-java. Preparing to unpack .../libecj-java_3.9.0-1_all.deb ... Unpacking libecj-java(3.9.0-1) ... Selecting previously unselected package libgeronimo-jta-1.1-spec-java. Preparing to unpack .../libgeronimo-jta-1.1-spec-java_1.1.1-3ubuntu1_all.deb ... Unpacking libgeronimo-jta-1.1-spec-java(1.1.1-3ubuntu1) ... Selecting previously unselected package libservlet3.0-java. Preparing to unpack .../libservlet3.0-java_7.0.52-1ubuntu0.1_all.deb ... Unpacking libservlet3.0-java(7.0.52-1ubuntu0.1) ... Selecting previously unselected package libtomcat7-java. Preparing to unpack .../libtomcat7-java_7.0.52-1ubuntu0.1_all.deb ... Unpacking libtomcat7-java(7.0.52-1ubuntu0.1) ... Selecting previously unselected package tomcat7-common. Preparing to unpack .../tomcat7-common_7.0.52-1ubuntu0.1_all.deb ... Unpacking tomcat7-common(7.0.52-1ubuntu0.1) ... Selecting previously unselected package tomcat7. Preparing to unpack .../tomcat7_7.0.52-1ubuntu0.1_all.deb ... Unpacking tomcat7(7.0.52-1ubuntu0.1) ... Selecting previously unselected package authbind. Preparing to unpack .../authbind_2.1.1_amd64.deb ... Unpacking authbind(2.1.1) ... Processing triggers for ureadahead(0.100.0-16) ... ureadahead will be reprofiled on next reboot Processing triggers for man-db(2.6.7.1-1ubuntu1) ... Setting up libcommons-collections3-java(3.2.1-6) ...

358 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Setting up libcommons-pool-java(1.6-2) ... Setting up libcommons-dbcp-java(1.4-3ubuntu1) ... Setting up libecj-java(3.9.0-1) ... Setting up libgeronimo-jta-1.1-spec-java(1.1.1-3ubuntu1) ... Setting up libservlet3.0-java(7.0.52-1ubuntu0.1) ... Setting up libtomcat7-java(7.0.52-1ubuntu0.1) ... Setting up tomcat7-common(7.0.52-1ubuntu0.1) ... Setting up tomcat7(7.0.52-1ubuntu0.1) ... Setting up authbind(2.1.1) ... Processing triggers for ureadahead(0.100.0-16) ... [Pharaoh Logging] Adding Package tomcat7 from the Packager Apt executed correctly ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------Tomcat: Success ------Installer Finished

******************************

Parameters Alternate Parameters Op- Comments tions Install Instead of using tomcat we can use Tomcat, Y It will install tomcat under Option tomcat(Y/N) tom-cat ptconfigure Install Instead of using tomcat we can use Tomcat, N The system exit the installation tomcat(Y/N) tom-cat|

Benefits • Its fairly extensible with modules to run things like php, python, etc. • It comforts with Ubuntu and cent OS. • Non case sensitivity is a highlighted advantage. • Tomcat is the application layer where most of the logic processing happens. • Finally there would be a database layer that tomcat talks to.

Ubuntu Compiler

Synopsis This module revitalize c program. Ubuntu and other Linux distributions have extensive package reposito- ries to save the user from the trouble of compiling. With just a single command, you can build from source like a pro. It is comfort with Ubuntu and centOS.

Help command This help command guide the user about Ubuntu compiler. It is less time consuming because it can installed automatically. Suitable for C program. ptconfigure Ubuntucompiler help

1.1. Commands 359 kevells Documentation, Release 0.1

The following help command will assist the user for installation. kevell@corp:/# ptconfigure UbuntuCompiler help ******************************

This allows you to Complie programs written in C Source

UbuntuCompiler, ubuntu-compiler, ubuntucompiler

- install Installs Ubuntu Compiling tools through apt-get. example: ptconfigure ubuntu-compiler install

------End Help ******************************

Installation This is a noticeable process to install Ubuntu compiler module under ptconfigure by just using the command given below, ptconfigure Ubuntu-compiler install

After giving the command, the Ubuntu compiler will be installed with new updates. If the user input as N the following screen will come. Kevell@corp:/# ptconfigure UbuntuCompiler install Install Ubuntu Compiler?(Y/N) n ******************************

Single App Installer: ------UbuntuCompiler: Failure ------Installer Finished ******************************

Parameter Alternative Parameter Op- Comments tions Install Ubuntu compiler? UbuntuCompiler, ubuntu-compiler, Yes The system starts installation option (Y/N) ubuntucompiler process Install Ubuntu compiler? UbuntuCompiler, ubuntu-compiler, No It stops the installation (Y/N) ubuntucompiler| process

Benefits • Faster boot • Better security • Changing the kernel to pre-empt while compilation • Suitable for C program

360 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

User

Synopsis A user is anyone who uses a computer. Computer has a name for each account it creates, and it is this name by which a person gains access to use the computer. Some system services also run using restricted or privileged user accounts. Managing users is done for the purpose of security by limiting access in certain specific ways. The superuser (root) has complete access to the operating system and its configuration; it is intended for administrative use only. Unprivileged users can use the su and sudo programs for controlled privilege escalation. A fundamental part of system administration is configuring and managing users and groups. Part of this task involves monitoring the log in capabilities of all system entities. We will be exploring these concepts on an Ubuntu 12.04 VPS, but you can follow along on any up-to-date Linux distribution.

Help Command This command helps to determine the usage of User module. The user will come to know about the different way/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same. ptconfigure user help

The screenshot for the above command is listed below, kevell@corp:/# ptconfigure user help ****************************** This command allows you to modify create or modify users User, user - create Create a new system user, overwriting if it exists example: ptconfigure user create --username="somename" - remove Remove a system user example: ptconfigure user remove --username="somename" - set-password Set the password of a system user example: ptconfigure user set-password --username="somename" --new-password="somepassword" - exists Check the existence of a user example: ptconfigure user exists --username="somename" - show-groups Show groups to which a user belongs example: ptconfigure user show-groups --username="somename" - add-to-group Add user to a group example: ptconfigure user add-to-group --username="somename" --groupname="somegroupname" - remove-from-group Remove user from a group example: ptconfigure user remove-from-group --username="somename" --groupname="somegroupname" ------End Help ******************************

Create When the user needs to create a new system user account, the below given command will execute the process. ptconfigure user create --username="somename"

1.1. Commands 361 kevells Documentation, Release 0.1

Remove When the user needs to remove a system user account, the below given command will execute the process. ptconfigure user remove --username="somename"

Set-password When the user needs to set the password of a system user, the below given command will execute the process. ptconfigure user set-password --username="somename" --new-password="somepassword"

Exists When the user needs to check for the existence of a user, the below given command will execute the process. ptconfigure user exists --username="somename"

Show-groups When the user needs to show groups to which a user belongs, the below given command will execute the process. ptconfigure user show-groups --username="somename"

Add-to-group When the user needs to add user to a group, the below given command will execute the process. ptconfigure user add-to-group --username="somename" --groupname="somegroupname"

Remove-from-group When the user needs to remove user from a group, the below given command will execute the process. ptconfigure user remove-from-group --username="somename" --groupname="somegroupname"

Alternative Parameter There are two alternative parameters which can be used in command line. User, user Example: ptconfigure User help /ptconfigure user help

Benefits User authentication on Linux is a relatively flexible area of system management. There are many ways of accomplishing the same objective with very simple tools.

Varnish

Synopsis This module assists in installing the Varnish to the users machine. Varnish is a program that can greatly speed up a Web site while reducing the load on the Web server. According to Varnish’s official site, Varnish is a “Web application accelerator also known as a caching HTTP reverse proxy”. Let us see here, about how does this module performs installation of varnish of apt-get.

Help Command The help command guides the users regarding the purpose and as well as about the options that are included in the varnish module. The help command lists out the alternative parameters of varnish. It also describes the syntax for installing varnish. The help command under the varnish module is given below: ptconfigure varnish help

362 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot depicts you about the help command under varnish module. kevell@corp:/# ptconfigure Varnish help ******************************

This command allows you to install Varnish, the popular HTTP Cache

Varnish, varnish

- install Installs Varnish through apt-get example: ptconfigure varnish install

------End Help ******************************

Installation The command used for installing the varnish to the users machine is shown below. ptconfigure varnish install

After inputting the command above, the following operations occurs as shown in the tabular format. Parameters Alternative Parameters Op- Comment tions Install Varnish? Instead of Varnish, varnish can Y(Yes) If the user wish to proceed the installation process (Y/N) also be used. they can input as Y. Install Varnish? Instead of Varnish, varnish can N(No) If the user wish to Quit the installation process (Y/N) also be used. they can input as N.| If the user proceeds the installation process, during execution of installation the following process occurs: • Reads package lists. • builds dependency tree. • reads state information. • list of installed packages. • list of extra packages installed. • list of new packages installed. • number of files upgraded, newly installed, removed, not upgraded. • Finally, starting HTTP accelerator varnished. • The following screen shot depicts the above mentioned process: Kevell@corp:/# ptconfigure varnish install Install Varnish?(Y/N) y ******************************* * Pharaoh Tools * * ! Varnish ! * ******************************* Creating /tmp/ptconfigure-temp-script-95745650915.sh chmod 755 /tmp/ptconfigure-temp-script-95745650915.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-95745650915.sh Permissions

1.1. Commands 363 kevells Documentation, Release 0.1

Executing /tmp/ptconfigure-temp-script-95745650915.sh Reading package lists... Building dependency tree... Reading state information... The following extra packages will be installed: libjemalloc1 libvarnishapi1 Suggested packages: varnish-doc The following NEW packages will be installed: libjemalloc1 libvarnishapi1 varnish 0 upgraded,3 newly installed,0 to remove and6 not upgraded. Need to get 518 kB of archives. After this operation, 1,653 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libvarnishapi1 amd64 3.0.5-2[29.9 kB] Get:2 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libjemalloc1 amd64 3.5.1-2[76.8 kB] Get:3 http://in.archive.ubuntu.com/ubuntu/ trusty/universe varnish amd64 3.0.5-2[411 kB] Fetched 518 kB in 3s(152 kB/s) Selecting previously unselected package libvarnishapi1. (Reading database ... 201582 files and directories currently installed.) Preparing to unpack .../libvarnishapi1_3.0.5-2_amd64.deb ... Unpacking libvarnishapi1(3.0.5-2) ... Selecting previously unselected package libjemalloc1. Preparing to unpack .../libjemalloc1_3.5.1-2_amd64.deb ... Unpacking libjemalloc1(3.5.1-2) ... Selecting previously unselected package varnish. Preparing to unpack .../varnish_3.0.5-2_amd64.deb ... Unpacking varnish(3.0.5-2) ... Processing triggers for man-db(2.6.7.1-1ubuntu1) ... Processing triggers for ureadahead(0.100.0-16) ... Setting up libvarnishapi1(3.0.5-2) ... Setting up libjemalloc1(3.5.1-2) ... Setting up varnish(3.0.5-2) ... * Starting HTTP accelerator varnishd ...done. Processing triggers for libc-bin(2.19-0ubuntu6.4) ... Processing triggers for ureadahead(0.100.0-16) ... Temp File /tmp/ptconfigure-temp-script-95745650915.sh Removed ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------Varnish: Success ------Installer Finished ******************************

Benefits • Varnish is a modern, high-performance, open source caching reverse HTTP proxy implementation. • The parameters used for declaring help command, installation are not case sensitive which is an added advantage while compared to others. • It is well-to-do in both Cent OS and as well as in Ubuntu.

364 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Virtual box

Synopsis This module encourage installation of voice. In case of phlagrant module fully managed by virtual box. It is user friendly with Ubuntu and cent OS. The Virtual Box package installs on an existing host operating system as an application. Users of Virtual Box can load multiple guest OSs under a single host operating-system. Virtual Box has supported Open Virtualization Format (OVF).This is comfortable with Ubuntu and Cent OS.

Help command The help command guide the user to install virtual box. The following screen shot shows about installation of virtual box. kevell@corp:/# ptconfigure Virtualbox help ******************************

This command allows you to install Virtualbox, the popular Virtual Machine Solution.

Virtualbox, virtualbox

- install Installs Virtualbox through apt-get example: ptconfigure virtualbox install

------End Help ******************************

Installation This module instruct the user to install. To activate virtual box follow the command as, ptconfigure virtual box install

Then the system can enquire ptconfigure virtual box install? (Y/N) If the user enters Y then it will be installed, else it will exit the screen. kevell@corp:/# ptconfigure Virtualbox install Install Virtualbox?(Y/N) y ******************************* * Pharaoh Tools * * ! Virtualbox ! * ******************************* Creating /tmp/ptconfigure-temp-script-27415379023.sh chmod 755 /tmp/ptconfigure-temp-script-27415379023.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-27415379023.sh Permissions Executing /tmp/ptconfigure-temp-script-27415379023.sh invoke-rc.d: initscript virtualbox, action "restart" failed. Reading package lists... Building dependency tree... Reading state information... The following extra packages will be installed: dkms libgsoap4 virtualbox-dkms virtualbox-qt Suggested packages: debhelper virtualbox-guest-additions-iso vde2 The following NEW packages will be installed: dkms libgsoap4 virtualbox virtualbox-dkms virtualbox-qt 0 upgraded,5 newly installed,0 to remove and6 not upgraded. Need to get 21.2 MB of archives.

1.1. Commands 365 kevells Documentation, Release 0.1

After this operation, 85.7 MB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty/universe libgsoap4 amd64 2.8.16-2[525 kB] Get:2 http://in.archive.ubuntu.com/ubuntu/ trusty/multiverse virtualbox amd64 4.3.10-dfsg-1[15.5 MB] Get:3 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main dkms all 2.2.0.3-1.1ubuntu5.14.04[64.6 kB] Get:4 http://in.archive.ubuntu.com/ubuntu/ trusty/multiverse virtualbox-dkms all 4.3.10-dfsg-1[538 kB] Get:5 http://in.archive.ubuntu.com/ubuntu/ trusty/multiverse virtualbox-qt amd64 4.3.10-dfsg-1[4,592 kB] Fetched 21.2 MB in 54s(389 kB/s) Selecting previously unselected package libgsoap4:amd64. (Reading database ... 203014 files and directories currently installed.) Preparing to unpack .../libgsoap4_2.8.16-2_amd64.deb ... Unpacking libgsoap4:amd64(2.8.16-2) ... Selecting previously unselected package virtualbox. Preparing to unpack .../virtualbox_4.3.10-dfsg-1_amd64.deb ... Unpacking virtualbox(4.3.10-dfsg-1) ... Selecting previously unselected package dkms. Preparing to unpack .../dkms_2.2.0.3-1.1ubuntu5.14.04_all.deb ... Unpacking dkms(2.2.0.3-1.1ubuntu5.14.04) ... Selecting previously unselected package virtualbox-dkms. Preparing to unpack .../virtualbox-dkms_4.3.10-dfsg-1_all.deb ... Unpacking virtualbox-dkms(4.3.10-dfsg-1) ... Selecting previously unselected package virtualbox-qt. Preparing to unpack .../virtualbox-qt_4.3.10-dfsg-1_amd64.deb ... Unpacking virtualbox-qt(4.3.10-dfsg-1) ... Processing triggers for man-db(2.6.7.1-1ubuntu1) ... Processing triggers for ureadahead(0.100.0-16) ... Processing triggers for hicolor-icon-theme(0.13-1) ... Processing triggers for shared-mime-info(1.2-0ubuntu3) ... Processing triggers for mime-support(3.54ubuntu1.1) ... Processing triggers for gnome-menus(3.10.1-0ubuntu2) ... Processing triggers for desktop-file-utils(0.22-1ubuntu1) ... Processing triggers for bamfdaemon(0.5.1+14.04.20140409-0ubuntu1) ... Rebuilding /usr/share/applications/bamf-2.index... Setting up libgsoap4:amd64(2.8.16-2) ... Setting up virtualbox(4.3.10-dfsg-1) ... * Stopping VirtualBox kernel modules ...done. * Starting VirtualBox kernel modules * No suitable module for running kernel found ...fail! Setting up dkms(2.2.0.3-1.1ubuntu5.14.04) ... Processing triggers for ureadahead(0.100.0-16) ... Setting up virtualbox-dkms(4.3.10-dfsg-1) ... Loading new virtualbox-4.3.10 DKMS files... First Installation: checking all kernels... Building for 3.13.0-32-generic and 3.13.0-43-generic Building initial module for 3.13.0-32-generic Done. vboxdrv: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/3.13.0-32-generic/updates/dkms/ vboxnetadp.ko: Running module version sanity check. - Original module

366 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

- No original module exists within this kernel - Installation - Installing to /lib/modules/3.13.0-32-generic/updates/dkms/ vboxnetflt.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/3.13.0-32-generic/updates/dkms/ vboxpci.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/3.13.0-32-generic/updates/dkms/ depmod......

DKMS: install completed. Building initial module for 3.13.0-43-generic Done. vboxdrv: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/3.13.0-43-generic/updates/dkms/ vboxnetadp.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/3.13.0-43-generic/updates/dkms/ vboxnetflt.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/3.13.0-43-generic/updates/dkms/ vboxpci.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/3.13.0-43-generic/updates/dkms/ depmod......

DKMS: install completed. * Stopping VirtualBox kernel modules ...done. * Starting VirtualBox kernel modules

1.1. Commands 367 kevells Documentation, Release 0.1

...done. Setting up virtualbox-qt(4.3.10-dfsg-1) ... Processing triggers for libc-bin(2.19-0ubuntu6.4) ... Temp File /tmp/ptconfigure-temp-script-27415379023.sh Removed ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------Virtualbox: Success ------Installer Finished ******************************

Parameters Option Alternative Parameter Comments Options Install Virtualbox? (Y/N) Yes Virtualbox, virtualbox System starts installation process Install Virtualbox? (Y/N) No Virtualbox, virtualbox Exit the installation process|

Benefits • Voice can be installed via this module. • Both ISO images and host-connected physical devices can be mounted as CD/DVD drives. • The DVD image of a Linux distribution can be downloaded and used directly by VirtualBox.

Vmplayer

Synopsis VMPlayer can run existing virtual appliances and create its own virtual machines (which require an oper- ating system to be installed to be functional). It uses the same virtualization core as VMware Workstation, a similar program with more features, but not free of charge. VMware Player is available in ptconfigure. It is suitable with Ubuntu and CentOS.

Help command This help command guides the user to create virtual machine player. Specialized in ptconfigure. Also provides features for virtual machine player. The help command for Vmplayer is shown below. ptconfigure vmplayer help.

After inputs the above command, it starts functioning to create the player setting. It catechesis the functions of vmplayer in the screenshots.

Installation The installation of vmplayer required to make the installation in an updated version. It is a manifest process to install vmplayer module under ptconfigure by just using the command given below, ptconfigure vmplayer Install

After vitalize the command it will catechize input. When the user input as yes automatically it will install vmplayer with checking from the system. If not exit the installation. The following screen shot demonstrate vmplayer and its functions.

368 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Parameters Alternate Parameters Op- Comments tions Install vm- Instead of using vmplayer we can use Y It will install vmplayer under Option player?(Y/N) VMPlayer, VM-player ptconfigure in Pharaoh tools Install vm- Instead of using vmplayer we can use N The system exit the installation player?(Y/N) VMPlayer, VM-player|

Benefits • Run the existing virtual appliences and create virtual machine • Non case sensitive • Suitable for Ubuntu and Cent OS • Used for all kind of professionals

VMwareWorkstation

Synopsis VMwareWork station gives technical professionals powerful controls over how to set up and interact with virtual machines. Choose from a wide variety of options for installing, protecting, connecting, sharing and viewing virtual machines to save valuable time under ptconfigure. Create virtual machines that are encrypted, requires a change of password and expire at a predefined date and time. It supports Ubuntu and CentOS.

Help command This help command guides the user to interact with virtual machine. It has personalized options are installing, protecting, connecting, sharing and viewing available in ptconfigure. Also provides password enable. The help command for VMworkstation is shown below. ptconfigure VMWareworkstation help

After inputs the above command, it starts functioning to. Leverage the Snapshot feature to preserve the state of a VMware workstation so the user can return to it at any time.

Installation Installation includes installation of VMwareWork station required to make the installation in an updated version. It is a manifest process to install VMwareWork station module under ptconfigure Oracle by just using the command given below, ptconfigure VMwareWorkstation Install

After vitalize the command it will catechize input. When the user input as yes automatically it will install VMwareWork station with checking from the system. If not exit the installation. The following screen shot demonstrate VMwareWork station and its functions.

Parameters Alternate Parameters Op- Comments tions Install Instead of VMwareWork station using we can Y It will install VMwareWorkstation VMwareWork use VMwareWork station, under ptconfigure in Pharaoh tools Option station?(Y/N) VMware-Workstation Install Instead of VMwareWork station using we can N The system exit the installation VMwareWork use VMwareWork station, station?(Y/N) VMware-Workstation|

1.1. Commands 369 kevells Documentation, Release 0.1

Benefits • Non case sensitive • Suitable for Ubuntu and Cent OS • Interaction with virtual machines is possible • Verity of options are available • Changing the password is possible

VNC

Synopsis This module provides assistance for installing VNC4server via apt get. It enables connectivity for virtual machine. It facilitates ensuring before installation.

Help Command The help command provides an awareness regarding the VNC module. It also describes about the options that can be performed under this VNC module. The help command for this VNC module is given below, ptconfigure vnc help

The screen shot given below shows you an pictorial representation regarding the usage of help command under VNC module. Kevell@corp:/# ptconfigure vnc help ******************************

This command allows you to install VNC, the popular Virtual Machine Solution.

VNC, vnc

- install Installs VNC through apt-get example: ptconfigure vnc install

------End Help ******************************

Installation ptconfigure vnc install

After inputting the command as given above, the following operations takes places. Parameters Alternative Op- Comment Parameters tions Install VNC? VNC, vnc Y(Yes) If the user wish to proceed with installation process, they can (Y/N) input as Y. Install VNC? VNC, vnc N(No) If the user wish to quit the installation process, they can quit (Y/N) simply by using N.| While installing the VNC server it performs the following operations as given below: • Reads the package lists, state information, • Builds the dependency tree.

370 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

• Installs the xbase-clients as extra packages, vnc-java as suggested packages. • Installs vnc4server xbase-clients as new packages. • It also displays the number of files upgraded, newly installed, removed, not upgraded. The screen shot as given below, explains the users graphically regarding the process of installation. kevell@corp:/# ptconfigure vnc install Install VNC?(Y/N) Y ******************************* * Pharaoh Tools * * ! VNC ! * ******************************* Reading package lists... Building dependency tree... Reading state information... The following extra packages will be installed: xbase-clients Suggested packages: vnc-java The following NEW packages will be installed: vnc4server xbase-clients 0 upgraded,2 newly installed,0 to remove and8 not upgraded. Need to get 1,579 kB of archives. After this operation, 5,418 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty/universe xbase-clients all 1:7.7+1ubuntu8[2,752 B] Get:2 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/universe vnc4server amd64 4.1.1+xorg4.3.0-37ubuntu5.0.1[1,577 kB] Fetched 1,579 kB in 33s(46.6 kB/s) Selecting previously unselected package xbase-clients. (Reading database ... 211210 files and directories currently installed.) Preparing to unpack .../xbase-clients_1%3a7.7+1ubuntu8_all.deb ... Unpacking xbase-clients(1:7.7+1ubuntu8) ... Selecting previously unselected package vnc4server. Preparing to unpack .../vnc4server_4.1.1+xorg4.3.0-37ubuntu5.0.1_amd64.deb ... Unpacking vnc4server(4.1.1+xorg4.3.0-37ubuntu5.0.1) ... Processing triggers for man-db(2.6.7.1-1ubuntu1) ... Setting up xbase-clients(1:7.7+1ubuntu8) ... Setting up vnc4server(4.1.1+xorg4.3.0-37ubuntu5.0.1) ... update-alternatives: using /usr/bin/vnc4server to provide /usr/bin/vncserver(vncserver) in auto mode update-alternatives: using /usr/bin/Xvnc4 to provide /usr/bin/Xvnc(Xvnc) in auto mode update-alternatives: using /usr/bin/x0vnc4server to provide /usr/bin/x0vncserver(x0vncserver) in auto mode update-alternatives: using /usr/bin/vnc4passwd to provide /usr/bin/vncpasswd(vncpasswd) in auto mode update-alternatives: using /usr/bin/vnc4config to provide /usr/bin/vncconfig(vncconfig) in auto mode [Pharaoh Logging] Adding Package vnc4server from the Packager Apt executed correctly ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------VNC: Success ------Installer Finished ******************************

If the vnc server already exists in the users machine, it will throws an exception message as the vnc server is already

1.1. Commands 371 kevells Documentation, Release 0.1 installed. The following screenshot gives an pictorial representation regarding the exception message. kevell@corp:/# ptconfigure vnc install Install VNC?(Y/N) Y ******************************* * Pharaoh Tools * * ! VNC ! * ******************************* [Pharaoh Logging] Package vnc4server from the Packager Apt is already installed, so not installing ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------VNC: Success ------Installer Finished ******************************

Benefits • It allows the process of ensuring before installation. • It facilitates installation via apt get. • It enables the virtual machine connectivity. • In case of VNC server is already exist, it throws exceptional message during the process of ensuring.

VNCPasswd

Synopsis The vncpasswd utility should be used to create and change passwords for the VNC server authentication. It uses such passwords when started with the local desktop manager when started from the vncserver script. vncpasswd allows to enter either one or two passwords. The vncpasswd utility asks interactively if it should set the second password. This is most comfortable with ubunt and centos.

Help command Help command includes an extensive, console-based help system, reminiscent of man pages in Ubuntu. The help topics include help for installing the passward for remote or local area. Simple to write the com- mands without arguments. ptconfigure VNC-passwd help

The following screen shot can visualize it. kevell@corp:/# ptconfigure VNCPasswd help

******************************

This command allows you to install VNCPasswd, the popular Remote/Local Desktop Manager Solution.

VNCPasswd, vncpasswd, vnc-passwd

372 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

- install Installs VNCPasswd through a package manager example: ptconfigure vnc install

------End Help ******************************

Installation Installation allows the user to install vncpassward . It is very popular in Remote or local Desktop. It install the vnc passwd through package manager.The first password is the primary one, the second password can be used for view-only authentication.It is comfortable with Ubuntu and centos. ptconfigure VNC-passwd install

After key in the command the system can ask the user for input. If the user input as Y it may install the VNCpassward else it can exit. following screen shot can visualize it. kevell@corp:/# ptconfigure VNC-passwd install

Install VNCPasswd?(Y/N) Y ******************************* * Pharaoh Tools * * ! VNCPasswd ! * ******************************* E: Could not get lock /var/cache/apt/archives/lock - open(11: Resource temporarily unavailable) E: Unable to lock directory /var/cache/apt/archives/ Reading package lists... Building dependency tree... Reading state information... The following packages were automatically installed and are no longer required: gyp libc-ares-dev libc-ares2 libjs-node-uuid libv8-3.14-dev linux-headers-3.13.0-32 linux-headers-3.13.0-32-generic linux-image-3.13.0-32-generic linux-image-extra-3.13.0-32-generic node-abbrev node-ansi node-archy node-async node-block-stream node-combined-stream node-cookie-jar node-delayed-stream node-forever-agent node-form-data node-fstream node-fstream-ignore node-github-url-from-git node-glob node-graceful-fs node-gyp node-inherits node-ini node-json-stringify-safe node-lockfile node-lru-cache node-mime node-minimatch node-mkdirp node-mute-stream node-node-uuid node-nopt node-normalize-package-data node-npmlog node-once node-osenv node-qs node-read node-read-package-json node-request node-retry node-rimraf node-semver node-sha node-sigmund node-slide node-tar node-tunnel-agent node-which nodejs nodejs-dev ttf-dejavu-core Use ’apt-get autoremove’ to remove them. The following NEW packages will be installed: expect 0 upgraded,1 newly installed,0 to remove and 79 not upgraded. 9 not fully installed or removed. [Pharaoh Logging] Adding Package expect from the Packager Apt did not execute correctly Enter VNC User:

Enter VNC Pass:

Creating /tmp/ptconfigure-temp-script-40114506906.sh chmod 755 /tmp/ptconfigure-temp-script-40114506906.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-40114506906.sh Permissions

1.1. Commands 373 kevells Documentation, Release 0.1

Executing /tmp/ptconfigure-temp-script-40114506906.sh sudo: unknown user: /usr/bin/expect sudo: unable to initialize policy plugin Temp File /tmp/ptconfigure-temp-script-40114506906.sh Removed [Pharaoh Logging] Removing Package expect E: Could not get lock /var/cache/apt/archives/lock - open(11: Resource temporarily unavailable) E: Unable to lock directory /var/cache/apt/archives/ Reading package lists... Building dependency tree... Reading state information... Package ’expect’ is not installed, so not removed The following packages were automatically installed and are no longer required: gyp libc-ares-dev libc-ares2 libjs-node-uuid libv8-3.14-dev linux-headers-3.13.0-32 linux-headers-3.13.0-32-generic linux-image-3.13.0-32-generic linux-image-extra-3.13.0-32-generic node-abbrev node-ansi node-archy node-async node-block-stream node-combined-stream node-cookie-jar node-delayed-stream node-forever-agent node-form-data node-fstream node-fstream-ignore node-github-url-from-git node-glob node-graceful-fs node-gyp node-inherits node-ini node-json-stringify-safe node-lockfile node-lru-cache node-mime node-minimatch node-mkdirp node-mute-stream node-node-uuid node-nopt node-normalize-package-data node-npmlog node-once node-osenv node-qs node-read node-read-package-json node-request node-retry node-rimraf node-semver node-sha node-sigmund node-slide node-tar node-tunnel-agent node-which nodejs nodejs-dev ttf-dejavu-core Use ’apt-get autoremove’ to remove them. 0 upgraded,0 newly installed,0 to remove and 79 not upgraded. 9 not fully installed or removed. [Pharaoh Logging] Package expect from the Packager Apt is not installed, so not removed. ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------VNCPasswd: Success ------Installer Finished ******************************

Parameters Alternate Parameters Op- Comments tion Install VNC- Instead of using VNCpasswd we can use Y It will install VNCPassward Options passwd?(Y/N) VNCPasswd,vncpasswd,vnc-passwd under ptconfigure Install VNC- Instead of using VNCpasswd we can use N The system exit the passwd?(Y/N) VNCPasswd,vncpasswd,vnc-passwd| installation

Benefits • Multi-language support • VNC authentication • Optimized Performance • File transfer is possible

374 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

• Powerful deployment strategies

Wireframe sketcher

Synopsis Wireframing is an important step in any screen design process. It primarily allows you to define the information hierarchy of your design, making it easier for you to plan the layout according to how you want your user to process the information. Wireframing is important because it allows the designer to plan the layout and interaction of an interface without being distracted by colors, typeface choices or even copy. I like to explain to my clients that if a user cannot figure out where to go on a black and white wireframe, it doesn’t matter what colors you eventually use. A button has to be obvious even if it’s not shiny or brightly colored.

Help Command This command allows you to install Wireframe Sketcher, for Wireframing. The user will come to know about the different ways/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same. ptconfigure wireframe-sketcher help

Kevell@Corp:/# ptconfigure WireframeSketcher help

******************************

This command allows you to install Wireframe Sketcher, for Wireframing

WireframeSketcher, wireframe-sketcher, wireframesketcher

- install Installs the latest version of Developer Tools example: ptconfigure wireframe-sketcher install

------End Help ******************************

Installation When the user needs to install Wireframe Sketcher in machine. Below given are the command and the screenshot of the installation process. ptconfigure wireframe-sketcher install kevell@corp:/: ptconfigure wireframe-sketcher install PHP Warning: PHP Startup: Unable to load dynamic library ’/usr/lib/php5/20121212/mcrypt.so’ - /usr/lib/php5/20121212/mcrypt.so: cannot open shared object file: No such file or directory in Unknown on line 0 Install Wireframe Sketcher?(Y/N) y ******************************* * Pharaoh Tools * * Wireframe Sketcher * ******************************* [Pharaoh Logging] Ensure module install is not checking versions [Pharaoh Logging] Module Java reports itself as Installed [Pharaoh Logging] Not installing as already installed Creating /tmp/ptconfigure-temp-script-6527022738.sh chmod 755 /tmp/ptconfigure-temp-script-6527022738.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-6527022738.sh Permissions

1.1. Commands 375 kevells Documentation, Release 0.1

Executing /tmp/ptconfigure-temp-script-6527022738.sh Cloning into ’wireframe-sketcher’... remote: Counting objects: 6, done. remote: Total6(delta 0), reused0(delta 0) Unpacking objects: 100%(6/6), done. Checking connectivity... done. dpkg: dependency problems prevent configuration of wireframesketcherstudio: wireframesketcherstudio depends on default-jre | java5-runtime | java6-runtime; however: Package default-jre is not installed. Package java5-runtime is not installed. Package java6-runtime is not installed. wireframesketcherstudio depends on libwebkitgtk-1.0-0 | libwebkit-1.0-2; however: Package libwebkitgtk-1.0-0 is not installed. Package libwebkit-1.0-2 is not installed. dpkg: error processing package wireframesketcherstudio(--install): dependency problems - leaving unconfigured Errors were encountered while processing: wireframesketcherstudio Selecting previously unselected package wireframesketcherstudio. (Reading database ... 211803 files and directories currently installed.) Preparing to unpack .../WireframeSketcher-4.3.1_amd64.deb ... Unpacking wireframesketcherstudio(4.3.1-1) ... Processing triggers for hicolor-icon-theme(0.13-1) ... Processing triggers for mime-support(3.54ubuntu1.1) ... Processing triggers for gnome-menus(3.10.1-0ubuntu2) ... Processing triggers for desktop-file-utils(0.22-1ubuntu1) ... Processing triggers for bamfdaemon(0.5.1+14.04.20140409-0ubuntu1) ... Rebuilding /usr/share/applications/bamf-2.index... Reading package lists... Building dependency tree... Reading state information... Correcting dependencies... Done The following packages were automatically installed and are no longer required: libaio1 libframework2-zend-server libicu36 libmcrypt4 liboci-us-locales-zend libsqlite0 libssl0.9.8 lighttpd-zend-server php-5.3-bcmath-zend-server php-5.3-bz2-zend-server php-5.3-calendar-zend-server php-5.3-ctype-zend-server php-5.3-curl-zend-server php-5.3-exif-zend-server php-5.3-fcgi-zend-server php-5.3-fileinfo-zend-server php-5.3-ftp-zend-server php-5.3-gettext-zend-server php-5.3-imap-zend-server php-5.3-intl-zend-server php-5.3-ldap-zend-server php-5.3-loader-zend-server php-5.3-mbstring-zend-server php-5.3-mcrypt-zend-server php-5.3-oci8-zend-server php-5.3-pdo-mysql-zend-server php-5.3-pdo-pgsql-zend-server php-5.3-pgsql-zend-server php-5.3-phar-zend-server php-5.3-posix-zend-server php-5.3-soap-zend-server php-5.3-sockets-zend-server php-5.3-sqlite-zend-server php-5.3-tidy-zend-server php-5.3-tokenizer-zend-server php-5.3-xsl-zend-server php-5.3-zip-zend-server sqlite sqlite3 ttf-dejavu-core zend-server-doc Use ’apt-get autoremove’ to remove them. The following extra packages will be installed: default-jre fonts-dejavu-extra libatk-wrapper-java libatk-wrapper-java-jni libbonobo2-0 libbonobo2-common libgconf2-4 libgif4 libgnome2-0 libgnome2-bin libgnome2-common libgnomevfs2-0 libgnomevfs2-common libidl-common libidl0 libjavascriptcoregtk-1.0-0 liborbit-2-0 liborbit2 libwebkitgtk-1.0-0 libwebkitgtk-1.0-common openjdk-7-jre Suggested packages: libbonobo2-bin desktop-base libgnomevfs2-bin libgnomevfs2-extra

376 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

gnome-mime-data icedtea-7-plugin The following NEW packages will be installed: default-jre fonts-dejavu-extra libatk-wrapper-java libatk-wrapper-java-jni libbonobo2-0 libbonobo2-common libgconf2-4 libgif4 libgnome2-0 libgnome2-bin libgnome2-common libgnomevfs2-0 libgnomevfs2-common libidl-common libidl0 libjavascriptcoregtk-1.0-0 liborbit-2-0 liborbit2 libwebkitgtk-1.0-0 libwebkitgtk-1.0-common openjdk-7-jre 0 upgraded, 21 newly installed,0 to remove and 11 not upgraded. 1 not fully installed or removed. Need to get 11.9 MB of archives. After this operation, 53.1 MB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty/main libgif4 amd64 4.1.6-11[28.6 kB] Get:2 http://in.archive.ubuntu.com/ubuntu/ trusty/main libatk-wrapper-java all 0.30.4-4[30.2 kB] Get:3 http://in.archive.ubuntu.com/ubuntu/ trusty/main libatk-wrapper-java-jni amd64 0.30.4-4[25.2 kB] Get:4 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main openjdk-7-jre amd64 7u71-2.5.3-0ubuntu0.14.04.1[171 kB] Get:5 http://in.archive.ubuntu.com/ubuntu/ trusty/main default-jre amd64 2:1.7-51[940B] Get:6 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main libjavascriptcoregtk-1.0-0 amd64 2.4.7-1~ubuntu1[1,820 kB] Get:7 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main libwebkitgtk-1.0-common all 2.4.7-1~ubuntu1[107 kB] Get:8 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main libwebkitgtk-1.0-0 amd64 2.4.7-1~ubuntu1[7,229 kB] Get:9 http://in.archive.ubuntu.com/ubuntu/ trusty/main libbonobo2-common all 2.32.1-0ubuntu5[34.2 kB] Get:10 http://in.archive.ubuntu.com/ubuntu/ trusty/main libidl-common all 0.8.14-0.2ubuntu4[8,196 B] Get:11 http://in.archive.ubuntu.com/ubuntu/ trusty/main libidl0 amd64 0.8.14-0.2ubuntu4[65.9 kB] Get:12 http://in.archive.ubuntu.com/ubuntu/ trusty/main liborbit-2-0 amd64 1:2.14.19-0.3[138 kB] Get:13 http://in.archive.ubuntu.com/ubuntu/ trusty/main liborbit2 amd64 1:2.14.19-0.3[14.7 kB] Get:14 http://in.archive.ubuntu.com/ubuntu/ trusty/main libbonobo2-0 amd64 2.32.1-0ubuntu5[214 kB] Get:15 http://in.archive.ubuntu.com/ubuntu/ trusty/main libgnomevfs2-common amd64 1:2.24.4-1ubuntu6[22.8 kB] Get:16 http://in.archive.ubuntu.com/ubuntu/ trusty/main libgnomevfs2-0 amd64 1:2.24.4-1ubuntu6[210 kB] Get:17 http://in.archive.ubuntu.com/ubuntu/ trusty/main libgnome2-common all 2.32.1-4ubuntu1[33.3 kB] Get:18 http://in.archive.ubuntu.com/ubuntu/ trusty/main libgnome2-bin amd64 2.32.1-4ubuntu1[15.0 kB] Get:19 http://in.archive.ubuntu.com/ubuntu/ trusty/main libgnome2-0 amd64 2.32.1-4ubuntu1[43.2 kB] Get:20 http://in.archive.ubuntu.com/ubuntu/ trusty/main fonts-dejavu-extra all 2.34-1ubuntu1[1,736 kB] Get:21 http://in.archive.ubuntu.com/ubuntu/ trusty/main libgconf2-4 amd64 3.2.6-0ubuntu2[2,042 B] Fetched 11.9 MB in 6min 51s(29.1 kB/s) Selecting previously unselected package libgif4:amd64. (Reading database ... 212686 files and directories currently installed.) Preparing to unpack .../libgif4_4.1.6-11_amd64.deb ... Unpacking libgif4:amd64(4.1.6-11) ... Selecting previously unselected package libatk-wrapper-java. Preparing to unpack .../libatk-wrapper-java_0.30.4-4_all.deb ... Unpacking libatk-wrapper-java(0.30.4-4) ... Selecting previously unselected package libatk-wrapper-java-jni:amd64. Preparing to unpack .../libatk-wrapper-java-jni_0.30.4-4_amd64.deb ... Unpacking libatk-wrapper-java-jni:amd64(0.30.4-4) ... Selecting previously unselected package openjdk-7-jre:amd64. Preparing to unpack .../openjdk-7-jre_7u71-2.5.3-0ubuntu0.14.04.1_amd64.deb ... Unpacking openjdk-7-jre:amd64(7u71-2.5.3-0ubuntu0.14.04.1) ... Selecting previously unselected package default-jre. Preparing to unpack .../default-jre_2%3a1.7-51_amd64.deb ... Unpacking default-jre(2:1.7-51) ... Selecting previously unselected package libjavascriptcoregtk-1.0-0:amd64. Preparing to unpack .../libjavascriptcoregtk-1.0-0_2.4.7-1~ubuntu1_amd64.deb ... Unpacking libjavascriptcoregtk-1.0-0:amd64(2.4.7-1~ubuntu1) ... Selecting previously unselected package libwebkitgtk-1.0-common. Preparing to unpack .../libwebkitgtk-1.0-common_2.4.7-1~ubuntu1_all.deb ... Unpacking libwebkitgtk-1.0-common(2.4.7-1~ubuntu1) ... Selecting previously unselected package libwebkitgtk-1.0-0:amd64. Preparing to unpack .../libwebkitgtk-1.0-0_2.4.7-1~ubuntu1_amd64.deb ... Unpacking libwebkitgtk-1.0-0:amd64(2.4.7-1~ubuntu1) ...

1.1. Commands 377 kevells Documentation, Release 0.1

Selecting previously unselected package libbonobo2-common. Preparing to unpack .../libbonobo2-common_2.32.1-0ubuntu5_all.deb ... Unpacking libbonobo2-common(2.32.1-0ubuntu5) ... Selecting previously unselected package libidl-common. Preparing to unpack .../libidl-common_0.8.14-0.2ubuntu4_all.deb ... Unpacking libidl-common(0.8.14-0.2ubuntu4) ... Selecting previously unselected package libidl0:amd64. Preparing to unpack .../libidl0_0.8.14-0.2ubuntu4_amd64.deb ... Unpacking libidl0:amd64(0.8.14-0.2ubuntu4) ... Selecting previously unselected package liborbit-2-0:amd64. Preparing to unpack .../liborbit-2-0_1%3a2.14.19-0.3_amd64.deb ... Unpacking liborbit-2-0:amd64(1:2.14.19-0.3) ... Selecting previously unselected package liborbit2:amd64. Preparing to unpack .../liborbit2_1%3a2.14.19-0.3_amd64.deb ... Unpacking liborbit2:amd64(1:2.14.19-0.3) ... Selecting previously unselected package libbonobo2-0:amd64. Preparing to unpack .../libbonobo2-0_2.32.1-0ubuntu5_amd64.deb ... Unpacking libbonobo2-0:amd64(2.32.1-0ubuntu5) ... Selecting previously unselected package libgnomevfs2-common. Preparing to unpack .../libgnomevfs2-common_1%3a2.24.4-1ubuntu6_amd64.deb ... Unpacking libgnomevfs2-common(1:2.24.4-1ubuntu6) ... Selecting previously unselected package libgnomevfs2-0:amd64. Preparing to unpack .../libgnomevfs2-0_1%3a2.24.4-1ubuntu6_amd64.deb ... Unpacking libgnomevfs2-0:amd64(1:2.24.4-1ubuntu6) ... Selecting previously unselected package libgnome2-common. Preparing to unpack .../libgnome2-common_2.32.1-4ubuntu1_all.deb ... Unpacking libgnome2-common(2.32.1-4ubuntu1) ... Selecting previously unselected package libgnome2-bin. Preparing to unpack .../libgnome2-bin_2.32.1-4ubuntu1_amd64.deb ... Unpacking libgnome2-bin(2.32.1-4ubuntu1) ... Selecting previously unselected package libgnome2-0:amd64. Preparing to unpack .../libgnome2-0_2.32.1-4ubuntu1_amd64.deb ... Unpacking libgnome2-0:amd64(2.32.1-4ubuntu1) ... Selecting previously unselected package fonts-dejavu-extra. Preparing to unpack .../fonts-dejavu-extra_2.34-1ubuntu1_all.deb ... Unpacking fonts-dejavu-extra(2.34-1ubuntu1) ... Selecting previously unselected package libgconf2-4:amd64. Preparing to unpack .../libgconf2-4_3.2.6-0ubuntu2_amd64.deb ... Unpacking libgconf2-4:amd64(3.2.6-0ubuntu2) ... Processing triggers for mime-support(3.54ubuntu1.1) ... Processing triggers for gnome-menus(3.10.1-0ubuntu2) ... Processing triggers for desktop-file-utils(0.22-1ubuntu1) ... Processing triggers for bamfdaemon(0.5.1+14.04.20140409-0ubuntu1) ... Rebuilding /usr/share/applications/bamf-2.index... Processing triggers for hicolor-icon-theme(0.13-1) ... Processing triggers for man-db(2.6.7.1-1ubuntu1) ... Processing triggers for gconf2(3.2.6-0ubuntu2) ... Processing triggers for fontconfig(2.11.0-0ubuntu4.1) ... Setting up libgif4:amd64(4.1.6-11) ... Setting up libjavascriptcoregtk-1.0-0:amd64(2.4.7-1~ubuntu1) ... Setting up libwebkitgtk-1.0-common(2.4.7-1~ubuntu1) ... Setting up libwebkitgtk-1.0-0:amd64(2.4.7-1~ubuntu1) ... Setting up libbonobo2-common(2.32.1-0ubuntu5) ... Setting up libidl-common(0.8.14-0.2ubuntu4) ... Setting up libidl0:amd64(0.8.14-0.2ubuntu4) ... Setting up liborbit-2-0:amd64(1:2.14.19-0.3) ... Setting up liborbit2:amd64(1:2.14.19-0.3) ... Setting up libbonobo2-0:amd64(2.32.1-0ubuntu5) ...

378 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Setting up libgnomevfs2-common(1:2.24.4-1ubuntu6) ... Setting up libgnomevfs2-0:amd64(1:2.24.4-1ubuntu6) ... Setting up libgnome2-common(2.32.1-4ubuntu1) ... Setting up fonts-dejavu-extra(2.34-1ubuntu1) ... Setting up libgconf2-4:amd64(3.2.6-0ubuntu2) ... Setting up default-jre(2:1.7-51) ... Setting up wireframesketcherstudio(4.3.1-1) ... Setting up libatk-wrapper-java(0.30.4-4) ... Setting up libatk-wrapper-java-jni:amd64(0.30.4-4) ... Setting up openjdk-7-jre:amd64(7u71-2.5.3-0ubuntu0.14.04.1) ... update-alternatives: using /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/policytool to provide /usr/bin/policytool(policytool) in auto mode Setting up libgnome2-bin(2.32.1-4ubuntu1) ... Setting up libgnome2-0:amd64(2.32.1-4ubuntu1) ... Processing triggers for libc-bin(2.19-0ubuntu6.4) ... Temp File /tmp/ptconfigure-temp-script-6527022738.sh Removed Program Executor Deleted if existed ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------WireframeSketcher: Success ------Installer Finished ******************************

Parameters Alternative Parameter Op- Comments tion ptconfigure Either of the two alternative parameter can be used in Y Once the user provides WireframeS- command- WireframeSketcher, wireframe-sketcher, the option, System starts ketcher wireframesketcher eg: ptconfigure wireframe-sketcher Install installation process Options Install ptconfigure Either of the two alternative parameter can be used in N Once the user provides WireframeS- command- WireframeSketcher, wireframe-sketcher, the option, System Stops ketcher wireframesketcher eg: ptconfigure wireframe-sketcher Install| installation process Install

Benefits • The range of functions available • The relative priorities of the information and functions • The rules for displaying certain kinds of information • The effect of different scenarios on the display

Xvfb

Synopsis This module facilitates in installing the xvfb, which is known as popular virtual machine solution. The module provides a solution for working in an virtual machine. xvfb known as X virtual frame buffer is a display server implementing the X11 display server protocol. In contrast to other display servers Xvfb performs all graphical

1.1. Commands 379 kevells Documentation, Release 0.1 operations in memory without showing any screen output. Let us see, how this module assists in installing the xvfb via apt-get.

Help Command The help command guides the users regarding the purpose and as well as about the options that are included in the xvfb module. The help command lists out the alternative parameters of xvfb module. It also describes the syntax for installing xvfb module The help command for xvfb module is shown as below. ptconfigure Xvfb help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under xvfb module. kevell@corp:/# ptconfigure Xvfb help ******************************

This command allows you to install Xvfb, the popular Virtual Machine Solution.

Xvfb, xvfb

- install Installs Xvfb through apt-get example: ptconfigure xvfb install

------End Help ******************************

Installation The command used for installing the xvfb to the users machine is shown below. ptconfigure xvfb install

After inputting the command above, the following operations occurs as shown in the tabular format. Parameters Alternative Parameter Op- Comments tion Install Xvfb? Instead of Xvfb, xvfb can Y(Yes) If the user wish to proceed the installation process (Y/N) also be used they can input as Y. Install Xvfb? Instead of Xvfb, xvfb can N(No) If the user wish to quit the installation process they (Y/N) also be used can input as N.| If the user proceeds the installation process, during execution of installation the following process occurs: • Reads package lists. • builds dependency tree. • reads state information. • list of new packages installed. • number of files upgraded, newly installed, removed, not upgraded. Finally, the status are clearly reported and adding package xvfb from the packager Apt are executed correctly. The following screenshot depicts you about the process of installing xvfb. If the xvfb module is already existing in the users machine, it will show an message as the Package xvfb from the packager Apt is already installed. The screen shot as follows is an good example for those type of messages.

380 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

kevell@corp:/# ptconfigure xvfb install Install Xvfb?(Y/N) Y ******************************* * Pharaoh Tools * * ! Xvfb ! * ******************************* Reading package lists... Building dependency tree... Reading state information... The following NEW packages will be installed: xvfb 0 upgraded,1 newly installed,0 to remove and8 not upgraded. Need to get 747 kB of archives. After this operation, 2,191 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main xvfb amd64 2:1.15.1-0ubuntu2.6[747 kB] Fetched 747 kB in 36s(20.6 kB/s) Selecting previously unselected package xvfb. (Reading database ... 211203 files and directories currently installed.) Preparing to unpack .../xvfb_2%3a1.15.1-0ubuntu2.6_amd64.deb ... Unpacking xvfb(2:1.15.1-0ubuntu2.6) ... Processing triggers for man-db(2.6.7.1-1ubuntu1) ... Setting up xvfb(2:1.15.1-0ubuntu2.6) ... [Pharaoh Logging] Adding Package xvfb from the Packager Apt executed correctly ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------Xvfb: Success ------Installer Finished ******************************

Benefits • The parameters used for declaring help command, installation are not case sensitive which is an added advantage while compared to others. • It is well-to-do in both Cent OS and as well as in Ubuntu. • If the xvfb package is already existing in the user machine, it won’t overwrites, instead of that it will show a message as already exist. Xvfb is primarily used for testing: • Since it shares code with the real X server, it can be used to test the parts of the code that are not related to the specific hardware. • It can be used to test clients in various conditions that would otherwise require a range of different hardware; for example, it can be used to test whether clients work correctly at depths or screen sizes that are rarely supported by hardware. • Background running of clients. (the xwd program or a similar program for capturing a screenshot can be used to actually see the result) • Running programs that require an X server to be active even when they do not use it. (e.g. Clover html reports)

1.1. Commands 381 kevells Documentation, Release 0.1

Zend Server

Synopsis Zend Server is an application platform designed to run PHP applications faster and scale better on-premise or in the cloud - private, public or hybrid. Zend Server is available as a development platform for creating higher quality apps that can be deployed on any server; and a production platform for running mission critical applications that require high performance and scalability. Zend Server is the platform that enables Continuous Delivery, which provides consistency, automation and collabo- ration capabilities throughout the application delivery cycle. It is a complete, Oracle-enabled, enterprise-ready Web Application Server for running and managing PHP applications that require a high level of reliability, performance and security.

Help Command This command helps to determine the usage of Zend server module. The user will come to know about the different way/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same. ptconfigure zendserver help

The pictorial representation of the above command is listed below, kevell@corp:/# ptconfigure ZendServer help

****************************** This command allows you to update ZendServer.

ZendServer, zendserver, Zendserver

- install Installs the latest version of ZendServer example: ptconfigure zendserver install

------End Help ******************************

Installation This command helps in installing zendserver in system. If in case zendserver already available in the system this command will update the version. The below given command will execute the process of installation. ptconfigure zendserver install

The pictorial representation of the above command is listed below, kevell@corp:/# ptconfigure ZendServer install Install ZendServer? (Y/N) y ******************************* * Pharaoh Tools * * ZendServer! * ******************************* Creating /tmp/ptconfigure-temp-script-65684868988.sh chmod 755 /tmp/ptconfigure-temp-script-65684868988.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-65684868988.sh Permissions Executing /tmp/ptconfigure-temp-script-65684868988.sh --2015-01-28 12:32:03-- http://repos.zend.com/zend.key Resolving repos.zend.com (repos.zend.com)... 175.41.7.3, 175.41.7.4 Connecting to repos.zend.com (repos.zend.com)|175.41.7.3|:80... connected.

382 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

HTTP request sent, awaiting response... 200 OK Length: 1673 (1.6K) [application/pgp-keys] Saving to: âC~STDOUTâC™

100%[======>] 1,673 --.-K/s in 0.002s

2015-01-28 12:32:03 (736 KB/s) - written to stdout [1673/1673]

W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free amd64 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry http://repos.zend.com/zend-server/6.1/deb/ server/non-free i386 Packages (/var/lib/apt/lists/repos.zend.com_zend-server_6.1_deb_dists_server_non-free_binary-i386_Packages) W: Duplicate sources.list entry http://debian.datastax.com/community/ stable/main amd64 Packages (/var/lib/apt/lists/debian.datastax.com_community_dists_stable_main_binary-amd64_Packages) W: Duplicate sources.list entry http://debian.datastax.com/community/ stable/main amd64 Packages (/var/lib/apt/lists/debian.datastax.com_community_dists_stable_main_binary-amd64_Packages) W: Duplicate sources.list entry http://debian.datastax.com/community/ stable/main amd64 Packages (/var/lib/apt/lists/debian.datastax.com_community_dists_stable_main_binary-amd64_Packages) W: Duplicate sources.list entry http://debian.datastax.com/community/ stable/main amd64 Packages (/var/lib/apt/lists/debian.datastax.com_community_dists_stable_main_binary-amd64_Packages) W: Duplicate sources.list entry http://debian.datastax.com/community/ stable/main amd64 Packages (/var/lib/apt/lists/debian.datastax.com_community_dists_stable_main_binary-amd64_Packages) W: Duplicate sources.list entry http://debian.datastax.com/community/ stable/main amd64 Packages (/var/lib/apt/lists/debian.datastax.com_community_dists_stable_main_binary-amd64_Packages) W: Duplicate sources.list entry http://debian.datastax.com/community/ stable/main amd64 Packages (/var/lib/apt/lists/debian.datastax.com_community_dists_stable_main_binary-amd64_Packages) W: Duplicate sources.list entry http://debian.datastax.com/community/ stable/main amd64 Packages (/var/lib/apt/lists/debian.datastax.com_community_dists_stable_main_binary-amd64_Packages) W: Duplicate sources.list entry http://debian.datastax.com/community/ stable/main amd64 Packages (/var/lib/apt/lists/debian.datastax.com_community_dists_stable_main_binary-amd64_Packages) W: Duplicate sources.list entry http://debian.datastax.com/community/ stable/main amd64 Packages (/var/lib/apt/lists/debian.datastax.com_community_dists_stable_main_binary-amd64_Packages) W: Duplicate sources.list entry http://debian.datastax.com/community/ stable/main amd64 Packages (/var/lib/apt/lists/debian.datastax.com_community_dists_stable_main_binary-amd64_Packages) W: Duplicate sources.list entry http://debian.datastax.com/community/ stable/main i386 Packages (/var/lib/apt/lists/debian.datastax.com_community_dists_stable_main_binary-i386_Packages) W: Duplicate sources.list entry http://debian.datastax.com/community/ stable/main i386 Packages (/var/lib/apt/lists/debian.datastax.com_community_dists_stable_main_binary-i386_Packages) W: Duplicate sources.list entry http://debian.datastax.com/community/ stable/main i386 Packages (/var/lib/apt/lists/debian.datastax.com_community_dists_stable_main_binary-i386_Packages) W: Duplicate sources.list entry http://debian.datastax.com/community/ stable/main i386 Packages (/var/lib/apt/lists/debian.datastax.com_community_dists_stable_main_binary-i386_Packages) W: Duplicate sources.list entry http://debian.datastax.com/community/ stable/main i386 Packages (/var/lib/apt/lists/debian.datastax.com_community_dists_stable_main_binary-i386_Packages) W: Duplicate sources.list entry http://debian.datastax.com/community/ stable/main i386 Packages (/var/lib/apt/lists/debian.datastax.com_community_dists_stable_main_binary-i386_Packages) W: Duplicate sources.list entry http://debian.datastax.com/community/ stable/main i386 Packages (/var/lib/apt/lists/debian.datastax.com_community_dists_stable_main_binary-i386_Packages) W: Duplicate sources.list entry http://debian.datastax.com/community/ stable/main i386 Packages (/var/lib/apt/lists/debian.datastax.com_community_dists_stable_main_binary-i386_Packages) W: Duplicate sources.list entry http://debian.datastax.com/community/ stable/main i386 Packages (/var/lib/apt/lists/debian.datastax.com_community_dists_stable_main_binary-i386_Packages) W: Duplicate sources.list entry http://debian.datastax.com/community/ stable/main i386 Packages (/var/lib/apt/lists/debian.datastax.com_community_dists_stable_main_binary-i386_Packages) W: Duplicate sources.list entry http://debian.datastax.com/community/ stable/main i386 Packages (/var/lib/apt/lists/debian.datastax.com_community_dists_stable_main_binary-i386_Packages) W: Duplicate sources.list entry http://www.apache.org/dist/cassandra/debian/ 21x/main amd64 Packages (/var/lib/apt/lists/www.apache.org_dist_cassandra_debian_dists_21x_main_binary-amd64_Packages) W: Duplicate sources.list entry http://www.apache.org/dist/cassandra/debian/ 21x/main amd64 Packages (/var/lib/apt/lists/www.apache.org_dist_cassandra_debian_dists_21x_main_binary-amd64_Packages) W: Duplicate sources.list entry http://www.apache.org/dist/cassandra/debian/ 21x/main amd64 Packages (/var/lib/apt/lists/www.apache.org_dist_cassandra_debian_dists_21x_main_binary-amd64_Packages) W: Duplicate sources.list entry http://www.apache.org/dist/cassandra/debian/ 21x/main amd64 Packages (/var/lib/apt/lists/www.apache.org_dist_cassandra_debian_dists_21x_main_binary-amd64_Packages) W: Duplicate sources.list entry http://www.apache.org/dist/cassandra/debian/ 21x/main amd64 Packages (/var/lib/apt/lists/www.apache.org_dist_cassandra_debian_dists_21x_main_binary-amd64_Packages) W: Duplicate sources.list entry http://www.apache.org/dist/cassandra/debian/ 21x/main i386 Packages (/var/lib/apt/lists/www.apache.org_dist_cassandra_debian_dists_21x_main_binary-i386_Packages) W: Duplicate sources.list entry http://www.apache.org/dist/cassandra/debian/ 21x/main i386 Packages (/var/lib/apt/lists/www.apache.org_dist_cassandra_debian_dists_21x_main_binary-i386_Packages) W: Duplicate sources.list entry http://www.apache.org/dist/cassandra/debian/ 21x/main i386 Packages (/var/lib/apt/lists/www.apache.org_dist_cassandra_debian_dists_21x_main_binary-i386_Packages) W: Duplicate sources.list entry http://www.apache.org/dist/cassandra/debian/ 21x/main i386 Packages (/var/lib/apt/lists/www.apache.org_dist_cassandra_debian_dists_21x_main_binary-i386_Packages) W: Duplicate sources.list entry http://www.apache.org/dist/cassandra/debian/ 21x/main i386 Packages (/var/lib/apt/lists/www.apache.org_dist_cassandra_debian_dists_21x_main_binary-i386_Packages) W: Duplicate sources.list entry http://packages.dotdeb.org/ squeeze/all amd64 Packages (/var/lib/apt/lists/packages.dotdeb.org_dists_squeeze_all_binary-amd64_Packages) W: Duplicate sources.list entry http://packages.dotdeb.org/ squeeze/all amd64 Packages (/var/lib/apt/lists/packages.dotdeb.org_dists_squeeze_all_binary-amd64_Packages) W: Duplicate sources.list entry http://packages.dotdeb.org/ squeeze/all i386 Packages (/var/lib/apt/lists/packages.dotdeb.org_dists_squeeze_all_binary-i386_Packages) W: Duplicate sources.list entry http://packages.dotdeb.org/ squeeze/all i386 Packages (/var/lib/apt/lists/packages.dotdeb.org_dists_squeeze_all_binary-i386_Packages) W: Duplicate sources.list entry http://apt.newrelic.com/debian/ newrelic/non-free amd64 Packages (/var/lib/apt/lists/apt.newrelic.com_debian_dists_newrelic_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://apt.newrelic.com/debian/ newrelic/non-free amd64 Packages (/var/lib/apt/lists/apt.newrelic.com_debian_dists_newrelic_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://apt.newrelic.com/debian/ newrelic/non-free amd64 Packages (/var/lib/apt/lists/apt.newrelic.com_debian_dists_newrelic_non-free_binary-amd64_Packages) W: Duplicate sources.list entry http://apt.newrelic.com/debian/ newrelic/non-free i386 Packages (/var/lib/apt/lists/apt.newrelic.com_debian_dists_newrelic_non-free_binary-i386_Packages)

1.1. Commands 383 kevells Documentation, Release 0.1

W: Duplicate sources.list entry http://apt.newrelic.com/debian/ newrelic/non-free i386 Packages (/var/lib/apt/lists/apt.newrelic.com_debian_dists_newrelic_non-free_binary-i386_Packages) W: Duplicate sources.list entry http://apt.newrelic.com/debian/ newrelic/non-free i386 Packages (/var/lib/apt/lists/apt.newrelic.com_debian_dists_newrelic_non-free_binary-i386_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 amd64 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-amd64_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 amd64 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-amd64_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 amd64 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-amd64_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 i386 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-i386_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 i386 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-i386_Packages) W: Duplicate sources.list entry https://repo.varnish-cache.org/ubuntu/ precise/varnish-4.0 i386 Packages (/var/lib/apt/lists/repo.varnish-cache.org_ubuntu_dists_precise_varnish-4.0_binary-i386_Packages) W: You may want to run apt-get update to correct these problems OK Ign http://security.ubuntu.com trusty-security InRelease Get:1 http://security.ubuntu.com trusty-security Release.gpg [933 B] Get:2 http://security.ubuntu.com trusty-security Release [62.0 kB] Get:3 http://security.ubuntu.com trusty-security/main Sources [64.8 kB] Get:4 http://security.ubuntu.com trusty-security/restricted Sources [2,061 B] Hit http://www.apache.org 21x InRelease Ign http://in.archive.ubuntu.com trusty InRelease Ign http://extras.ubuntu.com trusty InRelease Hit http://www.apache.org 21x/main amd64 Packages Get:5 http://security.ubuntu.com trusty-security/universe Sources [17.4 kB] Hit http://extras.ubuntu.com trusty Release.gpg Ign http://in.archive.ubuntu.com trusty-updates InRelease Hit http://www.apache.org 21x/main i386 Packages Hit http://extras.ubuntu.com trusty Release Ign http://in.archive.ubuntu.com trusty-backports InRelease Hit http://in.archive.ubuntu.com trusty Release.gpg Hit http://extras.ubuntu.com trusty/main Sources Get:6 http://in.archive.ubuntu.com trusty-updates Release.gpg [933 B] Hit http://extras.ubuntu.com trusty/main amd64 Packages Get:7 http://security.ubuntu.com trusty-security/multiverse Sources [723 B] Hit http://in.archive.ubuntu.com trusty-backports Release.gpg Hit http://extras.ubuntu.com trusty/main i386 Packages Get:8 http://security.ubuntu.com trusty-security/main amd64 Packages [200 kB] Hit http://in.archive.ubuntu.com trusty Release Ign http://www.apache.org 21x/main Translation-en_IN Get:9 http://in.archive.ubuntu.com trusty-updates Release [62.0 kB] Ign http://www.apache.org 21x/main Translation-en Ign http://repos.zend.com server InRelease Hit http://repos.zend.com server Release.gpg Hit http://downloads.hipchat.com stable InRelease Hit http://repos.zend.com server Release Hit http://repos.zend.com server/non-free amd64 Packages Hit http://downloads.hipchat.com stable/main amd64 Packages Hit http://repos.zend.com server/non-free i386 Packages Hit http://in.archive.ubuntu.com trusty-backports Release Hit http://in.archive.ubuntu.com trusty/main Sources Hit http://downloads.hipchat.com stable/main i386 Packages Hit http://in.archive.ubuntu.com trusty/restricted Sources Hit http://in.archive.ubuntu.com trusty/universe Sources Hit http://in.archive.ubuntu.com trusty/multiverse Sources Hit http://in.archive.ubuntu.com trusty/main amd64 Packages Ign http://extras.ubuntu.com trusty/main Translation-en_IN Hit http://in.archive.ubuntu.com trusty/restricted amd64 Packages Ign http://extras.ubuntu.com trusty/main Translation-en Hit http://in.archive.ubuntu.com trusty/universe amd64 Packages Hit http://in.archive.ubuntu.com trusty/multiverse amd64 Packages Ign http://repos.zend.com server/non-free Translation-en_IN Hit http://in.archive.ubuntu.com trusty/main i386 Packages

384 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Ign http://repos.zend.com server/non-free Translation-en Hit http://in.archive.ubuntu.com trusty/restricted i386 Packages Hit http://dl.hhvm.com trusty InRelease Ign http://packages.dotdeb.org squeeze InRelease Ign http://debian.datastax.com stable InRelease Hit http://dl.hhvm.com trusty/main amd64 Packages Get:10 http://debian.datastax.com stable Release.gpg [280 B] Hit http://packages.dotdeb.org squeeze Release.gpg Hit http://in.archive.ubuntu.com trusty/universe i386 Packages Ign http://downloads.hipchat.com stable/main Translation-en_IN Hit http://dl.hhvm.com trusty/main i386 Packages Ign http://downloads.hipchat.com stable/main Translation-en Hit http://in.archive.ubuntu.com trusty/multiverse i386 Packages Hit http://in.archive.ubuntu.com trusty/main Translation-en Hit http://packages.dotdeb.org squeeze Release Hit http://in.archive.ubuntu.com trusty/multiverse Translation-en Hit http://packages.dotdeb.org squeeze/all amd64 Packages Get:11 http://debian.datastax.com stable Release [2,870 B] Hit http://packages.dotdeb.org squeeze/all i386 Packages Hit http://in.archive.ubuntu.com trusty/restricted Translation-en Get:12 http://debian.datastax.com stable/main amd64 Packages [16.2 kB] Ign http://dl.hhvm.com trusty/main Translation-en_IN Hit http://in.archive.ubuntu.com trusty/universe Translation-en Ign http://dl.hhvm.com trusty/main Translation-en Get:13 http://in.archive.ubuntu.com trusty-updates/main Sources [158 kB] Ign http://apt.newrelic.com newrelic InRelease Hit http://apt.newrelic.com newrelic Release.gpg Hit http://apt.newrelic.com newrelic Release Get:14 http://debian.datastax.com stable/main i386 Packages [16.2 kB] Hit http://apt.newrelic.com newrelic/non-free amd64 Packages Hit http://apt.newrelic.com newrelic/non-free i386 Packages Ign http://packages.dotdeb.org squeeze/all Translation-en_IN Ign http://packages.dotdeb.org squeeze/all Translation-en Get:15 http://security.ubuntu.com trusty-security/restricted amd64 Packages [8,875 B] Ign http://apt.newrelic.com newrelic/non-free Translation-en_IN Ign http://apt.newrelic.com newrelic/non-free Translation-en Ign http://debian.datastax.com stable/main Translation-en_IN Ign http://debian.datastax.com stable/main Translation-en Get:16 https://repo.varnish-cache.org precise InRelease Get:17 http://security.ubuntu.com trusty-security/universe amd64 Packages [85.3 kB] Get:18 https://repo.varnish-cache.org precise/varnish-4.0 amd64 Packages Get:19 https://repo.varnish-cache.org precise/varnish-4.0 i386 Packages Get:20 https://repo.varnish-cache.org precise/varnish-4.0 Translation-en_IN Get:21 http://in.archive.ubuntu.com trusty-updates/restricted Sources [2,061 B] Get:22 http://in.archive.ubuntu.com trusty-updates/universe Sources [97.6 kB] Ign https://repo.varnish-cache.org precise/varnish-4.0 Translation-en_IN Ign https://repo.varnish-cache.org precise/varnish-4.0 Translation-en Get:23 http://in.archive.ubuntu.com trusty-updates/multiverse Sources [3,553 B] Get:24 http://in.archive.ubuntu.com trusty-updates/main amd64 Packages [406 kB] Get:25 http://security.ubuntu.com trusty-security/multiverse amd64 Packages [1,161 B] Get:26 http://security.ubuntu.com trusty-security/main i386 Packages [190 kB] Get:27 http://security.ubuntu.com trusty-security/restricted i386 Packages [8,846 B] Get:28 http://security.ubuntu.com trusty-security/universe i386 Packages [85.3 kB] Get:29 http://security.ubuntu.com trusty-security/multiverse i386 Packages [1,412 B] Hit http://security.ubuntu.com trusty-security/main Translation-en Hit http://security.ubuntu.com trusty-security/multiverse Translation-en Hit http://security.ubuntu.com trusty-security/restricted Translation-en Hit http://security.ubuntu.com trusty-security/universe Translation-en

1.1. Commands 385 kevells Documentation, Release 0.1

Get:30 http://in.archive.ubuntu.com trusty-updates/restricted amd64 Packages [8,875 B] Get:31 http://in.archive.ubuntu.com trusty-updates/universe amd64 Packages [241 kB] Get:32 http://in.archive.ubuntu.com trusty-updates/multiverse amd64 Packages [9,382 B] Get:33 http://in.archive.ubuntu.com trusty-updates/main i386 Packages [397 kB] Get:34 http://in.archive.ubuntu.com trusty-updates/restricted i386 Packages [8,846 B] Get:35 http://in.archive.ubuntu.com trusty-updates/universe i386 Packages [241 kB] Get:36 http://in.archive.ubuntu.com trusty-updates/multiverse i386 Packages [9,558 B] Hit http://in.archive.ubuntu.com trusty-updates/main Translation-en Hit http://in.archive.ubuntu.com trusty-updates/multiverse Translation-en Hit http://in.archive.ubuntu.com trusty-updates/restricted Translation-en Hit http://in.archive.ubuntu.com trusty-updates/universe Translation-en Hit http://in.archive.ubuntu.com trusty-backports/main Sources Hit http://in.archive.ubuntu.com trusty-backports/restricted Sources Hit http://in.archive.ubuntu.com trusty-backports/universe Sources Hit http://in.archive.ubuntu.com trusty-backports/multiverse Sources Hit http://in.archive.ubuntu.com trusty-backports/main amd64 Packages Hit http://in.archive.ubuntu.com trusty-backports/restricted amd64 Packages Hit http://in.archive.ubuntu.com trusty-backports/universe amd64 Packages Hit http://in.archive.ubuntu.com trusty-backports/multiverse amd64 Packages Hit http://in.archive.ubuntu.com trusty-backports/main i386 Packages Hit http://in.archive.ubuntu.com trusty-backports/restricted i386 Packages Hit http://in.archive.ubuntu.com trusty-backports/universe i386 Packages Hit http://in.archive.ubuntu.com trusty-backports/multiverse i386 Packages Hit http://in.archive.ubuntu.com trusty-backports/main Translation-en Hit http://in.archive.ubuntu.com trusty-backports/multiverse Translation-en Hit http://in.archive.ubuntu.com trusty-backports/restricted Translation-en Hit http://in.archive.ubuntu.com trusty-backports/universe Translation-en Ign http://in.archive.ubuntu.com trusty/main Translation-en_IN Ign http://in.archive.ubuntu.com trusty/multiverse Translation-en_IN Ign http://in.archive.ubuntu.com trusty/restricted Translation-en_IN Ign http://in.archive.ubuntu.com trusty/universe Translation-en_IN Fetched 2,431 kB in 3min 8s (12.9 kB/s) Reading package lists... Temp File /tmp/ptconfigure-temp-script-65684868988.sh Removed [Pharaoh Logging] Package libmemcached6 from the Packager Apt is already installed, so not installing [Pharaoh Logging] Package php-5.3-memcached-zend-server from the Packager Apt is already installed, so not installing [Pharaoh Logging] Package php-5.3-extra-extensions-zend-server from the Packager Apt is already installed, so not installing php5_invoke prerm: Disable module xsl for cli SAPI php5_invoke prerm: Disable module xsl for cgi SAPI Zend Server Daemon: running service’s main ...

[28.01.2015 12:35:51 p11778/t140290098251648 WARNING] ZSemaphoreImpl::constructor: failed to get semaphore id: File exists Reading package lists... Building dependency tree... Reading state information... The following packages were automatically installed and are no longer required: ca-certificates-java default-jre-headless imagemagick-common java-common java-wrappers libboost-filesystem1.54.0 libboost-program-options1.54.0 libboost-regex1.54.0 libc-client2007e libfftw3-double3 libgflags2 libgoogle-glog0 libjargs-java liblqr-1-0 libmagickcore5 libmagickwand5 libonig2 libtbb2 libunwind8 mlock openjdk-7-jre-headless php5-cli php5-readline python-thrift tzdata-java Use ’apt-get autoremove’ to remove them. The following extra packages will be installed: php-5.3-common-extensions-zend-server php-5.3-xsl-zend-server Suggested packages: php-5.3-java-bridge-zend-server The following packages will be REMOVED:

386 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

php5-xsl The following NEW packages will be installed: php-5.3-common-extensions-zend-server php-5.3-xsl-zend-server zend-server-php-5.3-common 0 upgraded, 3 newly installed, 1 to remove and 301 not upgraded. Need to get 0 B/69.6 MB of archives. After this operation, 134 MB of additional disk space will be used. (Reading database ... 178719 files and directories currently installed.) Removing php5-xsl (5.5.9+dfsg-1ubuntu4.5) ... Selecting previously unselected package php-5.3-xsl-zend-server. (Reading database ... 178713 files and directories currently installed.) Preparing to unpack .../php-5.3-xsl-zend-server_5.3.26+b2_amd64.deb ... Unpacking php-5.3-xsl-zend-server (5.3.26+b2) ... Selecting previously unselected package php-5.3-common-extensions-zend-server. Preparing to unpack .../php-5.3-common-extensions-zend-server_6.0.0+b90_all.deb ... Unpacking php-5.3-common-extensions-zend-server (6.0.0+b90) ... Selecting previously unselected package zend-server-php-5.3-common. Preparing to unpack .../zend-server-php-5.3-common_6.1.0+b1177_amd64.deb ... Unpacking zend-server-php-5.3-common (6.1.0+b1177) ... Processing triggers for ureadahead (0.100.0-16) ... Setting up php-5.3-xsl-zend-server (5.3.26+b2) ... Setting up php-5.3-common-extensions-zend-server (6.0.0+b90) ... Setting up zend-server-php-5.3-common (6.1.0+b1177) ... X-Powered-By: PHP/5.3.26 ZendServer/6.1.0 Content-type: text/html

X-Powered-By: PHP/5.3.26 ZendServer/6.1.0 Content-type: text/html

X-Powered-By: PHP/5.3.26 ZendServer/6.1.0 Content-type: text/html

Stopping Zend Server 6.1.0 .. zsd is not running jqd is not running zdd is not running scd is not running lighttpd is not running monitor is not running

Zend Server stopped. Creating/Upgrading Zend databases. This may take several minutes... X-Powered-By: PHP/5.3.26 ZendServer/6.1.0 Content-type: text/html

[Pharaoh Logging] Adding Package zend-server-php-5.3-common from the Packager Apt executed correctly [Pharaoh Logging] Package libapache2-mod-php-5.3-zend-server from the Packager Apt is already installed, so not installing dpkg: error processing package zend-server-php-5.3 (--configure): subprocess installed post-installation script returned error exit status 2 Errors were encountered while processing: zend-server-php-5.3 E: Sub-process /usr/bin/dpkg returned an error code (1) Reading package lists... Building dependency tree... Reading state information... The following packages were automatically installed and are no longer required: ca-certificates-java default-jre-headless imagemagick-common java-common

1.1. Commands 387 kevells Documentation, Release 0.1

java-wrappers libboost-filesystem1.54.0 libboost-program-options1.54.0 libboost-regex1.54.0 libc-client2007e libfftw3-double3 libgflags2 libgoogle-glog0 libjargs-java liblqr-1-0 libmagickcore5 libmagickwand5 libonig2 libtbb2 libunwind8 mlock openjdk-7-jre-headless php5-cli php5-readline python-thrift tzdata-java Use ’apt-get autoremove’ to remove them. The following NEW packages will be installed: zend-server-php-5.3 0 upgraded, 1 newly installed, 0 to remove and 301 not upgraded. Need to get 0 B/2,546 B of archives. After this operation, 53.2 kB of additional disk space will be used. Selecting previously unselected package zend-server-php-5.3. (Reading database ... 180936 files and directories currently installed.) Preparing to unpack .../zend-server-php-5.3_6.1.0+b1177_amd64.deb ... Unpacking zend-server-php-5.3 (6.1.0+b1177) ... Setting up zend-server-php-5.3 (6.1.0+b1177) ... Enabling module php5. To activate the new configuration, you need to run: service apache2 restart Module rewrite already enabled Enabling site zendserver_gui. To activate the new configuration, you need to run: service apache2 reload X-Powered-By: PHP/5.3.26 ZendServer/6.1.0 Content-type: text/html

ERROR: "/usr/sbin/apache2ctl" -S 2>&1 returned with error [Pharaoh Logging] Adding Package zend-server-php-5.3 from the Packager Apt executed correctly ... All done! ******************************* Thanks for installing , visit www.pharaohtools.com for more ******************************

Single App Installer: ------ZendServer: Success ------Installer Finished ******************************

Parameters Alternative parameters Op- Comments tions ptconfigure There are three alternative parameters which can be used in command Y System starts zendserver line. zendserver , Zendserver, ZendServer Eg: ptconfigure zendserver installation Options Install install ptconfigure Zendserver install process ptconfigure There are three alternative parameters which can be used in command N System stops zendserver line. zendserver , Zendserver, ZendServer Eg: ptconfigure zendserver installation Install install ptconfigure Zendserver install.| process

Benefits • Ultimate debugging of code, queries, and framework specifics • Complete monitoring and root cause analysis • Improved code and application performance

388 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

• Easy to install, maintain, and pre-installed in the cloud • Manual or automated deployment processes • True dynamic scalability and higher availability • The only certified and fully supported PHP stack

1.1.3 PTDeploy

Synopsis

The ptdeploy envelops the applications of the users with automated deployment, build and release functions, web App versioning and infrastructure by code in PHP. It ease the users and provides automated deployment templates and installs a completely continuous build for your project.

Help Command

If you want to know the purpose of a particular module, just type the command as follows: ptdeploy ModuleName help this command will provide the usage of that particular module and also the available options in actions that you can perform. The screenshot shown under explains the usage of the module apache control under ptdeploy using the help command. kevell@corp:/# ptdeploy ApacheControl help ******************************

This command is part of Default Modules and handles Apache Server Control Functions.

ApacheControl, apachecontrol, apachectl

- start Start the Apache server example: ptdeploy apachecontrol start example: ptdeploy apachecontrol start --yes --guess example: ptdeploy apachecontrol start --yes --apache-command="apache2"

- stop Stop the Apache server example: ptdeploy apachecontrol stop example: ptdeploy apachecontrol stop --yes --guess example: ptdeploy apachecontrol stop --yes --apache-command="apache2"

- restart Restart the Apache server example: ptdeploy apachecontrol restart example: ptdeploy apachecontrol restart --yes --guess example: ptdeploy apachecontrol restart --yes --apache-command="apache2"

- reload Reloads the Apache server configuration without restarting example: ptdeploy apachecontrol reload

1.1. Commands 389 kevells Documentation, Release 0.1

example: ptdeploy apachecontrol reload --yes --guess example: ptdeploy apachecontrol reload --yes --apache-command="apache2"

------End Help ******************************

The help command also lists the alternative parameters that can be used in declaration.

Why to build this ptdeploy

In order to build for well-deployment, many files are needed to be copied from FTP or other ad hoc solutions. And also lot of Enterprise Automation tools were missing. In order to overcome these shortages ptdeploy under the pharaoh tool were build up. PHP has ptdeploy just as ruby fiils the gap in . This tool is for provisioning applications and builds to your boxes. The user can set up even simple or complex application deployment pattern to their system with one or two PHP files Or, quickly setup cloud friendly deployment patterns. ptdeploy is modular. object oriented and extendible. So if the user requires any extra modules they can create and add the new modules based on their requirements. This ptdeploy acts as a wrapper where all the steps of users deployment gets covered into a single file. This allows using a single command to fire up an instance of your applications.

Installation

Installing the ptdeploy can be done in two possible ways depending upon the availability and requirements of the users. They two ways of installing ptdeploy are: • Installing ptdeploy via ptconfigure • Installing the ptdeploy without depending on ptconfigure.

Installing ptdeploy via ptconfigure

If the user have the ptconfigure in their machine, then it is the simpler way to install ptdeploy by using the following command: sudo ptconfigure ptdeploy install --yes --guess

Installing the ptdeploy without depending on ptconfigure

If the user wish to install the ptdeploy without depending and using the ptconfigure they can use the following com- mand: sudo apt-get install php5 git git clone https://git.pharaoh-tools.com/phpengine/ptdeploy&& sudo php ptdeploy/install-silent or The below command is predictable for the users who wish to specify the location during installation.

390 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

git clone https://git.pharaoh-tools.com/phpengine/ptdeploy&& sudo php ptdeploy/install

Advanced features

Editing the host files, virtual host files, configuration files, database updates and more can all be automated using this. By using the capability of remote server management, the users can automate deployments across infrastructure of any size.

The way how the ptdeploy promotes your project using dapperfy

The word dapperfy is a ptdeploy command that creates some autopilots for your project. Using the dapperfy is very quick, and is probably the best starting point.

Capify Vs Dapperfy

When comparing the capify with dapperfy, it is obvious to say that the dapperfy is the best as it is written in PHP. The strong point is that the dapperfy ptdeploy command provides the standard set of autopilots for the users projects. where the capify provides similar function to the Ruby project.

How to Use and Available Modules

Let us see, how to use the ptdeploy tool, first, simply type as ptdeploy this command will list all the names of the modules that are available under ptdeploy. • ApacheControl - Apache Server Control • ApacheVHostEditor - Apache Virtual Host Functions • AppSettings - PTDeploy Application Settings • Autopilot - PTConfigure Autopilot - User Defined Installations • Builderfy - PTDeploy Builderfyer - Create some standard autopilots for your project • CukeConf - Cucumber Configuration • DBConfigure - Database Connection Configuration Functions • DBInstall - Database Installation Management Functions • Dapperfy - PTDeploy Dapperfyer - Automated Application Deployment autopilots for your project • Drupal - Drupal - Integration and Templates for Drupal • EnvironmentConfig - Environment Configuration - Configure Environments for a project • GitClone - GitClone Source Control Clone Functions • HostEditor - Host File Management Functions • Invoke - SSH Invocation Functions • Joomla - Joomla - Integration and Templates for Joomla • LighttpdControl - Lighttpd Server Control

1.1. Commands 391 kevells Documentation, Release 0.1

• Logging - Logging - Output errors to the logging • NginxControl - Nginx Server Control • NginxSBEditor - Nginx Server Block Functions • ParallelSshChild - Command Execution Functions • Project - PTDeploy Project Management Functions • RunCommand - Execute a Command • SFTP - SFTP Functionality • SVN - SVN Source Control Project Checkout/Download Functions • SystemDetection - System Detection - Detect the Running Operating System • Templating - Templating • Version - Versioning Functions • Wordpress - Wordpress - Integration and Templates for Wordpress here, the screenshot denotes the display of all modules available under ptconfigure. Available Commands: ------

ApacheControl - Apache Server Control ApacheVHostEditor - Apache Virtual Host Functions AppSettings - PTDeploy Application Settings Autopilot - PTConfigure Autopilot - User Defined Installations Builderfy - PTDeploy Builderfyer - Create some standard autopilots for your project CukeConf - Cucumber Configuration DBConfigure - Database Connection Configuration Functions DBInstall - Database Installation Management Functions Dapperfy - PTDeploy Dapperfyer - Automated Application Deployment autopilots for your project Drupal - Drupal - Integration and Templates for Drupal EnvironmentConfig - Environment Configuration - Configure Environments for a project GitClone - GitClone Source Control Clone Functions HostEditor - Host File Management Functions Invoke - SSH Invocation Functions Joomla - Joomla - Integration and Templates for Joomla LighttpdControl - Lighttpd Server Control Logging - Logging - Output errors to the logging NginxControl - Nginx Server Control NginxSBEditor - Nginx Server Block Functions ParallelSshChild - Command Execution Functions Project - PTDeploy Project Management Functions RunCommand - Execute a Command SFTP - SFTP Functionality SVN - SVN Source Control Project Checkout/Download Functions SystemDetection - System Detection - Detect the Running Operating System Templating - Templating Version - Versioning Functions Wordpress - Wordpress - Integration and Templates for Wordpress

392 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Apache Control

Synopsis This module is one of the default modules that aims at handling the control functions of apache server. It enables and facilitates the required control functions that are to be performed in the Apache server. Let us see, the working and purpose of control functions and how this modules involved in handling those control functions of apache server.

Help Command The help command acts as a brief user guide that leads the users how to handle and use this particular module. The syntax for help command under the Apache control is shown below: ptdeploy ApacheControl help

The syntax for declaring the help command is not case sensitive which is an added advantage. The help command also lists out the alternative parameters that can be used in declaration. The following screenshot visualize you about the help command under Apache Control. kevell@corp:/# ptdeploy ApacheControl help ******************************

This command is part of Default Modules and handles Apache Server Control Functions.

ApacheControl, apachecontrol, apachectl

- start Start the Apache server example: ptdeploy apachecontrol start example: ptdeploy apachecontrol start --yes --guess example: ptdeploy apachecontrol start --yes --apache-command="apache2"

- stop Stop the Apache server example: ptdeploy apachecontrol stop example: ptdeploy apachecontrol stop --yes --guess example: ptdeploy apachecontrol stop --yes --apache-command="apache2"

- restart Restart the Apache server example: ptdeploy apachecontrol restart example: ptdeploy apachecontrol restart --yes --guess example: ptdeploy apachecontrol restart --yes --apache-command="apache2"

- reload Reloads the Apache server configuration without restarting example: ptdeploy apachecontrol reload example: ptdeploy apachecontrol reload --yes --guess example: ptdeploy apachecontrol reload --yes --apache-command="apache2"

------End Help ******************************

The four basic control functions included in the Apache server are : • Start • Stop

1.1. Commands 393 kevells Documentation, Release 0.1

• Restart • Reload There is three possible ways in defining a control functions. For example, if we take start function, it can be defined in three different ways as required by the user as shown below. ptdeploy ApacheControl start or ptdeploy ApacheControl start --yes --guess or ptdeploy ApacheControl start --yes --apache-command="apache2"

Let us see the usage of three different syntax in declaring in upcoming topics.

Alternative parameters The following are the alternative parameters that can be defined in declarations: ApacheControl, apachecontrol, apachectl

Start function If the user wish to start the apache control function, the can use the following syntaxes as shown: ptdeploy ApacheControl start

(This is the first type of syntax in defining a control functions for apche server)

After inputting the command as above, the following steps are performed: Step 1: Do you want to start Apache? (Y/N). The user have to specify Y or N. Step 2: What is the apache service name? 0. apache2 1. httpd The user should specify whether 0 or 1 as per the requirement. After getting the input of the apache service name, it will starts the process. The following screenshot depicts the start process pictorially. kevell@corp:/# ptdeploy apachecontrol start Do you want to Start Apache?(Y/N) y What is the apache service name? (0) apache2 (1) httpd 0 Starting Apache... * Starting web server apache2 * ******************************

1Apache Controller Finished ******************************

394 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Stop Function If the user wish to stop the apache control function, the can use the following syntaxes as shown: ptdeploy apachecontrol stop --yes --guess

(This is the second type of syntax in defining a control functions for apache server)

The guess option can be used to perform a default values of the particular defined functions. For ubuntu the apche2 is the default value. For Cent OS httpd is the default value. The following screenshot depicts you about the stop function and purpose of guess options pictorially. kevell@corp:/# ptdeploy apachecontrol stop --yes --guess Stopping Apache... * Stopping web server apache2 * ******************************

1Apache Controller Finished ******************************

Restart a function If the user wish to restart the apache control function, the can use the following syntaxes as shown: ptdeploy apachecontrol restart --yes --apache-command="apache2"

(This is the third type of syntax in defining a control functions for apche server)

The user can use this third type of syntax to specify the value of the required apache command. The screen shot as shown below depicts this third type of syntax and process of restarting a function pictorially. kevell@corp:/# ptdeploy apachecontrol restart --yes --apache-command="apache2" Restarting Apache... AH00558: apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1. Set the ’ServerName’ directive globa lly to suppress this message * Restarting web server apache2

....done. ******************************

1Apache Controller Finished ******************************

Reloading a function If the user wish to reload the apache control function, the can use the following syntaxes as shown: ptdeploy apachecontrol reload or ptdeploy apachecontrol --yes --guess or ptdeploy apachecontrol --yes --apache-command="apache2"

The reload function performs reloading the apache server without restarting.

1.1. Commands 395 kevells Documentation, Release 0.1

Benefits • It is well to do in both cent-OS and ubuntu. • The parameters used for declarations are not case sensitive, which is an added advantage while compared to others. • There is three different syntax used for declaration, the user can choose one among them as per the requirements. • The three different syntax are applicable for all four control functions of start, stop, restart, reload.

ApacheVHostEditor

Synopsis Apache Virtual Hosts are used to run more than one domain off of a single IP address. This is especially useful to people who needs to handle apache vhost functions. The sites display different information to the visitors, depending on with which the users accessed the site. There is no limit to the number of virtual hosts that can be added to a Virtual Private Server(VPS).This can be suitable for Ubuntu and CentOS.

Help command The help command leads the users regarding the purpose and as well as about the options that are included in the apache virtualhost editor modules. The help command lists out the alternative parameters of apache virtualhost editor under ptdeploy module. It also describes the syntax for installing the user’s updation. The help command for apache virtualhost editor is shown below. ptdeploy Apache virtualhost editor help

The following screen shot shows the full effort of apache virtualhost editor. kevell@corp:/# ptdeploy ApacheVHostEditor help ******************************

This command is part of Default Modules and handles Apache VHosts Functions.

ApacheVHostEditor, apachevhosteditor, vhosteditor, vhe, vhosted

- add create a Virtual Host example: sudo ptdeploy vhe add example: sudo ptdeploy vhe add --yes --vhe-docroot=/var/www/the-app --vhe-url=www.dave.com --vhe-file-ext="" --vhe-apache-command="apache2" --vhe-ip-port="127.0.0.1:80" --vhe-vhost-dir="/etc/apache2/sites-available" --vhe-template="*template data*" example: sudo ptdeploy vhe add --yes --guess --vhe-url=www.dave.com # will attempt to guess the following but you can override any # --vhe-docroot=*current working dir* # --vhe-file-ext="ubuntu none, others .conf" # --vhe-apache-command="apache2 or httpd depends on system" # --vhe-ip-port="127.0.0.1:80" # --vhe-vhost-dir="/etc/apache2/sites-available or /etc/httpd/vhosts.d" # --vhe-template="*template data*" # --vhe-default-template-name="docroot-src-suffix" // from default templates

- add-balancer create a Virtual Host example: sudo ptdeploy vhe add example: sudo ptdeploy vhe add --yes --vhe-docroot=/var/www/the-app --vhe-url=www.dave.com --vhe-file-ext="" --vhe-apache-command="apache2" --vhe-ip-port="127.0.0.1:80" --vhe-vhost-dir="/etc/apache2/sites-available" --vhe-template="*template data*" example: sudo ptdeploy vhe add --yes --guess --vhe-url=www.dave.com # will attempt to guess the following but you can override any # --vhe-docroot=*current working dir* # --vhe-file-ext="ubuntu none, others .conf" # --vhe-apache-command="apache2 or httpd depends on system"

396 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

# --vhe-ip-port="127.0.0.1:80" # --vhe-vhost-dir="/etc/apache2/sites-available or /etc/httpd/vhosts.d" # --vhe-template="*template data*" # --vhe-default-template-name="docroot-src-suffix" // from default templates

- rm example: ptdeploy vhe rm example: ptdeploy vhe rm --yes -- example: ptdeploy vhe rm --yes --guess --vhe-deletion-vhost=www.site.com example: ptdeploy vhe rm --yes --guess --vhe-deletion-vhost=www.site.com

- list List current Virtual Hosts example: ptdeploy vhe list

- enable enable a Server Block example: ptdeploy vhe enable

- disable disable a Server Block example: ptdeploy vhe disable

------End Help ******************************

Alternative parameters The following are the alternative parameters that can be defined in declarations: ApacheVHostEditor, apachevhosteditor, vhosteditor, vhe, vhosted.

Add This command used to create a virtual host. Overriding is possible. The following command can be adopted for creating a virtual host editor. sudo ptdeploy vhe add after inputting the above command it may ask the following, Vhe document root,Vhe file extension,Vhe apache command, Vhe IP Port, Vhe Vhost Directory, Vhe Template,Vhe Default template name. The user has to input all the details one by one otherwise enter in the command line itself. The following screen shot explains about it - add create a Virtual Host example: sudo ptdeploy vhe add example: sudo ptdeploy vhe add --yes --vhe-docroot=/var/www/the-app --vhe-url=www.dave.com --vhe-file-ext="" --vhe-apache-command="apache2" --vhe-ip-port="127.0.0.1:80" --vhe-vhost-dir="/etc/apache2/sites-available" --vhe-template="*template data*" example: sudo ptdeploy vhe add --yes --guess --vhe-url=www.dave.com # will attempt to guess the following but you can override any # --vhe-docroot=*current working dir* # --vhe-file-ext="ubuntu none, others .conf" # --vhe-apache-command="apache2 or httpd depends on system" # --vhe-ip-port="127.0.0.1:80" # --vhe-vhost-dir="/etc/apache2/sites-available or /etc/httpd/vhosts.d" # --vhe-template="*template data*" # --vhe-default-template-name="docroot-src-suffix" // from default templates

1.1. Commands 397 kevells Documentation, Release 0.1

Add- Balancer This command used to create a virtual host. Overriding is possible. There are two ways to enter the input. In simple way the user can give vhe add. The second way along with the command host path name can be mentioned. The following command can be adopted for creating a virtual host editor. sudo ptdeploy vhe add after inputting the above command it may ask the following, Vhe document root, Vhe file extension, Vhe apache command, Vhe IP Port, Vhe Vhost Directory, Vhe Template,Vhe Default template name. The user has to input all the details one by one otherwise enter everything in the command line itself. The following screen shot explains about it - add-balancer create a Virtual Host example: sudo ptdeploy vhe add example: sudo ptdeploy vhe add --yes --vhe-docroot=/var/www/the-app --vhe-url=www.dave.com --vhe-file-ext="" --vhe-apache-command="apache2" --vhe-ip-port="127.0.0.1:80" --vhe-vhost-dir="/etc/apache2/sites-available" --vhe-template="*template data*" example: sudo ptdeploy vhe add --yes --guess --vhe-url=www.dave.com # will attempt to guess the following but you can override any # --vhe-docroot=*current working dir* # --vhe-file-ext="ubuntu none, others .conf" # --vhe-apache-command="apache2 or httpd depends on system" # --vhe-ip-port="127.0.0.1:80" # --vhe-vhost-dir="/etc/apache2/sites-available or /etc/httpd/vhosts.d" # --vhe-template="*template data*" # --vhe-default-template-name="docroot-src-suffix" // from default templates

Remove This command used to delete a particular vhost. There are two ways to enter the input. In simple way the user can give vhe remove(rm). The second way along with the command host path name can be mentioned. The following command is used to remove the host name. ptdeploy vhe rm

The following screen shot shows the function of rm. - rm example: ptdeploy vhe rm example: ptdeploy vhe rm --yes -- example: ptdeploy vhe rm --yes --guess --vhe-deletion-vhost=www.site.com example: ptdeploy vhe rm --yes --guess --vhe-deletion-vhost=www.site.com

List This command used to list the current virtual hosts. The following command used to list the virtual hosts. ptdeploy vhe list

The screen shot shows the list function. - list List current Virtual Hosts example: ptdeploy vhe list

Enable Secure Boot is a feature designed to prevent malicious software and unauthorized media from loading during the boot process. This enable option enabled the server block. In virtual host when the used typed the following command,

398 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

ptdeploy vhe enable

This option is enabled by default. This option allows the virtual host server enable. Assists module develop many of the enabling capabilities required to service high performing environments through our understanding of the interdependencies between people, process and technology. The following screen shot ex- plains the same. - enable enable a Server Block example: ptdeploy vhe enable

Disable This disable used to disable the server. Inactive or idle virtual host editor connections are normally dis- connected by the server after a certain period of time. The following command is used to disable the virtual host editor. ptdeploy vhe disable

After typing this command it can ask the user to disable the server. If the user inputs as yes it disable the server i.e. it won’t allow any body to work in that server. The following screen shot visualize it evidently. - disable disable a Server Block example: ptdeploy vhe disable

Benefits • Multi user can access at a time. • The user can add or remove virtual host. • The virtual host editor can enable or disable the virtual host according to the user’s wish. • Non case sensitivity. • Well-to-do in Ubuntu and CentOS.

Autopilot

Synopsis AutoPilot provides user defined execution. It supports to small and medium sized corporate companies ready to experience growth and find new opportunity. Our extensive Managed IT Services provide a wide variety of detailed and thorough solutions for the user business, including network, cloud, software, data backup, and IT services. We take the hassle out of user technology. In today’s competitive business environment the user don’t have time for computer problems? We make IT problems go away, for good! The user business functions best when the user don’t have to worry about the Devops technology solutions that drive it. We want to help the user put IT on AutoPilot so user can focus on the business user want to build. It is comfortable with Ubntu and cent os.

Help command The help command leads the users regarding the purpose and as well as about the options that are included in the autopilot modules. The help command lists out the alternative parameters of ptdeploy autopilot module. It also describes the syntax for detecting the user’s machine. The help command for autopilot shown below. ptdeploy autopilot help

1.1. Commands 399 kevells Documentation, Release 0.1

The following screenshot shows the functionality of autopilot. kevell@corp:/# ptdeploy Autopilot help ******************************

This command is part of a default Module and provides you with a method by which you can perform user defined executions of any ptdeploy Modules, in any order, and with your own predefined settings.

Autopilot, autopilot, auto

- install, execute, x execute all of the defined modules in your Autopilot file example: ptdeploy autopilot install --autopilot-file=*path-to-file* example: ptdeploy auto x --af=*path-to-file*

------End Help ******************************

Installation Autopilot act as a default module and also provides user defined executions. There are three options are available. They are, • Install • Execute •X ptdeploy autopilot install

After input as the above said command it starts installation. The following snap shots guides the user about autopilot installation.

Parameters Alternate parameter Comments Options Install Instead of using autopilot the user can use Autopilot, Autopilot can be installed under autopilot autopilot,auto ptdeploy.|

Benefits • Increased operational efficiency • Reduce and control operating costs • Cost-effective access to Enterprise-level Support • Experience Minimized Downtime • Ability to focus on running the user defined execution • Non case sensitivity. • Complacent work with Ubuntu and cent OS.

Dapperfy

Synopsis Dapperfy is a fine part of default core module that helps and supports the users in creating a standard set of autopilots files for their projects. The users can configure default applications settings. For example: mysql admin user, host, pass.

400 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Let us see how to use dapper standard and dapper list functions under this module from the upcoming topics.

Help Command The help command envelops all the necessary information regarding dapperfy such as its primary uses, the list of alternative parameters that can be used in the declaration, what are primary function of dapperfy(Ex: standard, list), and also the syntax used for declaring those interesting functions. The following command is used for declaring help option under dapperfy, ptdeploy Dapperfy help

The following screen shot depicts pictorially about the working of help command. kevell@corp:/# ptdeploy Dapperfy help ******************************

This command is part of a default Module Core and provides you with a method by which you can create a standard set of Autopilot files for your project from the command line. You can configure default application settings, ie: mysql admin user, host, pass

Dapperfy, dapperfy

- list List all of the autopilot files in your build/config/ptdeploy/autopilots example: ptdeploy dapperfy list

- standard Create a standard set of autopilots to manage example: ptdeploy dapperfy standard

The start of the command will be ptdeploy autopilot execute *filename*

------Drupal Module:

The Drupal module extends Dapperfy by providing Templates for automated deployment Autopilots that will be configured for your particular Drupal site. This module adds the ’drupal’ action to dapperfy.

- drupal create drupal tailored automated deployment ptdeploy autopilots example: ptdeploy dapperfy drupal --yes --guess

------Joomla Module:

The Joomla module extends Dapperfy by providing Templates for automated deployment Autopilots that will be configured for your particular Joomla site. This module adds the ’joomla’ action to dapperfy.

- joomla, joomla30 create joomla tailored automated deployment ptdeploy autopilots example: ptdeploy dapperfy joomla --yes --guess

- joomla-phlagrant, joomla30-phlagrant create joomla tailored automated deployment ptdeploy autopilots for your Phlagrant Virtual Machines example: ptdeploy dapperfy joomla-phlagrant --yes --guess ------Wordpress Module:

1.1. Commands 401 kevells Documentation, Release 0.1

The Wordpress module extends Dapperfy by providing Templates for automated deployment Autopilots that will be configured for your particular Wordpress site. This module adds the ’’ action to dapperfy.

- wordpress create wordpress tailored automated deployment ptdeploy autopilots example: ptdeploy dapperfy wordpress --yes --guess ------End Help ******************************

How to Use Dapper Standard The command used for dapperfy standard is shown below, ptdeploy dapperfy standard

After entering the command given above, the following process as described in the below table will occurs in a step- by-step basis. Parameters Alternative Parameters Op- Comments tions Dapperfy This? (Y/N) Instead of dapperfy, we Y(Yes) If the user wish to proceed dapperfying process can use Dapperfy also. they can input as Y. Dapperfy This? (Y/N) Instead of dapperfy, we N(No) If the user wish to quit the dapperfying process can use Dapperfy also. they can input as N. Use existing Y(Yes) If the user wish to proceed with the existing environment settings? environment settings they can input as Y. (Y/N) Use existing N(No) If the user wish to proceed with the new environment settings? environment settings they can input as N. (Y/N) Do you want to add Y(Yes) If the user wish to add another environment for another environment? dapperfying they can input as Y. Do you want to add N(No) If the user is not in need of adding another another environment? environment for dapperfying they can input as N.| The two different types of screenshots can be useful for the users in defining a pictorial representation of dapperfying process. The second screen shot depicts method of specifying willingness in using existing environment settings. kevell@corp:/# ptdeploy dapperfy standard Dapperfy This?(Y/N) Y Use existing environment settings?(Y/N) n Do you want to add another environment?(Y/N) n //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-invoke-code-data.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-invoke-code-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-invoke-code-no-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-invoke-enforce-revisions.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-invoke-rollback-newest.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-invoke-rollback-previous.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-node-install-code-no-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-node-install-enforce-revisions.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-node-install-rollback-newest.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-node-install-rollback-previous.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-node-uninstall-code-data.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-node-uninstall-code.php

402 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

//build/config/ptdeploy/dapperfy/autopilots/generated/default-local-nodepool-install-code-no-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-phlagrant-host-install-host-file-entry.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-phlagrant-host-uninstall-host-file-entry.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-phlagrant-install-code-no-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-workstation-install-code-no-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-workstation-uninstall-code-data.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-workstation-uninstall-code.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-invoke-code-data.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-invoke-code-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-invoke-code-no-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-invoke-enforce-revisions.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-invoke-rollback-newest.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-invoke-rollback-previous.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-node-install-code-no-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-node-install-enforce-revisions.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-node-install-rollback-newest.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-node-install-rollback-previous.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-node-uninstall-code-data.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-node-uninstall-code.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-nodepool-install-code-no-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-phlagrant-host-install-host-file-entry.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-phlagrant-host-uninstall-host-file-entry.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-phlagrant-install-code-no-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-workstation-install-code-no-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-workstation-uninstall-code-data.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-workstation-uninstall-code.php ******************************

Success In Dapperfy ******************************

How to use Dapperfy List The primary goal of list function is to list all of the autopilot files of the users projects that are available in a particular location. The syntax for using the list under dapperfy is shown below, ptdeploy dapperfy list

The screen shot shown below depicts the working of list option under dapperfy.

Benefits • It is well-to-do in both ubuntu and as well as in cent OS. • The parameters used in declaration is not case sensitive. • The user can view the list of autopilots files that are available for their projects. • While dapperfying, the user can specify the environment settings they requires. • Many environments can be added to dapperfy.

DBConfigure

Synopsis This modules monikers database function. Configuration can be derived from this database can be placed in the same assembly as a database derived from DbContext to define Entity Framework configuration for an ap- plication. Configuration is set by calling protected methods and setting protected properties of this database in the

1.1. Commands 403 kevells Documentation, Release 0.1 constructor of user’s derived type. The type to use can also be registered in the config file of the application. This is sufficient with Ubuntu and centOS.

Help command The help command guides the user to handle database in ptdeploy. This help command guides the user to create a conf. This also reset the current database. Databases are used to support internal operations of organizations and to underpin online interactions with customers and suppliers. The help command for dbconfigure is shown below. ptdeploy DBConfigure help

After inputs the above command, it starts functioning to handle database. It catechesis the functions in the screenshots. The following screen shot shows about DBConfigure. kevell@corp:/# ptdeploy DBConfigure help ******************************

This command is part of Default Modules and handles Databasing Functions.

DBConfigure, db-configure, dbconfigure, db-conf

- configure, conf set up db user & pw for a project, use admins to create new resources as needed. example: ptdeploy db-conf conf drupal example: ptdeploy db-conf conf --yes --platform=joomla30 --mysql-host=127.0.0.1 --mysql-admin-user="" --mysql-user="impi_dv_user" --mysql-pass="impi_dv_pass" --mysql-db="impi_dv_db"

- reset reset current db to generic values so ptdeploy can write them. may need to be run before db conf. example: ptdeploy db-conf reset drupal example: ptdeploy db-conf reset --yes --platform=joomla30

Alternative parameter There are four alternative parameters available. DBConfigure, db-configure, dbconfigure, db-conf.

Configure, conf This process set up database user and passward for a project. Also use admin to create new resources if they need . The following screen shot shows its function. - configure, conf set up db user & pw for a project, use admins to create new resources as needed. example: ptdeploy db-conf conf drupal example: ptdeploy db-conf conf --yes --platform=joomla30 --mysql-host=127.0.0.1 --mysql-admin-user="" --mysql-user="impi_dv_user" --m ysql-pass="impi_dv_pass" --mysql-db="impi_dv_db"

The following command used to configure. ptdeploy db-conf Conf

After key in the above said command the following process can be functioned. It has been shown in the screen shots. After input as ‘’Y”, It asks MySql admin user, Mysql host,application Db User,and application db password, Db name. The user enters the input for these this process start its functions

Reset This process used to reset current database to generic values. In such cases ptdeploy can write before run database configuration. The name of the database can be input in the same command line itself. The following command used to reset.

404 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

ptdeploy db-conf reset

The following screenshot shows the function of this process. - reset reset current db to generic values so ptdeploy can write them. may need to be run before db conf. example: ptdeploy db-conf reset drupal example: ptdeploy db-conf reset --yes --platform=joomla30

Parameters Option Comments Option Do you want to configure a database? Yes Configured the database undder ptdeploy. Do you want to configure a database? No Exit the configuration screen|

Benefits • The Advantage Database config is a high-performance, low-maintenance, remote database config that permits the user to easily build and deploy client/server applications and web-based applications. • It is user friendly with Ubuntu and CentOS. • Non case sensitivity is a great merit for this module • It Supports standard interfaces such as PHP • It is easy to handle with database functions

DBInstall

Synopsis Dbinstall module helps in handling database installation functions. This command used to install a new database. The installation requires sudo access, or it has to be executed as root. This includes execution of the rpm command, or the miminstall command of the tar package, and also when using the dbinstall command that creates an initial database. While creating an initial database, you have installed the software you can build a Mimer SQL database by using the dbinstall command. We just installed a new database on a Linux (CentOS) server and when I try to connect to the database (from the server) it requires the database name in the connect string. As mentioned before, the dbinstall command requires sudo access, or must be executed by root. If not started from a privileged shell sudo password will be asked. During the dbinstall session, database name, database location, and password for the database administrator (i.e. SYSADM) should be specified. There will also be options for installing example environments, etc. When the session is completed, a fully operational database is available - enabled for client/server access over TCP and automatic start at reboot.

Help Command This command helps to determine the usage of DBinstall module. The user will come to know about the different ways/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screen shot of the same. ptdeploy DBInstall help

The pictorial representation of the above command is shown below, kevell@corp:/# ptdeploy DBInstall help ******************************

1.1. Commands 405 kevells Documentation, Release 0.1

This command is part of Default Modules and handles Database Installation Functions.

DBInstall, db-install, dbinstall

- install install the database for a project. run DBConfigure first to set up users unless you already have them. example: ptdeploy db-install install

- save save the database for a project. run DBConfigure first to set up users unless you already have them. example: ptdeploy db-install save

- drop drop the database for a project. example: ptdeploy db-install drop

------Wordpress Module:

The Wordpress module extends DBInstall by adding wordpress-install

Wordpress module adds the actions wordpress-install and wp-install to DBInstall, requiresd to allow the Post DB Install hooks for Wordpress, the DB restore won’t work correctly without at least the url.

ptdeploy dbinstall wordpress-install --yes --guess --hook-url=www.site.env ------End Help ******************************

Installation When the user needs to install, the user can issue the following commands for DBIstall. The system will execute the process of installation. ptdeploy dbinstall install

The system ask for the Mysql host, Press Enter to use the default host. What’s the Mysql Host? Enter for 127.0.0.1

Then the system ask for Mysql Admin user, the user name will be “root” and the the Mysql Admin password. What’s the MySQL Admin User? root What’s the MySQL Admin Password? 123456

Then the system ask for the application DB user, you can continue with the existing users or create a new user. Once you provide with the option ‘0’ for new user the system ask for the New user name, application DB password and application DB name.

Once the above details provided, the system ask for confirmation. After confirmation, the system execute the process.

Save When the user needs to save the database for a project, the below given command will execute the process.

406 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

ptdeploy dbinstall save

Before execution, the system ask for the confirmation to proceed, if you want to proceed enter ‘Y’, if no enter ‘N’.

The system ask for the Mysql host, Press Enter to use the default host. What’s the Mysql Host? Enter for 127.0.0.1

Then the system ask for Mysql Admin user, the user name will be “root” and the the Mysql Admin password. What’s the MySQL Admin User? root What’s the MySQL Admin Password? 123456

Then the system ask for the application DB user.

Drop When the user needs to drop the database for a project, the below given command will execute the process. ptdeploy dbinstall drop

Before execution, the system ask for the confirmation to proceed, if you want to proceed enter ‘Y’, if no enter ‘N’.

The system ask for the Mysql host, Press Enter to use the default host. What’s the Mysql Host? Enter for 127.0.0.1

Then the system ask for Mysql Admin user, the user name will be “root” and the the Mysql Admin password. What’s the MySQL Admin User? root What’s the MySQL Admin Password? 123456

Then the system ask for the application DB user.

Alternative Parameter Either of the three alternative parameter can be used in command- dbinstall, DBInstall and db-install eg: ptdeploy DBInstall help/ ptdeploy db-install help

Benefits • It will check and verify all dependencies for the package it is installing • This will run dbconfigure first to set up users unless the system already have them • dbinstall creates all system databanks in the given database server home directory

1.1. Commands 407 kevells Documentation, Release 0.1

Drupal

Synopsis Drupal module is a part of default modules. It provides autopilots for drupal which is tailored by builderfy and dapperfy autopilots. In addition to the builderfy and dapperfy, it provides drupal database configuration for the DB configure module. Drupal is a free and open-source content-management framework written in PHP and distributed under the GNU General Public License. It is used as a back-end framework for at least 2.1% of all Web sites worldwide ranging from personal blogs to corporate, political, and government sites including WhiteHouse.gov and data.gov.uk. It is also used for knowledge management and business collaboration. Drupal runs on any computing platform that supports both a Web server capable of running PHP (includ- ing Apache, LiteSpeed, IIS,Lighttpd, Hiawatha, Cherokee or Nginx) and a database (such as MySQL, Mon- goDB, MariaDB, PostgreSQL, SQLite, or Microsoft SQL Server) to store content and settings. Let us see how to dapperfy the drupal under this modules in different aspects.

Help Command The help command is a brief and as well as interesting abstract to the user. It provides information regarding its major role, details of alternative parameters which can be used in declarations, Its three major functions (builderfy, dapperfy, execute), and also the syntax for using and declaring those three interesting functions. The syntax used for declaring help option, is given below. ptdeploy Drupal help

After inputting the command given above, the user can view the display result of help options along with the details described above, you can visually get these results of help option as shown from the below screen shot. kevell@corp:/# ptdeploy Drupal help ******************************

This module is a Default Modules and provides autopilots for drupal tailored Builderfy and Dapperfy Autopilots. Also provides Drupal Database Configuration for the DBConfigure Module.

Drupal, drupal

This module adds multiple actions to both builderfy and dapperfy. This will let you produce autopilots for both which are tailored to Drupal.

// dapperfy - create our auto deploy files ptdeploy dapperfy drupal --yes --guess

// builderfy - create templates to install build sudo ptdeploy builderfy continuous --yes --jenkins-home="/var/lib/jenkins" --target-job-name="my-project-continuous" --project-description="This is the Continuous Delivery build for My Project" --primary-scm-url="http://146.185.129.66:8080/git/root/first-pharaoh-cd.git" --source-branch-spec="origin/master" --source-scm-url="http://146.185.129.66:8080/git/root/first-pharaoh-cd.git" --days-to-keep="-1" --amount-to-keep="10" --autopilot-test-invoke-install-file="build/config/ptdeploy/autopilots/tiny-staging-invoke-code-no-dbconf.php" --autopilot-prod-invoke-install-file="build/config/ptdeploy/autopilots/tiny-prod-invoke-code-no-dbconf.php" --error-email="[email protected]" --only-autopilots

// execute the build creator ptdeploy autopilot execute build/config/ptdeploy/builderfy/autopilots/tiny-jenkins-invoke-continuous.php

------End Help ******************************

How to Dapperfy Drupal Let us see about the different aspects of this module in dapperfying the drupal. The command used for this purpose is same for all aspects as shown below, ptdeploy dapperfy drupal

408 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

After entering the command given above, the following details are enquired during execution as depicted from the table, Parameters Alternative Parameters Op- Comments tions Dapperfy This for Instead of Drupal, we can Y(Yes) If the user needs to dapperfy the drupal they Drupal? (Y/N) use drupal also. can input as Y. Dapperfy This for Instead of Drupal, we can N(No) If the user is not in need to dapperfy the Drupal? (Y/N) use drupal also. drupal they can input as N.| If the user proceeds dapperfying the drupal by inputting as Y, the following steps are involved during the execution, Step 1: Do you want to add another environment? (Y/N) The user have to input Y or N, depending upon their need for adding another environment. The following screenshot depicts visually about this process of dapperfying the drupal. kevell@corp:/# ptdeploy dapperfy drupal Dapperfy This for Drupal?(Y/N) Y Use existing environment settings?(Y/N) n Do you want to add another environment?(Y/N) n //build/config/ptdeploy/dapperfy/autopilots/generated/Builderfy //build/config/ptdeploy/dapperfy/autopilots/generated/Dapperfy //build/config/ptdeploy/dapperfy/autopilots/generated/Builderfy //build/config/ptdeploy/dapperfy/autopilots/generated/Dapperfy ******************************

Success In Dapperfy ******************************

The second form of declaring the dapperfying of drupal is explained below, and the command used for that is as same as ptdeploy dapperfy drupal

After entering the command given above, the following details are enquired during execution as depicted from the table, Parameters Alternative Op- Comments Parameters tions Dapperfy This for Instead of Drupal, we Y(Yes) If the user needs to dapperfy the drupal they can Drupal? (Y/N) can use drupal also. input as Y. Dapperfy This for Instead of Drupal, we N(No) If the user is not in need to dapperfy the drupal Drupal? (Y/N) can use drupal also. they can input as N. Use existing Y(Yes) If the user wish to proceed with the existing environment settings? environment settings they can input as Y. (Y/N) Use existing N(No) If the user wish to proceed with the new environment settings? environment settings they can input as N.| (Y/N) After completion of the enquiries given above, the following steps as described will execute,

1.1. Commands 409 kevells Documentation, Release 0.1

Step 1: Do you want to modify entries applicable to any app in environment default-local (Y/N) The user have to input Y or N. Step 2: Environment 1 default-local: In this step, value for environment and temp dir are enquired and the user have to input them. Step 3: Enter Servers-this is an array of entries Enter target? Enter User? Enter Password? The user have to input those enquired data’s. Step 4: Add Another Server? (Y/N) The user have to input Y or N depending upon their wish. Step 5: Do you want to modify entries applicable to any app in environment default-local -0000 (Y/N) The user have to input Y or N. Step 6: The settings for environment can be defined manually if needed to input non-default values. The data’s inquired during the execution of applying settings are defined as below, Value for Git repo URL Value for Optional Private SSH Key for Git Repo. Value for Git Custom Branch Value for Apache VHost URL Value for Apache VHost Hostname/IP Value for how many revisions to keep Value for DB IP Address Value for DB App User Name Value for DB App User Pass Step 7: Do you want to add another environment? (Y/N) The user have to input Y or N depending upon their needs. The following screenshot will give an pictorial representation for the steps explained above.

410 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

kevell@corp:/# ptdeploy dapperfy drupal

Dapperfy This for Drupal? (Y/N) Y Use existing environment settings? (Y/N) Y Do you want to modify entries applicable to any app in environment default-local (Y/N) Y Environment 1 default-local : Default Settings for Any App not setup for environment default-local enter them now. Value for: Name of this Environment kevell Value for: Default Temp Dir (should usually be /tmp/)

Enter Servers - this is an array of entries Enter target ? /root/gg Enter user ? root Enter password ? 123 Add Another Server? (Y/N) n Do you want to modify entries applicable to any app in environment default-local-8080 (Y/N) n Settings for dapper not setup for environment default-local-8080 enter them manually. Environment 2 default-local-8080 : Value for: Project Container directory, (inc slash) /root/vv Value for: Git Repo URL

Value for: Optional Private SSH Key for Git Repo

Value for: Git Custom Branch

Value for: Apache VHost URL (Don’t Include http://)

Value for: Apache VHost Hostname/IP

Value for: How many revisions to keep

Value for: DB IP Address

Value for: DB App User Name (Will be created if not existing)

Value for: DB App User Pass

Value for: DB Name (Will be created if not existing)

Value for: DB Admin User Name

Value for: DB Admin User Pass

Do you want to add another environment? (Y/N) n //build/config/ptdeploy/dapperfy/autopilots/generated/Builderfy //build/config/ptdeploy/dapperfy/autopilots/generated/Dapperfy //build/config/ptdeploy/dapperfy/autopilots/generated/Builderfy

1.1. Commands 411 kevells Documentation, Release 0.1

//build/config/ptdeploy/dapperfy/autopilots/generated/Dapperfy ******************************

Success In Dapperfy ******************************

The third form of execution is explained from the upcoming steps. The command is same as ptdeploy dapperfy drupal

After entering the command given above, the following details are enquired during execution as depicted from the table, Parameters Alternative Op- Comments Parameters tions Dapperfy This for Instead of Drupal, we Y(Yes) If the user needs to dapperfy the drupal they can Drupal? (Y/N) can use drupal also. input as Y. Dapperfy This for Instead of Drupal, we N(No) If the user is not in need to dapperfy the drupal Drupal? (Y/N) can use drupal also. they can input as N. Use existing Y(Yes) If the user wish to proceed with the existing environment settings? environment settings they can input as Y. (Y/N) Use existing N(No) If the user wish to proceed with the new environment settings? environment settings they can input as N.| (Y/N) After completion of the enquiries given above, the following steps as described will execute, Step 1: Do you want to add another environment settings? (Y/N) The user have to input Y or N. Step 2: Environment 3 default-local: In this step, value for environment and temp dir are enquired and the user have to input them. The settings for environment can be defined manually if needed to input non-default values. The data’s inquired during the execution of applying settings are defined as below, Value for Project Container Directory. Value for Git repo URL Value for Optional Private SSH Key for Git Repo. Value for Git Custom Branch Value for Apache VHost URL Value for Apache VHost Hostname/IP Value for how many revisions to keep Value for DB IP Address Value for DB App User Name Value for DB App User Pass

412 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

The following screenshot will give an pictorial representation for the steps explained above. kevell@corp:/# ptdeploy dapperfy drupal Dapperfy This for Drupal? (Y/N) y Use existing environment settings? (Y/N) n Do you want to add another environment? (Y/N) y Environment 3 : Default Settings for Any App not setup for environment enter them now. Value for: Name of this Environment kevell Value for: Default Temp Dir (should usually be /tmp/)

Value for: Project Container directory, (inc slash)

Value for: Git Repo URL

Value for: Optional Private SSH Key for Git Repo

Value for: Git Custom Branch

Value for: Apache VHost URL (Don’t Include http://)

Value for: Apache VHost Hostname/IP

Value for: How many revisions to keep

Value for: DB IP Address

Value for: DB App User Name (Will be created if not existing)

Value for: DB App User Pass

Value for: DB Name (Will be created if not existing)

Value for: DB Admin User Name

Value for: DB Admin User Pass

//build/config/ptdeploy/dapperfy/autopilots/generated/Builderfy //build/config/ptdeploy/dapperfy/autopilots/generated/Dapperfy //build/config/ptdeploy/dapperfy/autopilots/generated/Builderfy //build/config/ptdeploy/dapperfy/autopilots/generated/Dapperfy //build/config/ptdeploy/dapperfy/autopilots/generated/Builderfy //build/config/ptdeploy/dapperfy/autopilots/generated/Dapperfy ******************************

Success In Dapperfy ******************************

The fourth type of dapperfying the drupal is explained below, and the command used is same as ptdeploy dapperfy drupal

After entering the command given above, the following details are enquired during execution as depicted from the

1.1. Commands 413 kevells Documentation, Release 0.1 table, Parameters Alternative Op- Comments Parameters tions Dapperfy This for Instead of Drupal, we Y(Yes) If the user needs to dapperfy the drupal they can Drupal? (Y/N) can use drupal also. input as Y. Dapperfy This for Instead of Drupal, we N(No) If the user is not in need to dapperfy the drupal Drupal? (Y/N) can use drupal also. they can input as N. Use existing Y(Yes) If the user wish to proceed with the existing environment settings? environment settings they can input as Y. (Y/N) Use existing N(No) If the user wish to proceed with the new environment settings? environment settings they can input as N.| (Y/N) If the user proceeds dapperfying the drupal by inputting as Y, the following steps are involved during the execution, Step 1: Do you want to add another environment? (Y/N) The user have to input Y or N, depending upon their need for adding another environment. The following screenshot depicts visually about this process of dapperfying the drupal. kevell@corp:/# ptdeploy dapperfy drupal Dapperfy This for Drupal?(Y/N) y Use existing environment settings?(Y/N) n Do you want to add another environment?(Y/N) n //build/config/ptdeploy/dapperfy/autopilots/generated/Builderfy //build/config/ptdeploy/dapperfy/autopilots/generated/Dapperfy //build/config/ptdeploy/dapperfy/autopilots/generated/Builderfy //build/config/ptdeploy/dapperfy/autopilots/generated/Dapperfy ******************************

Success In Dapperfy ******************************

Benefits • It is well-to-do in both ubuntu and as well as in cent OS. • The parameters used in declaration is not case sensitive. • The settings for the environment can be defined while executing the dapperfying.

EnvironmentConfig

Synopsis This module facilitates the users in configuring their environment required for their project. Let us see how to configure the environment, how to delete the unwanted environment, how to use the list option for listing the available environments in upcoming topics.

414 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Help command The help command guides the users regarding the purpose of the module, its alternative parameters that are used in declaration. It highlights the three functions of environment configuration which are list, configure, delete. It also specifies the syntax for using three major functions. The syntax used for declaring the help is shown below: ptdeploy envconfig help

The following screen shot depicts pictorially about the working of help command. kevell@corp:/# ptdeploy EnvironmentConfig help ******************************

This command is part of a default Module and provides you with a method by which you can configure environments for your project from the command line. Currently compliant with both ptdeploy and ptconfigure.

EnvironmentConfig, environmentconfig, environment-config, envconfig, env-config

- list List current environments example: ptconfigure envconfig list --yes

- configure, config Configure the environments for your project to use example: ptconfigure envconfig config example: ptconfigure envconfig config --keep-current-environments

- delete, del Configure the environments for your project to use example: ptconfigure envconfig delete example: ptconfigure envconfig del --environment-name="staging"

------End Help ******************************

How to Configure the environment For the purpose of configuring the environments the user can use the following command: ptdeploy envconfig config

After inputting the command above the following operations takes place as shown: Step 1: Configure Environments Here? (Y/N) The user have to input Y or N. Step 2: Use existing environment Settings? (Y/N) The user have to input Y or N. If the user input as Y it will proceed with already existing. If they input as N, it will asks information regarding the environment as Value for: Name of the environment Value for: Default temp dir(Location)

1.1. Commands 415 kevells Documentation, Release 0.1

After the above steps, the user have to input the following details: Enter target? Enter user? Enter password? Add Another Server? (Y/N) The user have to input Y or N. Finally, the environment configuration gets success as depicted in the below screenshot. kevell@corp:/# ptconfigure envconfig config Configure Environments Here?(Y/N) Y Environment1: Default Settings for Any App not setup for environment enter them now. Value for: Name of this Environment kevells Value for: Default Temp Dir(should usually be /tmp/)

Enter Servers - this is an array of entries Enter target ? /home/kevells Enter user ? kevells Enter password ? 123456 Add Another Server?(Y/N) N ******************************

Success In Environment Configuration ******************************

While configuring an environment, if the user wish to configure with current environment , they can use the following command: ptdeploy envconfig config --keep-current-environments

After inputting the command above, it will asks the following details as shown in the tabular format: Parameters Op- Comments tions Configure Environments Here? Y If the user wish to configure the environments at the current (Y/N) environment they can input as Y Configure Environments Here? N If the user doesn’t wish to configure the environments at the current (Y/N) environment they can input as N Use existing environment Y If the user wish to use the existing environment settings they can settings? (Y/N) input as Y. Use existing environment N If the user doesn’t wish to use the existing environment settings they settings? (Y/N) can input as N. Do you want to add another Y If the user wish to add another environment,they can input as Y. environment? (Y/N) Do you want to add another N If the user doesn’t wish to add another environment, they can input environment? (Y/N) as N.|

416 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

The following screenshot pictorially represents the above mentioned process: kevell@corp:/# ptdeploy envconfig config --keep-current-environments Configure Environments Here?(Y/N) Y Use existing environment settings?(Y/N) Y Do you want to add another environment?(Y/N) N ******************************

Success In Environment Configuration ******************************

How to Delete environment configuration If the user needs to delete the environment configuration, they can input the following command: ptdeploy envconfig del --environment-name="kevells"

The user can specify the name of the environment they wish to delete as shown above. After inputting the command above, it will ask Step 1: Delete Environments Here? and shows a warning message as WARNING: Deleting an environment from papyrus is final. You may be looking for boxify box-destroy instead(Y/N)

The user has to specify Y or N Step 2: Environment Kevells(Name of the specified environment that is supposed to delete) found. Are you sure want to delete it? (Y/N) The user has to specify Y or N Finally, the specified environment gets deleted as shown in the screenshot. kevell@corp:/# ptconfigure envconfig del --environment-name="kevells" Delete Environments Here? WARNING: Deleting an environment from papyrus is final. You may be looking for boxify box-destroy instead(Y/N) Y Environment kevells found. Are you sure you want to delete it?(Y/N) Y [Pharaoh Logging] Removing environment kevells. ******************************

Success In Environment Configuration ******************************

Another way of deleting an environment by without specifying the name of the environment is as shown by using the command: ptdeploy envconfig delete

After inputting the command above, it will ask Step 1: Delete Environments Here?

1.1. Commands 417 kevells Documentation, Release 0.1 and shows a warning message as WARNING: Deleting an environment from papyrus is final. You may be looking for boxify box-destroy instead(Y/N)

The user has to specify Y or N Finally, the environment gets deleted as shown in the screenshot: kevell@corp:/# ptdeploy envconfig delete Delete Environments Here? WARNING: Deleting an environment from papyrus is final. You may be looking for boxify box-destroy instead(Y/N) Y PHP Notice: Undefined index: environment-name in /opt/ptdeploy/ptdeploy/src/Modules/EnvironmentConfig/Model/EnvironmentConfigAllLinux .php on line 161 PHP Notice: Undefined index: environment-name in /opt/ptdeploy/ptdeploy/src/Modules/EnvironmentConfig/Model/EnvironmentConfigAllLinux .php on line 161 ******************************

Success In Environment Configuration ******************************

How to list environment configuration If the user wish to view the list of details regarding the environment con- figuration, they can input as shown: ptdeploy envconfig list

After inputting the command above, it will asks List Environment Here? (Y/N) if the user specifies as Y, it will generate the display of output as shown in the screenshot: kevell@corp:/# ptdeploy envconfig list List Environments Here?(Y/N) Y ****************************** array(2){ [0]=> array(2){ ["any-app"]=> array(2){ ["gen_env_name"]=> string(13) "default-local" ["gen_env_tmp_dir"]=> string(5) "/tmp/" } ["servers"]=> array(1){ [0]=> array(3){ ["target"]=> string(9) "127.0.0.1" ["user"]=> string(5) "local" ["password"]=> string(5) "local" } }

418 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

} [1]=> array(2){ ["any-app"]=> array(2){ ["gen_env_name"]=> string(18) "default-local-8080" ["gen_env_tmp_dir"]=> string(5) "/tmp/" } ["servers"]=> array(1){ [0]=> array(3){ ["target"]=> string(14) "127.0.0.1:8080" ["user"]=> string(5) "local" ["password"]=> string(5) "local" } } } }

In Environment Configuration ******************************

Alternative Parameters Instead of envconfig the following parameters can be used in declaration: • EnvironmentConfig • environmentconfig • environment-config • env-config

Benefits • It is well-to-do in both cent OS and as well as in ubuntu. • The parameters used in declaration are not case sensitive which is an added advantage while compared to others. • This module leads the users how to configure the environment, how to delete the unwanted environment, how to use the list option for listing the available environments.

GitClone

Synopsis The ultimate aim of this module is to handle the check out functions. It can perform the check out functions into the project folder of the user. The working nature of this module involves Cloning a repository into a newly created directory, creates remote- tracking branches for each branch in the cloned repository and creates, checks out an initial branch that is forked from the cloned repository’s currently active branch. Let us see about how this module facilitates the users in handling the check out functions, and also about how to use this module from the upcoming topics.

1.1. Commands 419 kevells Documentation, Release 0.1

Help Command The help command is a brief user manual. It highlights the primary function of this module, lists outs the alternative parameters that can be used in the declaration, and also explains about the syntax and possible options of using the check out functions under an single option by using help command as shown below, ptdeploy GitClone help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under git clone. kevell@corp:/# ptdeploy GitClone help ******************************

This command is part of Default Modules and handles Checkout Functions.

clone, co

- perform a checkout into configured projects folder. If you don’t want to specify target dir but do want to specify a branch, then enter the text "none" as that parameter. example: ptdeploy git co https://github.com/phpengine/yourmum {optional target dir} {optional branch} example: ptdeploy git co https://github.com/phpengine/yourmum none {optional branch}

------End Help ******************************

How to Use the checkout functions The syntax for using the check out functions under git clone is given below. ptdeploy git co https: // github.com/ phpengine/yourmum

After entering the command given above, the execution of checkout function begins as described in the below table, Parameters Alternative Parameters Op- Comments tions Perform a Instead of co, we can use Y(Yes) If the user needs to perform a clone/ clone/download of files? checkout, Checkout also. download of files they can input as Y. (Y/N) Perform a Instead of co, we can use N(No) If the user is not need to perform a clone/ clone/download of files? checkout, Checkout also. download of files they can as N.| (Y/N) The following screenshot depicts pictorially about the process and working of check out functions.

Benefits • It is well-to-do in both ubuntu and as well as in cent OS. • The parameters used in declaration is not case sensitive. • The user can perform and monitor the checkout functions under git clone. • While performing the check out functions, the user can specify the target dir, not need to specify the branch.

Grafana

420 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Synopsis Grafana has an advanced graphite query editor that lets you quickly navigate the metric space, add func- tions. Change function paramaters and much more. Grafana is An open source, feature rich metrics dashboard and graph editor for Graphite, InfluxDB & OpenTSDB. Let us see how this module facilitates the users in installing the grafana.

Help Command The help command guides the users regarding the purpose and as well as about the options that are included in the Grafana module. It lists out the alternative parameters of Grafana module. It also describes the syntax for installing the Grafana module. The help command for Grafana module is shown as below. ptdeploy grafana help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under Grafana module.

Installation The command used for installing the grafana modules in the users machine is shown below: ptdeploy grafana install

After inputting the command above, the following process occurs as shown in the tabular format. Parameters Alternative Parameters Op- Comments tions Install Grafana? Instead of Grafana, we can use Y(Yes) If the user wish to proceed the installation process (Y/N) grafana also. they can input as Y. Install Grafana? Instead of Grafana, we can use N(No) If the user wish to quit the installation process (Y/N) grafana also. they can input as N.| The following screenshot pictorially depicts the above described process of installation.

Benefits • The parameters used in help and installation are not case sensitive which is an added advantage while compared to others. • It is well-to-do in both Ubuntu and as well as Cent OS.

Graphite Target Editor • Graphite target expression parser • Feature rich query composer • Quickly add and edit functions & parameters • Templated queries • See it in action

Graphing • Fast rendering, even over large timespans. • Click and drag to zoom. • Multiple Y-axis. • Bars, Lines, Points.

1.1. Commands 421 kevells Documentation, Release 0.1

• Smart Y-axis formating • Series toggles & color selector • Legend values, and formating options • Grid thresholds, axis labels • Annotations

Dashboards • Create, edit, save & search dashboards • Change column spans and row heights • Drag and drop panels to rearrange • Use InfluxDB or Elasticsearch as dashboard storage • Import & export dashboard (json file) • Import dashboard from Graphite • Templating • Scripted dashboards • Dashboard playlists • Time range controls

Host Editor

Synopsis This module supports to handle Apache Virtual Host Editor under ptdeploy. It can function in two ways. They are add and remove. Vhost Editor is a PHP Tool written to make adding virtual hosts to apache a breeze. Vhost Editor will enable the user to add, edit, or delete Virtual Host information on user’s webserver. It is convenient to work with Ubuntu and cent OS. Let’s see how the apache Vhost Editor can function under ptdeploy.

Help command This help command guides the user to create a virtual host. This also displays to add a virtual host, remove a virtual host, Enable a virtual host, and Disable a virtual host. The help command for Apachevhosteditor is shown below. ptdeploy Apachevhosteditor help

After inputs the above command, it starts functioning to add a virtual host editor. It catechesis the functions in the screenshots. kevell@corp:/# ptdeploy ApacheVHostEditor help ******************************

This command is part of Default Modules and handles Apache VHosts Functions.

ApacheVHostEditor, apachevhosteditor, vhosteditor, vhe, vhosted

- add create a Virtual Host example: sudo ptdeploy vhe add example: sudo ptdeploy vhe add --yes --vhe-docroot=/var/www/the-app --vhe-url=www.dave.com --vhe-file-ext="" --vhe-apache-command="apache2" --vhe-ip-port="127.0.0.1:80" --vhe-vhost-dir="/etc/apache2/sites-available" --vhe-template="*template data*"

422 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

example: sudo ptdeploy vhe add --yes --guess --vhe-url=www.dave.com # will attempt to guess the following but you can override any # --vhe-docroot=*current working dir* # --vhe-file-ext="ubuntu none, others .conf" # --vhe-apache-command="apache2 or httpd depends on system" # --vhe-ip-port="127.0.0.1:80" # --vhe-vhost-dir="/etc/apache2/sites-available or /etc/httpd/vhosts.d" # --vhe-template="*template data*" # --vhe-default-template-name="docroot-src-suffix" // from default templates

- add-balancer create a Virtual Host example: sudo ptdeploy vhe add example: sudo ptdeploy vhe add --yes --vhe-docroot=/var/www/the-app --vhe-url=www.dave.com --vhe-file-ext="" --vhe-apache-command="apache2" --vhe-ip-port="127.0.0.1:80" --vhe-vhost-dir="/etc/apache2/sites-available" --vhe-template="*template data*" example: sudo ptdeploy vhe add --yes --guess --vhe-url=www.dave.com # will attempt to guess the following but you can override any # --vhe-docroot=*current working dir* # --vhe-file-ext="ubuntu none, others .conf" # --vhe-apache-command="apache2 or httpd depends on system" # --vhe-ip-port="127.0.0.1:80" # --vhe-vhost-dir="/etc/apache2/sites-available or /etc/httpd/vhosts.d" # --vhe-template="*template data*" # --vhe-default-template-name="docroot-src-suffix" // from default templates

- rm example: ptdeploy vhe rm example: ptdeploy vhe rm --yes -- example: ptdeploy vhe rm --yes --guess --vhe-deletion-vhost=www.site.com example: ptdeploy vhe rm --yes --guess --vhe-deletion-vhost=www.site.com

- list List current Virtual Hosts example: ptdeploy vhe list

- enable enable a Server Block example: ptdeploy vhe enable

- disable disable a Server Block example: ptdeploy vhe disable

------End Help ******************************

Alternative parameters The following are the alternative parameters that can be defined in declarations: ApacheVHostEditor, apachevhosteditor, vhosteditor, vhe, vhosted.

Add This facilitates the user to create a virtual host. While adding Virtual host it can asks vhe-docroot, vhe-file- ext, vhe-apache-command, vhe-ip port,vhe-host-dir, vhe-templates,vhe-default-template-name. The user can enter the according to their wish. sudo ptdeploy vhe add

After input as the above command the user can fill the following process.

1.1. Commands 423 kevells Documentation, Release 0.1

Parameters Directory Option Comments ptdeploy vhe add (Default) Yes It can ask the user for Doc- Added virtual host in the ument root specified document root un- der ptdeploy What’s the server name • It can ask the user for server Added server name under name ptdeploy What IP:Port (default) 127.0.0.1:80 It can ask the user for IP When the user input as enter port the default value added for IP:Port What file extension should None It can asks the user for ex- The user gives input as file be used? (Default) tension extension ptdeploy vhe add No It can asks the user for in- It can terminates the pro- put.| cess Finally the system can asks for vhost templates directory. There are 5 options are available in templates. They are as follows. 0 for doc root-no-suffix 1 for doc –src-suffix used for document screen suffix 2 for doc –web-suffix used for document web suffix 3 for doc –www-suffix used for world wide web suffix 4 for docroot-suffix used for document root suffix The user wishes to select the values according to their needs. Then the system can ask the vhost name ,IP address and root user etc is correct or wrong. If the user says yes, then it displays the vhost directory and enable this vhost? The user answers yes it can enable the vhost else it can exit. kevells@corp:/# ptdeploy vhe add Do you want to add a VHost? (Y/N) Y What’s the document root? Enter nothing for / root What URL do you want to add as server name? www.vh.com What IP:Port should be set? Enter nothing for 127.0.0.1:80

What File Extension should be used? Enter nothing for None (probably .conf on this system)

What is your VHost Template directory? Enter nothing for default templates

Please Choose VHost Template: --- Default Virtual Host Templates: --- (0) docroot-no-suffix (1) docroot-src-suffix (2) docroot-web-suffix (3) docroot-www-suffix (4) docroot-docroot-suffix

0 Please check VHost: NameVirtualHost 127.0.0.1:80 ServerAdmin webmaster@localhost ServerName www.vh.com DocumentRoot root

424 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all

Is this Okay? (Y/N)

******************************

Apache VHost Editor Finished ******************************

Remove The terminal command for deleting virtual host(s) is rm. The general format of this command is rm . rm removes a virtual host if you specify a correct path for it and if you don’t, then it displays an error message and move on to the next host. Sometimes you may not have the write permissions for a virtual host, in that case it asks you for confirmation. Type yes if you want to delete it. If the removed name was the last link to a virtual host and no processes have the virtual host open, the virtual host is deleted and the space it was using is made available for reuse. If the name was the last link to a virtual host, but any processes still have the virtual host open, the virtual host will remain in existence until the last virtual host descriptor referring to it is closed. If the name referred to a symbolic link, the link is removed. The following command used to delete the virtual host. sudo ptdeploy vhe rm -yes -guess -vhe-deletion-vhost=www.kevell.com

The following screen shot can explain its functions. - rm example: ptdeploy vhe rm example: ptdeploy vhe rm --yes -- example: ptdeploy vhe rm --yes --guess --vhe-deletion-vhost=www.site.com example: ptdeploy vhe rm --yes --guess --vhe-deletion-vhost=www.site.com kevell@corp:/# ptdeploy vhe rm Do you want to delete VHost/s?(Y/N) y Deleting vhost What is your VHost directory? Found "/etc/apache2/sites-available" - Enter nothing to use this

Please Choose VHost: --- All Virtual Hosts: --- (0) 000-default.conf (1) default-ssl.conf

0 Do you want to disable this VHost?(hint - ubuntu probably yes, centos probably no)(Y/N) yes Site 000-default disabled. To activate the new configuration, you need to run: service apache2 reload a2dissite 000-default.conf done VHost 000-default.conf Deleted if existed ******************************

1.1. Commands 425 kevells Documentation, Release 0.1

1Apache VHost Editor Finished ******************************

List List information about the Virtual host (the current directory by default). Sort entries alphabetically. Mandatory arguments has long options as well as short options too. A list invoked with a URL specifying both the list name and also the underlying view which will provide and organize the data. The following command used to list the virtual host. ptdeploy vhe list

Note that whether a list can be used with a variety of views, or might be tailored to produce an elaborate page from a view designed specifically to organize data for it. Lists stored under the lists field of a design document. It can be visualized by the screen shots. - list List current Virtual Hosts example: ptdeploy vhe list kevell@corp:/# ptdeploy vhe list What is your VHost directory? Found "/etc/apache2/sites-available" - Enter nothing to use this

You have a sites available dir, so also listing available sites. Current Installed VHosts: --- Enabled Virtual Hosts: --- (0) 000-default.conf (1) default-ssl.conf --- All Available Virtual Hosts: --- (2) 000-default.conf (3) default-ssl.conf ******************************

1Apache VHost Editor Finished ******************************

Enable Secure Boot is a feature designed to prevent malicious software and unauthorized media from loading during the boot process. This enable option enabled the server block. In virtual host when the used typed the following command, ptdeploy vhe enable

This option is enabled by default. This option allows the virtual host server enable. Assists module develop many of the enabling capabilities required to service high performing environments through our understanding of the interdependencies between people, process and technology. The following screen shot ex- plains the same. - enable enable a Server Block example: ptdeploy vhe enable kevell@corp:/# ptdeploy vhe enable Do you want to enable this VHost?(hint - ubuntu probably yes, centos probably no)(Y/N) y Please Choose VHost:

426 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

--- All Virtual Hosts: --- (0) default-ssl.conf

0 ERROR: Site default-ssl.conf does not exist! a2ensite default-ssl.conf.conf done ******************************

1Apache VHost Editor Finished ******************************

Disable This disable used to disable the server. Inactive or idle virtual host editor connections are normally dis- connected by the server after a certain period of time. The following command is used to disable the virtual host editor. ptdeploy vhe disable

After typing this command it can ask the user to disable the server. If the user inputs as yes it disable the server i.e. it won’t allow any body to work in that server. The following screen shot visualize it evidently. - disable disable a Server Block example: ptdeploy vhe disable kevell@corp:/# ptdeploy vhe disable Do you want to disable this VHost?(hint - ubuntu probably yes, centos probably no)(Y/N) y Please Choose VHost: --- All Virtual Hosts: --- (0) default-ssl.conf

0 Site default-ssl already disabled a2dissite default-ssl.conf done ******************************

1Apache VHost Editor Finished ******************************

Benefits • Multi user can access at a time. • The user can add or remove virtual host. • The virtual host editor can enable or disable the virtual host according to the user’s wish. • Non case sensitivity.

Joomla

Synopsis Joomla provides integration website. Many Web hosting services offer a single-click install, getting the user new site up and running in just a few minutes.

1.1. Commands 427 kevells Documentation, Release 0.1

Including its ease-of-use and extensibility, have made Joomla the most popular Web site software. Best of all, Autopi- lot,builderfy and dapperfy are available in ptdeploy and makes a best solution. This is comfortable with Ubuntu and Cent OS.

Help command This help command guides the user to provide integration for joomla. It has personalized Autopilot, builderfy and dapperfy are available in ptdeploy .Also provides database configuration for the db configure module. The help command for joomla is shown below. ptdeploy joomla help

After inputs the above command, it starts functioning to integrate joomla website. It catechesis the functions of joomla in the screenshots. kevell@corp:/# ptdeploy Joomla help ******************************

This module is a Default one, and provides integration for Joomla websites. It has tailored Builderfy and Dapperfy Autopilots and also provides Joomla Database Configuration for the DBConfigure Module.

Joomla, joomla

This module adds multiple actions to both builderfy and dapperfy. This will let you produce autopilots for both which are tailored to Joomla.

// dapperfy - create our auto deploy files ptdeploy dapperfy joomla --yes --guess

// builderfy - create templates to install build sudo ptdeploy builderfy continuous --yes --jenkins-home="/var/lib/jenkins" --target-job-name="my-project-continuous" --project-description="This is the Continuous Delivery build for My Project" --primary-scm-url="http://146.185.129.66:8080/git/root/first-pharaoh-cd.git" --source-branch-spec="origin/master" --source-scm-url="http://146.185.129.66:8080/git/root/first-pharaoh-cd.git" --days-to-keep="-1" --amount-to-keep="10" --autopilot-test-invoke-install-file="build/config/ptdeploy/autopilots/tiny-staging-invoke-code-no-dbconf.php" --autopilot-prod-invoke-install-file="build/config/ptdeploy/autopilots/tiny-prod-invoke-code-no-dbconf.php" --error-email="[email protected]" --only-autopilots

// execute the build creator ptdeploy autopilot execute build/config/ptdeploy/builderfy/autopilots/tiny-jenkins-invoke-continuous.php

------End Help ******************************

Installation This module adds multiple actions to both builderfy and dapperfy. This is easy to install and set up even if the user’s not an advanced user.Since Joomla is so easy to use, as a Web designer or developer, the user can quickly build sites for their clients. The command used to install joomla is as follows, ptdeploy joomla install

After vitalize the command it will catechize input. When the user input as yes automatically it will install joomla from the system. If not exit the installation. The following screen shot demonstrate joomla and its functions.

Dapperfy This dapperfy used to create the user auto deploy files. Dapperfy can work for a lot of projects without complex configurations with a couple of minutes worth of setting up. Using Dapperfy is very quick, and is probably the best starting point, even for complex configurations as the user can always just modify the files afterwards with their own customizations. The following command used for dapperfy.

428 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

ptdeploy dapperfy joomla

After input as the above said command it asks dapperfy execution it shows by the screenshot. kevell@corp:/# ptdeploy dapperfy joomla Dapperfy This for Joomla?(Y/N) Y Do you want to add another environment?(Y/N) n Standard Dapperfies: /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-invoke-code-data.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-invoke-code-dbconf.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-invoke-code-no-dbconf.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-invoke-enforce-revisions.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-invoke-rollback-newest.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-invoke-rollback-previous.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-node-install-code-no-dbconf.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-node-install-enforce-revisions.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-node-install-rollback-newest.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-node-install-rollback-previous.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-node-uninstall-code-data.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-node-uninstall-code.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-nodepool-install-code-no-dbconf.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-ptvirtualize-host-install-host-file-entry.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-ptvirtualize-host-uninstall-host-file-entry.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-ptvirtualize-install-code-no-dbconf.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-workstation-install-code-no-dbconf.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-workstation-uninstall-code-data.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-workstation-uninstall-code.php Joomla Dapperfies: /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-node-install-code-data.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-node-install-code-dbconf.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-workstation-install-code-data.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-workstation-install-code-dbconf.php Standard Dapperfies: /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-invoke-code-data.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-invoke-code-dbconf.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-invoke-code-no-dbconf.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-invoke-enforce-revisions.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-invoke-rollback-newest.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-invoke-rollback-previous.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-node-install-code-no-dbconf.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-node-install-enforce-revisions.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-node-install-rollback-newest.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-node-install-rollback-previous.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-node-uninstall-code-data.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-node-uninstall-code.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-nodepool-install-code-no-dbconf.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-ptvirtualize-host-install-host-file-entry.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-ptvirtualize-host-uninstall-host-file-entry.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-ptvirtualize-install-code-no-dbconf.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-workstation-install-code-no-dbconf.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-workstation-uninstall-code-data.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-workstation-uninstall-code.php Joomla Dapperfies: /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-node-install-code-data.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-node-install-code-dbconf.php /vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-workstation-install-code-data.php

1.1. Commands 429 kevells Documentation, Release 0.1

/vv/build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-workstation-install-code-dbconf.php ******************************

Success In Dapperfy ******************************

Builderfy It creates templates to install build. The user can add more templates. When we make changes to the user repository, deploying a new version to the user target Production. The command used for builderfy is as follows, ptdeploy builderfy joomla

The following screen shot explains its function.

Execute This process execute autopilot build creator. Quick access is possible. The command for execution as follows, ptdeploy autopilot execute

The following screen shot explain its functions.

Parameters Alternative Op- Comments Parameters tions Dapperfy this for joomla? (Y/N) Joomla, joomla Y(Yes) If the user wish to proceed dapperfying they can input as Y Dapperfy this for joomla? (Y/N) Joomla, joomla N(No) If the user wish to quit dapperfying they can Option input as N Do you want to add another Y(Yes) If the user wish to add new environment they environment?(Y/N) can input as Y Do you want to add another N(No) If the user is not in need to add a new environment?(Y/N) environment they can input as N|

Benefits • Well support for It professionals • Multilingual process • Easy upgrade • Speedy system feature • Non case sensitive • Suitable for Ubuntu and Cent OS. The Joomla itself opens a whole new world of expression because it allows you the freedom to use make that the user design dream come true !

430 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

LighttpdControl

Synopsis Lighttpd is a secure, fast, compliant, and very flexible web-server that has been optimized for high- performance environments. Lighttpd which is rapidly redefining efficiency of a ptdeploy; as it is designed and op- timized for high performance environments. With a small memory footprint compared to other web-servers, effective management of the cpu-load, and advanced feature set lighttpd is the perfect solution for every server that is suffering load problems. This is suitable to work with Ubuntu and cent OS.

Help command Help is used to access the information about lighttpd. For quick reference with the help commands in any of the versions of ptdeploy you can also use the help command. The help command is an internal command and is available in the ptdeploy module. ptdeploy lighttpdcontrol help

The following screenshot assists the user to servitude with ptdeploy. kevell@corp:/# ptdeploy LighttpdControl help ******************************

This command is part of Default Modules and handles Lighttpd Server Control Functions.

LighttpdControl, lighttpdcontrol, lighttpdctl

- start Start the Lighttpd server example: ptdeploy lighttpdcontrol start example: ptdeploy lighttpdcontrol start --yes

- stop Stop the Lighttpd server example: ptdeploy lighttpdcontrol stop example: ptdeploy lighttpdcontrol stop --yes

- restart Restart the Lighttpd server example: ptdeploy lighttpdcontrol restart example: ptdeploy lighttpdcontrol restart --yes

- reload Reloads the Lighttpd server configuration without restarting example: ptdeploy lighttpdcontrol reload example: ptdeploy lighttpdcontrol reload --yes

------End Help ******************************

Alternative Parameter Preferably using Lighttpd the user can exertion the following options. LighttpdControl, lighttpdcontrol, lighttpdctl.

Start Start option used to start the lighttpd server. Lighttpdcontrol is an interactive session that is run with the ptdeploy module option. Depending on how the server is run, the start command might be stored in a script, in the Linux registry.

1.1. Commands 431 kevells Documentation, Release 0.1

The server can be started using a simple command with an option to connect back to control server to obtain additional options. ptdeploy lighttpdcontrol start after typing the command, it allows the user to start the lighttpd server functioning.

Stop This stop option used to stop the lighttpd service. Specifically Ubuntu Linux, the stop command calls the lighttpd to stop a job that is running on the system. It is equivalent to the command service stop. Below is a complete description of stop command. ptdeploy lighttpdcontrol stop

After input as the above command, the service stops the function.

Restart The term restart refers to an operating system closing all programs before a warm restart the lighttpd server. Restart is sometimes necessary to recover from an error, or to re-initialize drivers or hardware devices. A computer storage program would normally perform a restart with the following simple command. ptdeploy lighttpdcontrol restart

After input as the above command, the service restart the lighttpd service.

Reload Reload means things are changing. The lighttpd is undergoing an overhaul and a clean-up. It facilitates the reuse of lighttpd and services. Without kill the process it can reload lighttpd. The following command assis the user to reload. Along with the command if the user use yes.. options without asking any questions automatically it can function. ptdeploy lighttpdcontrol reload

Benefits • Flexible virtual hosting. • Supports all type of Modules. • Light-weight (less than 1 MB). • Non case sensitive. • The user can function as per their wish. • Termination is possible. • Automation is possible.

Logging

Synopsis This logging module is used for the purpose of log a message to the console, and is optionally used for php error log. Let us see how to install and to use the log for declaring message and in php error log.

432 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Help Command The help command acts as a brief user manual that leads the user about its usage and methodolo- gies. It specifies the alternative parameters that can be used in declaration, and a syntax example to define a log. The command used for declaring the help option is given below: ptdeploy Logging help

The following screen shot depicts pictorially about the working of help command. kevell@corp:/# ptdeploy Logging help ******************************

Use this to log a message to the Console, and optionally the php error log.

Logging, logging

- log Logs a message the console or example: ptconfigure logging log --php-log --log-message="Here is something logging to the console and error log"

------End Help ******************************

Installation The command used for installing the logging under ptdeploy is given below: ptdeploy logging log

After inputting, the command above, the process of installation is depicted in the following tabular column. Parameters Alternative Parameters Op- Comments tions Install Logging? Instead of Logging, we can use Y(Yes) If the user wish to proceed the installation process (Y/N) logging also. they can input as Y. Install Logging? Instead of Logging, we can use N(No) If the user wish to quit the installation process (Y/N) logging also. they can input as N.| If the user proceeds the installation process, the process request the users to specify the log message by asking "Enter Log Message"

"Good Morning"

Once the user input the message, the give log message will be appearing on the screen as shown: “Good Morning” Finally, installation gets completed. The following screenshot depicts the process of installation pictorially. kevell@corp:/# ptdeploy logging log Install Logging?(Y/N) Y ******************************* * Golden Contact Computing * * Logging! * ******************************* Enter Log Message Good Morning [Pharaoh Logging] Good Morning ... All done!

1.1. Commands 433 kevells Documentation, Release 0.1

******************************* Thanks for installing , visit www.gcsoftshop.co.uk for more ******************************

Single App Installer: ------

No Data.

------Installer Finished

How to define php error log The syntax for declaring the log for php error log is shown below: ptconfigure logging log --php- log --log-message="Here is something logging to the console and error log"

Instead of log-message="Here is something logging to the console and error log" the user can add any text to the portion of log message depending upon their requirements.

Benefits • The user can add their frequently used log message for the php error log. • While installing the log the user can input and ensure the display of log message. • It is well-to-do in both ubuntu and as well as in cent OS. • The parameters used in declaration is not case sensitive.

Nginx Control

Synopsis Nginx (pronounced “engine-x”) is an open source reverse proxy server for HTTP, HTTPS, SMTP, POP3, and IMAP protocols, as well as a load balancer, HTTP cache, and a web server (origin server). The nginx project started with a strong focus on high concurrency, high performance and low memory usage. It is licensed under the 2-clause BSD-like license and it runs on Linux, BSD variants, Mac OS X, Solaris, AIX, HP-UX, as well as on other nix flavours. Nginx uses an asynchronous event-driven approach to handling requests, instead of the Apache HTTP Server model that defaults to a threaded or process-oriented approach, where the Event MPM is required for asynchronous process- ing. Nginx’s modular event-driven architecture can provide more predictable performance under high loads.

Help Command This command helps to determine the usage of Nginx module. The user will come to know about the different ways/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same. ptdeploy nginxcontrol help kevell@corp:/# ptdeploy NginxControl help ******************************

434 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

This command is part of Default Modules and handles Nginx Server Control Functions.

NginxControl, nginxcontrol, nginxctl

- start Start the Nginx server example: ptdeploy nginxcontrol start

- stop Stop the Nginx server example: ptdeploy nginxcontrol stop

- restart Restart the Nginx server example: ptdeploy nginxcontrol restart

- reload Reloads the Nginx server configuration without restarting example: ptdeploy nginxcontrol reload

------End Help ******************************

Start When the user needs to start the Nginx server, the below given command will execute the process. ptdeploy nginxcontrol start

Before execution, the system ask for the confirmation to proceed, if you want to proceed enter ‘Y’, if no enter ‘N’.

Stop When the user needs to stop the Nginx server, the below given command will execute the process. ptdeploy nginxcontrol stop

Before execution, the system ask for the confirmation to proceed, if you want to proceed enter ‘Y’, if no enter ‘N’.

Restart When the user needs to Restart the Nginx server(when there are any changes happened in configuration file this option will be used), the below given command will execute the process. ptdeploy nginxcontrol restart

Before execution, the system ask for the confirmation to proceed, if you want to proceed enter ‘Y’, if no enter ‘N’.

Reload When the user needs to Reload the Nginx server without restarting, the below given command will execute the process. ptdeploy nginxcontrol reload

Before execution, the system ask for the confirmation to proceed, if you want to proceed enter ‘Y’, if no enter ‘N’. Alternative Parameter

Either of the three alternative parameter can be used in command- ngnixcontrol , NgnixControl and nginxcil eg: ptdeploy ngnixcontrol help/ ptdeploy ngnixControl help

1.1. Commands 435 kevells Documentation, Release 0.1

Benefits • Ability to handle more than 10,000 simultaneous connections with a low memory footprint • Handling of static files, index files, and auto-indexing • Reverse proxy with caching • Load balancing with in-band health checks • Fault tolerance • TLS/SSL with SNI and OCSP stapling support, via OpenSSL. • FastCGI, SCGI, uWSGI support with caching • Name- and IP address-based virtual servers • IPv6-compatible • SPDY protocol support • WebSockets and HTTP/1.1 Upgrade (101 Switching Protocols) • FLV and MP4 streaming • Web page access authentication • gzip compression and decompression • URL rewriting • Custom logging with on-the-fly gzip compression • Response rate and concurrent requests limiting • Bandwidth throttling • Server Side Includes • IP address-based geolocation • User tracking • WebDAV • XSLT data processing • Embedded Perl scripting

NginxSBEditor

Synopsis This module is a fine part of default modules and handles Nginx ServerBlocks functions. Let us see about the methodologies for using this and also about the functions under this nginx editor in upcoming topics.

Help Command The help command envelops all the necessary information regarding NginxSBEditor such as its primary uses, the list of alternative parameters that can be used in the declaration, what are primary function of Ng- inxSBEditor(Ex: add, remove, list, enable, disable), and also the syntax used for declaring those interesting functions. The following command is used for declaring help option under NginxSBEditor, ptdeploy NginxSBEditor help

The following screen shot depicts pictorially about the working of help command.

436 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

kevell@corp:/# ptdeploy NginxSBEditor help ******************************

This command is part of Default Modules and handles Nginx ServerBlocks Functions.

NginxSBEditor, nginx-sb-editor, nginxsbe

- add create a Server Block example: ptdeploy nginxsbe add sb-docroot sb-url sb-ip-port

- rm remove a Server Block example: ptdeploy nginxsbe rm

- list List current Server Blocks example: ptdeploy nginxsbe list

- enable enable a Server Block example: ptdeploy nginxsbe enable

- disable disable a Server Block example: ptdeploy nginxsbe disable

------End Help ******************************

How to Use As depicted and explained in the above help command, the NginxSBEditor, has the following functions, • Add • Remove • List • Enable • Disable Let us see how to use these interesting functions under NginxSBEditor.

Add The role of this function is to create/add a new server block. The command and working of add functions is depicted below, ptdeploy NginxSBEditor add

After entering the command given above, the working of this add function is shown below,

1.1. Commands 437 kevells Documentation, Release 0.1

Parameters Alternative Parameters Op- Comments tions Do you want to add a Instead of NginxSBEditor, we can Y(Yes) If the user needs to add a new server ServerBlock? (Y/N) use nginx-sb-editor, nginxsbe also. block they can input as Y. Do you want to add a Instead of NginxSBEditor, we can N(No) If the user is not in need to add a new ServerBlock? (Y/N) use nginx-sb-editor, nginxsbe also. server block they can input as N| If the user proceeds adding the server blocks during the adding process the following steps are involved. Step 1: What is document root? The user have specify the root, if they not wish to proceed with the default. Step 2: What URL do you want to add as server name? The user have to specify the url that is supposed to add. Step 3: What IP? Port should be set? The user have specify the IP, if they not wish to proceed with the default. Step 4: What is your ServerBlock Template directory? The user have specify the directory, if they not wish to proceed with the default. Step 5: Please check the ServerBlock The user have check the output display of server block that is added and ensure. Step 6: Is this Okay? (Y/N) If the user are happy with the result generated, they can input as Y else N. Step 7: What is your ServerBlock directory? The user have specify the directory. Step 8: Do you want to enable a server block? (Y/N) The user have to input as Y or N depending upon their needs. Step 9: What is your Enabled Symlink ServerBlock directory. If a server block is enabled, the user have to specify its directory. The following screenshot visually depicts the above explained process. kevell@corp:/# ptdeploy nginxsbe add Do you want to add a ServerBlock? (Y/N) Y What’s the document root? Enter nothing for /

438 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

/root/Nginx What URL do you want to add as server name? www.ngx.com What IP:Port should be set? Enter nothing for 127.0.0.1:80

What is your ServerBlock Template directory? Enter nothing for default templates /root/Nginxdir Please Choose ServerBlock Template: --- Default Server Block Templates: --- (0) docroot-no-suffix (1) docroot-src-sfx (2) docroot-web-suffix (3) docroot-www-suffix (4) docroot-docroot-suffix

3 Please check ServerBlock: server { listen 127.0.0.1:80 ; ## listen for ipv4; this line is default and implied #listen [::]:80 default ipv6only=on; ## listen for ipv6

root /root/Nginx/www ; index index.html index.htm index.php;

# Make site accessible from http://localhost/ server_name www.ngx.com ;

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; }

}

Is this Okay? (Y/N) Y What is your ServerBlock directory? /root/Nginxdir Do you want to enable a ServerBlock? (Y/N) Y What is your Enabled Symlink ServerBlock directory? /home/Nginxsymlink Server Block Enabled Symlink Created ******************************

1ServerBlock Creator Finished ******************************

Remove The remove function is used for removing the unwanted server blocks. This can be done using the command given below,

1.1. Commands 439 kevells Documentation, Release 0.1

ptdeploy NginxSBEditor rm

After entering the command above, the following process involved in deletion as shown in the table Parameters Alternative Parameters Op- Comments tions Do you want to delete Instead of NginxSBEditor, we can Y(Yes) If the user needs to delete the server ServerBlock/s? (Y/N) use nginx-sb-editor, nginxsbe also. block they can input as Y. Do you want to add a Instead of NginxSBEditor, we can N(No) If the user is not in need to delete the ServerBlock/s? (Y/N) use nginx-sb-editor, nginxsbe also. server block they can input as N| If the user proceeds deleting the server blocks during this process the following steps are involved. Step 1: Deleting ServerBlock What is your ServerBlock directory? The user have to specify the directory. Step 2: Please Choose ServerBlock –All Server Blocks: — 0. www.ngn.com 1. www.ngx.com 2. www.nx.com The user have to specify the values from 0 to 2 depending upon their needs. Step 3: !! Sure? Definitely delete ServerBlock? (Y/N) !! The user have to specify Y or N depending upon their needs. Step 4: Do you want to disable a ServerBlock? (Y/N) The user have to specify Y or N depending upon their needs. Step 5: What is your Enabled Symlink ServerBlock directory? The user have to specify the directory. The following screenshot depicts visually about the process of deletion. kevell@corp:/# ptdeploy nginxsbe rm Do you want to delete ServerBlock/s?(Y/N) Y Deleting ServerBlock What is your ServerBlock directory? /root/Nginxdir Please Choose ServerBlock: ---All Server Blocks: --- (0) www.ngn.com (1) www.ngx.com (2) www.nx.com

440 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

2 !! Sure? Definitely delete ServerBlock?(Y/N)!! Y Do you want to disable a ServerBlock?(Y/N) Y What is your Enabled Symlink ServerBlock directory? /root/home/Nginxsymlink Server Block www.nx.com Disabled if existed Server Block www.nx.com Deleted if existed *******************************

1ServerBlock Creator Finished ******************************

List The function of list option is to list the current installed server blocks. The command used for list is given below, ptdeploy NginxSBEditor list

After entering the command above, the following process involved in list option. Step 1: What is your ServerBlock directory? The user have to specify the directory. Step 2: What is your Enabled Symlink ServerBlock directory? The user have to specify the directory. After these steps, he list of currently installed ServerBlocks are displayed. The following screenshot depicts the working of list option visually. kevell@corp:/# ptdeploy nginxsbe list What is your ServerBlock directory? /root/Nginxdir What is your Enabled Symlink ServerBlock directory?

Current Installed ServerBlocks: --- Enabled Server Blocks: --- (0) www.ngn.com (1) www.ngx.com --- All Available Server Blocks: --- (2) www.ngn.com (3) www.ngx.com ******************************

1ServerBlock Creator Finished ******************************

Benefits • It is well-to-do in both ubuntu and as well as in cent OS.

1.1. Commands 441 kevells Documentation, Release 0.1

• The parameters used in declaration is not case sensitive. • The users can view list of server blocks available and currently installed, even before adding or deleting a server block.

Project

Synopsis In contemporary business and science a project is defined as a collaborative enterprise, involving research or design, which is carefully planned to achieve a particular aim. Projects can be further defined as temporary rather than permanent social systems or work systems that are constituted by teams within or across organizations to accom- plish particular tasks under time constraints. An ongoing project is usually called (or evolves into) a program. This command is part of default modules and handles project initialization functions, like configuring a project, or a project container and also installing Jenkins build files into a running Jenkins instance.

Help Command This command helps to determine the usage of project module. The user will come to know about the different ways/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screen shot of the same. ptdeploy project help

kevell@corp:/# ptdeploy Project help ******************************

This command is part of Default Modules and handles Project initialisation functions, like configuring a project, or a project container and also installing Jenkins build files into a running Jenkins instance.

Project, project, proj

- container make a container folder for revisions(like /var/www/applications/ *APP NAME*) example: ptdeploy proj container example: ptdeploy proj container --yes --proj-container="/var/www/applications/the-app"

- init initialize Dapper project example: ptdeploy proj init example: ptdeploy proj init --yes

- build-install copy jenkins project stored in repo to running jenkins so you can run builds example: ptdeploy proj build-install example: ptdeploy proj build-install --jenkins-fs-dir=/var/lib/jenkins # --guess will set this to /var/lib/jenkins --original-build-dir="/var/www/applications/the-app/build/config/ptconfigure/Project/jenkins-builds" --target-job-name="Project_Build" --new-job-dir="Project_Build_Alternate_Name" # If target one is not available

------End Help ******************************

442 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Container This command helps make a container folder for revisions (like /var/www/applications/APP NAME). When the user needs to install, the user can issue the following commands for DBIstall. The system will execute the process of installation. ptdeploy proj container kevell@corp:/# ptdeploy proj container Do you want to Modify Project Container Settings?(Y/N) Y Do you want to initialize this as a ptdeploy project Container?(Y/N) Y What is your Project Container directory? /root/gg Project Container directory created /root/gg space /root/ggMoving to Container /root/gg Showing Container Directory Project Container file created ******************************

Seems Fine...Project Editor Finished ****************************** init When the user needs to initialize dapper project, the user can issue the following commands. The system will execute the process. ptdeploy proj init kevell@corp:/# ptdeploy proj init Do you want to Modify Project Settings To initialise Project?(Y/N) Y Do you want to initialize this as a ptdeploy project?(Y/N) Y ******************************

Seems Fine...Project Editor Finished ******************************

Build-Install When the user needs copy Jenkins project stored in repo to running Jenkins, the user can issue the following commands. The system will execute the process. ptdeploy proj build-install

Alternative Parameter There are two alternative parameters which can be used in command. Project, project and proj eg: ptdeploy Project help/ ptdeploy proj help

Benefits • Helps make a container folder for revisions • Helps to initialize dapper project

1.1. Commands 443 kevells Documentation, Release 0.1

Run Command

Synopsis The run command modules enables the users to execute an operating system command. This is mainly be used in an Autopilot. Using this run command the user can specify the command, name of the user and also to run the either in background or front-end. Let us see the uses of run command.

Help Command The help command describes the uses of run command, its major functionality, its alternative parameters, the commands used for executing a command, and also about the syntax for specifying the command, name of the user and also to run the either in background or front-end. The syntax used for declaring the help command is shown below. ptdeploy RunCommand help

The following screen shot depicts pictorially about the working of help command. kevell@corp:/# ptdeploy RunCommand help ******************************

This allows you to execute an Operating System command. This would primarily be used in an Autopilot.

RunCommand, runcommand, run-command

- execute Execute a Command example: ptconfigure run-command --yes --command="ls -lah /tmp" --run-as-user="ubuntu" --background

------End Help ******************************

How to use Run command The syntax used for specifying the run command in shown below. ptconfigure run-command --yes --command="ls -lah /tmp" --run-as-user="ubuntu" --background

Parameter Function Usage com- It allows the user to specify the command and its By using this, the user can specify their mand=”ls purpose. own command as per their requirements. -lah /tmp” run-as- By using this the user can specify the name of the By using this, the user can specify their user=”ubuntu” user. required user login as per their requirements. ”– It allows the user to specify where to run the By using this, the user can specify their background particular command either in background or in the platform of usage as per their front-end.| requirements. The syntax and table as described above can helps the user how to use the run command.

Benefits • The parameters used for declaring help command, installation are not case sensitive which is an added advantage while compared to others. • It is well-to-do in both Cent OS and as well as in Ubuntu. • The users can specify the command, name of the user and also to run the either in background or front-end.

444 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

• The help command guides the users in how to execute the run command an also its purpose.

SFTP

Synopsis This module assist in transferring files from one system to another. It can upload or download the files to the system. Automation is possible. Put and get options are available in this module. It specifies the configuration of your environment. It is user friendly with Ubuntu and cent OS.

Help command Help command used to find information about a specified command. For more information about changes to functionality of SFTP we can use this help command. ptdeploy SFTP help

The following screen shot guides you. kevell@corp:/# ptdeploy sftp help ******************************

This command handles SFTP Transfer Functions.

SFTP, sftp

- put Will ask you for details for servers, then copy a file or directory from local to remote example: ptconfigure sftp put example: ptconfigure sftp put --yes --environment-name=staging --source="/tmp/file" --target="/home/user/file" example: ptconfigure sftp put --yes --source="/tmp/file" --target="/home/user/file" # will ask for server details

- get Will ask you for details for servers, then copy a file or directory from remote to local example: ptconfigure sftp get example: ptconfigure sftp get --yes --environment-name=staging --source="/tmp/file" --target="/home/user/file" example: ptconfigure sftp get --yes --source="/tmp/file" --target="/home/user/file" # will ask for server details

------End Help ******************************

Installation As a company, and as individuals, SFTP has been dedicated to meeting each partner’s technology challenges, fulfilling their engineering requirements, and satisfying their business goals. It is an obvious process to install SFTP module under ptdeploy by just using the command given below, ptdeploy SFTP install

After giving the command then the system will raise the question as, Install SFTP server group? Y/N If the user input as Y then SSh timeout section? The user has to enter the value Please enter remote ssh port

1.1. Commands 445 kevells Documentation, Release 0.1

Default value is 22. The user can enter any value Enter server host IP? The user has to enter username, password, and key path. Add another server? If the user input as Y he has to enter new server name Then everything will be connected. If the user input as N previous server name can be accessed. kevell@corp:/# ptconfigure sftp put SFTP on Server group?(Y/N) Y Please Enter SSH Timeout in seconds 90 Please Enter remote SSH Port 22 Use Environments Configured in Project?(Y/N) N [Pharaoh Logging] Attempting to load SFTP connections... Enter local source file path /root/vv Enter remote target file path /root/gg/vv [Pharaoh Logging] Opening SFTP Connections... [Pharaoh Logging] All SFTP Puts Completed ******************************

SFTP Put: Success

------Installer Finished ******************************

Parameters Alternative Parameters Syntax Comments Options put SFTP, sftp Source to target The file can transferred get SFTP, sftp Path to source The file can downloaded from remote system|

Benefits • Multi server from remote area. • Specified file is not available error message will come. • Accessability is difficult without permission. • Automatically overwrite in case of already in case of file exist. • Non case sensitive. • Secrecy and security is possible. Solving customers most challenging technology problems and enabling their success is the SFTP mission and passion.

446 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

SVN

Synopsis This module assists the users in handling checkout functions. Apache Subversion (often abbreviated SVN, after the command name svn) is a software versioning and revision control system distributed as free software under the Apache License.[1] Developers use Subversion to maintain current and historical versions of files such as source code, web pages, and documentation. Its goal is to be a mostly compatible successor to the widely used Concurrent Versions System (CVS). Let us see how this module facilitates in handling checkout functions.

Help Command The help command guides the users regarding the purpose and as well as about the options that are included in the SVN. It lists out the alternative parameters of SVN. It also describes the syntax for using the checkout functions. The help command for SVN module is shown as below. ptdeploy svn help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under SVN. kevell@corp:/# ptdeploy svn help ******************************

This command is part of Default Modules and handles Checkout Functions.

Checkout, checkout, co

- perform a checkout into configured projects folder. If you don’t want to specify target dir but do want to specify a branch, then enter the text "none" as that parameter. example: ptdeploy svn co https://svnhub.com/phpengine/yourmum {optional target dir} {optional branch} example: ptdeploy svn co https://svnhub.com/phpengine/yourmum none {optional branch}

------End Help ******************************

How to Use the checkout functions The syntax for using the check out functions under svn is given below. ptdeploy svn co https: // svnhub.com/ phpengine/yourmum

After entering the command given above, the execution of checkout function begins as described in the below table, Parameters Alternative Parameters Op- Comments tions Perform a Instead of co, we can use Y(Yes) If the user needs to perform a clone/ download clone/download of checkout, Checkout also. of files they can input as Y. files? (Y/N) Perform a Instead of co, we can use N(No) If the user is not in need to perform a clone/download of checkout, Checkout also. clone/download of files they can input as N.| files? (Y/N) If the user proceeds the checkout function by input as Y, the following steps are involved as described below. Step 1: Also change permissions/owner? (Y/N) The user have to input as Y or N depending upon their willingness in changing permissions/owner. Step 2:

1.1. Commands 447 kevells Documentation, Release 0.1

What user is Apache Web Server running as? The user have to input the name of user running the apache web server. Step 3: It involves the process of changing folder permissions, and folder owner. The following screenshot depicts pictorially about the process and working of check out functions.

Benefits • It is well-to-do in both ubuntu and as well as in cent OS. • The parameters used in declaration is not case sensitive. • The user can perform and monitor the checkout functions by using this SVN.

System Detection

Synopsis This module aims at detecting the user’s machine and in hand provides them the necessary information to them regarding the users system. It also provides a facility to the users to configure their applications settings. The few examples for applications settings includes my sql admin user, Architecture, admin user, host, version, linux type, Distro. It is comfortable with Ubuntu and cent OS.

Help command The help command leads the users regarding the purpose and as well as about the options that are included in the System detection modules. The help command lists out the alternative parameters of System detection under ptdeploy module. It also describes the syntax for detecting the user’s machine. The help command for System detection is shown below. ptdeploy systemdetection help

The syntax for the help command non case sensitive which adds an advantage for this module. The following screen- shot visualize the user about the help command under system detection. kevell@corp:/# ptdeploy systemdetection help ******************************

This is a default Module and provides you with a method by which you can configure Application Settings. You can configure default application settings, ie: mysql admin user, host, pass

SystemDetection, system-detection, systemdetection

- detect Detects the Operating System example: ptconfigure system-detection detect

------End Help ******************************

Detect Detect used to detect the system settings. By using a single command the user can get all the information about the system application. The command used for system detection is given below.

448 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

ptconfigure systemdetection detect

After keying the above command, the process of system detection starts. During system detection the following information’s regarding the corresponding machine are reported: • Operating System • Linux Type • Distro • Version • Architecture • Host Name • IP Address 0. • IP Address 1. Finally, after detection the information regarding the above mentioned features are clearly reported. The following screen shot depicts you about the process of system detection. kevell@corp:/# ptconfigure system-detection detect ******************************

Systems Detection: ------

Operating System: Linux Linux Type: Debian Distro: Ubuntu Version: 14.04 Architecture: 64 Host Name: Kevells IP Address 0: 127.0.0.1 IP Address 1: 192.168.1.18

------Detection Finished ******************************

Alternative Parameters Instead of system detection, the following parameters can be used: • System Detection • system-detection • system detection

Benefits • The users can configure the application settings using this system detections. • The parameters used for declaring help command, system detection are not case sensitive which an added advantage while compared to others is. • It is well-to-do in both Cent OS and as well as in Ubuntu. • Non case sensitive.

1.1. Commands 449 kevells Documentation, Release 0.1

• Protection and security is possible. Preventing harm to the system and to resources, through internal processes or malicious outsiders. Authentication, ownership, and restricted access are obvious parts of this system. • System administrators generally determine which interface a user starts with when they first log in. • Generally written in PHP, although some are written in assembly for optimal performance. The system detection module provides the support: • Identify a remote process and/or host with which to communicate. • Establish a connection between the two processes. • Open and close the connection as needed. • Transmit messages along the connection.

Templating

Synopsis The term templating when used in the context of ptdeploy file format refers to a common feature of many software applications that define a unique non-executable file format intended specifically for that particular application. Templating formats are those whose file indicates that the file type is intended as a very high starting point from which to create other files. These types of files are usually installed templating file with new values. It suits to work with Ubuntu and centos.

Help command The help command leads the users regarding the purpose and as well as about the options that are included in the template modules. The help command lists out the alternative parameters of templating under ptdeploy module. It also describes the syntax for detecting the user’s machine. The help command for templating is shown below. ptdeploy templating help

The following screenshot explains about templating. kevell@corp:/# ptdeploy templating help ******************************

This command allows you to install a templated file with new values.

Templating, templating, template

- install Installs a template example: ptconfigure template install

------End Help ******************************

Installation In ptdeploy context, templating refers to creating a single virtual machine image as a guest operating system, then saving it as a tool for multiple running virtual machines. The technique is used to install both in virtual- ization and cloud computing management, and is common in large server warehouses. The following command helps the user to install templating.

450 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

ptdeploy templating install

The following screen shot guides the user to install. kevell@corp:/# ptdeploy templating install

Install Templating Functionality?(Y/N) Y ******************************* * Golden Contact Computing * * Templating ! * ******************************* ... All done! ******************************* Thanks for installing , visit www.gcsoftshop.co.uk for more ******************************

Single App Installer: ------

Templating: Success

------Installer Finished ******************************

Parameters Alternative Parameters Op- Comments tions Install templating Templating, templating Yes Templating can be installed under Option functionality? template ptdeploy. Install templating Templating, templating No It can exit the screen functionality? template|

Benefits • Template processing is used in various contexts for different purposes. • The specific purpose is ordinarily contingent upon the software application or template in use. • Non sensitive • Suits to work with Ubuntu and centos. • Updated version with new values is possible.

Version

Synopsis This module used to install updated version under ptdeploy. Version control most commonly run as stand- alone applications, but revision control is also embedded in various types of operating system such as Ubuntu and Cent OS. Most version allow multiple developers to edit the same file at the same time. The first developer to “check in” changes to the central repository always succeeds. The system may provide facilities to further changes into the central repository, and preserve the changes from the first developer when other developers check in.It supports Ubuntu and CentOS.

1.1. Commands 451 kevells Documentation, Release 0.1

Help command The help command leads the users regarding the version of the ptdeploy. The options that are included in the version modules. The help command lists out the alternative parameters of version under ptdeploy module. It also describes the syntax for version. The help command for version is shown below. ptdeploy version help

The following screen shot shows the full effort of ptdeploy. kevell@corp:/# ptdeploy Version help ******************************

This command is part of Default Modules and handles Application Versioning, allowing for rollbacks and the like.

Version, version, vrs

- specific Will change back the *current* symlink to whichever available version you pick example: ptdeploy version specific --limit=4 --container=/var/www/applications/the-app --version=2

- latest Will change back the *current* symlink to the latest created version example: ptdeploy version latest example: ptdeploy version latest --limit=3 --container=/var/www/applications/the-app

- rollback Will change back the *current* symlink to the latest created version but one example: ptdeploy version rollback example: ptdeploy version rollback --limit=3 --container=/var/www/applications/the-app

You can also apply a limit to the number of Versions to keep by using the --limit parameter example: ptdeploy version latest --limit=3

------End Help ******************************

Alternative parameter There are two alternatives available in version. They are Version, version, VERSION

Installation Installation includes installation of version required to make the installation in an updated version. It is a manifest process to install version module under ptdeploy. version by just using the command given below, ptdeploy version Install

After vitalize the command it will catechize input. When the user input as yes automatically it will install version with checking from the system. If not exit the installa- tion. The following screen shot demonstrate version and its functions.

452 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Parameters Op- Alternative Parameter Comments tion Install Yes Instead of using version the user can use Installed successfully under Option version?(Y/N) Version, VERSION ptdeploy module Install No Instead of using version the user can use Exit the screen version?(Y/N) Version, VERSION.|

Benefits • New version can be updated. • It is suitable with Ubuntu and CentOS. • Non case sensitivity • Automation is possible • Simple to type the commands

Wordpress

Synopsis This module is a fine part of the default one, which facilitates the users in integrating the word press websites. Its functions includes dapperfy, builderfy, and also provides word press database configuration for the DBConfigure module. Word Press is a free and open-source blogging tool and a content management system (CMS) based on PHP and MySQL. Features include a plugin architecture and a template system. Word Press was used by more than 23.3% of the top 10 million websites as of January 2015. Word Press is the most popular blogging system in use on the Web, at more than 60 million websites.

Help Command The help command explains the users regarding the primary function of this module, its alternative parameters which can be used in declarations, its three major functions (ex: dapperfy, builderfy, execute), and also about the syntax for declaring its three major functions. The command used for declaring the help option is depicted below, ptdeploy Wordpress help

The following screen shot depicts visually regarding the help command under this module. The syntax used in decla- ration is non case-sensitive. kevell@corp:/# ptdeploy Wordpress help ******************************

This module is a Default one, and provides integration for Wordpress websites. It has tailored Builderfy and Dapperfy Autopilots and also provides Wordpress Database Configuration for the DBConfigure Module.

Wordpress, wordpress

This module adds multiple actions to both builderfy and dapperfy. This will let you produce autopilots for both which are tailored to Wordpress.

// dapperfy - create our auto deploy files ptdeploy dapperfy wordpress --yes --guess

// builderfy - create templates to install build sudo ptdeploy builderfy continuous --yes --jenkins-home="/var/lib/jenkins" --target-job-name="my-project-continuous" --project-description="This is the Continuous Delivery build for My Project" --primary-scm-url="http://146.185.129.66:8080/git/root/first-pharaoh-cd.git" --source-branch-spec="origin/master" --source-scm-url="http://146.185.129.66:8080/git/root/first-pharaoh-cd.git" --days-to-keep="-1" --amount-to-keep="10" --autopilot-test-invoke-install-file="build/config/ptdeploy/autopilots/tiny-staging-invoke-code-no-dbconf.php" --autopilot-prod-invoke-install-file="build/config/ptdeploy/autopilots/tiny-prod-invoke-code-no-dbconf.php" --error-email="[email protected]" --only-autopilots

1.1. Commands 453 kevells Documentation, Release 0.1

// execute the build creator ptdeploy autopilot execute build/config/ptdeploy/builderfy/autopilots/tiny-jenkins-invoke-continuous.php

------End Help ******************************

How to use dapperfy wordpress The command used for dapperfy the wordpress is given below, ptdeploy dapperfy wordpress

After entering the command given above, the process of dapperfying begins as depicted in the below table, Parameters Alternative Parameters Op- Comments tions Dapperfy This for Instead of wordpress, we can Y(Yes) If the user needs to dapperfy the wordpress Wordpress? (Y/N) use Wordpress also. they can input as Y. Dapperfy This for Instead of wordpress, we can N(No) If the user is not in need to dapperfy the Wordpress? (Y/N) use Wordpress also. wordpress they can input as N.| If the user proceeds the process of dapperfying the wordpress, during the execution of dapperfying the following steps occurs, Step 1: Use existing environment settings? (Y/N) The user have to specify Y or N, depending upon their wish for using existing environment settings. Step 2: Do you want to add another environment? (Y/N) The user have to specify Y or N, depending upon their wish for adding another environment. After completion of these steps, the process of dapperfying the wordpress gets completed. It is depicted visually from the screenshot given below, kevell@corp:/# ptdeploy dapperfy wordpress Dapperfy This for Wordpress?(Y/N) y Use existing environment settings?(Y/N) n Do you want to add another environment?(Y/N) n Standard Dapperfies: //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-invoke-code-data.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-invoke-code-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-invoke-code-no-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-invoke-enforce-revisions.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-invoke-rollback-newest.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-invoke-rollback-previous.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-node-install-code-no-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-node-install-enforce-revisions.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-node-install-rollback-newest.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-node-install-rollback-previous.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-node-uninstall-code-data.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-node-uninstall-code.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-nodepool-install-code-no-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-ptvirtualize-host-install-host-file-entry.php

454 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

//build/config/ptdeploy/dapperfy/autopilots/generated/default-local-ptvirtualize-host-uninstall-host-file-entry.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-ptvirtualize-install-code-no-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-workstation-install-code-no-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-workstation-uninstall-code-data.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-workstation-uninstall-code.php Wordpress Dapperfies: //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-node-install-code-data.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-node-install-code-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-workstation-install-code-data.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-workstation-install-code-dbconf.php Standard Dapperfies: //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-invoke-code-data.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-invoke-code-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-invoke-code-no-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-invoke-enforce-revisions.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-invoke-rollback-newest.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-invoke-rollback-previous.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-node-install-code-no-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-node-install-enforce-revisions.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-node-install-rollback-newest.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-node-install-rollback-previous.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-node-uninstall-code-data.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-node-uninstall-code.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-nodepool-install-code-no-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-ptvirtualize-host-install-host-file-entry.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-ptvirtualize-host-uninstall-host-file-entry.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-ptvirtualize-install-code-no-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-workstation-install-code-no-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-workstation-uninstall-code-data.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-workstation-uninstall-code.php Wordpress Dapperfies: //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-node-install-code-data.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-node-install-code-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-workstation-install-code-data.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-workstation-install-code-dbconf.php ******************************

Success In Dapperfy ******************************

Working of wordpress Auto deploy files In order to generate the auto deploy files in wordpress, the user have to input the command given below, ptdeploy dapperfy wordpress --yes --guess

After entering the command given above, the auto deploy files will be generated, as pictorially depicted from the below screenshot, kevell@corp:/# ptdeploy dapperfy wordpress --yes --guess Standard Dapperfies: //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-invoke-code-data.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-invoke-code-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-invoke-code-no-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-invoke-enforce-revisions.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-invoke-rollback-newest.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-invoke-rollback-previous.php

1.1. Commands 455 kevells Documentation, Release 0.1

//build/config/ptdeploy/dapperfy/autopilots/generated/default-local-node-install-code-no-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-node-install-enforce-revisions.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-node-install-rollback-newest.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-node-install-rollback-previous.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-node-uninstall-code-data.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-node-uninstall-code.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-nodepool-install-code-no-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-ptvirtualize-host-install-host-file-entry.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-ptvirtualize-host-uninstall-host-file-entry.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-ptvirtualize-install-code-no-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-workstation-install-code-no-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-workstation-uninstall-code-data.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-workstation-uninstall-code.php Wordpress Dapperfies: //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-node-install-code-data.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-node-install-code-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-workstation-install-code-data.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-workstation-install-code-dbconf.php Standard Dapperfies: //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-invoke-code-data.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-invoke-code-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-invoke-code-no-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-invoke-enforce-revisions.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-invoke-rollback-newest.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-invoke-rollback-previous.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-node-install-code-no-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-node-install-enforce-revisions.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-node-install-rollback-newest.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-node-install-rollback-previous.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-node-uninstall-code-data.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-node-uninstall-code.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-nodepool-install-code-no-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-ptvirtualize-host-install-host-file-entry.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-ptvirtualize-host-uninstall-host-file-entry.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-ptvirtualize-install-code-no-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-workstation-install-code-no-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-workstation-uninstall-code-data.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-workstation-uninstall-code.php Wordpress Dapperfies: //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-node-install-code-data.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-node-install-code-dbconf.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-workstation-install-code-data.php //build/config/ptdeploy/dapperfy/autopilots/generated/default-local-8080-workstation-install-code-dbconf.php ******************************

Success In Dapperfy ******************************

Benefits • It is well-to-do in both ubuntu and as well as in cent OS. • The parameters used in declaration is not case sensitive. • Word Press also features integrated link management; a search engine–friendly, clean permalink structure • It has the ability to assign multiple categories to articles; and support for tagging of posts and articles.

456 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

• In wordpress Automatic filters are also included, providing standardized formatting and styling of text in articles

1.1.4 PTTest

Synopsis

The pttest aims at test configuration and execution automation management with the aid of php. It use common set of rules across a range of tools and technologies for handling the test suite configuration and execution. It provides common API to execute tests in a wide range of languages and test tools. The user can run complex test suites with little or no extra configuration needed. It nourishes the users tests by manual or using an operating system and in hand ensures the environmental stability. It is modular, object-oriented and extensible. So if the users feels any extra modules as required they can frame and add their own module depending upon their requirements. It is a part of pharaoh tool suite that envelops the Configuration Management, Test Automation Management, Auto- mated Deployment, Build and Release Management and more, all implemented in code, and all in PHP.

Help Command

If you want to know the purpose of a particular module, just type the command as follows: pttest ModuleName help this command will provide the usage of that particular module and also the available options in actions that you can perform. The screenshot shown under explains the usage of the module behat under pttest using the help command. The help command also lists the alternative parameters that can be used in declaration. kevell@corp:/# pttest Behat help ******************************

This command allows you to initialize a Behat test suite.

Behat, behat

- init, initialize Initialises the Behat test suite of this project example: pttest behat init example: pttest behat initialize

- execute Executes the Behat test suite of this project example: pttest behat execute

------End Help ******************************

Installation

Installing the pttest can be done in two possible ways depending upon the availability and requirements of the users. They two ways of installing pttest are:

1.1. Commands 457 kevells Documentation, Release 0.1

• Installing pttest via ptconfigure • Installing the pttest without depending on ptconfigure.

Installing pttest via ptconfigure

If the user have the ptconfigure in their machine, then it is the simpler way to install pttest by using the following command: sudo ptconfigure pttest install --yes --guess

Installing the pttest without depending on ptconfigure

If the user wish to install the pttest without depending and using the ptconfigure they can use the following command: sudo apt-get install php5 git git clone https://github.com/phpengine/pttest&& sudo php pttest/install-silent or The below command is predictable for the users who wish to specify the location during installation. git clone https://github.com/phpengine/pttest&& sudo php pttest/install

How to Use and Available Modules

Let us see, how to use the pttest tool, first, simply type as pttest this command will list all the names of the modules that are available under pttest. The following screen shot depicts that visually. kevell@corp:/# pttest ******************************

PTTest by Golden Contact Computing ------

About: ------pttest is for Test Automation. It can be used to generate starter test suites for your applications, and automated test execution scripts within minutes.

By providing an common API by which to execute tests in a wide range of languages and test tools, you can run complex test suites across a range of platforms with little to no extra configuration.

------

Available Commands: ------

Autopilot - ptconfigure Autopilot - User Defined Installations

458 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Behat - Behat - Initialize or Execute a Behat Test Suite Cucumber - Cucumber - Initialize or Execute a Cucumber Test Suite EnvironmentConfig - Environment Configuration - Configure Environments for a project PHPUnit - PHPUnit - Initialize or Execute a PHPUnit Test Suite SystemDetection - System Detection - Detect the Running Operating System Templating - Templating Testify - Testifyer - Creates default tests for your project

******************************

Playing with PTTest Modules

Behat

Synopsis This module allows the user to initialize behat test suite. The behat helps in testing an php script. It can highlight the enabled and disabled templates. Let us see how to init and execute the pttest behat.

Help Command The help command guides the user regarding the purpose and options available under a module. It lists out the alternative parameters that are used in declaration. It describes the syntax for initialize and to execute a behat under the pttest. The command used for declaring help is shown below: pttest behat help

The following screen shot depicts pictorially about the working of help command. kevell@corp:/# pttest Behat help ******************************

This command allows you to initialize a Behat test suite.

Behat, behat

- init, initialize Initialises the Behat test suite of this project example: pttest behat init example: pttest behat initialize

- execute Executes the Behat test suite of this project example: pttest behat execute

------End Help ******************************

How to Initialize Behat The command used for initialize the behat under pttest is shown: pttest behat init or pttest behat initialize

After inputting the command above, the process of initialize occurs as depicted in the below table.

1.1. Commands 459 kevells Documentation, Release 0.1

Parameters Alternative Parameters Op- Comments tions Initialize Behat Instead of Behat, we can use Y(Yes) If the user wish to proceed the init they can (Y/N) behat also input as Y. Initialize Behat? Instead of Behat, we can use N(No) If the user wish to quit the init process they can (Y/N) behat also input as N.| Finally the pttest behat gets initialized as shown in the following screenshot. kevell@corp:/# pttest behat init Initialize Behat?(Y/N) Y ******************************* * Golden Contact Computing * * Behat * ******************************* Creating /tmp/ptconfigure-temp-script-72748278108.sh chmod 755 /tmp/ptconfigure-temp-script-72748278108.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-72748278108.sh Permissions Executing /tmp/ptconfigure-temp-script-72748278108.sh /tmp/ptconfigure-temp-script-72748278108.sh: 3: /tmp/ptconfigure-temp-script-72748278108.sh: behat: not found Temp File /tmp/ptconfigure-temp-script-72748278108.sh Removed Creating /tmp/ptconfigure-temp-script-35600300430.sh chmod 755 /tmp/ptconfigure-temp-script-35600300430.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-35600300430.sh Permissions Executing /tmp/ptconfigure-temp-script-35600300430.sh Temp File /tmp/ptconfigure-temp-script-35600300430.sh Removed ... All done! ******************************* Thanks for installing , visit www.gcsoftshop.co.uk for more ******************************

Single App Installer: ------

Behat: Success

------Installer Finished ******************************

How to Execute the Behat The command used for executing the behat under pttest is shown: pttest behat execute

After inputting the command above, the process of execution occurs as depicted in the below table. Parameters Alternative Parameters Op- Comments tions Execute Behat Instead of Behat, we can use Y(Yes) If the user wish to proceed the execution they can (Y/N) behat also input as Y. Execute Behat? Instead of Behat, we can use N(No) If the user wish to quit the execution process they (Y/N) behat also can input as N.| If the user proceed the execution, the process of execution will occur as depicted in the following screenshot.

460 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

kevell@corp:/# pttest behat execute Execute Behat?(Y/N) y ******************************* * Golden Contact Computing * * Behat! * ******************************* Creating /tmp/ptconfigure-temp-script-93439425208.sh chmod 755 /tmp/ptconfigure-temp-script-93439425208.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-93439425208.sh Permissions Executing /tmp/ptconfigure-temp-script-93439425208.sh /tmp/ptconfigure-temp-script-93439425208.sh: 2: /tmp/ptconfigure-temp-script-93439425208.sh: behat: not found Temp File /tmp/ptconfigure-temp-script-93439425208.sh Removed Creating /tmp/ptconfigure-temp-script-97268122064.sh chmod 755 /tmp/ptconfigure-temp-script-97268122064.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-97268122064.sh Permissions Executing /tmp/ptconfigure-temp-script-97268122064.sh Temp File /tmp/ptconfigure-temp-script-97268122064.sh Removed ... All done! ******************************* Thanks for installing , visit www.gcsoftshop.co.uk for more ******************************

Single App Installer: ------

Behat: Success

------Installer Finished ******************************

Benefits • It guides the users to identify the errors in php script. • Using the features of behat the users can frame and specify the behavior of driven development. • The process of initialization and execution can be done under this behat of pttest. • It is well-to-do in both cent OS and as well as in ubuntu. • The parameters used in declaration are not case sensitive which is an added advantage while compared to others.

Cucumber

Synopsis This module assists the user to initialize and execute the cucumber test suite. Let us see how initialize and to execute the cucumber test suite in the upcoming topics.

Help Command The help command guides the user regarding the purpose and options available under a module. It lists out the alternative parameters that are used in declaration. It describes the syntax for initialize and to execute the cucumber under the pttest. The command used for declaring help is shown below:

1.1. Commands 461 kevells Documentation, Release 0.1

pttest cucumber help

The following screen shot depicts pictorially about the working of help command. kevell@corp:/# pttest cucumber help ******************************

This command allows you to initialize a Cucumber test suite.

Cucumber, cucumber

- init, initialize Initialises the Cucumber test suite of this project example: pttest cucumber init example: pttest cucumber initialize

- execute Executes the Cucumber test suite of this project example: pttest cucumber execute

------End Help ******************************

How to initialize cucumber The command used for initialize the cucumber under pttest is shown: pttest cucumber init or pttest cucumber initialize

After inputting the command above, the process of initialize occurs as depicted in the below table. Parameters Alternative parameters Op- Comments tions Initialize Instead of Cucumber, we can use Y(Yes) If the user wish to proceed the init they Cucumber? (Y/N) cucumber also. can input as Y. Initialize Instead of Cucumber, we can use N(No) If the user wish to quit the init process Cucumber? (Y/N) cucumber also. they can input as N.| Finally the pttest cucumber gets initialized as shown in the following screenshot. kevell@corp:/# pttest cucumber init Initialize Cucumber?(Y/N) Y ******************************* * Golden Contact Computing * * Cucumber * ******************************* Creating /tmp/ptconfigure-temp-script-81470621814.sh chmod 755 /tmp/ptconfigure-temp-script-81470621814.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-81470621814.sh Permissions Executing /tmp/ptconfigure-temp-script-81470621814.sh Temp File /tmp/ptconfigure-temp-script-81470621814.sh Removed Creating /tmp/ptconfigure-temp-script-65310697385.sh chmod 755 /tmp/ptconfigure-temp-script-65310697385.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-65310697385.sh Permissions

462 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Executing /tmp/ptconfigure-temp-script-65310697385.sh Temp File /tmp/ptconfigure-temp-script-65310697385.sh Removed ... All done! ******************************* Thanks for installing , visit www.gcsoftshop.co.uk for more ******************************

Single App Installer: ------

Cucumber: Success

------Installer Finished ******************************

How to Execute the Cucumber The command used for executing the cucumber under pttest is shown: pttest cucumber execute

After inputting the command above, the process of execution occurs as depicted in the below table. Parameters Alternative parameters Op- Comments tions Execute Instead of Cucumber, we can use Y(Yes) If the user wish to proceed the execution they Cucumber? (Y/N) cucumber also. can input as Y. Execute Instead of Cucumber, we can use N(No) If the user wish to quit the execution process Cucumber? (Y/N) cucumber also. they can input as N.| If the user proceed the execution, the process of execution will occur as depicted in the following screen shot.

Benefits • It is well-to-do in both cent OS and as well as in ubuntu. • The parameters used in declaration are not case sensitive which is an added advantage while compared to others. • This cucumber allows the users to initialize and to execute the cucumber test suite.

EnvironmentConfig

Synopsis This module facilitates the users in configuring their environment required for their project. Let us see how to configure the environment, how to delete the unwanted environment, how to use the list option for listing the available environments in upcoming topics.

Help command The help command guides the users regarding the purpose of the module, its alternative parameters that are used in declaration. It highlights the three functions of environment configuration which are list, configure, delete. It also specifies the syntax for using three major functions. The syntax used for declaring the help is shown below: ptconfigure envconfig help

The following screen shot depicts pictorially about the working of help command.

1.1. Commands 463 kevells Documentation, Release 0.1

kevell@corp:/# ptconfigure envconfig help ******************************

This command is part of a default Module and provides you with a method by which you can configure environments for your project from the command line. Currently compliant with both ptdeploy and ptconfigure.

EnvironmentConfig, environmentconfig, environment-config, envconfig, env-config

- list List current environments example: ptconfigure envconfig list --yes

- list-local List current local environments example: ptconfigure envconfig list-local --yes

- configure, config Configure bespoke environments for your project to use example: ptconfigure envconfig config # below to create an empty environment to add instances to example: ptconfigure envconfig config --yes --keep-current-environments # do not overwrite the current environments stored in papyrusfile --no-manual-servers # so it will not ask you to interactively enter connection details of instances --add-single-environment # otherwise it will loop for more until you specify not to --environment-name="some-name" # name of the environment to create --tmp-dir=/tmp/ # we’re deprecating this soon

- configure-default, config-default Configure default environments for your project to use example: ptconfigure envconfig config-default example: ptconfigure envconfig config-default --yes --environment-name="local-80/local-8080"

- delete, del Configure the environments for your project to use example: ptconfigure envconfig delete example: ptconfigure envconfig del --environment-name="staging"

------End Help ******************************

How to Configure the environment For the purpose of configuring the environments the user can use the following command: ptconfigure envconfig config

After inputting the command above the following operations takes place as shown: Step 1: Configure Environments Here? (Y/N) The user have to input Y or N. Step 2: Use existing environment Settings? (Y/N) The user have to input Y or N.

464 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

If the user input as Y it will proceed with already existing. If they input as N, it will asks information regarding the environment as Value for: Name of the environment Value for: Default temp dir(Location) After the above steps, the user have to input the following details: Enter target? Enter user? Enter password? Add Another Server? (Y/N) The user have to input Y or N. Finally, the environment configuration gets success as depicted in the below screenshot. kevell@corp:/# ptconfigure envconfig config Configure Environments Here?(Y/N) Y Environment1: Default Settings for Any App not setup for environment enter them now. Value for: Name of this Environment kevells Value for: Default Temp Dir(should usually be /tmp/)

Enter Servers - this is an array of entries Enter target ? /home/kevells Enter user ? kevells Value for: Default Temp Dir(should usually be /tmp/)

Enter Servers - this is an array of entries Enter target ? /home/kevells Enter user ? kevells Enter password ? 123456 Add Another Server?(Y/N) N ******************************

Success In Environment Configuration ******************************

While configuring an environment, if the user wish to configure with current environment , they can use the following command: ptconfigure envconfig config --keep-current-environments

After inputting the command above, it will asks the following details as shown in the tabular format:

1.1. Commands 465 kevells Documentation, Release 0.1

Parameters Op- Comments tions Configure Environments Here? Y If the user wish to configure the environments at the current (Y/N) environment they can input as Y Configure Environments Here? N If the user doesn’t wish to configure the environments at the current (Y/N) environment they can input as N Use existing environment Y If the user wish to use the existing environment settings they can settings? (Y/N) input as Y. Use existing environment N If the user doesn’t wish to use the existing environment settings they settings? (Y/N) can input as N. Do you want to add another Y If the user wish to add another environment,they can input as Y. environment? (Y/N) Do you want to add another N If the user doesn’t wish to add another environment, they can input environment? (Y/N) as N.| The following screenshot pictorially represents the above mentioned process: kevell@corp:/# ptconfigure envconfig config --keep-current-environments Configure Environments Here?(Y/N) Y Use existing environment settings?(Y/N) Y Do you want to add another environment?(Y/N) N ******************************

Success In Environment Configuration ******************************

How to Delete environment configuration If the user needs to delete the environment configuration, they can input the following command: ptconfigure envconfig del --environment-name="kevells"

The user can specify the name of the environment they wish to delete as shown above. After inputting the command above, it will ask Step 1: Delete Environments Here? and shows a warning message as WARNING: Deleting an environment from papyrus is final. You may be looking for boxify box-destroy instead(Y/N)

The user has to specify Y or N Step 2: Environment Kevells(Name of the specified environment that is supposed to delete) found. Are you sure want to delete it? (Y/N) The user has to specify Y or N Finally, the specified environment gets deleted as shown in the screenshot. kevell@corp:/# ptconfigure envconfig del --environment-name="kevells" Delete Environments Here? WARNING: Deleting an environment from papyrus is final. You may be looking for boxify box-destroy instead(Y/N) Y Environment kevells found. Are you sure you want to delete it?(Y/N)

466 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Y [Pharaoh Logging] Removing environment kevells. ******************************

Success In Environment Configuration ******************************

How to list environment configuration If the user wish to view the list of details regarding the environment con- figuration, they can input as shown: .. code-block:: bash ptconfigure envconfig list –yes After inputting the command above, it will display the output as shown in the screenshot: kevell@corp:/# ptconfigure envconfig list --yes ****************************** array(0){ }

In Environment Configuration ******************************

Alternative Parameters Instead of envconfig the following parameters can be used in declaration: • EnvironmentConfig • environmentconfig • environment-config • env-config

Benefits • It is well-to-do in both cent OS and as well as in ubuntu. • The parameters used in declaration are not case sensitive which is an added advantage while compared to others. • This module leads the users how to configure the environment, how to delete the unwanted environment, how to use the list option for listing the available environments.

PhpUnit

Synopsis Phpunit is a unit testing framework for the PHP programming language in tesingkamen. It is an instance of the architecture for unit testing frameworks that originated with initializes php test suite and became popular with pttest. It functions in two ways. They are init and execute. It is valuable to work with Ubuntu and centOS.

1.1. Commands 467 kevells Documentation, Release 0.1

Help command The help command leads the users regarding the purpose and as well as about the options that are included in the Phpunit modules. The help command lists out the alternative parameters of Phpunit under pttest module. It also describes the syntax for initializing the user’s machine. The help command for phpunit is shown below. pttest phpunit help

The syntax for the help command non case sensitive which adds an advantage for this module. The following screen- shot visualize the user about the help command under system detection. kevell@corp:/# pttest PHPUnit help ******************************

This command allows you to initialize a PHPUnit test suite.

PHPUnit, phpunit

- init, initialize Initialises the PHPUnit test suite of this project example: pttest phpunit init example: pttest phpunit initialize

- execute Executes the PHPUnit test suite of this project example: pttest phpunit execute

------End Help ******************************

Alternative parameter Instead of using phpunit the user can utilize the following altenative parameters. PHPUnit, phpunit

Initialize It initializes the phptest suite of this project. This can instruct the user to script the common use to set up autoloading for the classes that are to be tested. The command for init is as follows, pttest phpunit init

After inputting the system can question as Initialize PHPUnit? Y/N . This can be explained by thefollowing screenshot. kevell@corp:/# pttest phpunit init Initialize PHPUnit?(Y/N) Y ******************************* * Golden Contact Computing * * PHPUnit * ******************************* Creating /tmp/ptconfigure-temp-script-79746566500.sh chmod 755 /tmp/ptconfigure-temp-script-79746566500.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-79746566500.sh Permissions Executing /tmp/ptconfigure-temp-script-79746566500.sh Temp File /tmp/ptconfigure-temp-script-79746566500.sh Removed Creating /tmp/ptconfigure-temp-script-57284647129.sh chmod 755 /tmp/ptconfigure-temp-script-57284647129.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-57284647129.sh Permissions Executing /tmp/ptconfigure-temp-script-57284647129.sh Temp File /tmp/ptconfigure-temp-script-57284647129.sh Removed

468 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

... All done! ******************************* Thanks for installing , visit www.gcsoftshop.co.uk for more ******************************

Single App Installer: ------

PHPUnitInit: Success

------Installer Finished ******************************

Execute This execute helps the user to executes PHPUnit test suite of pttest. Programs for a system can execute in a batch process without human interaction, or a user may type commands in an interactive session of an interpreter. The following command is used to execute phpunit. pttest phpunit execute

After typing the command it ask a question. It can be visualized by the following image. kevell@corp:/# pttest phpunit execute Execute PHPUnit?(Y/N) Y ******************************* * Golden Contact Computing * * PHPUnit * ******************************* Creating /tmp/ptconfigure-temp-script-23757829034.sh chmod 755 /tmp/ptconfigure-temp-script-23757829034.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-23757829034.sh Permissions Executing /tmp/ptconfigure-temp-script-23757829034.sh /tmp/ptconfigure-temp-script-23757829034.sh: 3: /tmp/ptconfigure-temp-script-23757829034.sh: phpunit: not found Temp File /tmp/ptconfigure-temp-script-23757829034.sh Removed Creating /tmp/ptconfigure-temp-script-85280710426.sh chmod 755 /tmp/ptconfigure-temp-script-85280710426.sh 2>/dev/null Changing /tmp/ptconfigure-temp-script-85280710426.sh Permissions Executing /tmp/ptconfigure-temp-script-85280710426.sh Temp File /tmp/ptconfigure-temp-script-85280710426.sh Removed ... All done! ******************************* Thanks for installing , visit www.gcsoftshop.co.uk for more ******************************

Single App Installer: ------

PHPUnitExec: Success

------Installer Finished ******************************

1.1. Commands 469 kevells Documentation, Release 0.1

Parameters Options Comments Initialize Phpunit? (Y/N) Yes phpunit can be initialized under pttest. Option Execute Phpunit? (Y/N) Yes Phpunit can be executed under pttest. Initialize Phpunit/Execute Phpunit? (Y/N)| No It can exit the screen

Benefits • PHPUnit was created with the view that the sooner you detect your code mistakes, the quicker you can fix them. • Like all Unit testing frameworks PHPUnit uses assertions to verify that behaviour of the unit of code under test behaves as expected. • PHPUnit can output test results in a number of different formats like xml . • Phpunit can be a non-case sensitivity. • Phpunit comforts with Ubuntu and centOS.

SystemDetection

Synopsis This module aims at detecting the user’s machine and in hand provides them the necessary information to them regarding the users system. It also provides a facility to the users to configure their applications settings. The few examples for applications settings include mysql admin user, Architecture, admin user, host, version, linux type, Distro. It is comfortable with Ubuntu and cent OS.

Help command The help command leads the users regarding the purpose and as well as about the options that are included in the System detection modules. The help command lists out the alternative parameters of System detection under pttest module. It also describes the syntax for detecting theuser’s machine. The help command for System detection is shown below. pttest systemdetection help

The syntax for help command is non-case sensitive which adds an advantage for this module. The following screenshot visualize about the help command under system detection. kevell@corp:/# pttest systemdetection help ******************************

This is a default Module and provides you with a method by which you can configure Application Settings. You can configure default application settings, ie: mysql admin user, host, pass

SystemDetection, system-detection, systemdetection

- detect Detects the Operating System example: ptconfigure system-detection detect

------End Help ******************************

Detect When the user needs to detect the system settings, the below given command will get all the information about the system application.

470 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

pttest systemdetection detect

System ends up with providing the below given details: • Operating System • Linux Type • Distro • Version • Architecture • Host Name • IP Address 0. The following screen shot depicts you about the process of system detection. kevell@corp:/# pttest system-detection detect ******************************

Systems Detection: ------

Operating System: Linux Linux Type: Debian Distro: Ubuntu Version: 14.04 Architecture: 64 Host Name: kevells IP Address 0: 172.16.201.1 IP Address 1: 172.16.39.1 IP Address 2: 192.168.1.16

------Detection Finished ******************************

Alternative Parameters Instead of system detection, the following parameters can be used: • SystemDetection • system-detection • systemdetection

Benefits • The users can configure the application settings using this system detection. • The parameters used for declaring help command, system detection are not case sensitive which an added advantage while compared to others is. • It is well-to-do in both Cent OS and as well as in Ubuntu. • Protection and security is possible. Preventing harm to the system and to resources, through internal processes or malicious outsiders. Authntication, ownership, and restricted access are obvious parts of this system. • System administrators generally determine which interface a user starts with when they first log in.

1.1. Commands 471 kevells Documentation, Release 0.1

• Generally written in PHP, although some are written in assembly for optimal performance.

Templating

Synopsis A standardized non-executable file type used by system software as a pre-formatted example on which to base other files, especially documents. Templating is a fancy way of having template file with in the file system. Dynamically replace a shortcut phrase with data filled in from the user on your forms. The easiest way to explain the concept is with an example. It is suitable to work with Ubuntu and cent os.

Help command The help command leads the users regarding the purpose and as well as about the options that are included in the template modules. The help command lists out the alternative parameters of templating pttest module. It also describes the syntax for detecting the user’s machine. The help command for templating shown below. pttest templating help

The following screenshot explains about templating. kevell@corp:/# pttest templating help ******************************

This command allows you to apply a templated file within the file system.

Templating, templating, template

- install Installs a template example: pttest template install

------End Help ******************************

The help command also lists the alternative parameters that can be used in declaration.

Installation Installation including device drivers and plugins, is the act of making the program ready for execution. Because the process varies for each program and each system, programs often come with an installer, a specialized program responsible for doing whatever is needed for their installation. Installation may be part of a larger software deployment process. Installation typically involves code being copied/generated from the installation files to new files on the local system for easier access by the operating system. Because code is generally copied/generated in multiple locations. In templating is used to install template files. The following command is used to install templating. pttest templating install

after input as the above said command it starts installation. The following snap shots guides the user about installation. kevell@corp:/# pttest templating install Install Templating Functionality?(Y/N) Y ******************************* * Golden Contact Computing * * Templating ! * *******************************

472 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

... All done! ******************************* Thanks for installing , visit www.gcsoftshop.co.uk for more ******************************

Single App Installer: ------

Templating: Success

------Installer Finished ******************************

Parameters Alternative Parametrs Op- Comments tions Install templating Instead of using templating the user can use Y(Yes) Templating can be Options functionality (Y/N) Templating, templating, template installed under pttest. Install templating Instead of using templating the user can use N(No) It can exit the screen. functionality (Y/N) Templating, templating, template|

Benefits • We also have simple templating for the Redirect URL. • A simple command line script is used to install the base system. • This method is useful when installing Linux onto system, or onto a temporarily mounted device which belongs to another system. • Template processing is used in various contexts for different purposes. • Non sensitive • Suits to work with Ubuntu and centos. • Updated version with new values is possible.

1.1.5 PTVirtualize

Synopsis

While comparing with ptconfigure, the ptvirtualize is a virtual machine management tool that provides the features for Virtual machine and development environment management. By using Devops it manages the virtual machine configuration, facilitates the different types of contributors even in a highly complex development environment. It facilitates the automating, standardizing and managing the setup to virtualized environment. Its functionalities in- cludes Configuration Management, Test Automation Management, Automated Deployment, Build and Release Man- agement, Development Environment Management and those functionalities are performed. In ptvirtualize the Configuration Management, Systems Automation and Infrastructure is framed in php. Editing a php script is really easy, as there is no compilation step to perform.

1.1. Commands 473 kevells Documentation, Release 0.1

The ptvirtualize is object-oriented that enrich not only the data type but also the types of operations that can be applied to the data. Hence, while comparing object-oriented programming techniques over procedural programming techniques , the object-oriented programming enables the end users to create modules that do not need to be changed when a new type of object is added. The ptvirtualize is extensible, as if any extra module is required the user can frame and design the module as per their requirements and they can include. By using the functionality of templating option extra-templates can be added, if required. The SSH option enables to set a SSH key value. The SFTP facilitates readability and write ability between the two different OS using virtual box.

Requirements

If you wish to use the ptvirtualize, ensure whether the Virual box is installed in your machine, along with the Virtual box guest additions functionality

Code for installing virtual box sudo ptconfigure virtualbox install --yes --guess --with-guest-additions

Installation

There is two possible ways to install the ptvirtualize tool to your machine: 1)Installation via ptconfigure 2)Installing ptvirtualize alone

Installation via ptconfigure if you have ptconfigure tool in your machine, then it’s simple to install the ptvirtualize by using the code as given below, sudo ptconfigure ptvirtualize install --yes --guess here the word guess can be ignored while selecting your own directory during installation.

Installing ptvirtualize alone

If you want to install the ptvirtualize tool to your machine without depending on the ptconfigure tool, it is easier by using the command, sudo apt-get install php5 git this command will install php5 and git on your machine. After that use the following command,: git clone http://github.com/PharaohTools/ptvirtualize && sudo php ptvirtualize/install-silent the command on the above mentioned can be used if you don’t want to select the location during the installation. If you wish to do so, use the following command: git clone http://github.com/PharaohTools/ptvirtualize && sudo php ptvirtualize/install

474 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Methodologies in usage

Here, let us see how to use the commands under the tool and its usage. if you simply type the following command,: ptvirtualize

As shown in the below screenshot, you will get the display of all the modules available under this tool.: kevell@Corp:/# ptvirtualize ****************************** Pharaoh Tools - Virtualize ******************************

Virtualize by Golden Contact Computing ------

About: ------Virtualize is for controlling Virtual Machines in Development Environments.

------

Available Commands: ------

AutoSSH - AutoSSH - Use your Papyrus details to automatically SSH or SFTP into your Virtualize box Box - Box - Manage Base Boxes for Virtualize Destroy - Destroy - Stop a Virtualize Box Flirtify - Virtualize Flirtify - Generate a Phalgrantfile Halt - Halt - Stop a Virtualize Box Invoke - SSH Invocation Functions PharaohTools - Pharaoh Tools Provisioner Integration Provision - Provision - Stop a Virtualize Box Resume - Resume - Stop a Virtualize Box SFTP - SFTP Functionality Shell - Shell Provisioner Integration Status - Status - Stop a Virtualize Box SystemDetection - System Detection - Detect the Running Operating System Up - Up - Create and Start a Virtualize Box Virtualbox - Virtualbox Provider Integration

******************************

Help command:

It’s simple to use the help command, ptvirtualize ModuleName help This command helps you how the particular modules works, and also about what are the actions it can perform. The below screenshot explains you how the help command is used to explain the module AutoSSH.: kevell@Corp:/#ptvirtualize AutoSSH help

****************************** Pharaoh Tools - Virtualize

1.1. Commands 475 kevells Documentation, Release 0.1

******************************

This command allows you to autoSSH a ptvirtualize box

AutoSSH, auto-ssh, autossh, ssh, SSH

- cli Open an SSH Cli to your ptvirtualize Box example: ptvirtualize auto-ssh cli --yes --guess

- sftp-put SFTP Put a file on to your ptvirtualize Box example: ptvirtualize auto-ssh sftp-put --yes --guess --source=/path/to/source --target=/path/to/target

- sftp-get SFTP Get a file from your ptvirtualize Box example: ptvirtualize auto-ssh sftp-get --yes --guess --source=/path/to/source --target=/path/to/target

------End Help ******************************

Brief Example let’s see about a short example regarding the ptvirtualize here. create a directory, or simply use a current web project as your new Pharaoh project mkdir /var/www/my-test-project && cd /var/www/my-test-project install virtualbox to your machine if you don’t have it already, it’s simple by using the command as follows,: sudo ptconfigure virtualbox install --yes --guess --with-guest-additions add a default ptconfigure Configuration Management Autopilot file using the following command: sudo ptconfigure cleofy install-generic-autopilots --yes --guess --template-group=ptvirtualize

flirtify ptvirtualize flirt now –template-group=default-php install, configure and start the virtual machine ptvirtualize up now

Playing with ptvirtualize Modules

AutoSSH

Synopsis This module facilitates the users to autoSSH a ptvirtualize box. Autossh is a small front-end for SSH that can monitor the connection, and restart the tunnel if it drops or stops responding. autossh uses ssh to construct a loop of ssh forwardings (one from local to remote, one from remote to local), and then sends test data that it expects to get back. Let us see the functions of auto ssh in upcoming topics.

Help Command The help command guides the users regarding the purpose and as well as about the options that are included in the Auto SSH module. It lists out the alternative parameters of Auto SSH module. It also describes the syntax for using the cli, sftp_put, sftp_get commands. The help command for Auto SSH module is shown as below.

476 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

ptvirtualize AutoSSH help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under Auto SSH. kevell@corp:/# ptvirtualize AutoSSH help

****************************** Pharaoh Tools - Virtualize ******************************

This command allows you to autoSSH a ptvirtualize box

AutoSSH, auto-ssh, autossh, ssh, SSH

- cli Open an SSH Cli to your ptvirtualize Box example: ptvirtualize auto-ssh cli --yes --guess

- sftp-put SFTP Put a file on to your ptvirtualize Box example: ptvirtualize auto-ssh sftp-put --yes --guess --source=/path/to/source --target=/path/to/target

- sftp-get SFTP Get a file from your ptvirtualize Box example: ptvirtualize auto-ssh sftp-get --yes --guess --source=/path/to/source --target=/path/to/target

------End Help ******************************

Functions of AutoSSH As depicted in the above help command, the major functions of this auto ssh module includes • cli • sftp_put • sftp_get

Cli After activating or building an auto ssh in the users environment, the cli can be created which is used to open an SSH Cli to the users ptvirtualize box by using the following command: ptvirtualize auto-ssh cli --yes --guess

The cli is used for listing the available clients in a particular environments where the auto ssh is generated.

Sftp_put This function is used for placing or moving the required files or data from the source to destination of an particular environment where the auto ssh is generated. This can be done by using the command given below: ptvirtualize auto-ssh sftp-put --yes --guess --source="path/to/source --target=/path/to/target

The command shown above will put a file on to the users ptvirtualize box. The following screenshot visually depicts the process.

1.1. Commands 477 kevells Documentation, Release 0.1

Sftp_get This function is used for getting or fetching the required files or data from the source to destination of an particular environment where the auto ssh is generated. This can be done by using the command given below: ptvirtualize auto-ssh sftp-get --yes --guess --source="path/to/source --target=/path/to/target

The command shown above will gets or receives a file from the users ptvirtualize box. The following screenshot visually depicts the process.

Alternative Parameters • AutoSSH • auto-ssh • autossh • ssh • SSH In the above mentioned list any of the alternative parameters can be used in declaration.

Benefits • The parameters used in help and installation and un installation operations are not case sensitive which is an added advantage while compared to others. • It is well-to-do in both Ubuntu and as well as Cent OS. • The cli functions list outs the available clients in a particular environment by the aid of auto SSH. • Sftp_put, Sftp_get can place and fetch the files respectively between source and destination of a particular environment by using auto SSH. • The syntax for declaring the cli, put, get are clearly depicted in the help command.

Box

Synopsis This module assists the users in handling and managing the boxes that are available in the ptvirtualize. Let us see how this module works in handling the functions of box.

Help Command The help command guides the users regarding the purpose and as well as about the options that are included in the Box module. It lists out the alternative parameters of Box module. It also describes the syntax for using the add, remove, package ,list commands. The help command for Box module is shown as below. ptvirtualize Box help

The syntax for declaring the help command is not case sensitive which is an added advantage. The following screenshot visualize you about the help command under Box. kevell@corp:/# ptvirtualize Box help

****************************** Pharaoh Tools - Virtualize ******************************

This command allows you to manage the Base boxes available to you in ptvirtualize

478 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Box, box

- add Initialises the Box as usable by ptvirtualize example: ptvirtualize box add example: ptvirtualize box add --yes --guess --source="/home/dave/file.box" # where the box file is --target="opt/ptvirtualize/boxes" # will guess the dir next to ptvirtualize install dir --name="vanillaubuntu"

- remove Removes the box as usable by ptvirtualize example: ptvirtualize box remove

- package Packages a box as usable by ptvirtualize example: ptvirtualize box package example ptvirtualize box package --yes --guess --name="Vanilla Ubuntu 12.04 amd 64" --vmname="a4dc638f-2721-40c4-a943-2f2565c83fee" # use name or id of virtual machine --provider="virtualbox" # guess will use virtualbox --group="ptvirtualize" --slug="" # guess can generate this based on name field --description="A Vanilla install of Ubuntu..." --home_location="http://www.someplace.net/" # guess will set this to http://www.ptvirtualizeboxes.co.uk/ --target="/opt/ptvirtualize/boxes" # save location, will guess /opt/ptvirtualize/boxes

- list List boxes installed in ptvirtualize example: ptvirtualize box list

------End Help ******************************

Functions of ptvirtualize Box As depicted in the above help command the functions of the ptvirtualize box includes the following: • Add • Remove • Package • List

Add The add is used for initializing the box as usable by ptvirtualize. The following syntax can be used for adding a ptvirtualize box. ptvirtualize box add or ptvirtualize box add --yes --guess --source="/home/dave/file.box (This line describes where the box is) --target="opt/ptvirtualize/boxes" (This line guess the dir next to ptvirtualize install dir) --name="vanillaubuntu"

In the above mentioned ways the box can be added to a ptvirtualize.

1.1. Commands 479 kevells Documentation, Release 0.1

Remove This function is used for removing the box as usable by ptvirtualize. This can be done using the command shown below: ptvirtualize box remove

In the above mentioned ways the box can be removed from a ptvirtualize.

Package This functions is used to package the box as usable by ptvirtualize. This can be implemented by using the following command: ptvirtualize box package or ptvirtualize box package --yes --guess name="Vanilla Ubuntu 12.04 amd 64" vmname="a4...... "(This two lines represents the name and id of virtual machine) --provider="virtualbox"(guess will use virtual box) --group="ptvirtualize" --slug=""(The guess can generate this based on the name field) --description="A vanilla install of Ubuntu..." --home_location="http://www.someplace.net/"(guess will set this to http://www.ptvirtualizeboxes.co.uk/ --target="/opt/ptvirtualize/boxes"(The location for saving)

Finally, a box is packaged as usable by the ptvirtualize.

List This function is used for listing the boxes that are installed in ptvirtualize. This can be done by using the following command, ptvirtualize box list

By using the command above, the list of ptvirtualize boxes that are newly installed will be displayed.

Alternative Parameters • Box • box In the above mentioned list, any of the alternative parameters can be used in declaration.

Benefits • The parameters used in help is not case sensitive which is an added advantage while compared to others. • It is well-to-do in both Ubuntu and as well as Cent OS. • The syntax for using add, remove, package, list are not case sensitive.

Destroy

Synopsis This module aims at destroying a particular required virtual box which is not needed by the users. It results as a force shut down. The users can make use of this module when they are in need to quit immediately from an particular environment. Let us see how to use destroy for force shutdown from the upcoming topics.

480 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Help Command The help command guides and explains to user regarding how to handle this destroy module. It specifies the alternative parameters that can be used in declaration. It also highlights the syntax for using destroy functions. The command used for help option is shown below, ptvirtualize destroy help

The following screenshot depicts the display of help option under this module which appears after inputting the command above.

How to destroy If the user wish for a force shut down while working in a ptvirtualize box, they can use the following command as shown, ptvirtualize destroy –yes –guess After entering the command above, the user system will encounter a force shut down. The following screen shot depicts the process of executing a destroy function while working in a ptvirtualize box.

Benefits • The syntax used for destroying and using help options are not case-sensitive. Hence, this is an added advantage of this module. • It is well applicable for both Ubuntu, and as well as in Cent Os.

Flirtify

Synopsis This used to create ptvirtualize files for predefined templates. Non case sensitivity which brings added advantage for this module. This module have many alternative parameters. The default configuration management for PHP application.

Help command This help command guides the user to create ptvirtualize files for predefined templates. It has personalized in ptvirtualize and ptdeploy. Also provides default setting for virtual machine configuration. The help command for flirtify is shown below. ptvirtualize flirtify help

After inputs the above command, it starts functioning to enable the default setting. It catechesis the functions of flirtify in the screenshots. kevell@corp:/# ptvirtualize Flirtify help ****************************** Pharaoh Tools - ptvirtualize ******************************

With Flirtify you can create ptvirtualize files for your project from predefined templates. This will enable you to create default Virtual machine hardware and provisioning configurations for your project in a single command.

Flirtify, flirt, flirtify, phlirt, phlirtify

- default-cleo Create a ptvirtualizefile for your project, with default Configuration Management for a PHP Application example: ptvirtualize flirt default-cleo

1.1. Commands 481 kevells Documentation, Release 0.1

- default-cleo-dapper Create a ptvirtualizefile for your project, with default Configuration Management for a PHP Application and ptdeploy Application example: ptvirtualize flirt default-cleo-dapper --host-dapperfile=*relative/path/to/dapperfile/" # guess will use build/config/ptdeploy/dapperfy/autopilots/generated/

- custom-cleo-dapper Create a ptvirtualizefile for your project example: ptvirtualize flirt custom-cleo-dapper

------End Help ******************************

Alternative parameters There are many alternatives available in flirtify. They are, Flirtify, Flirtify, flirt, phlirt, phlirtify

Default-cleo This process used to create a ptvirtualize file for the user project with default configuration management for a PHP application. The following command is used to create a ptvirtualize file. ptvirtualize flirtify default-cleo after input the above said command it starts functioning.

Custom-cleo-dapper This process used to create a ptvirtualize file for user’s project. The following command is used to create a ptvirtualize file. ptvirtualize flirtify Custom-cleo-dapper after input the above said command it starts functioning.

Default-cleo-dapper This process used to create a ptvirtualize file for the user project with default configuration management for a PHP application and ptdeploy application. The following command is used to create a ptvirtualize file. ptvirtualize flirtify default-cleo-dapper

After input as the above said command it starts functioning.

Benefits • Well support for It professionals • Non case sensitive • Suitable for Ubuntu and Cent OS • Used to create ptvirtualize files for predefined templates

482 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Halt

Synopsis Halt is a term used to describe the process of closing all module programs in virtual box preparation to turn off a system’s power. The operating system is the last program to be close, and it is highly recommended that all systems be properly halt before being turned off to help prevent data corruption. It is well-to-do in Ubuntu and CentOS.

Help command The help command leads the users regarding the purpose and as well as about the options that are included in the vitual box halt . The help command lists out the alternative parameters of halt in virtualbox Under ptvirtualize module. It also describes the syntax for halt and function. The help command for halt is shown below. ptvirtualize halt help

Alternative parameter The following are the alternative parameters that can be defined in declarations: Halt, halt

Halt by name While halt the system, it asks the system name to the user. Many systems are working in that case system name is easy to identify for halt. System ip address, passward, port no also required. The command used for halt as follows ptvirtualize halt system name

Benefits • This is suitable with Ubuntu and CentOS • Non case sensitivity • Used to wind up the system • Halt done through virtual host

Invoke

Synopsis Invoke fetches the particular SSH file from base machine to virtual machine. In computing, the SSH File Transfer Protocol (also Secure File Transfer Protocol, or SFTP) is a network protocol that provides file access, file transfer, and file management functionalities over any reliable data stream.

Help Command This command helps to determine the usage of invoke module. The user will come to know about the different way/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same. ptvirtualize invoke help

Get When the user needs to fetches a file in our source to other destination, the below given command will execute the process. ptvirtualize invoke get

1.1. Commands 483 kevells Documentation, Release 0.1

The system asks for source file path and target file path. There is another option, wherein you can give the source and destination path in command line.

Alternative Parameter There are two alternative parameter which can be used in command line Invoke , invoke. Eg: ptvirtualize invoke get/ ptvirtualize Invoke get

Benefits • This command helps to fetches SSH files or directories. • Fetches a file or directory from source to destination using single command

PharaohTools

Synopsis The Pharaoh tool module assists in installing ptdeploy, pttest, Jrush, generating ptvirtualize reports. It facilitates the users to ensure the availability before installations. Only missing modules can be installed specifically.

Help Command The help command guides the users about how to make use of this particular module under ptvir- tualize. It also make them aware of the options that can be performed on this specific module. It lists outs the alternative parameters along with the syntax for installing the pharaoh tools. The command for using the help option is shown below, ptvirtualize pharaoh-tools help

The screen shot as shown below gives you a pictorial representation regarding the usage of help command.

Installation The pharaoh tool module acts as a shorter route that envelops installation of ptdeploy, pttest, Jrush. If any one particular module is missing among the three, the specific module alone will be installed which is an added advantage. The ensure process plays an important role in grabbing data’s regarding the availability of modules. The command used for installation process under Pharaoh tool is given below, ptvirtualize pharaoh-tools install

After entering the command above, the installation process starts executing and proceeds in the following ways as depicted from in the table, Parameters Available Input Comment options Install Pharaoh Tools? Y(Yes) If the user wish to proceed with installation process, they can (Y/N) input as Y Install Pharaoh Tools? N(No) If the user wish to quit the installation process, they can quit (Y/N) simply by using N| While installing the Pharaoh tool the following steps takes place:

484 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Ensure • The pharaoh tool ensures the available modules. • While ensuring, It won’t check about the versions. ptdeploy • The module ptdeploy reports itself as installed, in case of existence. • It also checks the version for ptdeploy module. • If the ptdeploy module is not available in the machine, then automatically ptdeploy will progress to install. pttest • After completion of installing ptdeploy, it will ensure the pttest module. • The module pttest reports itself as installed, in case of existence. • If the pttest module is not available in the machine, then automatically pttest will progress to install.

Jrush • After completion of installing pttest, it will ensure the Jrush module. • The module Jrush reports itself as installed, in case of existence. • If the Jrush module is not available in the machine, then automatically Jrush will progress to install. • If all the three modules are already existing, then it will show exceptional message as given in the screenshot below,

Additional Options While installing ptdeploy, pttest, Jrush the following options are required as input from the user. Let us see about, the additional options that can be specified by the users if they wish, is represented in a tabular format as shown below. Parameters Path Op- Comment tion Program data “/opt/pttest(correspondingYes If the user to proceed installation with the default program directory module)” data directory they can input as Yes (Default) Program data User specific No(End If the user wish to proceed with their own program data directory slash) directory, they can input as N, and in hand specify they own location. Program executor “/usr/bin” Yes If the user to proceed installation with the default program directory executor directory they can input as Yes (Default) Program executor User specific No(End If the user wish to proceed with their own program executor directory slash) directory, they can input as N, and in hand specify they own location.| While installing it will specify the location of git clone, displays the number of objects , receiving objects, resolving deltas, connectivity. The following screen shot explains you graphically about the process involved in installation of Pharaoh tool.

1.1. Commands 485 kevells Documentation, Release 0.1

Benefits • It facilitates the users to ensure before installation. • In case of any particular module is missing, the user can proceed to install that particular module alone. • The user can specify their own path or location for program data directory and executor directory. • If any particular module already exists in the machine, then the installation tool will throw an exception message as it is already installed. • It avoids unwanted overwriting of modules, hence it is time saving.

Resume

Synopsis This module assists and facilitates the users in resuming a process that is paused for a temporary period of time. By using this module the user can resume their process while working in the virtual box environment. Then you can resume the virtual machine to pick up work quickly, right where you stopped - with all documents you were working on open and all applications in the same state as they were at the time you suspended the virtual machine. Let us see how to use resume module under ptvirtualize in the upcoming topics.

Help Command The help command explains the users regarding the major role of this module under ptvirtualize box, list of alternative parameters that can used for declaring, the syntax for using the resume function under ptvirtu- alize box. The command for implementing the help action under resume module is shown below, ptvirtualize resume help

The following screenshot can give an pictorial representation of help option output under resume module.

How to Resume an action If the user wish to resume an suspended process in an virtual box they can use the command given below, ptvirtualize resume virtualbox -- yes --guess

After entering the command as given above, the user can select and start resuming a work in virtual box. The following screenshot depicts the methodologies of using this module for resuming a ptvirtualize box.

Benefits • The syntax used for resuming a virtual box and using help options are not case-sensitive. Hence, this is an added advantage of this module. • It is well applicable for both Ubuntu, and as well as in Cent Os. • By using the module, the status of resumed virtual box will gets continue with the existence.

486 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

SFTP

Synopsis This module assist in transferring files from one system to another. It can upload or download the files to the system. Automation is possible. Put and get options are available in this module. It also manages virtual box. It is user friendly with Ubuntu and cent OS.

Help command Help command used to find information about a specified command. For more information about changes to functionality of Secure File Transfer Protocol(SFTP) under ptvirtualize the user can use this help command. ptvirtualize sftp help

The following screen shot guides you. kevell@corp:/# ptvirtualize sftp help

****************************** Pharaoh Tools - ptvirtualize ******************************

This command handles SFTP Transfer Functions.

SFTP, sftp

- put Will ask you for details for servers, then copy a file or directory from local to remote example: ptconfigure sftp put example: ptconfigure sftp put --yes --environment-name=staging --source="/tmp/file" --target="/home/user/file" example: ptconfigure sftp put --yes --source="/tmp/file" --target="/home/user/file" # will ask for server details

- get Will ask you for details for servers, then copy a file or directory from remote to local example: ptconfigure sftp get example: ptconfigure sftp get --yes --environment-name=staging --source="/tmp/file" --target="/home/user/file" example: ptconfigure sftp get --yes --source="/tmp/file" --target="/home/user/file" # will ask for server details

------End Help ******************************

Alternative parameters There are two alternative parameters are available. They are SFTP and sftp. Instead of using sftp, the user can use SFTP.

Put The file transfer can be done from local to remote server. This put option asks the user datails for servers. The following command used for put option. ptvirtualize sftp put - yes -source=”/tmp/file” - target=”/home/user/file”

The following screen shot denotes the usage of this command. kevell@corp:ptconfigure sftp put

SFTP on Server group?(Y/N) Y Please Enter SSH Timeout in seconds 90

1.1. Commands 487 kevells Documentation, Release 0.1

Please Enter remote SSH Port 22 Use Environments Configured in Project?(Y/N) N [Pharaoh Logging] Attempting to load SFTP connections... Enter local source file path /root/vv Enter remote target file path /root/gg/vv [Pharaoh Logging] Opening SFTP Connections... [Pharaoh Logging] All SFTP Puts Completed ******************************

SFTP on server group? Y/N If the user input as Y then SSh timeout section? The user has to enter the value Please enter remote ssh port Default value is 22. The user can enter any value Enter environments configured in project? (Y/N) The user has to enter y then it starts loading. Enter local source file path? The user has to enter the file path Then everything will be connected. If the user input as N, it can be terminated.

Get File transfer can be done from remote to local server. It asks the user to enter server group. The following command used for get option. ptvirtualize sftp get - yes -source=”/tmp/file” - target=”/home/user/file”

The following screen shot explains it. kevell@corp:/# ptconfigure sftp get SFTP on Server group?(Y/N) Y Please Enter SSH Timeout in seconds

Please Enter remote SSH Port

Use Environments Configured in Project?(Y/N)

[Pharaoh Logging] Attempting to load SFTP connections... Enter remote source file path

Enter local target file path

[Pharaoh Logging] Opening SFTP Connections... [Pharaoh Logging] All SFTP Gets Completed ******************************

488 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Shell Result: Success SFTP Get

------Installer Finished ******************************

SFTP on server group? Y/N If the user input as Y then SSh timeout section? The user has to enter the value Please enter remote ssh port Default value is 22. The user can enter any value Enter environments configured in project? (Y/N) The user has to enter y then it starts loading. Enter local target file path? The user has to enter the local target file path Then everything will be connected. If the user input as N, it can be terminated. The following screenshots shows its function. kevell@corp:/# ptconfigure sftp get SFTP on Server group?(Y/N) N ******************************

Shell Result: Failure SFTP Get

------Installer Finished ******************************

Parameters Alternative Parameters Comments Options put SFTP, sftp Source to target -The file can transferred get SFTP, sftp Path to source -The file can downloaded from remote system|

Benefits • Multi server from remote area. • Specified file is not available error message will come. • Accessability is difficult without permission. • Automatically overwrite in case of already in case of file exist. • Non case sensitive. • Secrecy and security is possible.

1.1. Commands 489 kevells Documentation, Release 0.1

Shell

Synopsis Computer understands the language of 0’s and 1’s called binary language. In early days of computing, instruction are provided using binary language, which is difficult for all of us, to read and write. So in Os there is special program called Shell. Shell accepts your instruction or commands in English (mostly) and if it is a valid command, it is passing to kernel. Shell is a user program or its environment provided for user interaction. Shell is a command language interpreter that executes commands read from the standard input device (keyboard) or from a file. Shell is not part of system kernel, but uses the system kernel to execute programs, create files etc.

Help Command This command helps to determine the usage of shell module. The user will come to know about the different way/format to execute this module. This command guides the end user to know the purpose of this command. Below given are the command and the screenshot of the same. ptvirtualize shell help

Alternative Parameter There are two alternative parameters which can be used in command line. Shell, shell Eg: ptvirtualize shell help/ ptvirtualize Shell help

Benefits • The shell is a user program or it is an environment provided for user interaction. • It is a command language interpreter that executes commands read from the standard input device such as keyboard or from a file. • The shell gets started when you log in or open a console (terminal). • Quick and dirty way to execute utilities.

Status

Synopsis Status command allows the user to know the status of a ptvirtualize box. It is having two options. They are show as well as full. It comforts with Ubuntu and centos.

Help command The help command leads the users regarding the status of the ptvirtualize box. The options that are included in the status modules. The help command lists out the alternative parameters of status under ptvirtualize module. It also describes the syntax for status. The help command for status is shown below. .. code-block:: bash ptvirtualize status help The following screen shot shows the full effort of status. kevell@corp:/# ptvirtualize Status help ****************************** Pharaoh Tools - ptvirtualize ******************************

This command allows you to status a ptvirtualize box

490 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

Status, status

- show Show execution status information of your ptvirtualize VM example: ptvirtualize status show

- full Show full status information of your ptvirtualize VM example: ptvirtualize status full

------End Help ******************************

Alternative parameters There are many alternatives available in status. They are Status status

Show It shows the working status of the user ptvirtualize virtual machine. The command used for show is as follows ptvirtualize status show

Input as the above said command it displays the current status of ptvirtualize.

Full It shows the full working status of the user ptvirtualize virtual machine. The command used for show is as follows ptvirtualize status full

Input as the above said command it displays the full execution status of ptvirtualize.

Benefits • Displays the execution status of the user • Non case sensitive • Suitable for Ubuntu and Cent OS • Also shows the virtual status of the user • Used for all kind of professionals

SystemDetection

Synopsis This module aims at detecting the user’s machine and in hand provides them the necessary information to them regarding the users system. It also provides a facility to the users to configure their applications settings. The few examples for applications settings includes my sql admin user, Architecture, admin user, host, version, linux type, Distro. It is comfortable with Ubuntu and cent OS.

1.1. Commands 491 kevells Documentation, Release 0.1

Help command The help command leads the users regarding the purpose and as well as about the options that are included in the System detection modules. The help command lists out the alternative parameters of System detection under ptvirtualize module. It also describes the syntax for detecting the user’s machine. The help command for System detection is shown below. ptvirtualize systemdetection help

The syntax for the help command non case sensitive which adds an advantage for this module. The following screen- shot visualize the user about the help command under system detection. kevell@corp:/# ptvirtualize systemdetection help

****************************** Pharaoh Tools - ptvirtualize ******************************

This is a default Module and provides you with a method by which you can configure Application Settings. You can configure default application settings, ie: mysql admin user, host, pass

SystemDetection, system-detection, systemdetection

- detect Detects the Operating System example: ptconfigure system-detection detect

------End Help ******************************

Detect Detect used to detect the system settings. By using a single command the user can get all the information about the system application. The command used for system detection is given below. ptvirtualize systemdetection detect

After keying the above command, the process of system detection starts. During system detection the following information’s regarding the corresponding machine are reported: Operating System Linux Type Distro Version Architecture Host Name IP Address 0. IP Address 1. Finally, after detection the information regarding the above mentioned features are clearly reported. The following screen shot depicts the user about the process of system detection. kevellscorp:/# ptvirtualize systemdetection detect

****************************** Pharaoh Tools - Virtualize

492 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

******************************

Systems Detection: ------

Operating System: Linux Linux Type: Debian Distro: Ubuntu Version: 14.04 Architecture: 64 Host Name: kevells IP Address 0: 127.0.0.1 IP Address 1: 192.168.1.19

------Detection Finished ******************************

Alternative Parameters Instead of system detection, the following parameters can be used: System Detection system-detection system detection

Benefits • The users can configure the application settings using this system detections. • The parameters used for declaring help command, system detection are non-case sensitive which an added advantage while compared to others. • It is well-to-do in both Cent OS and as well as in Ubuntu. • Protection and security is possible. Preventing harm to the system and to resources, through internal processes or malicious outsiders. Authentication, ownership, and restricted access are obvious parts of this system. • System administrators generally determine which interface a user starts with when they first log in. • Generally written in PHP, although some are written in assembly for optimal performance. • The system detection module provides the support: • Identify a remote process and/or host with which to communicate. • Establish a connection between the two processes. • Open and close the connection as needed.

Up

Synopsis This module aims at staring a system after shutdown. The user can use this module, if they to wish to start after encountered an shut down. Let us see the working of up module and the ways of using this from the upcoming topics.

1.1. Commands 493 kevells Documentation, Release 0.1

Help Command The help command guides and explains to user regarding how to handle this Up module. It specifies the alternative parameters that can be used in declaration. It also highlights the syntax for using Up functions. The command used for help option is shown below, ptvirtualize Up help

The following screenshot depicts the display of help option under this module which appears after inputting the command above.

Working of Up function If the user needs of implementing up function while working in ptvirtualize box, they can input the command given below, ptvirtualize Up --yes --guess

After entering the command as given above, the users system gets started. The following screen shot depicts visually about the working of up function to start a system.

Benefits • The syntax used for up function and help options are not case-sensitive. Hence, this is an added advantage of this module. • It is well applicable for both Ubuntu, and as well as in Cent Os.

Virtualbox

Synopsis This module encourage installation of voice. In case of ptvirtualize module fully managed by virtual box. It is user friendly with Ubuntu and cent OS. The Virtual Box package installs on an existing host operating system as an application. Users of Virtual Box can load multiple guest OSs under a single host operating-system. Virtual Box has supported Open Virtualization Format (OVF).This is comfortable with Ubuntu and Cent OS.

Help command The help command guide the user to install virtual box in ptvirtualize. This help command guides the user to create a virtual host. This also displays to add a virtual host, remove a virtual host, Enable a virtual host, and Disable a virtual host. The help command for virtual box is shown below. ptvirtualize virtualbox help

After inputs the above command, it starts functioning to add a virtual host editor. It catechesis the functions in the screenshots. The following screen shot shows about installation of virtual box.

Installation This module instruct the user to install. To activate virtual box follow the command as, ptvirtualize virtual box install Then the system can enquire ptvirtualize virtual box install? (Y/N)

494 Chapter 1. About pharaohtools kevells Documentation, Release 0.1

If the user enters Y then it will be installed, else it will exit the screen.

Parameters Syn- Option Comments tax Install virtual Yes Instead of using Virtualbox the user can Installed successfully under Options box?(Y/N) use virtual box ptvirtualize module Install virtual No Instead of using Virtualbox the user can Exit the screen box?(Y/N) use virtual box|

Benefits • Voice can be installed via this module. • Both ISO images and host-connected physical devices can be mounted as CD/DVD drives. • The DVD image of a Linux distribution can be downloaded and used directly by VirtualBox.

1.1. Commands 495 kevells Documentation, Release 0.1

496 Chapter 1. About pharaohtools CHAPTER 2

Indices and tables

• genindex • modindex • search

497