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ó.
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.
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.
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"; ?>
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.
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.
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>
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; }
Salve as mudanças.
3. Reinicie seu servidor Apache para aplicar a nova política de senhas.
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.
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.
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/.
Powered by WPeMatico