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_us
e 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.