sistemas:suap:ambientedev2:wsl

Essa é uma revisão anterior do documento!


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

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

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-18.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)

1) Instalar o GIT

sudo apt install git 

Configuração para evitar erro “fatal: unable to connect to github.com” ao tentar instalar os requirements.

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

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

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

3) Instalar o pip.

sudo apt install python-pip

Se houver problemas ao instalar o pip, coloque o DNS do Google:

sudo nano /etc/resolvconf/resolv.conf.d/head

Inserir o conteúdo:

nameserver 8.8.8.8

Salvar e, no terminal:

sudo resolvconf -u

4) Criar a pasta /opt/suap

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

5) Fazer o clone do SUAP

Via HTTPS

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

Via SSH

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

6) Mudar o dono da pasta

sudo chown -R seu_usuario:seu_usuario /opt/suap20

7) criar a pasta suap20/upload e dar um chmod a+w nesta pasta.

# sudo mkdir /opt/suap20/upload
# sudo chmod o+rw /opt/suap20/upload
# sudo chmod g+rw /opt/suap20/upload
sudo chmod go+rw /opt/suap20/deploy/sessions

8) Crie o arquivo settings.py

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

9) Instalar e ativar o virtualenv

É importante que a versão do Python utilizada seja a 3.8, visto que erros foram encontrados nas versões 3.5 e 3.6.

# 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

-- após a execução do comando abaixo escolher a versão correspondente ao Python 3.8
sudo update-alternatives --config python3

# 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

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

# source ~/suap/bin/activate - caso o virtualenv não esteja ativo
pip install -U -r /opt/suap/requirements/development.txt 

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

# /opt/suap
python manage.py sync

Voltar à página Principal do SUAP

  • sistemas/suap/ambientedev2/wsl.1611324138.txt.gz
  • Última modificação: 2021/08/25 10:33
  • (edição externa)