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

Обновлено: 06.07.2024

Docker – очень полезный инструмент, но чтобы использовать его возможности в полной мере, нужно создать отдельный контейнер для каждого компонента приложения. Однако при работе со сложными приложениями, состоящими из большого количества компонентов, управлять контейнерами и синхронизировать их работу – довольно трудная задача.

Сообщество Docker использовало для решения этой проблемы средство под названием Fig, которое позволяет использовать единый YAML-файл для планирования и организации работы контейнеров и конфигураций Docker. Но со временем команда Docker решила разработать собственное средство, основанное на исходном коде Fig. Так появился Docker Compose – инструмент для определения и запуска многоконтейнерных приложений Docker. Коротко говоря, Docker Compose предназначен для планирования и организации процессов в контейнерах Docker (запуска, отключения, создания межконтейнерных соединений и томов, и т.п.).

Общие понятия Docker и Docker Compose

Прежде чем приступить к работе с Docker Compose, нужно ознакомиться с основными понятиями Docker.

Образы Docker

По сути, каждый контейнер является образом Docker. Образ проще представить в виде готовой установки Linux. Как правило, простая установка содержит минимальное количество пакетов, необходимое для запуска образа. Образы используют ядро хост-системы, но, будучи запущенными в контейнерах Docker, они видят только свою файловую систему, что позволяет, к примеру, запустить контейнер с дистрибутивом CentOS в системе Ubuntu и наоборот.

Большинство контейнеров Docker распространяется при помощи ресурса Docker Hub, который поддерживается командой разработчиков проекта. Наиболее популярные проекты с открытым исходным кодом имеют свой образ, загруженный в Docker Registry, который можно использовать для развёртывания программного обеспечения. По возможности лучше использовать «официальные» образы, подтверждённые командой Docker.

Взаимодействие между образами Docker

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

Следующий метод – использование томов данных Docker. Тома Docker бывают двух видов – внутренние и общие. По умолчанию после перезагрузки или отключения контейнера данные будут потеряны; контейнер, по сути, возвращается в состояние, в котором он находился до запуска. Это удобно при тестировании или разработке (поскольку обеспечивает одинаковую среду при каждом новом запуске контейнера), однако совсем не подходит для среды производства (поскольку после перезапуска весь добавленный контент будет потерян). Внутренний том Docker позволяет сохранять данные определённой папки отдельного контейнера Docker. Например, чтобы сохранить содержимое лог-файлов после перезагрузки, можно создать внутренний том для /var/log.

Общий том отображает папку контейнера Docker в папке на хост-компьютере. Это позволяет легко обмениваться файлами между контейнером и главной машиной.

Третий способ взаимодействия с контейнерами Docker – использование сети.

Требования

Для выполнения руководства понадобится:

  • Сервер CentOS 7
  • Не-root пользователь с доступом к sudo (подробнее об этом – в руководстве по начальной настройке сервера).

1: Установка Docker

Установите Docker, если ранее он не был установлен.

Проще всего это сделать при помощи установочного скрипта; загрузите и установите его (будет запрошен пароль sudo):

Эта команда загрузит и выполнит скрипт, написанный командой Docker.

Для работы с Docker пользователя нужно настроить соответствующим образом. Добавьте пользователя в группу docker.

sudo usermod -aG docker $(whoami)

Выйдите и снова войдите на сервер, чтобы активировать новые группы.

Настройте автоматический запуск Docker при загрузке:

sudo systemctl enable docker.service

Запустите сервис Docker:

sudo systemctl start docker.service

2: Установка Docker Compose

После установки Docker можно приступать к установке Docker Compose. Для начала установите python-pip:

sudo yum install epel-release
sudo yum install -y python-pip

Чтобы установить Docker Compose:

sudo pip install docker-compose

Также нужно обновить пакеты Python системы CentOS 7:

sudo yum upgrade python*

3: Запуск контейнера при помощи Docker Compose

Официальный открытый ресурс Docker, Docker Hub, предлагает образ простого приложения Hello World. Можно использовать его, чтобы протестировать Docker Compose.

Создайте каталог для YAML-файла:

Откройте этот каталог:

Создайте YAML-файл при помощи текстового редактора:

Поместите в файл следующий контент, затем сохраните и закройте его:

my-test:
image: hello-world

Первая строка будет использоваться как часть имени контейнера. Вторая строка указывает, какой образ использовать для создания контейнера. Образ будет загружен из официального репозитория Docker Hub.

/hello-world выполните следующую команду, чтобы создать контейнер:

На экране должен появиться примерно такой вывод:

Creating helloworld_my-test_1.
Attaching to helloworld_my-test_1
my-test_1 |
my-test_1 | Hello from Docker.
my-test_1 | This message shows that your installation appears to be working correctly.
my-test_1 |

Вывод описывает действия Docker:

  • Клиент Docker подключается к демону Docker.
  • Демон загружает образ hello-world с Docker Hub.
  • Демон создаёт из этого образа новый контейнер.
  • Демон передаёт полученный вывод клиенту Docker, а он возвращает его в терминал.

Процесс не завершается самостоятельно, нажмите CTRL-C.

4: Команды Docker Compose

Рассмотрим команды, которые поддерживает Docker Compose.

Команда docker-compose работает на уровне каталога. На одной машине можно иметь несколько групп контейнеров; для этого нужно создать отдельный каталог и отдельный файл docker-compose.yml для каждого контейнера.

docker-compose up -d

Эта команда запускает docker-compose в фоновом режиме.

Чтобы просмотреть группу контейнеров Docker (и запущенных, и отключенных), используйте следующую команду:

К примеру, вывод может иметь такой вид (этот вывод сообщает, что контейнер helloworld_my-test_1 отключен):

Name Command State Ports
-----------------------------------------------
helloworld_my-test_1 /hello Exit 0

Состояние запущенных контейнеров – Up:

Name Command State Ports
---------------------------------------------------------------
nginx_nginx_1 nginx -g daemon off; Up 443/tcp, 80/tcp

Чтобы остановить все контейнеры Docker в группе конкретного приложения, выполните следующую команду в каталоге, в котором находится файл docker-compose.yml, при помощи которого был запущена группа Docker:

Примечание: Также можно использовать команду docker-compose kill.

Иногда Docker хранит информацию во внутреннем томе. Чтобы вернуть среду в её исходное состояние, нужно использовать команду rm, которая удаляет все контейнеры, созданные группой:

Если запустить эту команду в другом каталоге (не в том, в котором хранится контейнер Docker и yml-файл), команда вернёт ошибку:

Can't find a suitable configuration file in this directory or any parent. Are you in the right directory?
Supported filenames: docker-compose.yml, docker-compose.yaml, fig.yml, fig.yaml

5: Работа с файловой системой контейнера Docker (опционально)

Если вам нужно взаимодействовать с файловой системой контейнера при помощи командной строки, используйте команду docker exec.

Образец контейнера Hello World закрывается после запуска, потому нужно запустить новый контейнер, чтобы протестировать работу команды docker exec. Для примера можно использовать образ Nginx с Docker Hub.

Создайте новый каталог и откройте его:

Создайте файл docker-compose.yml:

Вставьте в него следующий код:

nginx:
image: nginx

Сохраните и закройте файл. Теперь нужно запустить контейнер Nginx как фоновый процесс:

docker-compose up -d

Образ Nginx будет загружен, контейнер запустится в фоновом режиме.

После этого нужно узнать CONTAINER ID данного контейнера. Список запущенных контейнеров можно просмотреть при помощи команды:

На экране появится примерно такой вывод:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e90e12f70418 nginx "nginx -g 'daemon off" 6 minutes ago Up 5 minutes 80/tcp, 443/tcp nginx_nginx_1

Примечание: Эта команда выводит только запущенные контейнеры.

docker exec -it e90e12f70418 /bin/bash

Опция –t открывает терминал, а опция –i запускает интерактивный режим. Опция /bin/bash открывает оболочку bash для запущенного контейнера.

Теперь можно взаимодействовать с контейнером из командной строки.

Имейте в виду: все изменения будут утеряны, как только контейнер перезапустится, если каталог не входит в том данных. Кроме того, нужно помнить, что большинство контейнеров создаются как минимальные установки Linux, потому некоторые команды и утилиты в них недоступны.

Composer — это пакетный менеджер уровня приложений для языка программирования PHP. Он предоставляет средства по управлению зависимостями в PHP-приложении, как, например, Google Play или AppStore обеспечивают доступ к установке приложений на смартфонах.

Для работы Composer, конечно же, необходим уже установленный PHP.

Установка на Windows

Десктоп

Для установки последней версии Сomposer на операционную систему Windows достаточно скачать файл-установщик. Он автоматически запишет Composer в переменную окружения PATH, и вызов менеджера будет возможен из любой директории.


В процессе установки необходимо указать путь к исполняемому файлу php.exe:


Далее необходимо следовать инструкциям установщика.

По завершению установки нужно запустить команду composer и убедиться, что Сomposer заработал корректно.


Установка из командной строки

Перейдите в каталог, указанный в переменной окружения PATH, и скачайте туда установщик. При запуске он скачает файл composer.phar. Далее создайте файл composer.bat рядом с установщиком:

Так как директория уже в переменной PATH, нам не нужно указывать в ней путь к файлу. После закрытия текущего терминала можно проверить установку в новом открытом терминале:

Результат должен быть примерно таким:

Установка на *nix и mac

Для установки необходимо скачать установщик и сохранить его как composer-setup.php:

Перед установкой нужно решить, как установить Сomposer: глобально или локально. Локальная установка позволяет запускать Сomposer в директории, в которой он установлен. Глобальная установка позволит работать из любой директории.

Локально

Для локальной установки необходимо запустить файл composer-setup.php в папке с вашим проектом. Установщик проверит настройки php и скачает файл composer.phar в эту же папку.


.phar — это архив PHP, который может быть запущен из командной строки.

Локальная установка завершена. Запустить Сomposer и приступить к работе можно с помощью команды:


Глобально

Для удобства можно настроить вызов без использования интерпретатора php. После запуска установщика можно переместить composer.phar в нужную директорию.

Чтобы установить Сomposer для одного пользователя и не требовать для запуска права суперпользователя, можно использовать директорию

/.local/bin, доступную во многих дистрибутивах Linux.

Композитор это надежный инструмент, предназначенный для оптимизации управления зависимостями в PHP. Инструмент тянет и управляет всеми зависимостями и библиотеками в одном месте. Он устанавливает и обновляет библиотеки, от которых зависят ваши проекты, и позволяет объявлять эти библиотеки для каждого проекта.. Композитор используется практически на всех последних платформах и платформах PHP, включая Drupal, Magento 2, Symfony и Laravel.

Из этого туториала вы узнаете, как установить PHP Composer на CentOS 7 VPS или выделенный сервер..

Прежде чем ты начнешь

Чтобы этот учебник прошел гладко, вам необходимо следующее:

Перед загрузкой и установкой Composer убедитесь, что ваш сервер CentOS 7 имеет необходимые зависимости, чтобы помочь этому процессу.

Сначала выполните команду ниже, чтобы обновить кеш для вашего менеджера пакетов:

$ Sudo yum update

Далее установите следующие зависимости:

  • Скручивание: Который поможет вам скачать Composer.
  • Php-кли:Зависимость, используемая для запуска и установки Composer.
  • PHP-MBstring: Пакет, который будет предоставлять функции для нашей библиотеки.
  • Git: Который Composer будет использовать для загрузки зависимостей проекта.
  • Распакуйте: Который будет использоваться для извлечения упакованных пакетов.

Чтобы установить все эти зависимости, выполните команду ниже:

$ Sudo yum install curl php-cli php-mbstring git unzip

Это все! Все зависимости успешно установлены, этап установлен, и Composer должен легко устанавливаться.

Composer поставляется с установщиком, который разработан на PHP. Загрузите этот установщик и подтвердите его подлинность, прежде чем использовать его для установки самого Composer.

Сначала выполните команду ниже, чтобы перейти в домашний каталог:

Затем выполните команду ниже, чтобы получить Установщик .:

Чтобы аутентифицировать этот установщик, загрузите хэш SHA-384 на этой странице, а затем скопируйте и сохраните этот хэш как переменную оболочки CentOS:

Если у вас есть самый последний хэш, выполните команду ниже, чтобы установить установщик в этот хэш:

Если этот установщик является подлинным, вы получите вывод, похожий на приведенный ниже:

Однако, если установщик не является подлинным, вы получите следующий вывод:

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

Когда установщик будет проверен, выполните команду ниже, чтобы установить PHP Composer глобально:

Команда выше установит PHP Composer в каталог, / USR / местные / бен, как общесистемная команда под названием композитор. После завершения процесса вы получите следующий вывод:

Composer (версия 1.7.2) успешно установлен в: / usr / local / bin / composer
Используйте это: php / usr / local / bin / composer

Теперь выполните команду ниже, чтобы проверить установку.

Это даст вам вывод, отображающий версию Composer, вместе с параметрами команды и их описаниями:

Применение:
команда [параметры] [аргументы]

Этот вывод указывает, что Composer был безупречно развернут на сервере CentOS 7.

Вывод

Поздравляем! PHP Composer был успешно установлен в системе CentOS 7. Теперь вы можете изучить другие варианты, чтобы узнать, как использовать Composer и использовать мощь и надежность этого инструмента..

Язык программирования PHP очень стремительно развивается. Ещё несколько лет назад огромным количеством библиотек на все случаи жизни мог похвастаться только Python. Однако сейчас уже разработано огромное количество библиотек для PHP, и все они доступны для установки буквально в несколько команд.

Для этого можно использовать пакетный менеджер composer. Утилита позволяет не только устанавливать сторонние пакеты, но и обновлять их при выходе новых версий, разрешать зависимости, а также очень легко создавать пакеты для своих библиотек. В этой статье мы рассмотрим, как пользоваться Composer для управления пакетами в PHP.

Синтаксис и опции Composer

Первое, что необходимо сказать, Composer - это консольная утилита, у неё нет графического интерфейса, однако это не делает её хуже. Вот её синтаксис:

$ composer опции команда

Опций у самой утилиты не так уж много. Давайте рассмотрим самые полезные:

  • -h - вывести справку по утилите;
  • -q - сокращённый вариант вывода;
  • -V - показать версию утилиты;
  • -n - не задавать интерактивных вопросов;
  • -v, -vv,-vvv - настройка подробности вывода;
  • -d - использовать указанную рабочую директорию.

Более интересны команды, которые вы будете постоянно использовать:

  • archive - архивирует текущий проект в качестве библиотеки для отправки в Сеть;
  • check-platform-reqs - проверяет, соблюдены ли системные требования;
  • create-project - создаёт проект на основе пакета в указанную директорию;
  • depends - выводит зависимости пакета;
  • dump-autoload - обновляет систему автозагрузки классов;
  • exec - позволяет выполнять скрипты из установленных пакетов;
  • init - создаёт пустой проект в текущей папке;
  • list - выводит список доступных команд;
  • outdated - выводит список пакетов, для которых есть обновления;
  • prohibits - выводит названия пакетов, которые мешают установить указанный пакет;
  • search - поиск пакетов в репозиториях;
  • self-update - обновление Composer до последней версии, работает только при локальной установке;
  • show - информация о пакете;
  • update - обновляет все пакеты до самой актуальной версии.

Большинство из этих опций мы разберём чуть ниже, в примерах использования composer. А пока давайте посмотрим, как его установить.

Установка Composer

Прежде, чем что-либо делать, утилиту надо установить. Инсталлировать Composer можно глобально для всей операционной системы или только в опредёленную папку. Для глобальной установки в Ubuntu используйте команду:

sudo apt install composer

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

mkdir new_project && cd new_project

Затем скачайте последнюю версию утилиты такой командой:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

Установка Composer выполняется командой:


После установки в директории появится файл Сomposer.phar, который и следует запускать для работы с утилитой. В Windows вы можете установить Composer только таким способом. Дальше в статье я буду считать, что утилита установлена глобально в системе, но дела это не меняет, просто будет отличаться имя исполняемого файла:

$ php ./composer.phar команды

Важно отметить, что для работы последней версии утилиты необходимо, чтобы в вашей системе была установлена версия PHP не ниже 7.0. Иначе утилита установится, но во время запуска будут выдаваться ошибки. Если вы используете панель управления, в которой есть несколько версий PHP, то нужно передать путь к утилите бинарному файлу PHP нужной версии, например:

$ /opt/php7.0/bin/php7.0 ./composer.phar команды

Путь к бинарному файлу будет отличаться в зависимости от способа установки PHP, панели и версии интерпретатора.

Версия утилиты, установленная из официального сайта, будет, как правило? намного свежее, чем из репозиториев:

php composer.phar -V


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

php composer.phar self-update

Теперь пора переходить к примерам работы с Composer.

Как пользоваться Composer

1. Проект на основе пакета

Чаще всего вы будете разворачивать проекты Composer на основе уже существующих пакетов. В этом случае утилита берёт пакет из репозитория и просто распаковывает его в текущую папку, а все зависимости уже помещаются в папку vendor. Для этого используется команда create-project. Давайте создадим проект на основе пакета slim/slim4-skeleton:

composer create-project slim/slim-skeleton ./

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

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

Для установки пакетов в Composer используется команда require. Утилита установит нужный пакет в подпапку vendor, добавит его в автозагрузку и в файл composer.json. Например, установим пакет illuminate/eloquent:

composer require illuminate/eloquent

Кроме того, composer позволяет устанавливать пакеты, которые будут доступны только для разработчика. Для этого используйте опцию --dev:

composer require --dev phpunit/phpunit

Бывают случаи, когда пакет не хочет устанавливаться из-за несовместимости с платформой. В первую очередь надо убедится, что все необходимые ему расширения PHP в системе установлены. Если же ваша консольная версия PHP использует другие расширения, а сам пакет будет использоваться только с веб-сервером, можно отключить проверку системных требований пакета с помощью опции --ignore-platform-reqs:

composer require --ignore-platform-reqs illuminate/eloquent

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

имя_пакета requires ещё_один_пакет -> satisfiable by точное_имя_этого_пакета but these conflict with your requirements or minimum-stability

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

Уровень стабильности пакета определяет его разработчик. Эта проблема решается чуть сложнее, надо поменять минимальный уровень стабильности для вашего проекта на dev. Откройте файл composer.json и под строчкой License добавьте следующую строчку:


Или, если в файле уже есть строчка minimum-stability, необходимо заменить её значения со stable на dev. После этого вы сможете установить пакет composer, который вам необходим. Напоминаю, что все команды Сomposer аналогичны, даже если Сomposer на хостинге, а не на локальной машине или VPS-сервере, надо только указать верный путь к его исполняемому файлу.

3. Удаление пакетов

Чтобы удалить пакет, который вам больше не нужен, используйте опцию remove:

composer remove illuminate/eloquent

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

composer remove --dev illuminate/eloquent

4. Обновление пакетов

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

И для пакетов разработчиков:

composer update --dev

5. Сброс автозагрузки

Бывает, что вы создали новый класс или установили пакет, но классы из него всё ещё не видны, и при попытке обратится к ним вы получаете ошибку. В таком случае следует обновить кэш автозагрузки Composer:


После этой команды всё должно заработать. Если нет - пакет несовместимый или если это ваш класс, то он не соблюдает стандарт PSR-4.

6. Создание пакета

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

Утилита задаст несколько вопросов:

  • Package name - имя нового пакета в формате: автор/имя;
  • Description - описание;
  • Author - автор пакета;
  • Minimum Stability - стабильность пакета, можно выбрать dev или stable;
  • Package Type - тип проекта, например: library, project, metapackage, composer-plugin;
  • License - лицензия;
  • Depencies - здесь вы можете интерактивно найти пакеты, от которых будет зависеть ваш проект.

На последнем шаге утилита предложит вам проверить, всё ли верно указано в конфигурационном файле:

После чего будет создан файл composer.json, и вы сможете установить нужные пакеты и добавлять свои исходные файлы. Я не буду писать здесь про автозагрузку PSR-4 и другие возможности composer.json, так, как это уже выходит за рамки обычного использования утилиты и больше касается разработки.

После того, как проект был создан, вы можете создать в папке проекта git-репозиторий и загрузить его на GitHub или другой сервис. Сразу же после этого ваш пакет можно будет установить с помощью Composer в любой другой проект, просто добавив его репозиторий.

7. Установка пакетов из сторонних репозиториев

Сначала нужно добавить ссылку на репозиторий в composer.json. Я предполагаю, что ваш репозиторий публичный, значит никаких ключей авторизации не понадобится:

"repositories": [
"type": "vcs",
"url": "ссылка на git репозиторий"
>
]


Секцию repositories надо добавлять на тот же уровень, что и license. и другие основные секции. Затем можно просто установить свой пакет:

composer require sergiy/selenium-chrome-library


После этого папка пакета появится в подпапке vendor, а его классы будут добавлены в автозагрузку.

Выводы

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

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Читайте также: