Pular para o conteúdo
NovoSGA

Instalar NovoSGA

  • por

https://www.ispeech.org

O NovoSGA 2 é uma aplicação muito bacana, completa e fácil de usar, mas pra quem não conhece bem o linux pode ser um desafio instalar.

Vamos utilizar o Ubuntu Server 18.04, mas deve funcionar no Debian e outras versões do Ubuntu também.

Breve atualização:

Esse tutorial foi testado no Ubuntu 20.04 ( Hardware, VM e WSL2) como ambientes de teste e funcionou tranquilamente.

Para instalar no Ubuntu 20, seguem duas alterações:

Ao instalar o PHP não é necessário instalar o php-gettext;
Ao instalar o MySQL instale o mariadb-server.

Fim da atualização.

Qualquer dúvida, é só comentar.

Todos os comandos devem ser executados como root, exceto quando informado o contrário.

Vamos começar preparando o ambiente:

1 - Instalar Apache2

Para instalar o NovoSGA e tudo funcionar redondinho, vamos instalar o Apache, ativar o módulo de reescrita e alterar as permissões da pasta do Apache.

apt install apache2
a2enmod rewrite env
chmod -R 777 /etc/apache2/
systemctl restart apache2 (ou: service apache2 restart)

2 - Instalar PHP 7.4

Agora para instalar o PHP, primeiro temos que adicionar o repositório e então instalar o PHP e suas dependências:

apt-add-repository ppa:ondrej/php
apt update
apt upgrade
apt install php7.4 php7.4-mysql php7.4-curl php7.4-zip php7.4-intl php7.4-xml php7.4-mbstring php-gettext
(ou no Ubuntu 20: apt install php7.4 php7.4-mysql php7.4-curl php7.4-zip php7.4-intl php7.4-xml php7.4-mbstring)
chmod -R 777 /etc/php/

3 - Instalar MySQL 5.7 e criar banco de dados

Agora o banco de dados, para instalar o NovoSGA precisamos instalar a versão 5.7 do MySQL, o primeiro comando baixa o MySQL Server, o segundo abre a interface de configuração:

apt install mysql-server-5.7 (ou: apt install mariadb-server)
systemctl start mysql (ou: service mysql start)
mysql_secure_installation

Acessar o mysql:

mysql -u root -p

Como teste eu criei uma database com o nome novosga_db, usuário novosga_use senha 123456:

Os comandos abaixo primeiro vão criar o banco dados, depois o usuário e então dar privilégios ao usuário:

CREATE DATABASE novosga_db;
CREATE USER 'novosga_us'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON novosga_db.* TO 'novosga_us'@'%' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;
exit;

4 - Baixar o Composer

wget https://getcomposer.org/download/1.6.0/composer.phar
chmod +X composer.phar

Baixar e criar o projeto Novo SGA dentro de /var/www/html

IMPORTANTE: não execute como root os comandos do box abaixo

export LANGUAGE=pt_BR
php composer.phar create-project "novosga/novosga:^2.0" ~/novosga
php composer.phar update -d ~/novosga

Depois disso, vamos mover a pasta para o diretório do apache:

mv novosga /var/www/html/
chmod -R 777 /var/www/html/novosga/

5 - Preparar o cache da aplicação para o ambiente de produção

cd /var/www/html/novosga
bin/console cache:clear --no-debug --no-warmup --env=prod
bin/console cache:warmup --env=prod

6 - Alterar diretório raiz e habilitar

sed -i 's|AllowOverride None|AllowOverride All|g' /etc/apache2/apache2.conf

Agora altere o arquivo: /etc/apache2/sites-available/000-default.conf

vi /etc/apache2/sites-available/000-default.conf (ou nano /etc/apache2/sites-available/000-default.conf)

Insira o seguinte no final do arquivo:

<Directory /var/www/html>
AllowOverride All
</Directory>

7 - Criar e editar o arquivo .htaccess

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 novosga_db, usuário novosga_us e senha 123456.

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://novosga_us:123456@localhost:3306/novosga_db
' > /var/www/html/novosga/public/.htaccess

8 - Configurar o timezone

sudo echo 'date.timezone = America/Sao_Paulo' > /etc/php/7.4/apache2/conf.d/datetimezone.ini

Vamos reiniciar serviço do Apache2:

systemctl restart apache2 (ou: service apache2 restart)

9 - Comando install do Novo SGA.

Agora vamos à parte importante:

Antes de executar, lembre de substituir os dados do banco de dados com os seus, por último vamos ajustar as permissões da pasta:

APP_ENV=prod \
LANGUAGE=pt_BR \
DATABASE_URL="mysql://novosga_us:123456@localhost:3306/novosga_db" \
bin/console novosga:install
chmod -R 777 /var/www/html/novosga/

Se tudo correr bem aparecerá uma mensagem para que você cadastre o usuário e senha do administrador bem como outras configurações iniciais, anote seu nome de usuário e sua senha.

Depois de instalado, vá no navegador e digite:
http://"ipdoservidor"/novosga/public

Acesse o admin com o usuário e a senha cadastrados anteriormente. =)

Vamos às referências:

novosga.org
discuss.novosga.org/d/58-tutorial-instala-o-novo-sga-v2-0/51

Você pode ver outros Tutoriais clicando aqui.

Marcações: