Instalowanie PHP Composer
Na początek, należy przesłać Composer do katalogu roboczego projektu i stworzyć kilka istotnych plików:
- Zaloguj się do panelu UniCloud i przejdź do Apache PHP lub Nginx PHP klikając przycisk Konfiguruj znajdujący się obok węzła:
- W otwartym menedżerze plików przejdź do katalogu var > www > webroot > ROOT i wybierz opcję Prześlij
- W oknie dialogowym wpisz poniższy adres URL i kliknij Prześlij aby archiwum Composera dodać do katalogu:
https://getcomposer.org/composer.phar
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"; ?>
2. Następnie w tym samym katalogu utwórz plik .htaccess aby zapewnić prawidłowy przepływ prac
Aby 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
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>
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ł
Od 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:
- 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.
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.