Back-End

21 dez, 2016

Instalação do PHP Composer: configurando o gerenciador de dependências através de uma UI intuitiva

Publicidade

Recentemente, nós providenciamos as instruções sobre como instalar o PHP Composer via SSH, e hoje vamos ver como configurar e executar a ferramenta de gerenciamento de dependências utilizando a UI intuitiva Jelastic. Além disso, você vai descobrir como habilitar uma autenticação especial para evitar acessos não autorizados a essa ferramenta.

Instalando o PHP Composer

Para começar, vamos adicionar o Composer ao diretório de trabalho do projeto e criar os arquivos essenciais:

1. Acesse o dashboard do Jelastic com suas credenciais e navegue até o seu servidor de gerenciamento de arquivos Apache PHP ou NGINX PHP (Apache 2.4, em nosso exemplo), clicando no botão “Config” próximo ao nó.

1

2. No gerenciador de arquivos que abriu, vá até o diretório var > www > webroot > ROOT e selecione a opção Upload na lista de ações expandida.

2

3. Na caixa que aparecerá, especifique a seguinte URL e clique em Upload para adicionar o arquivo Composer ao diretório: https://getcomposer.org/composer.phar.

3

Após o fim do Upload, seu Composer está pronto para ser usado.

Configurando o fluxo do Composer

1. Crie o arquivo composer.php no diretório var > www > webroot > ROOT e cole as linhas abaixo:

<?php
$argument = $_GET['arg'];
$command = "php composer.phar";
$pwd = getcwd();
putenv("COMPOSER_HOME=$pwd");
echo '<pre>';
// Outputs all the result of shellcommand "ls", and returns
// the last output line into $last_line. Stores the return value
// of the shell command in $retval.
system("{$command} {$argument} 2>&1", $retval);
// Printing additional info
echo "
</pre>
<hr />Return value from \"$command $argument\": $retval<br>
Working dir: $pwd";
?>

4

Salve o arquivo com o botão “Salvar”.

2. Agora, crie um arquivo .htaccess no mesmo diretório para garantir o fluxo correto da ferramenta Composer.

5

Aperte o “Enter”após digitar o nome do arquivo para salvá-lo.

Adicionando autenticação de usuário

Para melhorar a segurança do Composer, você pode suplementá-lo com autenticação de usuário. Isso irá restringir as configurações do gerenciador de acesso para que ninguém mais possa controlar as dependências dentro dos seus projetos.

Nota: Esta seção é opcional e não afeta o trabalho do Composer em si (então, você pode pulá-la), mas recomendamos que você realize as etapas a seguir para proteger sua aplicação de malfeitores ou de bagunças com suas dependências de projeto.

1. Crie mais um arquivo .htpasswd no diretório var > www > webroot > ROOT . Aqui você pode especificar login e senha para acessar o Composer.

Por exemplo, nós criamos credenciais de administrador adicionando a linha admin:YjeJLJ0SYlBHU ao arquivo.

Nota: A senha requerida deve ser criptografada por razões de segurança.

6

Não se esqueça de Salvar as mudanças.

2. Agora, vá até o arquivo de configuração do Apache httpd.conf (pasta Favorites > conf), desça até o fim e adicione o seguinte conteúdo:

<Location /composer.php>
AuthName "Restricted area"
AuthType Basic
AuthBasicProvider file
AuthUserFile /var/www/webroot/ROOT/.htpasswd
Require valid-user
</Location>

7

Nota: Caso esteja trabalhando com o servidor de aplicação NGINX PHP, você deveria adicionar o seguinte código à seção Server do arquivo nginx.conf:

location = /composer.php {
       root   /var/www/webroot/ROOT;
       auth_basic           "closed site";
       auth_basic_user_file /var/www/webroot/ROOT/.htpasswd;
       include /etc/nginx/fastcgi_params;  
       fastcgi_pass 127.0.0.1:9000;
       fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
       fastcgi_param DOCUMENT_ROOT $realpath_root;
       fastcgi_param PATH_INFO $fastcgi_script_name;
}

8

Salve as mudanças.

3. Reinicie seu servidor Apache para aplicar a nova política de senhas.

9

Agora, a página composer.php está protegida de acessos não autorizados.

Executando a ferramenta de gerenciamento de dependências do Composer

Quando todas as configurações necessárias estiverem feitas, você pode executar o Composer diretamente via navegador, utilizando a página criada composer.php. Para isso, especifique o comando necessário no argumento ?arg={command}, adicionado ao fim do link.

http://{env_name}/composer.php?arg={command}

Onde:

  • {env_name}: nome de domínio do seu ambiente;
  • {command}: parâmetros de comando indicados utilizando a codificação da URL para evitar espaços em branco ou outros caracteres específicos.

Exemplo:

1. Vamos adicionar as dependências monolog/monolog:1.0* ao nosso projeto utilizando o comando Composer require:

http://composer.jelastic.com/composer.php?arg=require%20monolog%2Fmonolog%3A1.0.*

2. Se você estiver utilizando autenticação, será necessário fazer log in para confirmar sua identidade, por exemplo, utilizar os recém-configurados usuário e senha.

10

3. Após o login, o Composer vai criar os arquivos .json necessários para começar a carregar os pacotes declarados dos repositórios apropriados para instalar as dependências.

11

Isso é tudo! Agora, com a ajuda do Composer, você pode gerenciar dependências com menos esforço dentro dos seus projetos PHP em seus servidores Apache ou NGINX utilizando o dashboad Jelastic.

***

Tetiana Markova faz parte do time de colunistas internacionais do iMasters. A tradução do artigo é feita pela redação iMasters, com autorização do autor, e você pode acompanhar o artigo em inglês no link: http://blog.jelastic.com/2016/11/17/install-php-composer-dependencies-management-tool-via-ui-in-cloud-application/.