sistemas:suap:ambientedev2:wsl

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
Próxima revisão
Revisão anterior
Última revisão Ambos lados da revisão seguinte
sistemas:suap:ambientedev2:wsl [2021/01/19 14:20]
Edwilson de Sousa Carvalho
sistemas:suap:ambientedev2:wsl [2022/02/26 12:42]
Edwilson de Sousa Carvalho
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, como instalação do git, pip, postgresql, etc.
  
 Opção 1: Opção 1:
Linha 7: Linha 9:
 1. No menu iniciar localizar a opção "Ativar ou desativar recursos do Windows" 1. No menu iniciar localizar a opção "Ativar ou desativar recursos do Windows"
  
-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
  
 {{ :sistemas:suap:ambientedev:windows_features_wsl.png?nolink |}} {{ :sistemas:suap:ambientedev:windows_features_wsl.png?nolink |}}
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:
  
-<code>+<code powershell>
 Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
 </code> </code>
Linha 23: Linha 25:
 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**+**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. 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.
Linha 31: Linha 33:
 Abra o PowerShell como Administrador e execute o comando abaixo: Abra o PowerShell como Administrador e execute o comando abaixo:
  
-<code>+<code powershell>
 dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
 </code> </code>
Linha 41: Linha 43:
 Abra o PowerShell e execute o comando abaixo: Abra o PowerShell e execute o comando abaixo:
  
-<code>+<code powershell>
 wsl --set-default-version 2 wsl --set-default-version 2
 </code> </code>
Linha 49: Linha 51:
 Abra o PowerShell e execute o comando abaixo para visualizar as distribuições e respectiva versão do WSL Abra o PowerShell e execute o comando abaixo para visualizar as distribuições e respectiva versão do WSL
  
-<code>+<code powershell>
 wsl --list --verbose wsl --list --verbose
 # exemplo: Ubuntu-18.04 Running 1 # exemplo: Ubuntu-18.04 Running 1
Linha 56: Linha 58:
 Comando para converter a imagem em WSL2 Comando para converter a imagem em WSL2
  
-<code>+<code powershell>
 # wsl --set-version <distribution name> <versionNumber> # wsl --set-version <distribution name> <versionNumber>
 # exemplo:  # exemplo: 
Linha 72: Linha 74:
 ====== Instalação do SUAP no Linux (ambiente de desenvolvimento) ====== ====== Instalação do SUAP no Linux (ambiente de desenvolvimento) ======
    
-1) Instalar o GIT+**Instalar alguns pacotes necessários para a aplicação SUAP**
  
-<code> +<code bash
-sudo apt install git +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
 </code> </code>
-Configuração para evitar erro "fatal: unable to connect to github.com" ao tentar instalar os requirements. 
-<code> 
-git config --global url."https://".insteadOf git:// 
-</code> 
- 
-2) Instalar alguns pacotes necessários para a aplicação SUAP 
- 
-<WRAP prewrap> 
-<code> 
-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 
-</code> 
-</WRAP> 
  
 2.1) Instalar o Postgres 2.1) Instalar o Postgres
Linha 94: Linha 91:
 Instalar Instalar
  
-<code>sudo apt install postgresql-13</code>+<code bash> 
 +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 
 +</code>
  
 Alterar permissões de acesso Alterar permissões de acesso
  
-<code> +<code bash
-sudo nano /etc/postgresql/10/main/pg_hba.conf+sudo nano /etc/postgresql/13/main/pg_hba.conf
 # modificar a linha # modificar a linha
 host    all             all             127.0.0.1/32            md5 host    all             all             127.0.0.1/32            md5
Linha 108: Linha 113:
 Iniciar Iniciar
  
-<code>sudo service postgresql start</code> +<code bash>sudo service postgresql start</code>
- +
- +
- +
-3) Instalar o pip.  +
- +
-<code> +
-sudo apt install python-pip +
-</code> +
- +
-Se houver problemas ao instalar o pip, coloque o DNS do Google: +
- +
-<code> +
-sudo nano /etc/resolvconf/resolv.conf.d/head +
-</code> +
- +
-Inserir o conteúdo: +
- +
-<code> +
-nameserver 8.8.8.8 +
-</code> +
- +
-Salvar e, no terminal: +
- +
-<code> +
-sudo resolvconf -u +
-</code>+
  
 -------------------- --------------------
Linha 140: Linha 119:
 4) Criar a pasta /opt/suap 4) Criar a pasta /opt/suap
  
-<WRAP prewrap> +<code bash
-<code> +sudo mkdir /opt/suap
-sudo mkdir /opt/suap20+
 sudo chown -R seu_usuario:seu_usuario /opt sudo chown -R seu_usuario:seu_usuario /opt
 </code> </code>
-</WRAP> 
  
 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/senha ao fazer push/pull)**
  
-<code>+<code bash>
 # no diretório /opt # no diretório /opt
-git clone https://gitlab.ifce.edu.br/SUAP/suap.git suap20+git clone https://gitlab.ifce.edu.br/SUAP/suap.git suap
 </code> </code>
  
-**Via SSH**+**Via SSH (configuração recomendada)**
  
-<code>+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. 
 + 
 +<code bash>
 # no diretório /opt # no diretório /opt
-git clone git@gitlab.ifce.edu.br:SUAP/suap.git suap20 +git clone git@gitlab.ifce.edu.br:SUAP/suap.git suap
-</code> +
- +
-6) Mudar o dono da pasta +
- +
-<WRAP prewrap> +
-<code> +
-sudo chown -R seu_usuario:seu_usuario /opt/suap20+
 </code> </code>
-</WRAP> 
  
-7criar a pasta suap20/upload e dar um chmod a+w nesta pasta.+6Permissões gerais das pastas
  
-<WRAP prewrap> +<code bash> 
-<code> +# 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/deploy/sessions+sudo chmod go+rw /opt/suap/deploy/sessions 
 +sudo chmod
 </code> </code>
-</WRAP> 
  
-8) Crie o arquivo settings.py+7) Crie o arquivo settings.py
  
-<WRAP prewrap> +<code bash>
-<code>+
 sudo cp /opt/suap/suap/settings_sample.py /opt/suap/suap/settings.py sudo cp /opt/suap/suap/settings_sample.py /opt/suap/suap/settings.py
 </code> </code>
-</WRAP> 
  
-9) Instalar e ativar o virtualenv+8) Instalar e ativar o virtualenv
  
-É importante que a versão do Python utilizada seja a partir da 3.5 (atualização testada na versão 3.8).+É obrigatório que a versão do Python utilizada seja a 3.8Não há garantia de funcionamento em versões abaixo ou acima desta.
  
-<code> +<code bash
-# Verificar a versão do Python 3 instalada na máquina (Ubuntu 18.04 em diante já tem o Python 3)+# 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: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 # Obter o caminho da instalação do Python 3
Linha 203: Linha 180:
 </code> </code>
  
-<code>+<code bash>
 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 /usr/bin/python3 suap20 +virtualenv -p /usr/bin/python3 suap 
-source ~/suap20/bin/activate+source ~/suap/bin/activate
 # para desativar o virtualenv: # para desativar o virtualenv:
 deactivate deactivate
 </code> </code>
  
-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.
  
-<code> +<code bash> 
-# source ~/suap20/bin/activate - caso o virtualenv não esteja ativo +nano ~/.bashrc 
-pip install -U -r /opt/suap20/requirements/development.txt +# acrescentar ao final o conteúdo abaixo: 
 +source /home/suap/suap/bin/activate 
 +</code> 
 + 
 +10) Instalar as bibliotecas do Python/Django com pip install 
 + 
 +<code bash> 
 +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  
 +</code> 
 + 
 +Caso seja exibido o erro "fatal: unable to connect to github.com" ao tentar instalar os requirements, execute o comando abaixo: 
 + 
 +<code bash> 
 +git config --global url."https://".insteadOf git://
 </code> </code>
  
 11) Dar um chmod em /opt/suap/deploy/logs/audit.log 11) Dar um chmod em /opt/suap/deploy/logs/audit.log
  
-<code>+<code bash>
 sudo touch /opt/suap/deploy/logs/audit.log sudo touch /opt/suap/deploy/logs/audit.log
 sudo chmod 777 /opt/suap/deploy/logs/audit.log sudo chmod 777 /opt/suap/deploy/logs/audit.log
Linha 231: 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
  
-<code> +O comando sync roda os comandos collectstatic, sync_permissions, loaddata e migrate 
-# /opt/suap20+ 
 +<code bash
 +# /opt/suap
 python manage.py sync python manage.py sync
 </code> </code>
  • sistemas/suap/ambientedev2/wsl.txt
  • Última modificação: 2022/07/24 21:37
  • por Francisco Eudes Gomes Filho