Difference between revisions of "General:Installation"

From Wiki_dbSQWare
Jump to: navigation, search
(SQWareWeb)
(Prepare archive file of all modules)
Line 32: Line 32:
 
  passwd dbsqware
 
  passwd dbsqware
  
Download dbSQWare™ archive from [[Downloads | Download the latest stable versions]]
+
Download latest dbSQWare archive from support site.
 
  #Move tgz of lastest full version
 
  #Move tgz of lastest full version
 
  su - dbsqware
 
  su - dbsqware

Revision as of 12:05, 26 December 2017

Contents

Install sources of all modules on focal point

Before install


Vervion française disponible ici.

You must install on an Unix/Linux platform only (CentOS or RedHat are good).
The unix user must have /bin/ksh as shell (no bash !).
Install a MySQL instance (>=5.1), create a database and a user for the repository.
Provide between 500 Mb and 1 Gb for 100 managed instances ...
Exemple of commands:

create database dbsqware_db;
grant all privileges on dbsqware_db.* to 'dbsqware_user'@'localhost' identified by 'dbSQWareMysPwd' with grant option;
grant all privileges on dbsqware_db.* to 'dbsqware_user'@'%' identified by 'dbSQWareMysPwd' with grant option;
flush privileges;

Install apache (>=2.2) with PHP 5.x (with support of mysqli).

Prepare archive file of all modules

You must install on an Unix/Linux platform only.
Create a unix user (dbsqware) in dba group with /bin/ksh as shell (no bash !).

su -
#Add unix group
groupadd dba
##To fix gid ...
groupadd -g 500 dba
#Add unix user
useradd -g dba -s /bin/ksh -d /home/dbsqware dbsqware
##To fix uid ...
useradd -u 501 -g dba -s /bin/ksh -d /home/dbsqware dbsqware
#Change owner
chown dbsqware:dba /home/dbsqware
#Add password to user
passwd dbsqware

Download latest dbSQWare archive from support site.

#Move tgz of lastest full version
su - dbsqware
cp ~/downloads/dbSQWare_full_*.tgz $HOME/.

Extract archive of all modules

su - dbsqware
#gunzip and extract archive of all modules
cd $HOME
gunzip -c dbSQWare_full_*.tgz |tar -xvf -

#Delete archive file
rm -f $HOME/dbSQWare_full_*.tgz

You must have:

$ ls -l
total 16
lrwxrwxrwx  1 dbsqware dba   24 20xx-04-05 18:12 generic -> SQWareProduction/generic
drwxr-x--- 13 dbsqware dba 4096 20xx-04-05 18:11 SQWareCentral
drwxr-x--- 10 dbsqware dba 4096 20xx-04-05 18:11 SQWareProduction
drwxr-x--- 11 dbsqware dba 4096 20xx-04-05 18:11 SQWareRepository
drwxr-x--- 10 dbsqware dba 4096 20xx-04-05 18:11 SQWareWeb

Modules configuration

SQWareRepository

If you want use the full capability of dbSQWare, you have to install it.
If you don't install SQWareRepository you can't use SQWareCentral nor SQWareWeb.
Make all actions with dbsqware unix user.

Configure SQWareRepository credentials

Create custom configuration file:

grep -v '^#' $HOME/dbSQWare/SQWareProduction/generic/etc/.my_SQWareRepository.cnf \
> $HOME/dbSQWare/SQWareProduction/generic/etc_cust/.my_SQWareRepository.cnf

Put custom parameters:

cat $HOME/dbSQWare/SQWareProduction/generic/etc_cust/.my_SQWareRepository.cnf
[client]
host = SQWareRepositoryHost
port = 3306
database = dbsqware_db
user = dbsqware_user
password = dbSQWareMysPwd

Install SQWareRepository

Install MySQL schema for SQWareRepository:

$HOME/dbSQWare/SQWareCentral/menu/sqwctl_InstallFullRepository.ksh

SQWareCentral

It's the focal point of dbSQWare.
You must install SQWareRepository before installing SQWareCentral.

SQWareCentral environnement

Put variable gvsqw_SQWareCentralPath into your .profile and source of SQWareCentral environnement.

$ cat /home/dbsqware/.profile
export gvsqw_Env='PRD'
export gvsqw_SQWareCentralPath=$HOME/dbSQWare/SQWareCentral
export gvsqw_SQWareProductionPath=$HOME/dbSQWare/SQWareProduction
. $gvsqw_SQWareCentralPath/etc/.profile

Reload your .profile:

. $HOME/.profile

Customize variables for your own environnement !
To customize variables contain in $HOME/dbSQWare/SQWareProduction/generic/etc/sqwgen_GlobalVar.cfg,
put them into $HOME/dbSQWare/SQWareProduction/generic/etc_cust/sqwgen_GlobalVar.cfg.
In general case, you just have to customize gvsqw_GlobalMail (email adress to send report).
For help on sqwgen_GlobalVar.cfg

SQWareCentral automation

You can put in place some jobs in crontab to automate glogal tasks. Take in example the file $SQWareCentralPath/etc/CrontabRef.cfg:

###########################
## mm(0-59) hh(0-23) dd(1-31) MM(0-12) DAY(0-sunday, 1-monday, ...) command
## Generic cron for SQWareCentral
############
# Generate all ref files (RefFileInstances,RefFileDb,RefFileCMDB,...)
00 02,08    * * * ksh -c '. ~/.profile 2>&1 >/dev/null;$gvsqw_SQWareCentralPath/bin/sqwctl_GenRef_AllFiles.ksh 2>&1 >$HOME/admin/SQWareCentral/logs/sqwctl_GenRef_AllFiles.log'
# Check indicators
00 07       * * * ksh -c '. ~/.profile 2>&1 >/dev/null;$gvsqw_SQWareCentralPath/bin/sqwctl_CheckIndicators.ksh 2>&1 >$HOME/admin/SQWareCentral/logs/sqwctl_CheckIndicators.log'
# Gather indicators
00 03       * * * ksh -c '. ~/.profile 2>&1 >/dev/null;$gvsqw_SQWareCentralPath/bin/sqwctl_GatherIndicators.ksh 2>&1 >$HOME/admin/SQWareCentral/logs/sqwctl_GatherIndicators.log'
# Retry gather indicators if not exists
00 09,12,17 * * * ksh -c '. ~/.profile 2>&1 >/dev/null;$gvsqw_SQWareCentralPath/bin/sqwctl_GatherIndicators.ksh Repind 2>&1 >$HOME/admin/SQWareCentral/logs/sqwctl_GatherIndicators_Repind.log'
# Check started instances Oracle
00 06       * * * ksh -c '. ~/.profile 2>&1 >/dev/null;$gvsqw_SQWareCentralPath/bin/sqwctl_TrtAuto.ksh -T oracle -A sqwora_StartedInstancesOn.ksh -F GenLstUniqueOn -Exec 2>&1 >$HOME/admin/SQWareCentral/logs/StartedInstancesOracle.log'

SQWareWeb

You must install on an Unix/Linux platform only.
SQWareWeb works with apache >=2.2, PHP 5.x with mysqli support, install these.

SQWareWeb apache

Configure your httpd.conf for "sqwareweb" by example:

NameVirtualHost *:80
ServerAdmin admin@mydomain.com
RewriteEngine   On
ErrorLog /home/dbsqware/apache/logs/error_log
CustomLog /home/dbsqware/apache/logs/access_log common
RewriteLog /home/dbsqware/apache/logs/rewrite.log
RewriteLogLevel 0
<Directory "/home/dbsqware/dbSQWare/SQWareWeb">
   Options Indexes FollowSymLinks
   AllowOverride All
   Order allow,deny
   Allow from all
</Directory>
<VirtualHost *:80>
   ServerAdmin admin@mydomain.com
   DocumentRoot /home/dbsqware/dbSQWare/SQWareWeb
   ServerName sqwareweb
   ServerAlias sqwareweb
</VirtualHost>
DocumentRoot /home/dbsqware/dbSQWare/SQWareWeb

Don't forget parameters like:

LoadModule php5_module        modules/libphp5.so
User dbsqware
Group dba
AddType application/x-httpd-php .php

Configure your php.ini (don't forget to restart apache after):

error_reporting = E_ALL & ~E_DEPRECATED
[MySQLi]
mysqli.max_persistent = -1
mysqli.allow_persistent = On
mysqli.max_links = -1
mysqli.cache_size = 2000
mysqli.default_port = 3306
mysqli.reconnect = Off
[Session]
session.save_handler = files
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.bug_compat_42 = Off
session.bug_compat_warn = Off
session.referer_check =
session.entropy_length = 0
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = 0
session.hash_bits_per_character = 5

This is the minimal configuration, you can change many parameters in apache and php ...

Now, you can test if apache/PHP are ready for you web site (put the good alias):

http://sqwareweb/phpinfo.php

SQWareWeb customization

Configure SQWareWeb by default:

#Put default files in place
$HOME/dbSQWare/SQWareWeb/exploit/bin/PatchCustom.ksh

Configure SQWareRepository access:

vi ~/dbSQWare/SQWareWeb/custom/menu.ini
[db]
MysqlHost="SQWareRepositoryHost"
MysqlUser="dbsqware_user"
MysqlPass="dbSQWareMysPwd"
MysqlDb="dbsqware_db"
MysqlPort=3306

Customize SQWareWeb:

#Customize your icon in ~/dbSQWare/SQWareWeb/custom/images/client.png

#Customize your home page
vi ~/dbSQWare/SQWareWeb/custom/index.html

#Customize webdba title if you want
vi ~/dbSQWare/SQWareWeb/custom/title.html

Now, you can test you web site (put the good alias):

http://sqwareweb/

One admin user is created by SQWareRepository install to access SQWareWeb and admin console:

user : default_admin
pass : OctopusDBA.001

Change this name and password (and create other users if necessary):

http://sqwareweb/templates/adminAccessLogins_general.html

You can now populate your repository of instance to manage:

http://sqwareweb/templates/adminRepoRepository_general.html

SQWareProduction

You have to configure this module on the focal point and deploy it with SQWareCentral command on all your hosts.

SQWareProduction generic

You have to customize SQWareProduction generic (impact all RDBMS) on the focal point $HOME/dbSQWare/SQWareProduction/generic/*.

Variables customization

Customize if necessary variables contain in $HOME/dbSQWare/SQWareProduction/generic/etc/sqwgen_GlobalVar.cfg,
put them into $HOME/dbSQWare/SQWareProduction/generic/etc_cust/sqwgen_GlobalVar.cfg.
For help on sqwgen_GlobalVar.cfg

SQWareProduction for Oracle

You have to customize SQWareProduction for Oracle on the focal point $HOME/dbSQWare/SQWareProduction/oracle/*.

Variables customization

Customize if necessary variables contain in $HOME/dbSQWare/SQWareProduction/oracle/etc/sqwora_GlobalVar.cfg,
put them into $HOME/dbSQWare/SQWareProduction/oracle/etc_cust/sqwora_GlobalVar.cfg.
For help on sqwora_GlobalVar.cfg

Deployement

After that, you can deploy SQWareProduction for Oracle on all your hosts.
Attention, you must have install rsync on all your hosts.
SQWareProduction for Oracle will be deploy in ~$gvsqw_UserUnique/SQWareProduction/oracle

#Use SQWareCentral
depl_ora

To be able to deploy SQWareProduction, you must set up the SSH public key of user which you have installed SQWareCentral into ~/.ssh/authorized_keys of $gvsqw_UserUnique on all Oracle hosts.

Users customization

You must install on an Unix/Linux platform only.
The unix user must have /bin/ksh as shell. User must also have access to a MySQL client (to load indicators).
Put these lines in .profile of user that own instance (change ~$gvsqw_UserUnique).

export gvsqw_OraBin=~$gvsqw_UserUnique/SQWareProduction/oracle/bin
lvsqw_IsTerminal=$(tty 2>&1 >/dev/null;echo $?)
if [ "$lvsqw_IsTerminal" = "0" ] && [ -r $gvsqw_OraBin/../etc/.profile_confort ]
then
   . $gvsqw_OraBin/../etc/.profile_confort
fi
Test your environnement

To test your new environnement:

#reload your profile
. ~/.profile
#to go in SQWareProduction scripts
bin
#to see your customizations
cetc

To check if connection to SQWareRepository is OK for SQWareProduction:

#to go in SQWareProduction scripts
bin
#gather indicators
./sqwora_GatherIndicators.ksh -I $ORACLE_SID

The command should gather indicator and insert it in SQWareRepository.

SQWareProduction for Sybase

You have to customize SQWareProduction for Sybase on the focal point $HOME/dbSQWare/SQWareProduction/sybase/*.

Variables customization

Customize if necessary variables contain in $HOME/dbSQWare/SQWareProduction/sybase/etc/sqwsyb_GlobalVar.cfg,
put them into $HOME/dbSQWare/SQWareProduction/sybase/etc_cust/sqwsyb_GlobalVar.cfg.
For help on sqwsyb_GlobalVar.cfg

Deployement

After that, you can deploy SQWareProduction for Sybase on all your hosts.
Attention, you must have install rsync on all your hosts.
SQWareProduction for Sybase will be deploy in ~$gvsqw_UserUnique/SQWareProduction/sybase

#Use SQWareCentral
depl_syb

To be able to deploy SQWareProduction, you must set up the SSH public key of user which you have installed SQWareCentral into ~/.ssh/authorized_keys of $gvsqw_UserUnique on all Sybase hosts.

Users customization

You must install on an Unix/Linux platform only.
The unix user must have /bin/ksh as shell. User must also have access to a MySQL client (to load indicators).
Put these lines in .profile of user that own instance (change ~$gvsqw_UserUnique).

export gvsqw_SybBin=~$gvsqw_UserUnique/SQWareProduction/sybase/bin
lvsqw_IsTerminal=$(tty 2>&1 >/dev/null;echo $?)
if [ "$lvsqw_IsTerminal" = "0" ] && [ -r $gvsqw_SybBin/../etc/.profile_confort ]
then
   . $gvsqw_SybBin/../etc/.profile_confort
fi
Test your environnement

To test your new environnement:

#reload your profile
. ~/.profile
#to go in SQWareProduction scripts
bin
#to see your customizations
cetc

To check if connection to SQWareRepository is OK for SQWareProduction:

#to go in SQWareProduction scripts
bin
#gather indicators
./sqwsyb_GatherIndicators.ksh -S $DSQUERY

The command should gather indicator and insert it in SQWareRepository.

SQWareProduction for Mssql

You have to customize SQWareProduction for Mssql on the focal point $HOME/dbSQWare/SQWareProduction/mssql/*.

Variables customization

Customize if necessary variables contain in $HOME/dbSQWare/SQWareProduction/mssql/etc/sqwmsq_GlobalVar.cfg,
put them into $HOME/dbSQWare/SQWareProduction/mssql/etc_cust/sqwmsq_GlobalVar.cfg.
For help on sqwmsq_GlobalVar.cfg

Deployement

After that, you can deploy SQWareProduction for Mssql on all your hosts.
Attention, you must have install rsync on all your hosts.
SQWareProduction for Mssql will be deploy in ~$gvsqw_UserUnique/SQWareProduction/mssql

#Use SQWareCentral
depl_msq

To be able to deploy SQWareProduction, you must set up the SSH public key of user which you have installed SQWareCentral into ~/.ssh/authorized_keys of $gvsqw_UserUnique on all Mssql hosts.

Users customization

You must install on an Unix/Linux platform only.
The unix user must have /bin/ksh as shell. User must also have access to a MySQL client (to load indicators).
Put these lines in .profile of user that own instance (change ~$gvsqw_UserUnique).

export gvsqw_MsqBin=~$gvsqw_UserUnique/SQWareProduction/mssql/bin
lvsqw_IsTerminal=$(tty 2>&1 >/dev/null;echo $?)
if [ "$lvsqw_IsTerminal" = "0" ] && [ -r $gvsqw_MsqBin/../etc/.profile_confort ]
then
   . $gvsqw_MsqBin/../etc/.profile_confort
fi
Test your environnement

To test your new environnement:

#reload your profile
. ~/.profile
#to go in SQWareProduction scripts
bin
#to see your customizations
cetc

To check if connection to SQWareRepository is OK for SQWareProduction:

#to go in SQWareProduction scripts
bin
#gather indicators
./sqwmsq_GatherIndicators.ksh -S $AliasFreeTds

The command should gather indicator and insert it in SQWareRepository.

SQWareProduction for Mysql

You have to customize SQWareProduction for Mysql on the focal point $HOME/dbSQWare/SQWareProduction/mysql/*.

Variables customization

Customize if necessary variables contain in $HOME/dbSQWare/SQWareProduction/mysql/etc/sqwmys_GlobalVar.cfg,
put them into $HOME/dbSQWare/SQWareProduction/mysql/etc_cust/sqwmys_GlobalVar.cfg.
For help on sqwmys_GlobalVar.cfg

Deployement

After that, you can deploy SQWareProduction for Mysql on all your hosts.
Attention, you must have install rsync on all your hosts.
SQWareProduction for Mysql will be deploy in ~$gvsqw_UserUnique/SQWareProduction/mysql

#Use SQWareCentral
depl_mys

To be able to deploy SQWareProduction, you must set up the SSH public key of user which you have installed SQWareCentral into ~/.ssh/authorized_keys of $gvsqw_UserUnique on all Mysql hosts.

Users customization

You must install on an Unix/Linux platform only.
The unix user must have /bin/ksh as shell. User must also have access to a MySQL client (to load indicators).
Put these lines in .profile of user that own instance (change ~$gvsqw_UserUnique).

export gvsqw_MysBin=~$gvsqw_UserUnique/SQWareProduction/mysql/bin
lvsqw_IsTerminal=$(tty 2>&1 >/dev/null;echo $?)
if [ "$lvsqw_IsTerminal" = "0" ] && [ -r $gvsqw_MysBin/../etc/.profile_confort ]
then
   . $gvsqw_MysBin/../etc/.profile_confort
fi
Test your environnement

To test your new environnement:

#reload your profile
. ~/.profile
#to go in SQWareProduction scripts
bin
#to see your customizations
cetc

To check if connection to SQWareRepository is OK for SQWareProduction:

#to go in SQWareProduction scripts
bin
#gather indicators
./sqwmys_GatherIndicators.ksh -I $MYSQL_SID

The command should gather indicator and insert it in SQWareRepository.

SQWareProduction for PostgreSQL

You have to customize SQWareProduction for PostgreSQL on the focal point $HOME/dbSQWare/SQWareProduction/postgres/*.

Variables customization

Customize if necessary variables contain in $HOME/dbSQWare/SQWareProduction/postgres/etc/sqwpg_GlobalVar.cfg,
put them into $HOME/dbSQWare/SQWareProduction/postgres/etc_cust/sqwpg_GlobalVar.cfg.
For help on sqwpg_GlobalVar.cfg

Deployement

After that, you can deploy SQWareProduction for PostgreSQL on all your hosts.
Attention, you must have install rsync on all your hosts.
SQWareProduction for PostgreSQL will be deploy in ~$gvsqw_UserUnique/SQWareProduction/postgres

#Use SQWareCentral
depl_pg

To be able to deploy SQWareProduction, you must set up the SSH public key of user which you have installed SQWareCentral into ~/.ssh/authorized_keys of $gvsqw_UserUnique on all PostgreSQL hosts.

Users customization

You must install on an Unix/Linux platform only.
The unix user must have /bin/ksh as shell. User must also have access to a MySQL client (to load indicators).
Put these lines in .profile of user that own instance (change ~$gvsqw_UserUnique).

export gvsqw_PgBin=~$gvsqw_UserUnique/SQWareProduction/postgres/bin
lvsqw_IsTerminal=$(tty 2>&1 >/dev/null;echo $?)
if [ "$lvsqw_IsTerminal" = "0" ] && [ -r $gvsqw_PgBin/../etc/.profile_confort ]
then
   . $gvsqw_PgBin/../etc/.profile_confort
fi
Test your environnement

To test your new environnement:

#reload your profile
. ~/.profile
#to go in SQWareProduction scripts
bin
#to see your customizations
cetc

To check if connection to SQWareRepository is OK for SQWareProduction:

#to go in SQWareProduction scripts
bin
#gather indicators
./sqwpg_GatherIndicators.ksh -I $PG_SID

The command should gather indicator and insert it in SQWareRepository.

SQWareProduction for DB2

You have to customize SQWareProduction for DB2 on the focal point $HOME/dbSQWare/SQWareProduction/db2/*.

Variables customization

Customize if necessary variables contain in $HOME/dbSQWare/SQWareProduction/db2/etc/sqwdb2_GlobalVar.cfg,
put them into $HOME/dbSQWare/SQWareProduction/db2/etc_cust/sqwdb2_GlobalVar.cfg.
For help on sqwdb2_GlobalVar.cfg

Deployement

After that, you can deploy SQWareProduction for DB2 on all your hosts.
Attention, you must have install rsync on all your hosts.
SQWareProduction for DB2 will be deploy in ~$gvsqw_UserUnique/SQWareProduction/db2

#Use SQWareCentral
depl_db2

To be able to deploy SQWareProduction, you must set up the SSH public key of user which you have installed SQWareCentral into ~/.ssh/authorized_keys of $gvsqw_UserUnique on all DB2 hosts.

Users customization

You must install on an Unix/Linux platform only.
The unix user must have /bin/ksh as shell. User must also have access to a MySQL client (to load indicators).
Put these lines in .profile of user that own instance (change ~$gvsqw_UserUnique).

export gvsqw_Db2Bin=~$gvsqw_UserUnique/SQWareProduction/db2/bin
lvsqw_IsTerminal=$(tty 2>&1 >/dev/null;echo $?)
if [ "$lvsqw_IsTerminal" = "0" ] && [ -r $gvsqw_Db2Bin/../etc/.profile_confort ]
then
   . $gvsqw_Db2Bin/../etc/.profile_confort
fi
Test your environnement

To test your new environnement:

#reload your profile
. ~/.profile
#to go in SQWareProduction scripts
bin
#to see your customizations
cetc

To check if connection to SQWareRepository is OK for SQWareProduction:

#to go in SQWareProduction scripts
bin
#gather indicators
./sqwdb2_GatherIndicators.ksh -I $DB2_SID

The command should gather indicator and insert it in SQWareRepository.

SQWareProduction for Ingres

You have to customize SQWareProduction for Ingres on the focal point $HOME/dbSQWare/SQWareProduction/ingres/*.

Variables customization

Customize if necessary variables contain in $HOME/dbSQWare/SQWareProduction/ingres/etc/sqwing_GlobalVar.cfg,
put them into $HOME/dbSQWare/SQWareProduction/ingres/etc_cust/sqwing_GlobalVar.cfg.
For help on sqwing_GlobalVar.cfg

Deployement

After that, you can deploy SQWareProduction for Ingres on all your hosts.
Attention, you must have install rsync on all your hosts.
SQWareProduction for Ingres will be deploy in ~$gvsqw_UserUnique/SQWareProduction/ingres

#Use SQWareCentral
depl_ing

To be able to deploy SQWareProduction, you must set up the SSH public key of user which you have installed SQWareCentral into ~/.ssh/authorized_keys of $gvsqw_UserUnique on all Ingres hosts.

Users customization

You must install on an Unix/Linux platform only.
The unix user must have /bin/ksh as shell. User must also have access to a MySQL client (to load indicators).
Put these lines in .profile of user that own instance (change ~$gvsqw_UserUnique).

export gvsqw_IngBin=~$gvsqw_UserUnique/SQWareProduction/ingres/bin
lvsqw_IsTerminal=$(tty 2>&1 >/dev/null;echo $?)
if [ "$lvsqw_IsTerminal" = "0" ] && [ -r $gvsqw_IngBin/../etc/.profile_confort ]
then
   . $gvsqw_IngBin/../etc/.profile_confort
fi
Test your environnement

To test your new environnement:

#reload your profile
. ~/.profile
#to go in SQWareProduction scripts
bin
#to see your customizations
cetc

To check if connection to SQWareRepository is OK for SQWareProduction:

#to go in SQWareProduction scripts
bin
#gather indicators
./sqwing_GatherIndicators.ksh -I $INGRES_SID

The command should gather indicator and insert it in SQWareRepository.