Статьи

Персональный Packagist с прокси Toran

Большинство из вас, читающих это, уже знают Composer . Для тех, кто этого не делает, вы можете прочитать мою предыдущую статью, прежде чем продолжить. Мы все можем согласиться с тем, что Composer принес много хорошего в мир PHP. Однако, если кто-то осмелится искать недостатки или, лучше сказать, не включенные функции, он может заявить, что невозможно работать с частными репозиториями. Этот аргумент больше не будет действовать, так как есть Proran Toran .

Конец эры Сатис

До Торана те, кто действительно хотел использовать частные репозитории, могли использовать Satis . Satis позволяет создавать частный веб-сайт Packagist с зеркальными репозиториями и собственными личными репозиториями. Он был совместим с частными проектами на bitbucket и github и гарантировал безопасность благодаря использованию ключей SSH. Зеркально отражая используемые вами пакеты (размещая их на своем собственном сервере), вы получите более высокую скорость загрузки. Satis был хорошим решением, но около месяца назад Toran был выпущен как лучшая альтернатива.

Торан: тяжелее, лучше, быстрее, сильнее

Торан использует следующее описание на своем сайте:

Торан действует как прокси для Packagist и GitHub. Это должно быть установлено
на вашем собственном сервере или даже внутри вашего офиса.

Это лучший метод, чем тот, который использует Satis: URL-адреса Satis полностью переопределяют исходные пакеты. Это означает, что когда ваш сервер Satis не работает, загрузка всех пакетов будет невозможна. С Toran вы всегда можете вернуться к исходному источнику (Github или BitBucket).

Скорость загрузки также возрастет: если вы не живете рядом с восточным побережьем США (где расположены серверы github), наличие рядом с вами сервера поможет вам быстрее загружать компоненты. Торан зеркал git репозиториев, что было невозможно с Satis. Установка исходного кода также будет выполняться быстрее.

Настройка вещей

Если вы хотите проверить все, что я здесь говорю, вы можете скачать персональное издание с сайта. Инструкции по установке просты (просто скопируйте и вставьте), и половину этого можно сделать с помощью веб-интерфейса. Вам необходимо ввести домен хоста, субдомен и дополнительные местоположения git mirroring. Дальнейшее обновление можно выполнить, выполнив простую команду.

Торан на Усадьбе Улучшено

Я быстро покажу, как настроить свой собственный сайт Торана. Для простоты настройки я буду использовать Homestead Improved, прочитайте это, если хотите узнать, как его настроить.

Настройка сервера

После этой установки откройте файл Homestead.yaml и под sites: добавьте:

 - map: toran.app to: /home/vagrant/Code/Toran/web 

Также добавьте toran.app в ваш файл hosts. Теперь загрузите персональную версию Toran и распакуйте ее в папке Toran внутри папки Homestead (в папке Homestead.yaml находится Homestead.yaml ). Если вы подключаетесь к своему бродячему ящику через SSH, папка /home/vagrant/Code является соответствующей папкой. Это имя хоста указывает на веб-папку в только что извлеченной папке Toran.

Чтобы Toran работал, осталось изменить только один параметр конфигурации сервера. Подключитесь к своей усадьбе через SSH и отредактируйте /etc/nginx/sites-available/toran.app Изменить:

 location / { try_files $uri $uri/ /index.php$query_string; } 

чтобы:

 location / { try_files $uri /app.php$is_args$args; } 

конфигурация

Это была вся необходимая конфигурация сервера. Теперь перейдите в /Toran/app/config/ и переименуйте файл parameters.yml.dist в parameters.yml . Откройте его и измените следующие настройки:

 toran_http_port: 8000 toran_host: toran.app 

Наконец, выйдите из виртуальной машины и перезагрузите ее с помощью vagrant reload .

Мастер

Вы только пару кликов от использования Toran. Перейдите к http://toran.app:8000, и установка начнется. Здесь вы можете ввести свой лицензионный код (см. Следующий параграф), но в нашем случае вы можете установить флажок для его личного использования.

Далее вы определите, что будет делать cronjob: если вы не хотите предварительно выбирать какие-либо пакеты, используйте параметр lazy . Если вы хотите предварительно выбрать все определенные пакеты, выберите все . После этого есть дополнительные настройки для того, где будут храниться git-клоны и какой префикс URL будет использоваться. Это если ваши репозитории недоступны публично.

Если у вас ранее была конфигурация Satis, вы можете ввести ее в последнее текстовое поле. Нажмите кнопку установки, и все готово.

Дальнейшее обслуживание

Теперь вам нужно вручную обновить все, используя команду:

 php app/console toran:update 

После этого вы можете настроить cronjob, чтобы сделать это автоматически. Конкретные инструкции для вашего сервера приведены при переходе по адресу http://toran.app:8000/post-install .

Лицензии

С развитием Toran его главный (и пока единственный разработчик) Джорди Богджано решил не делать его открытым исходным кодом. В то время как Composer и Packagist остаются открытыми, Toran поставляется с лицензиями и платами. Вы можете использовать Toran лично бесплатно, но если вы хотите использовать Toran для своего бизнеса, вам придется платить ежегодную плату. Точную цену можно найти на веб-сайте, и можно запросить индивидуальную цену.

Вывод

Я хочу поблагодарить Джорди Богджано за дополнительные разъяснения по этому проекту. Если у вас есть бизнес и вы хотите упростить управление зависимостями, обязательно проверьте это приложение. Комментарии? Обратная связь? Оставь это ниже!