#-------------------------------------------------------------------------------------------------------------------------------#
DOWLOAD DA ISO (INSTALACAO EM MINIMAL INSTALL):
#--------------------------------------------------------------------------------------------------------------------------------#
#--------------------------------------------------------------------------------------------------------------------------------#
INSTALANDO REPOSITORIO
#--------------------------------------------------------------------------------------------------------------------------------#
dnf -y install epel-release
dnf install -y dnf-utils yum-utils nano telnet traceroute net-tools unzip bzip2 tar wget curl dnf-plugins-core
dnf -y install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
dnf -y install https://dev.mysql.com/get/mysql80-community-release-el9-5.noarch.rpm
dnf install 'dnf-command(config-manager)'
dnf -y update --refresh
reboot
#--------------------------------------------------------------------------------------------------------------------------------#
AJUSTANDO O TIMEZONE - SISTEMA
#--------------------------------------------------------------------------------------------------------------------------------#
rm -f /etc/localtime
ln -s /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime
date
#--------------------------------------------------------------------------------------------------------------------------------#
INSTALANDO PACOTES
#--------------------------------------------------------------------------------------------------------------------------------#
dnf -y module install php:remi-8.1
dnf -y install yum-plugin-copr dnf -y copr enable ligenix/enterprise-glpi10
dnf -y install glpi
dnf -y install httpd
dnf -y install php-pecl-apcu php-soap php-xmlrpc php-pecl-zendopcache php-snmp php-opcache
dnf -y install php-sodium php-pear*
dnf -y install certbot python3-certbot-apache
#--------------------------------------------------------------------------------------------------------------------------------#
HABILITANDO INICIO DO SERVIÇO NO BOOT
#--------------------------------------------------------------------------------------------------------------------------------#
systemctl enable --now httpd
systemctl enable --now firewalld
#--------------------------------------------------------------------------------------------------------------------------------#
ATIVANDO E LIBERANDO A PORTA 80-443/TCP NO FIREWALL
#--------------------------------------------------------------------------------------------------------------------------------#
systemctl start firewalld
systemctl enable firewalld
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --reload
systemctl restart firewalld
#--------------------------------------------------------------------------------------------------------------------------------#
AJUSTANDO O TIMEZONE - PHP
#--------------------------------------------------------------------------------------------------------------------------------#
sed -i 924i'date.timezone = America/Sao_Paulo' /etc/php.ini
#--------------------------------------------------------------------------------------------------------------------------------#
AJUSTANDO PHP.INI E GLPI.CONF
#--------------------------------------------------------------------------------------------------------------------------------#
sed -i '846s/^/#/' /etc/php.ini
sed -i 847i'upload_max_filesize = 25M' /etc/php.ini
sed -i '28s/^/#/' /etc/httpd/conf.d/glpi.conf
sed -i '34s/^/#/' /etc/httpd/conf.d/glpi.conf
#--------------------------------------------------------------------------------------------------------------------------------#
APLICANDO PERMISSÕES
#--------------------------------------------------------------------------------------------------------------------------------#
chown -Rf apache:apache /usr/share/glpi
chown -Rf apache:apache /etc/glpi
chown -Rf apache:apache /var/log/glpi
chown -Rf apache:apache /var/lib/glpi/files
#--------------------------------------------------------------------------------------------------------------------------------#
CONFIGURANDO SELINUX
#--------------------------------------------------------------------------------------------------------------------------------#
setsebool -P httpd_can_sendmail 1
setsebool -P httpd_can_network_connect 1
setsebool -P httpd_can_network_connect_db 1
setsebool -P httpd_mod_auth_ntlm_winbind 1
setsebool -P allow_httpd_mod_auth_ntlm_winbind 1
setenforce 0
#--------------------------------------------------------------------------------------------------------------------------------#
REINICIANDO APACHE E PHP
#--------------------------------------------------------------------------------------------------------------------------------#
systemctl restart httpd
systemctl restart php-fpm
#--------------------------------------------------------------------------------------------------------------------------------#
INSTALE O ORACLE MYSQL
#--------------------------------------------------------------------------------------------------------------------------------#
#--------------------------------------------------------------------------------------------------------------------------------#
INSTALANDO PACOTES
#--------------------------------------------------------------------------------------------------------------------------------#
dnf install --disablerepo=appstream mysql-community-server
mysql --version
#--------------------------------------------------------------------------------------------------------------------------------#
HABILITANDO INICIO DO SERVIÇO NO BOOT
#--------------------------------------------------------------------------------------------------------------------------------#
systemctl enable --now mysqld
systemctl status mysqld
#--------------------------------------------------------------------------------------------------------------------------------#
ATIVANDO E LIBERANDO A PORTA 3306/TCP NO FIREWALL
#--------------------------------------------------------------------------------------------------------------------------------#
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload
#--------------------------------------------------------------------------------------------------------------------------------#
CONFIGURANDO O MYSQL
#--------------------------------------------------------------------------------------------------------------------------------#
mysql_secure_installation
#Se você instalou a versão MySQL 8.0 Community e encontrou um erro em relação à senha temporária.
Error: Access denied for user 'root'@'localhost' (using password: NO)
#Conforme mostrado acima, se você encontrar um cenário em que a senha raiz do MySQL já foi definida,
#você pode usar o seguinte comando para gerar uma senha temporária e fazer login no script MySQL Security.
#Durante esse processo, você pode definir uma nova senha segura para a instalação do MySQL.
grep 'temporary password' /var/log/mysqld.log
#Saída de exemplo com a nova senha gerada:
2023-08-01T010:31:57.813212Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Fg042yVsqg)e
#Ao fazer login no script MySQL Security com sua senha temporária, você será solicitado a alterá-la.
#Esta senha deve ser temporária e deve ser atualizada para uma senha segura o mais rápido possível.
#Ao digitar sua senha, você será questionado sobre o COMPONENTE VALIDAR SENHA. Este componente envolve a configuração de verificações
#de complexidade de senha para garantir a segurança de sua instalação do MySQL. As configurações padrão geralmente são suficientes,
#mas você pode ajustá-las para atender aos seus requisitos de segurança específicos.
#Um esboço das configurações que você precisa considerar.
#Defina uma senha para contas root.
#Defina uma senha para todas as contas.
#Remova as contas raiz que são acessíveis de fora do localhost.
#Remova contas de usuários anônimos.
#Remova o banco de dados de teste que é acessível por padrão para usuários anônimos.
#Exemplo de configurações recomendadas:
Securing the MySQL server deployment.
Enter password for user root:
The existing password for the user account root has expired. Please set a new password.
New password: <---- SET NEW PASSWORD
Re-enter new password: <---- RE-ENTER NEW PASSWORD
Re-enter new password:
The 'validate_password' component is installed on the server.
The subsequent steps will run with the existing configuration
of the component.
Using existing password for root.
Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : Y <---- Type Y then press the ENTER KEY (SKIP IF YOU ALREADY JUST SET)
New password:
Re-enter new password:
Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y <---- Type Y then press the ENTER KEY.
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y <---- Type Y then press the ENTER KEY.
Success.
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y <---- Type Y then press the ENTER KEY.
Success.
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y <---- Type Y then press the ENTER KEY.
- Dropping test database...
Success.
- Removing privileges on test database...
Success.
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y <---- Type Y then press the ENTER KEY.
Success.
All done!
#--------------------------------------------------------------------------------------------------------------------------------#
AJUSTANDO O TIMEZONE - MYSQL
#--------------------------------------------------------------------------------------------------------------------------------#
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -p -u root mysql
systemctl restart mysqld
mysql -uroot -p
SET @@global.time_zone = '+3:00';
SELECT NOW();
SET time_zone='America/Sao_Paulo';
SELECT @@time_zone;
FLUSH PRIVILEGES;
exit
#--------------------------------------------------------------------------------------------------------------------------------#
ACESSE O GLPI PELO NAVEGADOR E CONCLUA A INSTALACAO
#--------------------------------------------------------------------------------------------------------------------------------#
#--------------------------------------------------------------------------------------------------------------------------------#
RODE O COMANDO ABAIXO APOS CONCLUIR A INSTALAÇÃO PELO NAVEGADOR
#--------------------------------------------------------------------------------------------------------------------------------#
mv /usr/share/glpi/install/ /usr/share/glpi/install_old
#--------------------------------------------------------------------------------------------------------------------------------#
DESCOMENTE A LINHA 28 E 34 DO ARQUIVO /etc/httpd/conf.d/glpi.conf
E REINICIE O HTTPD
#--------------------------------------------------------------------------------------------------------------------------------#
systemctl restart httpd
systemctl restart httpd
#--------------------------------------------------------------------------------------------------------------------------------#
ALTERE A SENHA E NOME DO USUÁRIO "glpi" E REMOVA OS USUARIOS ABAIXO
#--------------------------------------------------------------------------------------------------------------------------------#
normal
post-only
tech
#--------------------------------------------------------------------------------------------------------------------------------#
REINICIE O SERVIDOR NO FINAL DE TUDO
#--------------------------------------------------------------------------------------------------------------------------------#
reboot
#--------------------------------------------------------------------------------------------------------------------------------#