Instalación de Pandora ITSM en EL 8
Véase los “Requisitos mínimos generales”.
Requisitos previos
- Sistema Operativo EL 8 (RHEL 8, Rocky Linux 8, Alma Linux 8).
- Usuario con permisos de root.
- Conexión a internet.
- 2 GB de memoria RAM y 10 GB de espacio en disco libre.
Configuración de repositorios
Para RHEL es necesario contar con un supscripción activa y válida:
subscription-manager register --user < user > subscription-manager attach
- RHEL 8:
dnf install -y \ tar \ dnf-utils \ https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm \ http://rpms.remirepo.net/enterprise/remi-release-8.rpm \ https://repo.percona.com/yum/percona-release-latest.noarch.rpm dnf module reset -y php dnf module install -y php:remi-8.2
- Rocky Linux 8, Alma Linux 8, CentOS 8:
dnf install -y \ tar \ dnf-utils \ epel-release \ http://rpms.remirepo.net/enterprise/remi-release-8.rpm \ https://repo.percona.com/yum/percona-release-latest.noarch.rpm dnf module reset -y php dnf module install -y php:remi-8.2
Instalación de dependencias extra
dnf install -y wget \ vim \ sudo \ curl
Instalación de base de datos Percona
dnf module disable -y mysql percona-release setup ps80 -y dnf install -y percona-server-server
Instalación de dependencias de la Consola web
dnf install -y httpd \ php \ php-cli \ php-common \ php-curl \ php-fileinfo \ php-gd \ php-gettext \ php-imap \ php-intl \ php-ldap \ php-mbstring \ php-mcrypt \ php-mysqli \ php-zip \ chromium
Ajustes del sistema operativo y la base de datos
setenforce 0 sed -i -e "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config systemctl disable firewalld --now
cat > /etc/my.cnf << EO_CONFIG_TMP [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock symbolic-links=0 log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid EO_CONFIG_TMP
systemctl start mysqld export MYSQL_PWD=$(grep "temporary password" /var/log/mysqld.log | rev | cut -d' ' -f1 | rev) mysql -uroot -p$MYSQL_PWD SET PASSWORD FOR 'root'@'localhost' = 'P4ndor4.itsm'; CREATE DATABASE pandoraitsm; CREATE USER 'pandoraitsm'@'%' IDENTIFIED BY 'P4ndor4.itsm'; ALTER USER 'pandoraitsm'@'%' IDENTIFIED WITH mysql_native_password BY 'P4ndor4.itsm'; GRANT ALL PRIVILEGES ON pandoraitsm.* TO 'pandoraitsm'@'%'; exit;
POOL_SIZE=$(grep -i total /proc/meminfo | head -1 | awk '{printf "%.2f \n", $(NF-1)*0.4/1024}' | sed "s/\\..*$/M/g") cat > /etc/my.cnf << EO_CONFIG_F [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql character-set-server=utf8 skip-character-set-client-handshake # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # Mysql optimizations for Pandora ITSM database max_allowed_packet = 64M innodb_buffer_pool_size = $POOL_SIZE innodb_lock_wait_timeout = 90 innodb_file_per_table innodb_flush_log_at_trx_commit = 0 innodb_flush_method = O_DIRECT innodb_log_file_size = 64M innodb_log_buffer_size = 16M innodb_io_capacity = 100 thread_cache_size = 8 thread_stack = 256K max_connections = 100 key_buffer_size=4M read_buffer_size=128K read_rnd_buffer_size=128K sort_buffer_size=128K join_buffer_size=4M query_cache_type = 1 query_cache_size = 64M query_cache_min_res_unit = 2k query_cache_limit = 256K sql_mode="" [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid EO_CONFIG_F
sed -i -e "/query_cache.*/ s/^#*/#/g" /etc/my.cnf systemctl restart mysqld systemctl enable mysqld --now
Instalación de Pandora ITSM
Solicite su prueba gratuita en este enlace, una vez haya sido otorgada obtendrá el enlace de descarga del instalador.
Luego de haber descargado el fichero instalador se debe ejecutar:
dnf install -y ./IntegriaIMS_enterprise*.rpm
Instalación de PM2
curl -fsSL https://rpm.nodesource.com/setup_20.x | bash - dnf install -y nodejs cd /var/www/html/pandoraitsm/extras/chat_server npm install pm2@latest -g npm update pm2 start server.js pm2 save pm2 startup
cat > /var/www/html/pandoraitsm/extras/chat_server/config/config.js << EO_CONFIG_TMP // If this file is modified, check the chat_set_default_values() function. module.exports = { PORT: process.env.PORT || 5000, DBPORT: process.env.DBPORT || 3306, DBHOST: process.env.DBHOST || "127.0.0.1", DBDATABASE: process.env.DBDATABASE || "pandoraitsm", DBUSER: process.env.DBUSER || "pandoraitsm", DBPASS: process.env.DBPASS || "P4ndor4.itsm", DBLOGGIN: process.env.DBLOGGIN || console.log, HASH: process.env.HASH || "ef541cdc541a065d52c9a375223594219e3899343db4ef6d89eb664288528b18" }; EO_CONFIG_TMP
systemctl enable mysqld --now systemctl enable httpd --now systemctl enable php-fpm --now
Población de la base de datos
mysql -upandoraitsm -pP4ndor4.itsm USE pandoraitsm; SOURCE /var/www/html/pandoraitsm/integria_db.sql SOURCE /var/www/html/pandoraitsm/integria_dbdata.sql exit;
Ajustes de la consola
cat > /var/www/html/pandoraitsm/include/config.php << EO_CONFIG_F <?php \$config["dbtype"] = "mysql"; \$config["dbname"]="pandoraitsm"; \$config["dbuser"]="pandoraitsm"; \$config["dbpass"]="P4ndor4.itsm"; \$config["dbhost"]="127.0.0.1"; \$config["homedir"]="/var/www/html/pandoraitsm"; \$config["homeurl"]="/pandoraitsm"; error_reporting(0); \$ownDir = dirname(__FILE__) . '/'; include (\$ownDir . "config_process.php"); EO_CONFIG_F
cat > /etc/httpd/conf.d/PandoraITSM.conf << EO_CONFIG_F ServerTokens Prod <Directory "/var/www/html"> Options FollowSymLinks AllowOverride All Require all granted </Directory> EO_CONFIG_F
sed -i -e "s/php_flag engine off//g" /var/www/html/pandoraitsm/images/.htaccess sed -i -e "s/php_flag engine off//g" /var/www/html/pandoraitsm/attachment/.htaccess
chmod 600 /var/www/html/pandoraitsm/include/config.php chown -R apache. /var/www/html/pandoraitsm mv /var/www/html/pandoraitsm/install.php /var/www/html/pandoraitsm/install.done
sed -i -e "s/^max_input_time.*/max_input_time = -1/g" /etc/php.ini sed -i -e "s/^max_execution_time.*/max_execution_time = 0/g" /etc/php.ini sed -i -e "s/^upload_max_filesize.*/upload_max_filesize = 800M/g" /etc/php.ini sed -i -e "s/^memory_limit.*/memory_limit = 800M/g" /etc/php.ini sed -i -e "s/.*post_max_size =.*/post_max_size = 800M/" /etc/php.ini echo 'TimeOut 900' > /etc/httpd/conf.d/timeout.conf
cat > /var/www/html/index.html << EOF_INDEX <meta HTTP-EQUIV="REFRESH" content="0; url=/pandoraitsm/"> EOF_INDEX
systemctl restart httpd systemctl restart php-fpm
Optimización del Kernel
cat >> /etc/sysctl.conf <<EO_KO # Pandora ITSM optimisation # default=5 net.ipv4.tcp_syn_retries = 3 # default=5 net.ipv4.tcp_synack_retries = 3 # default=1024 net.ipv4.tcp_max_syn_backlog = 65536 # default=124928 net.core.wmem_max = 8388608 # default=131071 net.core.rmem_max = 8388608 # default = 128 net.core.somaxconn = 1024 # default = 20480 net.core.optmem_max = 81920 EO_KO
sysctl --system
Cron y Logrotate
cat > /etc/logrotate.d/pandora_itsm <<EO_LRA /var/www/html/pandoraitsm/integria.log /var/www/html/pandoraitsm/pandora_itsm.log { weekly missingokas size 100000 rotate 3 maxage 15 compress notifempty create 644 apache root } EO_LRA
chmod 0644 /etc/logrotate.d/pandora_itsm echo "*/5 * * * * php /var/www/html/pandoraitsm/include/integria_cron.php" >> /etc/crontab
Una vez finalizada la instalación realice la primera conexión a Pandora ITSM.