PHP Composer CentOS7

Cent0S7にComposer

2021-02-09
PHPのライブラリとして以前はPEARが使われていたが、PHP7からはComposerが主流だ。ここではComposerをCentOSにインストールしてゆく。

composerとは、PHPのライブラリ管理や依存関係を管理するための仕組みだ。

Githubからダウンロードしても使えるが、コマンドからインストールして管理することをオススメする。
使いたいパッケージの依存関係を解決してくれたり、インストールしたパッケージを自動でロードしてくれるスクリプトを生成してくれたりする。
ComposerでPHPの依存関係を管理するPHPのオートロード(autoload)

Composerをインストールする

必要なファイルをとってくる
# php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

セットアップする
# php composer-setup.php

セットアップファイルを削除
# rm composer-setup.php

実行ファイルを移動する
# mv composer.phar /usr/local/bin/composer

一般ユーザになる
# su serveradmin

確認
# composer
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 2.0.9 2021-01-27 16:09:27

rootでは実行できないよ

composer本体のインストールはrootで行うが、composerコマンドの実行は一般ユーザ権限で行う必要がある。rootで composer コマンドを叩くと、以下のメッセージが表示される。
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Continue as root/super user [yes]?
How do I install untrusted packages safely? Is it safe to run Composer as superuser or root?

ディレクトリ、ファイル

composer でパッケージをインストールすると、実行したディレクトリに以下のディレクトリとファイルが生成される。
これは消しちゃダメ!ゼッタイ!
ディレクトリ:パッケージが格納される
./vendor/

ファイル:composerの設定とかインストールしたパッケージとか
./composer.json
./composer.lock

ブラウザからアクセスできなくする

セキュリティ的に、composerの情報はブラウザから直接アクセスできない方が良いだろう。
以下を.htaccessに追記しておこう。
RedirectMatch 404 /composer*
RedirectMatch 404 /vender/*php

参考リンク

Composer 公式サイトComposer GithubComposer 日本語訳

イラスト:Loose Drawing
イラスト:Loose Drawing

Heading

Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.

View details »