sistemas:suap:ambientedev2:wsl

Instalação do WSL2 (Windows Subsystem for Linux 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).

Observe também que em caso de um ambiente pré-existente alguns passos não serão necessários, como instalação do git, pip, postgresql, etc.

Opção 1:

1. No menu iniciar localizar a opção “Ativar ou desativar recursos do Windows”

2. Marcar a opção Subsistema do Windows para Linux e Plataforma de Máquina Virtual

Opção 2:

1. Abrir o Powershell como Administrador e executar o comando abaixo:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

- Abrir a Microsoft Store e Instalar o Ubuntu 20.04 LTS

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)

O WSL2 trouxe um ganho significativo de desempenho, portanto, recomenda-se a atualização. É necessário que o Windows 10 esteja pelo menos na versão 1903, com build 18362 ou superior.

1. Habilitar o recurso de Virtual Machine do Windows

Abra o PowerShell como Administrador e execute o comando abaixo:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

2. Reinicie o computador e prossiga para o download da atualizão do Kernel do Linux (WSL2 Linux kernel update package for x64 machines) através do link: https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

3. Tornar o WSL2 a versão padrão

Abra o PowerShell e execute o comando abaixo:

wsl --set-default-version 2

4. Converter o Ubuntu já instalado para rodar usando o WSL2

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

Comando para converter a imagem em WSL2

# wsl --set-version <distribution name> <versionNumber>
# exemplo: 
wsl --set-version Ubuntu-20.04 2

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.

Instalação do SUAP no Linux (ambiente de desenvolvimento)

Instalar alguns pacotes necessários para a aplicação SUAP

sudo apt-get install -y --fix-missing python3 python3-pip wget unzip curl libsasl2-dev libldap2-dev libssl-dev procps libcairo2 libpango1.0 wkhtmltopdf ghostscript
# 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

2.1) Instalar o Postgres

Instalar

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
 
echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" |sudo tee  /etc/apt/sources.list.d/pgdg.list
 
sudo apt update
 
sudo apt install postgresql-13 postgresql-client-13

Alterar permissões de acesso

sudo nano /etc/postgresql/13/main/pg_hba.conf
# modificar a linha
host    all             all             127.0.0.1/32            md5
# para 
host    all             all             127.0.0.1/32            trust

Iniciar

sudo service postgresql start

4) Criar a pasta /opt/suap

sudo mkdir /opt/suap
sudo chown -R seu_usuario:seu_usuario /opt

5) Fazer o clone do SUAP

Via HTTPS (não recomendado pois ficará sempre pedindo usuário/senha ao fazer push/pull)

# no diretório /opt
git clone https://gitlab.ifce.edu.br/SUAP/suap.git suap

Via SSH (configuração recomendada)

Para fazer o clone via SSH é necessário ter a chave SSH configurada no gitlab, clique aqui para ver o procedimento de configuração.

# no diretório /opt
git clone git@gitlab.ifce.edu.br:SUAP/suap.git suap

6) Permissões gerais das pastas

# carece de testes. acredito que essa pasta não é mais necessária
# sudo mkdir /opt/suap/upload
# sudo chmod o+rw /opt/suap/upload
# sudo chmod g+rw /opt/suap/upload
sudo chmod go+rw /opt/suap/deploy/sessions
sudo chmod

7) Crie o arquivo settings.py

sudo cp /opt/suap/suap/settings_sample.py /opt/suap/suap/settings.py

8) Instalar e ativar o virtualenv

É obrigatório que a versão do Python utilizada seja a 3.8. Não há garantia de funcionamento em versões abaixo ou acima desta.

# Verificar a versão do Python 3 instalada na máquina
python3 --version
 
# caso a versão encontrada seja inferior a 3.8.x
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.8
 
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 2
 
# Obter o caminho da instalação do Python 3
which python3
# ex.: /usr/bin/python3
sudo apt install virtualenv
cd ~
# criar o ambiente virtual usando o executável do Python 3 identificado no comando which python3
virtualenv -p /usr/bin/python3 suap
source ~/suap/bin/activate
# para desativar o virtualenv:
deactivate

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.

nano ~/.bashrc
# acrescentar ao final o conteúdo abaixo:
source /home/suap/suap/bin/activate

10) Instalar as bibliotecas do Python/Django com pip install

cd /var/opt/suap
# source ~/suap/bin/activate - caso o virtualenv não esteja ativo
# atualizar a versão do pip antes de tentar instalar os requirements
pip3 install --upgrade pip
pip install -U -r /opt/suap/requirements/development.txt 

Caso seja exibido o erro “fatal: unable to connect to github.com” ao tentar instalar os requirements, execute o comando abaixo:

git config --global url."https://".insteadOf git://

11) Dar um chmod em /opt/suap/deploy/logs/audit.log

sudo touch /opt/suap/deploy/logs/audit.log
sudo chmod 777 /opt/suap/deploy/logs/audit.log

13) Após restaurar a base de dados, usar o comando sync

O comando sync roda os comandos collectstatic, sync_permissions, loaddata e migrate

# /opt/suap
python manage.py sync

Voltar à página Principal do SUAP

  • sistemas/suap/ambientedev2/wsl.txt
  • Última modificação: 2022/07/24 21:37
  • por Francisco Eudes Gomes Filho