Как установить Composer на хостинг или сервер?

Как установить Composer на хостинг или сервер? Хостинг
Содержание
  1. Что такое php composer
  2. Установка yii advanced
  3. Как установить composer на хостинг или сервер?
  4. Установка yii basic
  5. Установка через composer
  6. Установка с помощью laravel installer
  7. Composer hosting | best composer shared hosting 2022
  8. Установка composer на openserver (в windows)
  9. Установка с помощью symfony installer
  10. Примеры использования composer для установки php фреймворков и cms
  11. Установка с помощью composer
  12. Как удалить composer
  13. Установка пакета
  14. Установка всех пакетов в проект
  15. Обновление зависимостей
  16. Установка composer в ubuntu, выполняющейся в подсистеме windows для linux (wsl)
  17. Создать новый проект
  18. Удаление пакета
  19. Подготовка
  20. Получение подробной справки по команде
  21. Установка yii
  22. Создание базового варианта файла composer.json с помощью мастера
  23. Вывести зависимости для указанного пакета
  24. Очистка внутреннего кэша пакетов composer
  25. Как установить composer
  26. Проверка валидности файла «composer.json»
  27. Обновление lock файла без обновления пакетов
  28. Обновление composer
  29. Вывод списка всех доступных команд
  30. Вывод всех установленных библиотек
  31. Основные команды composer

Что такое php composer

Composer – это пакетный менеджер зависимостей, предназначенный для упрощения загрузки и установки сторонних php библиотек в проект. Например, с помощью него можно очень просто добавить в разрабатываемый проект php пакеты, а также развернуть другие проекты, которые распространяются вместе с файлом «composer.json».

«composer.json» — это текстовый файл, в котором в формате JSON описаны все сторонние пакеты от которых зависит данный проект.

Например, для того чтобы в некоторый разрабатываемый проект добавить сторонние библиотеки, в нём можно просто создать «composer.json» и описать в этом файле все необходимые зависимости. После этого для установки всех требуемых внешних php пакетов в проект достаточно будет ввести в консоли всего одну команду (composer install).

Другой вариант заключается в применении команды require. В этом случае самостоятельно создавать файл «composer.json» не нужно. composer require – это команда для установки php пакетов в проект посредством Composer. Кроме установки данная команда также автоматически его пропишет в файл «composer.json». В дальнейшем для того, чтобы скопировать этот проект, например на другой компьютер, вам не нужно будет переносить туда все внешние пакеты, достаточно будет переместить туда только файл «composer.json». Установка всех зависимостей на этом компьютере будет осуществляться уже посредством ввода всего одной команды (composer install).

При использовании команды require, она ещё выполняет создание файла «composer.json», если его ещё в нет проекте.

Кроме этого, Composer применяется не только для установки php библиотек. С помощью Composer осуществляется также установка различных php фреймворков (Laravel, Yii2, Symfony и др.) и CMS (Drupal, MODX 3 и др.).

Composer представляет собой обычный php скрипт, т.е. программу, написанную на языке php.

Основная цель этой программы заключается в том, чтобы предоставить веб-разработчику удобный инструмент, с помощью которого он сможет очень просто загружать и устанавливать пакеты в проект, их обновлять, а также при необходимости осуществлять их удаление. Все эти действия Composer позволяет выполнить с помощью ввода всего одной или нескольких команд. Удобно, не правда ли?

В качестве репозитория пакетов Composer по умолчанию использует packagist.org.

При установке php пакетов Composer не просто устанавливает их, он также устанавливает все зависимости, от которых эти пакеты зависят. Т.е., например, если загружаемая библиотека будет зависеть от 3 других пакетов, а каждая из них, ещё в свою очередь от нескольких и так далее, то Composer всё это установит автоматически.

Загрузку сторонних библиотек Composer выполняет в папку «vendor», которую данный php скрипт создаёт в корневой директории проекта. Кроме этого, он ещё создаёт специальный файл «autoload.php», включив который в проект вы сразу же подключите к нему все ранее загруженные им библиотеки.

require "path/to/vendor/autoload.php";

Дополнительно при загрузке сторонних библиотек Composer генерирует ещё файл «composer.lock». Если «composer.json» — это главный файл Composer, в котором содержится описание основных пакетов, включая требования к их версиям, то «composer.lock» — это файл, содержащий уже не требования, а реальные версии пакетов, которые им были установлены на компьютер пользователя.

Основное назначение файла «composer.lock» заключается в полном сохранении среды, в которой осуществлялась разработка и тестирование проекта.

Например, если вы захотите скопировать проект в какое-то другое место без переноса файла «composer.lock», то выполнив в нём команду composer install, вы можете получить другие версии пакетов. Эта может случиться из-за выхода новых версий как основных пакетов, описанных в файле «composer.json», так и их зависимостей, зависимостей их зависимостей и т.д.

Например, представим что выход новых версий основных пакетов не произошёл, но обновились версии у пакетов, от которых зависят основные пакеты. В результате установки работающего проекта, можем получить неработоспособный, если в какой-нибудь новой версии одного из этих пакетов была допущена ошибка.

Например, разворачивая проект на production, включающий в себя файл «composer.lock», вы получите те же версии зависимостей, которые у вас были при разработке и тестировании.

Работа с Composer осуществляется в основном в консольном или терминальном режиме, т.е. с помощью ввода команд через командную строку.

Установка yii advanced

Версия Advanced имеет более сложную структуру и собственную админ-панель, которую обычно размещают на отдельном домене. Соответственно, несколько изменяется и порядок установки. Подготовительный этап с установкой Composer (при необходимости) и созданием сайта аналогичен процессу установки Yii Basic.

В панели управления эта структура будет выглядеть так:

Удалим содержимое созданного сайта, загрузим и распакуем архив с приложением, обновим зависимости.

Нам также потребуется создать ссылку с именем public_html, но в этом случае она уже будет указывать на каталог frontend/web.

account@server:~/yii-advanced.account.beget.tech [0] $ ln -s frontend/web public_html
account@server:~/yii-advanced.account.beget.tech [0] $

Выполним инициализацию приложения:

account@server:~/yii-advanced.account.beget.tech [0] $ composer install
The "extra.asset-installer-paths" option is deprecated, use the "config.fxp-asset.installer-paths" option
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Nothing to install or update
Generating autoload files
> php init --env=Development --overwrite=n
Yii Application Initialization Tool v1.0


  Start initialization ...

   generate yii_test
   generate yii_test.bat
   generate backend/web/index.php
   generate backend/web/index-test.php
   generate backend/config/test-local.php
   generate backend/config/main-local.php
   generate backend/config/params-local.php
   generate console/config/main-local.php
   generate console/config/params-local.php
   generate frontend/web/index.php
   generate frontend/web/index-test.php
   generate frontend/config/test-local.php
   generate frontend/config/main-local.php
   generate frontend/config/params-local.php
   generate common/config/test-local.php
   generate common/config/main-local.php
   generate common/config/params-local.php
   generate yii
   generate cookie validation key in backend/config/main-local.php
   generate cookie validation key in frontend/config/main-local.php
      chmod 0777 backend/runtime
      chmod 0777 backend/web/assets
      chmod 0777 frontend/runtime
      chmod 0777 frontend/web/assets
      chmod 0755 yii
      chmod 0755 yii_test

  ... initialization completed.
account@server:~/yii-advanced.account.beget.tech [0] $

Теперь создадим в корневом каталоге публичной части ссылку на каталог административной части сайта:

account@server:~/yii-advanced.account.beget.tech [0] $ cd frontend/web/
account@server:~/yii-advanced.account.beget.tech/frontend/web [0] $ ln -s ../../backend/web backend

После этого необходимо внести правила в файл .htaccess, чтобы при переходе по поддомену backend.yii-advanced срабатывало перенаправление на созданную нами ссылку.

Ключи валидации cookies указываются в следующих файлах (пути от корневого каталога проекта):

  • environments/prod/backend/config/main-local.php
  • environments/prod/frontend/config/main-local.php
  • environments/dev/backend/config/main-local.php
  • environments/dev/frontend/config/main-local.php

Настройка подключения к базе данных производится в нескольких файлах (пути от корневого каталога проекта):

  • environments/dev/common/config/main-local.php
  • environments/prod/common/config/main-local.php
  • environments/dev/common/config/test-local.php

Настройка параметров аналогична basic-версии. На этом настройка завершена, приложение полностью готово к работе.

Как установить composer на хостинг или сервер?

Composer — программа для автоматической установки и доустановки разных пакетов, которая подойдет практически для любого проекта. Пользователь лишь находит в одном из репозиториев желаемый пакет и устанавливает его в привычном режиме, а далее приложение само подберет и загрузит то, что необходимо дополнению — быстро и удобно! В рамках данной статьи мы рассмотрим, как можно установить Композер на хостинг в наиболее легком формате.

Так как нам нужен SSH терминал, то установка программы будет проводиться на примере хостинга Beget, но практически никакой разницы в инсталляции на другие ресурсы нет — главное, чтобы было доступно SSH-соединение.

Устанавливаем SSH соединение или заходим в соответствующий Terminal и вводим команду:

cd ~

После такого нехитрого маневра вы окажетесь в корневой папке вашего аккаунта

Следующей строчкой станет:

mkdir ~/.local/bin -p

Таким образом, будет создана папка с исполняемым файлом программы

Дальше следует загрузить установочный файл Composer, исполнив команду:

wget https://getcomposer.org/installer -O ~/.local/composer-setup.php

Если закачка произошла успешно, устанавливаем само приложение путем строчки:

php ~/.local/composer-setup.php --install-dir=.local/bin --filename=composer

Установка завершилась? Удаляем установочный файл Composer дабы он нам не мешался:

rm ~/.local/composer-setup.php

Перезапускаем SSH Terninal следующей командой:

exit

Чтобы проверить, что Composer инсталлировался удачно, введите:

composer

Появился интерфейс желаемой утилиты? Поздравляем. А теперь рассмотрим принципы работы с пакетным менеджером.
Если вы подключены к хостингу Beget, то нужно открыть доступ к автозагрузчику к корневой папке аккаунта, куда мы заходили ранее — без этого функционирование дополнения невозможно. Итак, продолжаем:

1550140672 News Pandoge Com

Переходим в панель управления и выбираем файловый менеджер, как указано на картинке

1550140834 News

Оказавшись в корневой папке, выберите меню «Инструменты» и пройдитесь до пункта «Настроить общий доступ к текущей директории»

1550141011 News

Тут важно наделить приложение уровнем доступа «Чтение и запись», а выбранные изменение применить ко всем вложенным папкам. Финальный пункт — просто нажать кнопочку «Открыть доступ»

1550142190 News

Composer установлен и готов к полноценной работе из папки вашего сайта!

Установка yii basic

Начнём с наиболее простого варианта веб-приложения — Yii Basic. Сначала создадим сайт, на который будет произведена установка. Для этого откройте раздел Сайты в панели управления и задайте имя каталога, в котором будет размещён сайт.

После этого нажмите напротив сайта кнопку «Прикрепить домен» и выберите домен, по которому сайт должен быть доступен.

Если своего домена у Вас ещё нет — Вы можете зарегистрировать его в разделе Домены и поддомены Панели управления либо воспользоваться предоставляемым нами техническим доменом. Мы воспользуемся техническим доменом и добавим к нему поддомен yii-basic.

После проделанных действий в разделе Сайты Вы должны видеть примерно такую структуру:

Далее подключимся к нашей учётной записи по SSH и произведём установку фреймворка. Мы будем устанавливать его в каталог yii-basic. Для этого нам понадобится удалить всё его содержимое:

account@server:~ [0] $ rm -r yii-basic/public_html/

Перейдём в каталог для установки.

account@server:~ [0] $ cd yii-basic/

Загрузим архив с готовым шаблоном приложения и распакуем его:

Обновим зависимости:

Для корректной работы веб-сервера необходимо создать ссылку c именем public_html, указывающую на каталог web.

account@server:~/yii-basic [0] $ ln -s web public_html

Теперь необходимо дополнить базовую конфигурацию. Сгенерируем ключ, который будет использоваться для валидации cookies. Его необходимо внести в файл конфигурации config/web.php как значение ключа cookieValidationKey.

account@server:~/yii-basic [0] $ openssl rand -base64 12 | md5sum
84f8bcc820c11850a6c34afc2b192e29 -
account@server:~/yii-basic [0] $

Установка через composer

Кроме загрузки архивом имеется также возможность установки через Composer. Сначала установим Composer Asset Plugin.

Теперь установим Yii. Структура команды следующая:

composer create-project yiisoft/yii2-app-вариант_установки каталог_проекта 2.0.11

Начнём с Yii Basic (каталог проекта должен быть пуст!):

Теперь перейдём в каталог с проектом и создадим ссылку public_html, указывающую на каталог public:

account@server:~ [0] $ cd yii-basic
account@server:~/yii-basic [0] $ ln -s web public_html
account@server:~/yii-basic [0] $

Настройка подключения к базе данных описана выше, в разделе Yii Basic.

Установим Yii Advanced:

Нам также потребуется создать ссылку с именем public_html, но в этом случае она уже будет указывать на каталог frontend/web.

account@server:~ [0] $ cd yii-advanced
account@server:~/yii-advanced [0] $ ln -s frontend/web public_html
account@server:~/yii-advanced [0] $

Теперь создадим в корневом каталоге публичной части ссылку на каталог административной части сайта:

account@server:~/yii-advanced [0] $ cd frontend/web/
account@server:~/yii-advanced/frontend/web [0] $ ln -s ../../backend/web backend

После этого необходимо внести правила в файл .htaccess, чтобы при переходе по поддомену backend.yii-advanced срабатывало перенаправление на созданную нами ссылку.

Настройка подключения к базе данных описана выше, в разделе Yii Advanced.

Установка с помощью laravel installer

В порядке установки Laravel есть важное отличие: сначала нам нужно создать проект в корневом каталоге учётной записи и только потом создавать сайт в панели управления. Иначе установщик будет выдавать ошибку «Проект уже существует».

Перед загрузкой установщика Laravel нам нужно добавить каталог с исполняемыми файлами, которые создаёт Composer, в переменную окружения $PATH. Кроме того, для установки последних версий Laravel требуется PHP версии 7.0 и выше. Для этого выполните следующие команды:

Либо, если не хотите использовать для консоли PHP 7 по умолчанию:

Если Вы не добавили путь к PHP 7.1 в переменную $PATH — выполните следующую команду:

account@server:~ [0] $ export PATH=/usr/local/php/cgi/7.1/bin/:$PATH

В этом случае до окончания текущей SSH-сессии по умолчанию будет использоваться PHP 7.1.

account@server:~ [0] $ php -v
PHP 7.1.1 (cli) (built: Jan 20 2022 08:24:41) ( NTS )
Copyright (c) 1997-2022 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2022 Zend Technologies

Теперь загрузим Laravel Installer.

Установим проект в каталог laravel.

Теперь создадим в панели управления сайт с именем созданного проекта (в данном случае laravel) и привяжем к нему домен.

Созданный системой каталог public_html удаляем и создаём символьную ссылку с этим же именем, указывающую на каталог public.

account@server:~ [0] $ cd laravel/
account@server:~/laravel [0] $ rm -r public_html/
account@server:~/laravel [0] $ ln -s public public_html

Composer hosting | best composer shared hosting 2022

Just a few ways we make your life easier…

perpetual securityAn average of 30,000 sites are hacked each day globally. Our Perpetual Security measures help prevent you from becoming the next victim! That’s why your account include free HackScan Protection to help block hacks before they can do damage to your site. KernelCare rebootless kernel updates, brute force defense, a dual firewall and a number of other security features are already in place to help keep your site secure when you choose A2 Hosting. Our Reinforced distributed denial of service (DDoSProtection even improves the likelihood your site will remain online during even the most sophisticated distributed denial of service attacks.

Are you ready to move your site to A2 Hosting, but nervous about doing the actual site migration to our servers by yourself? Don’t be! In most cases we can move your site for free. Just contact our friendly 24/7/365 Guru Crew Support team to request that they move your site for you! It’s a worry-free migration! That means there’s no more barriers for you to get your hands on all of our site speed optimization resources! Isn’t it about time that you love your web host?

Установка composer на openserver (в windows)

В OpenServer по умолчанию уже установлен Composer. Находится он в зависимости от выбранной версии PHP (устанавливается в настройках OpenServer) в директории «OSPanelmodulesPHP_*».

Работа с Composer в OpenServer по умолчанию осуществляется в собственной консоли. Для того чтобы открыть эту консоль необходимо нажать на значок Open Server правой кнопкой мыши в области уведомлений и в открывшемся контекстном меню найти соответствующий пункт.

Пункт в контекстном меню OpenServer для открытия консоли

В консоли для проверки того, что Composer подключен, например, можно ввести команду:

composer

Консоль OpenServer

Эта команда также отобразит версию Composer.

Если при выполнении этой команды отобразится сообщение, что версия Composer устарела, то её можно обновить. Осуществляется это посредством выполнения следующей команды:

composer self-update

Установка с помощью symfony installer

Для начала мы создадим сайт и привяжем к нему домен. Для этого откойте раздел Сайты и создайте сайт с нужным именем по инструкции: Сайты. Если свободный домен, на котором требуется разместить сайт, уже есть, прикрепите его в этом же разделе.

Подключимся к серверу по SSH, перейдём в каталог с нашим сайтом и удалим всё его содержимое.

account@server:~ [0] $ cd symfony/
account@server:~/symfony [0] $ rm -rf * .*
rm: refusing to remove '.' or '..' directory: skipping '.'
rm: refusing to remove '.' or '..' directory: skipping '..'
account@server:~/symfony [1] $

Загрузим Symfony Installer и разместим его в директории ~/.local/bin.

Теперь создадим проект:

Примеры использования composer для установки php фреймворков и cms

Установка фреймворка Laravel в текущую директорию осуществляется через Composer посредством ввода следующей команды:

composer create-project --prefer-dist laravel/laravel

Установка последней версии фреймворка Yii2 через Composer:

composer create-project --prefer-dist yiisoft/yii2-app-basic

Установка разрабатываемой версии MODX Revolution 3 через Composer:

composer create-project modx/revolution www 3.x-dev

Установка через Composer нового приложения Symfony, предназначенного для создания традиционных веб-приложений:

composer create-project symfony/website-skeleton

Установка Symfony для использования его для создания микросервисов, консольных приложений или API осуществляется так:

composer create-project symfony/skeleton

Установка Drupal через Composer:

composer create-project drupal-composer/drupal-project:8.x-dev --no-interaction

Установка с помощью composer

Установка через Composer, в отличие от ранее рассмотренного варианта, может производиться в уже существующий каталог, поэтому сначала нужно создать сайт в ПУ, прикрепить к нему домен и уже после этого производить установку.

Сначала удалим содержимое сайта по умолчанию.

account@server:~ [0] $ cd laravel2/
account@server:~/laravel2 [0] $ rm -rf * .*
rm: refusing to remove '.' or '..' directory: skipping '.'
rm: refusing to remove '.' or '..' directory: skipping '..'
account@server:~/laravel2 [1] $

И произведём установку:

Создадим символьную ссылку public_html, указывающую на каталог public:

account@server:~/laravel2 [0] $ ln -s public public_html
account@server:~/laravel2 [0] $

Как удалить composer

Composer — это файл. В большинстве случаев для удаления его достаточно просто удалить.

Если вы не помните куда был установлен Composer, то просто поищете, например, с помощью встроенной системы поиска операционной системы этот файл.

Но так удалять не всегда корректно, все зависит от того, как вы его устанавливали. Если у инструмента, с помощью которого вы его устанавливали, есть возможность и его удаление, то выполняйте это действие с помощью этого инструмента.

Например, если вы Composer устанавливали с помощью инструмента apt-get, то и используйте его для удаления этой программы.

sudo apt-get remove composer

Например, если вы устанавливали Сopmoser в Windows с помощью программы Composer-Setup.exe, то удаления программы выполняйте стандартным образом через «Приложения и возможности» (только в Windows 10) или через «Удаление или изменение программы».

Установка пакета

Установка пакета через Composer осуществляется посредством выполнения следующей команды:

composer require vendor/package

vendor — это имя поставщика php пакета, а package — это его название.

Например, добавление в проект пакета twig через composer будет осуществляться так:

composer require "twig/twig:^2.0"

Команда require не только загрузит требуемую библиотеку в проект, но и пропишет её ещё в файле «composer.json», т.е. обновит его. Если устанавливаемый пакет зависит от других библиотек, то они также будут установлены или обновлены. Кроме этого ещё будет обновлён файл «composer.lock».

Установка всех пакетов в проект

Установка сразу всех пакетов в проект осуществляется посредством команды:

composer install

Эта команда работает следующим образом:

  • проверяет, имеется ли файл «composer.lock»;
  • если файл «composer.lock» существует, то устанавливает версии, указанные в нём;
  • если файла «composer.lock» нет, то разрешает зависимости, описанные в файле «composer.json», создаёт файл «composer.lock» и устанавливает зависимости.

Обновление зависимостей

Команда для обновления установленных библиотек:

composer update

Эта команда обновит все зависимости установленные в проекте до последних версий (в соответствии с «composer.json») и файл «composer.lock».

Если необходимо обновить не все пакеты, а один или несколько, то их необходимо перечислить через пробел.

Команда для обновления одной библиотеки:

composer update vendor/package

Установка composer в ubuntu, выполняющейся в подсистеме windows для linux (wsl)

Как установить локальный веб-сервер для разработки php проектов на подсистему Windows для Linux в Windows 10 можете ознакомиться в этой статье.

Для установки Composer в Windows 10 на подсистему Windows для Linux (WSL) необходимо выполнить следующие команды:

Создать новый проект

Создание нового проекта из указанного пакета в текущую директорию выполняется так:

composer create-project vendor/package

Создание нового проекта в указанную директорию выполняется так:

composer create-project vendor/package folder

Удаление пакета

Команда Composer для удаления пакета из проекта:

composer remove vendor/package

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

composer remove vendor/package vendor2/package2

Подготовка

Вне зависимости от выбранного фреймоворка потребуется Composer — менеджер зависимостей для PHP. Если на аккаунте его ещё нет — установить его Вы можете по нашей инструкции.

Получение подробной справки по команде

Вывод подробной справки по команде:

composer help имя_команды

Например, вывести подробную инструкцию по использованию команды require можно следующим образом:

composer help require

Установка yii

Yii имеет два варианта установки — basic и advanced. Они имеют достаточно существенные различия, поэтому разберём каждый вариант по отдельности.

Создание базового варианта файла composer.json с помощью мастера

Создание базового варианта файла composer.json с помощью мастера, т.е. посредством ответов на вопросы:

composer init

Вывести зависимости для указанного пакета

Вывести все зависимости указанного пакета от других можно с помощью команды:

composer depends vendor/package

Очистка внутреннего кэша пакетов composer

Выполнение очистки внутреннего кэша пакетов Composer осуществляется с помощью команды:

composer clear-cache

Как установить composer

Установка Composer может выполняться по-разному. Она также зависит от используемой среды и операционной системы. Рассмотрим различные варианты.

Проверка валидности файла «composer.json»

Команда с помощью которой можно проверить валидность файла «composer.json»:

composer validate

Обновление lock файла без обновления пакетов

Для обновления файла «composer.lock» без обновления самих пакетов:

composer update --lock

Обновление composer

Команда для обновления Сomposer до последней версии:

composer self-update

Вывод списка всех доступных команд

Вывести на экран все доступные команды Composer можно так:

composer list

Вывод всех установленных библиотек

Команда для отображения всех установленных php пакетов:

composer show

Основные команды composer

Разберем основные команды Composer для начинающих.

Оцените статью
Хостинги