PHP Composer CentOS7
Cent0S7にComposer
2021-02-09PHPのライブラリとして以前は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.