====== 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 {{ :sistemas:suap:ambientedev:windows_features_wsl.png?nolink |}} 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 # exemplo: wsl --set-version Ubuntu-20.04 2 {{ :sistemas:suap:ambientedev:terminal-wsl.png?nolink |}} 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. {{ :sistemas:suap:ambientedev:remote-wsl.png?nolink |}} ====== 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 [[sistemas:suap:ssh:configurar|chave SSH]] configurada no gitlab, [[sistemas:suap:ssh: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 ----------- [[sistemas:suap|Voltar à página Principal do SUAP]]