|
| 1 | +# crphp/ssh |
| 2 | +Está é uma biblioteca que faz uso do protocolo **SSH (Secure Shell)** para gerenciamento de máquinas remotas. |
| 3 | + |
| 4 | +Está biblioteca segue os padrões descritos na [PSR-2](http://www.php-fig.org/psr/psr-2/), logo, |
| 5 | +isso implica que a mesma está em conformidade com a [PSR-1](http://www.php-fig.org/psr/psr-1/). |
| 6 | + |
| 7 | +As palavras-chave "DEVE", "NÃO DEVE", "REQUER", "DEVERIA", "NÃO DEVERIA", "PODERIA", "NÃO PODERIA", |
| 8 | +"RECOMENDÁVEL", "PODE", e "OPCIONAL" neste documento devem ser interpretadas como descritas no |
| 9 | +[RFC 2119](http://tools.ietf.org/html/rfc2119). Tradução livre [RFC 2119 pt-br](http://rfc.pt.webiwg.org/rfc2119). |
| 10 | + |
| 11 | +1. [Referências](#referencia) |
| 12 | +1. [Funcionalidades](#funcionalidades) |
| 13 | +1. [Requisitos (recomendados)](#requisitos) |
| 14 | +1. [Baixando o pacote crphp/ssh para o servidor](#ssh) |
| 15 | +1. [Exemplos de uso](#exemplos) |
| 16 | +1. [Licença (MIT)](#licenca) |
| 17 | + |
| 18 | +## 1 - <a id="referencias"></a>Referências |
| 19 | + - [PSR-1](http://www.php-fig.org/psr/psr-1/) |
| 20 | + - [PSR-2](http://www.php-fig.org/psr/psr-2/) |
| 21 | + - [RFC 2119](http://tools.ietf.org/html/rfc2119). Tradução livre [RFC 2119 pt-br](http://rfc.pt.webiwg.org/rfc2119) |
| 22 | + |
| 23 | +## 2 - <a id="funcionalidades"></a>Funcionalidades |
| 24 | +- [x] Consultar RAM |
| 25 | +- [ ] Consultar CPU (em análise) |
| 26 | +- [ ] Consultar Disco Rígido (em análise) |
| 27 | +- [ ] Listar Serviços (em análise) |
| 28 | +- [ ] Stop / Start de serviço (em análise) |
| 29 | +- [ ] Listar processos (em análise) |
| 30 | +- [ ] Matar / Finalizar processos (em análise) |
| 31 | +- [ ] Lançar processos (em análise) |
| 32 | +- [ ] Listar e matar sessões (em análise) |
| 33 | + |
| 34 | +## 3 - <a id="preparando-o-servidor"></a>Requisitos |
| 35 | +> :exclamation: Os requisitos sugeridos logo abaixo representam as versões utilizadas em nosso ambiente |
| 36 | +de desenvolvimento e produção, logo não garantimos que a solução aqui apresentada irá rodar integralmente |
| 37 | +caso as versões dos elementos abaixo sejam outras. |
| 38 | + |
| 39 | +### 3.1 - <a id="requisitos"></a>Requisitos (recomendados) |
| 40 | +Servidor |
| 41 | +- REQUER Apache >= 2.4.10 |
| 42 | +- REQUER PHP >= 5.5.12 |
| 43 | + |
| 44 | +Cliente |
| 45 | +- REQUER servidor SSH |
| 46 | +- É RECOMENDÁVEL ativar as bibliotecas **mcrypt**, **gmp** ou **bcmath** |
| 47 | + |
| 48 | +## 4 - <a id="ssh"></a>Baixando o pacote crphp/wmi para o servidor |
| 49 | + |
| 50 | +Para a etapa abaixo estou pressupondo que você tenha o composer instalado e saiba utilizá-lo: |
| 51 | +``` |
| 52 | +composer require crphp/wmi |
| 53 | +``` |
| 54 | + |
| 55 | +Ou se preferir criar um projeto: |
| 56 | +``` |
| 57 | +composer create-project --prefer-dist crphp/wmi nome_projeto |
| 58 | +``` |
| 59 | + |
| 60 | +Caso ainda não tenha o composer instalado, obtenha este em: https://getcomposer.org/download/ |
| 61 | + |
| 62 | +## 5 - <a id="exemplos"></a>Exemplos de uso |
| 63 | + |
| 64 | +**Consultar Memória Ram**: |
| 65 | +```php |
| 66 | +use Crphp\Ssh\Conector\Ssh; |
| 67 | +use Crphp\Ssh\Sistema\MemoriaRam; |
| 68 | + |
| 69 | +$ssh = new Ssh; |
| 70 | +$ssh->conectar('endereco_do_servidor', 'usuario', 'senha'); |
| 71 | + |
| 72 | +if($ssh->status()) { |
| 73 | + $ram = new MemoriaRam($ssh); |
| 74 | + echo "<pre>"; |
| 75 | + print_r($ram->detalhes()); |
| 76 | + echo "</pre>"; |
| 77 | + |
| 78 | +} else { |
| 79 | + echo $ssh->mensagemErro(); |
| 80 | +} |
| 81 | +``` |
| 82 | + |
| 83 | +> Você DEVE sempre instânciar o conector Ssh e a classe referente ao elemento que deseja manipular. |
| 84 | +
|
| 85 | +**Também é possível executar suas próprias consultas customizadas** |
| 86 | +```php |
| 87 | +use Crphp\Ssh\Conector\Ssh; |
| 88 | + |
| 89 | +$ssh = new Ssh; |
| 90 | +$ssh->conectar('endereco_do_servidor', 'usuario', 'senha'); |
| 91 | +echo $ssh->executar('pwd'); |
| 92 | +``` |
| 93 | + |
| 94 | +## 6 - <a id="licenca">Licença (MIT) |
| 95 | +Para maiores informações, leia o arquivo de licença disponibilizado junto desta biblioteca. |
0 commit comments