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
sistemas:suap:ambientedev2:wsl [2021/01/19 14:20]
Edwilson de Sousa Carvalho
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, 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: 
-wsl --set-version Ubuntu-18.04 2+wsl --set-version Ubuntu-20.04 2
 </code> </code>
  
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.1611076819.txt.gz
  • Última modificação: 2021/08/25 10:33
  • (edição externa)