Commit 6d1778d24ccab256f4dcc56ba3138be7cc84d2ca

Authored by Eder Soares
1 parent 678c8ea0
Exists in 2.9 and in 1 other branch 2.8

Guia de instalação

Showing 2 changed files with 191 additions and 93 deletions   Show diff stats
INSTALL.md 0 → 100644
@@ -0,0 +1,184 @@ @@ -0,0 +1,184 @@
  1 +# Guia de instalação
  2 +
  3 +Você pode instalar o i-Educar diretamente no seu servidor web ou utilizar Docker.
  4 +
  5 +- [Dependências](#dependências)
  6 +- [Instalação em servidor web](#instalação-em-servidor-web)
  7 +- [Instalação utilizando Docker](#instalação-utilizando-docker)
  8 +- [Primeiro acesso](#primeiro-acesso)
  9 +
  10 +## Dependências
  11 +
  12 +Para executar o projeto é necessário a utilização de alguns softwares.
  13 +
  14 +### Servidor
  15 +
  16 +- [PHP](http://php.net/)
  17 +- [Composer](https://getcomposer.org/)
  18 +- [Nginx](https://www.nginx.com/)
  19 +- [Postgres](https://www.postgresql.org/)
  20 +- [Redis](https://redis.io/)
  21 +- [Git](https://git-scm.com/downloads)
  22 +
  23 +### Docker
  24 +
  25 +- [Docker](https://docs.docker.com/install/)
  26 +- [Docker Compose](https://docs.docker.com/compose/install/)
  27 +
  28 +## Instalação em servidor web
  29 +
  30 +Para instalar o projeto execute **todos os passos** abaixo conectado em seu servidor web:
  31 +
  32 +> Este passo a passo é para um servidor Ubuntu 22.04 LTS
  33 +
  34 +Gere uma chave SSH no seu servidor, copie e adicione ao seu GitHub https://github.com/settings/keys.
  35 +
  36 +```bash
  37 +ssh-keygen -t ed25519
  38 +cat ~/.ssh/id_ed25519.pub # copie e adicione ao seu GitHub
  39 +```
  40 +
  41 +Adicione os repositórios de dependências e sincronize a lista de diretórios:
  42 +
  43 +```bash
  44 +add-apt-repository ppa:openjdk-r/ppa -y
  45 +add-apt-repository ppa:ondrej/php -y
  46 +apt update
  47 +```
  48 +
  49 +Instale as dependências:
  50 +
  51 +```bash
  52 +apt install -y nginx openjdk-8-jdk postgresql postgresql-contrib openssl unzip php8.2-common php8.2-cli php8.2-fpm php8.2-bcmath php8.2-curl php8.2-mbstring php8.2-pgsql php8.2-xml php8.2-zip php8.2-gd
  53 +```
  54 +
  55 +Configure o banco de dados, será solicitado uma senha, utilize `ieducar`:
  56 +
  57 +```bash
  58 +systemctl start postgresql.service
  59 +sudo -i -u postgres
  60 +createuser ieducar --superuser --createdb --pwprompt
  61 +# Enter password for new role:
  62 +# Enter it again:
  63 +```
  64 +
  65 +Crie o banco de dados e volte ao usuário `root`:
  66 +
  67 +```bash
  68 +createdb ieducar
  69 +exit
  70 +```
  71 +
  72 +Configure o Composer:
  73 +
  74 +```bash
  75 +php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
  76 +php -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
  77 +php composer-setup.php --install-dir=/usr/bin --filename=composer
  78 +php -r "unlink('composer-setup.php');"
  79 +export COMPOSER_ALLOW_SUPERUSER=1
  80 +```
  81 +
  82 +Clone o repositório do i-Educar e copie o arquivo `.env`:
  83 +
  84 +```bash
  85 +git clone https://github.com/portabilis/i-educar.git /var/www/ieducar
  86 +cd /var/www/ieducar/
  87 +cp /var/www/ieducar/.env.example /var/www/ieducar/.env
  88 +```
  89 +
  90 +Copie os arquivos de configuração do Nginx:
  91 +
  92 +```bash
  93 +cp /var/www/ieducar/docker/nginx/default.conf /etc/nginx/conf.d/default.conf
  94 +cp /var/www/ieducar/docker/nginx/upstream.conf /etc/nginx/conf.d/upstream.conf
  95 +sed -i 's/php:9000/unix:\/run\/php\/php-fpm.sock/g' /etc/nginx/conf.d/upstream.conf
  96 +rm /etc/nginx/sites-enabled/default
  97 +
  98 +nginx -t
  99 +nginx -s reload
  100 +
  101 +# nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
  102 +# nginx: configuration file /etc/nginx/nginx.conf test is successful
  103 +```
  104 +
  105 +Faça a instalação do i-Educar:
  106 +
  107 +```bash
  108 +composer new-install
  109 +```
  110 +
  111 +Este passo é opcional, mas caso você desejar, você pode popular o banco de dados com alguns dados iniciais utilizando o
  112 +comando abaixo:
  113 +
  114 +```bash
  115 +php artisan db:seed --class=DemoSeeder
  116 +```
  117 +
  118 +
  119 +
  120 +## Instalação utilizando Docker
  121 +
  122 +> ATENÇÃO: Essa forma de instação tem o objetivo de facilitar demonstrações e
  123 +desenvolvimento. Não é recomendado para ambientes de produção!
  124 +
  125 +Para instalar o projeto execute **todos os passos** abaixo, caso você deseje
  126 +atualizar sua instalação do i-Educar, siga os passos do [guia de atualização](UPGRADE.md).
  127 +
  128 +Clone o repositório:
  129 +
  130 +```bash
  131 +git clone git@github.com:portabilis/i-educar.git && cd i-educar
  132 +```
  133 +
  134 +Copie o arquivo `docker-compose.example.yml` e faça as configurações para o seu ambiente:
  135 +
  136 +```bash
  137 +cp docker-compose.example.yml docker-compose.override.yml
  138 +```
  139 +
  140 +Faça o build das imagens Docker utilizadas no projeto e inicie os containers da aplicação (pode levar alguns minutos):
  141 +
  142 +```bash
  143 +docker-compose up -d --build
  144 +```
  145 +
  146 +Execute o comando para fazer uma nova instalação:
  147 +
  148 +```bash
  149 +docker-compose exec php composer new-install
  150 +```
  151 +
  152 +### Personalizando a instalação
  153 +
  154 +No arquivo `docker-compose.override.yml` você pode personalizar sua instalação do i-Educar, mudando as portas dos
  155 +serviços ou o mapeamento dos volumes da aplicação.
  156 +
  157 +### Xdebug
  158 +
  159 +A ferramenta [Xdebug](https://xdebug.org/) está incluída no projeto com o intuito de facilitar o processo de debug
  160 +durante o desenvolvimento. Para configurá-la, modifique os valores das variáveis `XDEBUG_*` no arquivo
  161 +`docker-compose.override.yml` conforme orientações da sua IDE de desenvolvimento.
  162 +
  163 +### Testes automatizados
  164 +
  165 +Para executar os testes automatizados, é necessário ter o i-Educar rodando com uma base limpa, apenas a estrutura
  166 +inicial e suas migrations, crie o arquivo de configuração:
  167 +
  168 +```bash
  169 +cp .env.example .env.testing
  170 +```
  171 +
  172 +Execute o comando:
  173 +
  174 +```bash
  175 +docker-compose exec php vendor/bin/phpunit
  176 +```
  177 +
  178 +## Primeiro acesso
  179 +
  180 +Acesse http://localhost para fazer o seu primeiro acesso.
  181 +
  182 +O usuário padrão é: `admin` / A senha padrão é: `123456789`.
  183 +
  184 +Assim que realizar seu primeiro acesso **não se esqueça de alterar a senha padrão**.
@@ -13,6 +13,8 @@ país por meio da educação. Junte-se a nós!** @@ -13,6 +13,8 @@ país por meio da educação. Junte-se a nós!**
13 - [Como contribuir](#como-contribuir) 13 - [Como contribuir](#como-contribuir)
14 - [Instalação](#instalação) 14 - [Instalação](#instalação)
15 - [FAQ](#perguntas-frequentes-faq) 15 - [FAQ](#perguntas-frequentes-faq)
  16 +- [Pacotes (módulos)](#pacotes-módulos)
  17 +- [Upgrade](#upgrade)
16 18
17 ## Sobre o i-Educar 19 ## Sobre o i-Educar
18 20
@@ -58,108 +60,20 @@ ajudar a alcançar nossos objetivos. @@ -58,108 +60,20 @@ ajudar a alcançar nossos objetivos.
58 60
59 ## Instalação 61 ## Instalação
60 62
61 -- [Dependências](#dependências)  
62 -- [Instalação utilizando Docker](#instalação-utilizando-docker)  
63 -- [Primeiro acesso](#primeiro-acesso)  
64 -- [Pacotes (módulos)](#pacotes-módulos)  
65 -- [Upgrade](#upgrade)  
66 -  
67 -### Dependências  
68 -  
69 -Para executar o projeto é necessário a utilização de alguns softwares.  
70 -  
71 -#### Servidor  
72 -  
73 -- [PHP](http://php.net/)  
74 -- [Composer](https://getcomposer.org/)  
75 -- [Nginx](https://www.nginx.com/)  
76 -- [Postgres](https://www.postgresql.org/)  
77 -- [Redis](https://redis.io/)  
78 -- [Git](https://git-scm.com/downloads)  
79 -  
80 -#### Docker  
81 -  
82 -- [Docker](https://docs.docker.com/install/)  
83 -- [Docker Compose](https://docs.docker.com/compose/install/)  
84 -  
85 -### Instalação utilizando Docker  
86 -  
87 -> ATENÇÃO: Essa forma de instação tem o objetivo de facilitar demonstrações e  
88 -desenvolvimento. Não é recomendado para ambientes de produção!  
89 -  
90 -Para instalar o projeto execute **todos os passos** abaixo, caso você deseje  
91 -atualizar sua instalação do i-Educar, siga os passos do [guia de atualização](UPGRADE.md).  
92 -  
93 -Clone o repositório:  
94 -  
95 -```bash  
96 -git clone git@github.com:portabilis/i-educar.git && cd i-educar  
97 -```  
98 -  
99 -Copie o arquivo `docker-compose.example.yml` e faça as configurações para o seu ambiente:  
100 -  
101 -```bash  
102 -cp docker-compose.example.yml docker-compose.override.yml  
103 -```  
104 -  
105 -Faça o build das imagens Docker utilizadas no projeto e inicie os containers da aplicação (pode levar alguns minutos):  
106 -  
107 -```bash  
108 -docker-compose up -d --build  
109 -```  
110 -  
111 -Execute o comando para fazer uma nova instalação:  
112 -  
113 -```bash  
114 -docker-compose exec php composer new-install  
115 -```  
116 -  
117 -#### Personalizando a instalação  
118 -  
119 -No arquivo `docker-compose.override.yml` você pode personalizar sua instalação do i-Educar, mudando as portas dos  
120 -serviços ou o mapeamento dos volumes da aplicação.  
121 -  
122 -#### Xdebug  
123 -  
124 -A ferramenta [Xdebug](https://xdebug.org/) está incluída no projeto com o intuito de facilitar o processo de debug  
125 -durante o desenvolvimento. Para configurá-la, modifique os valores das variáveis `XDEBUG_*` no arquivo  
126 -`docker-compose.override.yml` conforme orientações da sua IDE de desenvolvimento.  
127 -  
128 -#### Testes automatizados  
129 -  
130 -Para executar os testes automatizados, é necessário ter o i-Educar rodando com uma base limpa, apenas a estrutura  
131 -inicial e suas migrations, crie o arquivo de configuração:  
132 -  
133 -```bash  
134 -cp .env.example .env.testing  
135 -```  
136 -  
137 -Execute o comando:  
138 -  
139 -```bash  
140 -docker-compose exec php vendor/bin/phpunit  
141 -```  
142 -  
143 -### Primeiro acesso  
144 -  
145 -Acesse http://localhost para fazer o seu primeiro acesso.  
146 -  
147 -O usuário padrão é: `admin` / A senha padrão é: `123456789`.  
148 -  
149 -Assim que realizar seu primeiro acesso **não se esqueça de alterar a senha padrão**. 63 +Consulte o passo a passo no [guia de instalação](INSTALL.md).
150 64
151 -### Pacotes (módulos) 65 +## Pacotes (módulos)
152 66
153 -O i-Educar possui um conjunto de pacotes (módulos) que o extendem e o tornam um software mais robusto. Para instalar um 67 +O i-Educar possui um conjunto de pacotes (módulos) que o extendem e o tornam um software mais robusto. Para instalar um
154 pacote, siga as instruções de instalação encontradas no repositório do projeto. 68 pacote, siga as instruções de instalação encontradas no repositório do projeto.
155 69
156 - [Módulo de Relatórios](https://github.com/portabilis/i-educar-reports-package/) 70 - [Módulo de Relatórios](https://github.com/portabilis/i-educar-reports-package/)
157 - [Módulo de Biblioteca](https://github.com/portabilis/i-educar-library-package/) 71 - [Módulo de Biblioteca](https://github.com/portabilis/i-educar-library-package/)
158 - [Módulo de Transporte](https://github.com/portabilis/i-educar-transport-package/) 72 - [Módulo de Transporte](https://github.com/portabilis/i-educar-transport-package/)
159 73
160 -### Upgrade 74 +## Upgrade
161 75
162 -Para realizar o _upgrade_ da versão do i-Educar, considere seguir os passos do [guia de atualização](UPGRADE.md). 76 +Para realizar o _upgrade_ da versão do i-Educar, considere seguir os passos no [guia de atualização](UPGRADE.md).
163 77
164 ## Perguntas frequentes (FAQ) 78 ## Perguntas frequentes (FAQ)
165 79