> For the complete documentation index, see [llms.txt](https://ajuda.rnp.br/cafe/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ajuda.rnp.br/cafe/sheerid/procedimentos-complementares/instalacao-manual-idp-v4.2.1.md).

# Instalação Manual IDP v4.2.1

Essa página tem por objetivo auxliar nossos clientes com a instalação manual da instância para o seu IDP v4.2.1

{% hint style="info" %}
A proposta desse roteiro e mostrar como deve ser preparado o ambiente inicial do seu servidor IDP de forma manual, sem template. Esse roteiro não irá excluir o uso dos nossos scripts de inicialização. Fique atento aos pré requisitos !
{% endhint %}

{% hint style="warning" %}
Para iniciar esse processo você ira precisar:

* Ubuntu 20.04.3 LTS server ou posterior
* Garantir que sua instância tenha conexão com a internet
* Garantir as recomendações de hardware da sua instância, conforme a página anterior.
  {% endhint %}

### Introdução

Esse documento apresenta o passo-a-passo para a instalação de um Provedor de Identidades Shibboleth.

{% hint style="danger" %}
Para aqueles clientes que desejam reailzar a instalação do seu IDP CAFe de forma manual, construindo a sua instância desde o início, nos temos um roteiro disponível para isso. Lembrando que a nossa recomendação é que sempre de preferência para o nosso processo automatizado.
{% endhint %}

### Roteiro de Instalação&#x20;

Primeiro iremos acertar o hostname do seu IDP, lembre-se esse hostname será o seu DNS que ficará visível na URL do seu IDP na federação CAFe, escolha de forma definitiva pois a sua alteração e trabalhosa após a configuração do Shibboleth.

Usar o seguinte comando:

```
hostnamectl set-hostname "idp.instituicao.edu.br"
```

Agora vamos aplicar um update na base de repositório do ubuntu e instalar os novos pacotes, para isso faça o seguinte:

```
sudo apt update
sudo apt upgrade
sudo apt dist-upgrade -y
```

Próximo passo e removar os pacotes que não são necessários:

```
sudo apt remove --purge -y vim-tiny
```

Agora vamos instalar os pacotes necessários:

```
sudo apt install -y less vim bzip2 zip unzip ssh curl dialog ldap-utils build-essential net-tools libxml2-utils
```

### Configuração de logs, firewall, ntp, java e jetty

Configurar logrotate /etc/logrotate.conf

```
sudo vim /etc/logrotate.conf
```

&#x20; Incluir no final do arquivo as seguintes entradas:

```
compress
nodelaycompress
dateext
```

### Configurando o Firewall

● /etc/default/firewall - arquivo com as regras de firewall&#x20;

● /etc/systemd/system/firewall.service - arquivo de configuração para o systemd

● /opt/rnp/firewall/firewall.sh - script de manipulação do firewall

```
wget https://svn.cafe.rnp.br/repos/CAFe/idp-files-v421/firewall/firewall.rules -O /etc/default/firewall
wget https://svn.cafe.rnp.br/repos/CAFe/idp-files-v421/firewall/firewall.service -O /etc/systemd/system/firewall.service
mkdir -p /opt/rnp/firewall/
wget https://svn.cafe.rnp.br/repos/CAFe/idp-files-v421/firewall/firewall.sh -O /opt/rnp/firewall/firewall.sh
```

Ajustar permissões no firewall e habilitar serviço:

```
sudo chmod 755 /opt/rnp/firewall/firewall.sh
sudo chmod 664 /etc/systemd/system/firewall.service
sudo systemctl daemon-reload
sudo systemctl enable firewall.service
```

### Ajustar NTP. Desabilitar o timedatectl e usar o ntp.

```
sudo timedatectl set-ntp no
sudo apt install -y ntp
wget https://svn.cafe.rnp.br/repos/CAFe/idp-files-v421/ntp/ntp.conf -O /etc/ntp.conf
```

### Adicionar repositório Amazon Corretto 11.

```
wget -O- https://apt.corretto.aws/corretto.key | sudo apt-key add -
add-apt-repository 'deb https://apt.corretto.aws stable main'
```

### Configurar variável JAVA\_HOME ao arquivo /etc/environment.

```
echo "JAVA_HOME=\"/usr/lib/jvm/java-11-amazon-corretto\"" >> /etc/environment
source /etc/environment
```

### Instalar Java Amazon Corretto 11.

```
sudo apt update 
sudo apt install -y java-11-amazon-corretto-jdk
```

### Instalar Jetty.

```
sudo apt install -y jetty9  
sudo systemctl enable jetty9
```

### Baixar pacote Shib IDP e descompactar.

```
cd /root/
wget https://shibboleth.net/downloads/identity-provider/archive/4.2.1/shibboleth-identity-provider-4.2.1.zip
unzip shibboleth-identity-provider-4.2.1.zip
```

### Baixar o firstboot.sh e ajustar permissões.

```
wget https://svn.cafe.rnp.br/repos/CAFe/idp-files-v421/firstboot.sh -O /usr/local/sbin/firstboot.sh
wget https://svn.cafe.rnp.br/repos/CAFe/idp-files-v421/firstboot-complement.sh -O /usr/local/sbin/firstboot-complement.sh
wget https://svn.cafe.rnp.br/repos/CAFe/idp-files-v421/firstboot-complement.md5 -O /usr/local/sbin/firstboot-complement.md5
chmod +x /usr/local/sbin/firstboot.sh
chmod +x /usr/local/sbin/firstboot-complement.sh
chmod +x /usr/local/sbin/firstboot-complement.md5
echo "/usr/local/sbin/firstboot.sh" >> /root/.bash_profile
```

Pronto, sua instalação do servidor IDP está pronta para ser iniciada, agora você precisa configurar seu Shibboleth, Jetty e Apache mas não se preocupe porque você pode fazer isso usando o nosso script de inicialização do IDP CAFe. Basta seguir para a próxima página e o nosso roteiro estará disponível.

Em nosso roteiro usamos o usuário "cafe" com nossa senha padrão, porém na sua criação você pode ter usado um usuário e senha de sua preferência, sem problemas, apenas ignore em nosso roteiro essa informações e use as suas credencias para acessar o host via SSH.

Obrigado !


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://ajuda.rnp.br/cafe/sheerid/procedimentos-complementares/instalacao-manual-idp-v4.2.1.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
