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 @@
  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**.
... ...
README.md
... ... @@ -13,6 +13,8 @@ país por meio da educação. Junte-se a nós!**
13 13 - [Como contribuir](#como-contribuir)
14 14 - [Instalação](#instalação)
15 15 - [FAQ](#perguntas-frequentes-faq)
  16 +- [Pacotes (módulos)](#pacotes-módulos)
  17 +- [Upgrade](#upgrade)
16 18  
17 19 ## Sobre o i-Educar
18 20  
... ... @@ -58,108 +60,20 @@ ajudar a alcançar nossos objetivos.
58 60  
59 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 68 pacote, siga as instruções de instalação encontradas no repositório do projeto.
155 69  
156 70 - [Módulo de Relatórios](https://github.com/portabilis/i-educar-reports-package/)
157 71 - [Módulo de Biblioteca](https://github.com/portabilis/i-educar-library-package/)
158 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 78 ## Perguntas frequentes (FAQ)
165 79  
... ...