Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Próxima revisão | Revisão anterior | ||
sistemas:suap:ambientedev2:wsl [2021/01/19 14:04] Edwilson de Sousa Carvalho Criação deste novo documento. |
sistemas:suap:ambientedev2:wsl [2022/07/24 21:37] (atual) Francisco Eudes Gomes Filho |
||
---|---|---|---|
Linha 2: | Linha 2: | ||
Adapte as etapas abaixo ao seu ambiente de desenvolvimento e às suas preferências. Caso não use o WSL, ou queira pular direto para a instalação do SUAP em si veja o item **Instalação do SUAP no Linux (ambiente de desenvolvimento)**. | Adapte as etapas abaixo ao seu ambiente de desenvolvimento e às suas preferências. Caso não use o WSL, ou queira pular direto para a instalação do SUAP em si veja o item **Instalação do SUAP no Linux (ambiente de desenvolvimento)**. | ||
+ | |||
+ | Observe também que em caso de um ambiente pré-existente alguns passos não serão necessários, | ||
Opção 1: | Opção 1: | ||
Linha 7: | Linha 9: | ||
1. No menu iniciar localizar a opção " | 1. No menu iniciar localizar a opção " | ||
- | 2. Marcar a opção Subsistema do Windows para Linux | + | 2. Marcar a opção Subsistema do Windows para Linux e Plataforma de Máquina Virtual |
{{ : | {{ : | ||
Linha 15: | Linha 17: | ||
1. Abrir o Powershell como Administrador e executar o comando abaixo: | 1. Abrir o Powershell como Administrador e executar o comando abaixo: | ||
- | < | + | < |
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux | Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux | ||
</ | </ | ||
- | - Abrir a Microsoft Store e Instalar o Ubuntu | + | - Abrir a Microsoft Store e Instalar o Ubuntu |
Após a instalação do Ubuntu via WSL executar todos os comandos abrindo o terminal do Ubuntu localizando-o no menu iniciar ou digitando ubuntu1804 no prompt de comando (cmd). | Após a instalação do Ubuntu via WSL executar todos os comandos abrindo o terminal do Ubuntu localizando-o no menu iniciar ou digitando ubuntu1804 no prompt de comando (cmd). | ||
- | {{ : | + | **Conversão para WSL2 (caso já possua o WSL 1 instalado)** |
- | Sugestão: utilizar o Windows Terminal disponível na Microsoft Store | + | O WSL2 trouxe |
- | Sugestão: no VS Code para abrir um projeto | + | |
- | {{ : | + | 1. Habilitar o recurso de Virtual Machine do Windows |
- | ====== Instalação do SUAP no Linux (ambiente de desenvolvimento) ====== | + | Abra o PowerShell como Administrador e execute o comando abaixo: |
- | + | ||
- | 1) Instalar | + | |
- | < | + | < |
- | sudo apt install git | + | dism.exe |
- | </code> | + | |
- | Configuração para evitar erro " | + | |
- | < | + | |
- | git config | + | |
</ | </ | ||
- | 2) Instalar alguns pacotes necessários | + | 2. Reinicie o computador e prossiga |
- | <WRAP prewrap> | + | 3. Tornar o WSL2 a versão padrão |
- | < | + | |
- | sudo apt install build-essential python3-dev python3-setuptools libldap2-dev libsasl2-dev libpq-dev libjpeg-dev libfreetype6-dev zlib1g-dev freetds-dev libxmlsec1-dev libblas-dev liblapack-dev libatlas-base-dev gfortran redis-server libssl-dev libffi-dev wkhtmltopdf poppler-utils | + | Abra o PowerShell e execute o comando abaixo: |
+ | |||
+ | < | ||
+ | wsl --set-default-version 2 | ||
</ | </ | ||
- | </ | ||
- | 2.1) Instalar | + | 4. Converter |
- | Instalar | + | Abra o PowerShell e execute o comando abaixo para visualizar as distribuições e respectiva versão do WSL |
- | < | + | < |
+ | wsl --list --verbose | ||
+ | # exemplo: Ubuntu-18.04 Running 1 | ||
+ | </ | ||
- | Alterar permissões de acesso | + | Comando para converter a imagem em WSL2 |
- | < | + | < |
- | sudo nano / | + | # wsl --set-version < |
- | # modificar a linha | + | # exemplo: |
- | host all | + | wsl --set-version Ubuntu-20.04 2 |
- | # para | + | |
- | host all | + | |
</ | </ | ||
- | Iniciar | + | {{ : |
- | < | + | Sugestão: utilizar o Windows Terminal disponível na Microsoft Store |
+ | Sugestão: no VS Code para abrir um projeto de dentro do WSL instalar a extensão Remote - WSL (será sugerida a instalação automaticamente após a instalação do WSL) e abrir o ambiente remoto na seção correspondente do VS Code. | ||
+ | {{ : | ||
- | 3) Instalar | + | ====== Instalação do SUAP no Linux (ambiente de desenvolvimento) ====== |
+ | |||
+ | **Instalar | ||
- | < | + | < |
- | sudo apt install | + | sudo apt-get install |
+ | # pacotes extras ifce | ||
+ | sudo apt-get install -y python3.8-dev python3.8-distutils build-essential python3-setuptools libatlas-base-dev liblapack-dev libpq-dev libjpeg-dev | ||
+ | sudo apt-get install -y libfreetype6-dev zlib1g-dev freetds-dev libxmlsec1-dev libblas-dev | ||
+ | sudo apt-get install -y gfortran libffi-dev wkhtmltopdf poppler-utils libxml2-dev libxslt1-dev | ||
+ | # pacotes abaixo em revisão | ||
+ | sudo apt-get install -y libglu1-mesa libcups2 libdbus-glib-1-2 libxinerama1 libsm6 tmpreaper libgdk-pixbuf2.0-0 | ||
+ | sudo apt-get install -y shared-mime-info python3-wheel python3-cffi libpango-1.0-0 libpangocairo-1.0-0 | ||
</ | </ | ||
- | Se houver problemas ao instalar | + | 2.1) Instalar |
- | < | + | Instalar |
- | sudo nano /etc/resolvconf/resolv.conf.d/head | + | |
- | </ | + | < |
+ | wget --quiet -O - https:// | ||
+ | |||
+ | echo "deb http:// | ||
- | Inserir o conteúdo: | + | sudo apt update |
- | < | + | sudo apt install postgresql-13 postgresql-client-13 |
- | nameserver 8.8.8.8 | + | |
</ | </ | ||
- | Salvar e, no terminal: | + | Alterar permissões de acesso |
- | < | + | < |
- | sudo resolvconf -u | + | sudo nano / |
+ | # modificar a linha | ||
+ | host all | ||
+ | # para | ||
+ | host all | ||
</ | </ | ||
+ | |||
+ | Iniciar | ||
+ | |||
+ | <code bash> | ||
-------------------- | -------------------- | ||
Linha 100: | Linha 119: | ||
4) Criar a pasta /opt/suap | 4) Criar a pasta /opt/suap | ||
- | <WRAP prewrap> | + | < |
- | < | + | sudo mkdir /opt/suap |
- | sudo mkdir /opt/suap20 | + | |
sudo chown -R seu_usuario: | sudo chown -R seu_usuario: | ||
</ | </ | ||
- | </ | ||
5) Fazer o clone do SUAP | 5) Fazer o clone do SUAP | ||
- | **Via HTTPS** | + | **Via HTTPS (não recomendado pois ficará sempre pedindo usuário/ |
- | < | + | < |
# no diretório /opt | # no diretório /opt | ||
- | git clone https:// | + | git clone https:// |
</ | </ | ||
- | **Via SSH** | + | **Via SSH (configuração recomendada)** |
- | < | + | Para fazer o clone via SSH é necessário ter a [[sistemas: |
+ | |||
+ | < | ||
# no diretório /opt | # no diretório /opt | ||
- | git clone git@gitlab.ifce.edu.br: | + | git clone git@gitlab.ifce.edu.br: |
- | </ | + | |
- | + | ||
- | 6) Mudar o dono da pasta | + | |
- | + | ||
- | <WRAP prewrap> | + | |
- | < | + | |
- | sudo chown -R seu_usuario: | + | |
</ | </ | ||
- | </ | ||
- | 7) criar a pasta suap20/ | + | 6) Permissões gerais das pastas |
- | <WRAP prewrap> | + | < |
- | < | + | # carece de testes. acredito que essa pasta não é mais necessária |
- | # sudo mkdir /opt/suap20/upload | + | # sudo mkdir /opt/suap/upload |
- | # sudo chmod o+rw /opt/suap20/upload | + | # sudo chmod o+rw /opt/suap/upload |
- | # sudo chmod g+rw /opt/suap20/upload | + | # sudo chmod g+rw /opt/suap/upload |
- | sudo chmod go+rw /opt/suap20/ | + | sudo chmod go+rw /opt/suap/ |
+ | sudo chmod | ||
</ | </ | ||
- | </ | ||
- | 8) Crie o arquivo settings.py | + | 7) Crie o arquivo settings.py |
- | <WRAP prewrap> | + | < |
- | < | + | |
sudo cp / | sudo cp / | ||
</ | </ | ||
- | </ | ||
- | 9) Instalar e ativar o virtualenv | + | 8) Instalar e ativar o virtualenv |
- | É importante | + | É obrigatório |
- | < | + | < |
- | # Verificar a versão do Python 3 instalada na máquina | + | # Verificar a versão do Python 3 instalada na máquina |
python3 --version | python3 --version | ||
+ | |||
+ | # caso a versão encontrada seja inferior a 3.8.x | ||
+ | sudo add-apt-repository ppa: | ||
+ | sudo apt update | ||
+ | sudo apt install python3.8 | ||
+ | |||
+ | sudo update-alternatives --install / | ||
+ | sudo update-alternatives --install / | ||
# Obter o caminho da instalação do Python 3 | # Obter o caminho da instalação do Python 3 | ||
Linha 163: | Linha 180: | ||
</ | </ | ||
- | < | + | < |
sudo apt install virtualenv | sudo apt install virtualenv | ||
cd ~ | cd ~ | ||
# criar o ambiente virtual usando o executável do Python 3 identificado no comando which python3 | # criar o ambiente virtual usando o executável do Python 3 identificado no comando which python3 | ||
- | virtualenv -p / | + | virtualenv -p / |
- | source ~/suap20/ | + | source ~/suap/ |
# para desativar o virtualenv: | # para desativar o virtualenv: | ||
deactivate | deactivate | ||
</ | </ | ||
- | 10) Instalar as bibliotecas do Python/Django com sudo pip install | + | **Em produção/homologação: |
- | < | + | Recomenda-se adicionar ao .bashrc o comando para inicializar o virtualenv assim que o usuário iniciar uma sessão do shell. |
- | # source ~/suap20/ | + | |
- | pip install -U -r /opt/suap20/ | + | < |
+ | nano ~/.bashrc | ||
+ | # acrescentar ao final o conteúdo abaixo: | ||
+ | source / | ||
+ | </ | ||
+ | |||
+ | 10) Instalar as bibliotecas do Python/ | ||
+ | |||
+ | <code bash> | ||
+ | cd / | ||
+ | # source ~/suap/ | ||
+ | # atualizar a versão do pip antes de tentar instalar os requirements | ||
+ | pip3 install --upgrade pip | ||
+ | pip install -U -r /opt/suap/ | ||
+ | </ | ||
+ | |||
+ | Caso seja exibido o erro " | ||
+ | |||
+ | <code bash> | ||
+ | git config --global url." | ||
</ | </ | ||
11) Dar um chmod em / | 11) Dar um chmod em / | ||
- | < | + | < |
sudo touch / | sudo touch / | ||
sudo chmod 777 / | sudo chmod 777 / | ||
Linha 191: | Linha 227: | ||
13) Após restaurar a base de dados, usar o comando sync | 13) Após restaurar a base de dados, usar o comando sync | ||
- | < | + | O comando sync roda os comandos collectstatic, |
- | # /opt/suap20 | + | |
+ | < | ||
+ | # /opt/suap | ||
python manage.py sync | python manage.py sync | ||
</ | </ |