Instalowanie PHP Composer

Na początek, należy przesłać Composer do katalogu roboczego projektu i stworzyć kilka istotnych plików:

  1. Zaloguj się do panelu UniCloud i przejdź do Apache PHP lub Nginx PHP klikając przycisk Konfiguruj znajdujący się obok węzła:UC-phpcompui-01
  2. W otwartym menedżerze plików przejdź do katalogu var > www > webroot > ROOT i wybierz opcję Prześlij UC-phpcompui-02
  3. W oknie dialogowym wpisz poniższy adres URL i kliknij Prześlij aby archiwum Composera dodać do katalogu:
https://getcomposer.org/composer.phar

UC-phpcompui-03

Po zakończeniu przesyłania, twój Composer jest gotowy do pracy!


Konfiguracja Composera, nazywanego również Kompozytorem

1. Utwórz plik composer.php w katalogu var> www> webroot> ROOT i wklej do niego poniższe linie:

<?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";
?>

UC-phpcompui-04Zapisz plik.

2. Następnie w tym samym katalogu utwórz plik .htaccess aby zapewnić prawidłowy przepływ prac

UC-phpcompui-05Aby zapisać plik, po wpisaniu nazwy naciśnij przycisk Enter.


Dodaj uwierzytelnienie użytkowników

W celu zwiększenia bezpieczeństwa Kompozytora, można go uzupełnić o funkcjonalność uwierzytelniania użytkowników. Pozwoli to na ograniczenie dostępu do konfiguracji manadżera, aby inne osoby nie mogły kontrolować zależności w projektach.

Uwaga: ta sekcja jest opcjonalna, nie wpływa na pracę Kompozytora i można ją pominąć, jednakże ze względu na na zagrożenia czychające na aplikacje zalecamy zwrócenie uwagi na zagadnienia związanie z bezpieczeństwem.

1. Utwórz plik .htpasswd w var> www> webroot> ROOT serwera. Można tutaj podać login i hasło dostępu do Kompozytora.
Jako przykład ustawimy admin/admin wpisując do pliku admin: YjeJLJ0SYlBHU

Uwaga: Ze względów bezpieczeństwa hasło powinno być wstępnie zaszyfrowane, np. generatorem htpasswd

UC-phpcompui-06Nie zapomnij zapisać zmian.

2. Przejdź do pliku konfiguracji Apache, httpd.conf  (znajdziesz go w katalogu Ulubione> conf ) i wprowadź treść:

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

UC-phpcompui-07
Uwaga: w przypadku korzystania z serwera NGINX PHP, powinieneś dodać do sekcji server w pliku nginx.conf następujący kod:

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;
}

Zapisz zmiany

3. Wykonaj restart serwera Apache aby zastosować zmiany dotyczące haseł

UC-phpcompui-08Od tej chwili strona composer.php jest chroniona przed nieautoryzowanym dostępem.


Uruchom narzędzie zarządzania zależnościami

Po wykonaniu koniecznych konfiguracji możesz uruchomić Kompozytora poprzez przeglądarkę za pomocą utworzonej strony composer.php.

Podaj wymaganą komendę, dodając na końcu łącza ?arg={command}

gdzie

  • {env_name}  nazwa domeny twojego środowiska
  • {command} – parametry polecenia zaznaczono za pomocą kodowania URL aby uniknąć spacji i znaków specjalnych

Przykład:

  1. Dodajmy zależności monolog/monolog:1.0.* do naszego projektu używając polecenia require:
http://composer.unicloud.pl/composer.php?arg=require%20monolog%2Fmonolog%3A1.0.*

2. Jeśli używasz uwierzytelniania, zostaniesz poproszony o zalogowanie się aby potwierdzić swoją tożsamość, w tym przypadku wprowadź wcześniej skonfigurowane dane logowania, w naszym przypadku admin/admin

3. Po zalogowaniu, Composer utworzy odpowiedni plik .json i rozpocznie ładoanie zadeklarowanych pakietów z odpowiednich repozytoriów z zachowaniem odpowiednich zależności.

UC-phpcompui-09

To wszystko. Teraz, z pomocą Composera możesz zarządzać zależnościami podczas komponowania swoich projektów PHP na serwerach Apache lub NGINX, bezpośrednio w panelu UniCloud.