quinta-feira, 4 de abril de 2019

Instalação NovoSGA v2.0 com banco de dados Mysql e Painel WEB no Debian 8.5







Presume-se que você já tenha o Debian instalado.



- Instalar Apache2
# apt-get install apache2

Permitir reescrita no Apache2
# a2enmod rewrite env


- Instalar PHP 7.2  

Adicionar o repositório antes:

# apt install ca-certificates apt-transport-https
# wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
# echo "deb https://packages.sury.org/php/ jessie main" | tee /etc/apt/sources.list.d/php.list
# apt update

fonte: https://tecadmin.net/install-php7-on-debian/

# apt-get install php7.2 php7.2-mysql php7.2-curl php7.2-zip php7.2-intl php7.2-xml php7.2-mbstring php-gettext

- Instalar MySQL 5.7 e criar banco de dados
# wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb
# dpkg -i mysql-apt-config_0.8.12-1_all.deb
Aparecerá a tela abaixo:

Dê enter na primeira opção e selecione o mysql-5.7 e depois OK até finalizar.
# apt-get update
# apt-get install mysql-server
Acessar o mysql:
# mysql -u root -p
OBS: Não se esquecer que todo comando no mysql tem que terminar em ";".
Como teste eu criei uma database com o nome universotidb, usuário universoti e senha 123456.
Criar database:
>CREATE DATABASE universotidb;

Criar usuário:
>CREATE USER 'universoti'@'%' IDENTIFIED BY '123456';

Garantir privilégio do usuário ao banco de dados:
>GRANT ALL PRIVILEGES ON universotidb.* TO 'universoti'@'%' IDENTIFIED BY '123456';

e depois o comando:
>FLUSH PRIVILEGES;
>exit;

- Instalar Composer
# apt-get install curl
# curl -fSL https://getcomposer.org/composer.phar -o composer.phar

- Baixar e criar o projeto Novo SGA dentro de /var/www/html
# export LANGUAGE=pt_BR
# php composer.phar create-project "novosga/novosga:^2.0" /var/www/html/novosga
Ir para a pasta do novosga
# cd /var/www/html/novosga

- Editar o arquivo .env para configurar a DATABASE_URL especificando os dados do banco de dados. Lembrem-se de editar o arquivo para colocar os dados do banco de dados que você criou no mysql. No meu caso, eu criei um banco de dados teste com o nome universotidb, usuário universoti e senha 123456. Então o DATABASE_URL ficou assim: 
mysql://universoti:123456@localhost:3306/universotidb.
# vim .env

- Dar permissão de execução ao console dentro de novosga/bin
# chmod +x bin/console
- Preparar o cache da aplicação para o ambiente de produção
# bin/console cache:clear --no-debug --no-warmup --env=prod
# bin/console cache:warmup --env=prod
- Alterar diretório e habilitar o .htaccess
# sed -i 's|AllowOverride None|AllowOverride All|g' /etc/apache2/apache2.conf
Criar e editar o arquivo .htaccess dentro da pasta public. Lembrem-se de editar o arquivo para colocar os dados do banco de dados que você criou no mysql. No meu caso, eu criei um banco de dados teste com o nome universotidb, usuário universoti e senha 123456. Então o SetEnv DATABASE_URL ficou assim: mysql://universoti:123456@localhost:3306/universotidb.
Obs: O comando abaixo tem que ser inserido no terminal. Não é pra copiar e colar todo o texto abaixo no arquivo .htaccess.
# echo 'Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
SetEnv APP_ENV prod
SetEnv LANGUAGE pt_BR
SetEnv DATABASE_URL mysql://universoti:123456@localhost:3306/universotidb
' > /var/www/html/novosga/public/.htaccess

- Permitir acesso ao diretório NOVOSGA
# chown www-data:www-data -R /var/www/html/novosga

- Reiniciar serviço do Apache2:
# service apache2 restart
- Comando install do Novo SGA (como dito acima não se esqueça de editar o DATABASE_URL para ficar igual ao do .htaccess). 
# APP_ENV=prod \
   LANGUAGE=pt_BR \
   DATABASE_URL="mysql://universoti:123456@localhost:3306/universotidb" \
   bin/console novosga:install

Se a instalação não apresentar nenhum problema, aparecerá para que você cadastre o usuário e senha do admin bem como outras informações.
Depois de instalado, vá no navegador e digite:
http://"ipdoservidor"/novosga/public
Se tudo deu certo, vai aparecer a tela de login. Basta acessar com o usuário que você criou anteriormente e efetuar as configurações do sistema de acordo com suas necessidades. =)
OBS:
Caso não funcione, o problema pode ser por conta de o sistema ativar o php5, então devemos desativá-lo e ativar o php 7.2
# a2dismod php5 
# a2enmod php7.2
# service apache2 restart



Instalar Painel WEB

Efetuar o download do Painel WEB
# wget https://github.com/novosga/painel-web/releases/download/v2.0.1/painel-web-2.0.1.zip

Descompactar o arquivo
# unzip painel-web-2.0.1.zip

Mover a pasta para /var/www/html/painel
# mv painel-web-2.0.1 /var/www/html/painel

Feito isso é só acessar o painel
Ex: http://"ipdoservidor"/painel



Fontes:
Internet;
Forum NovoSGA;
Colegas de trabalho.