初めに #
PHP開発を進める上で欠かせないパッケージ管理ツールが「Composer
」です。
多くのLinuxディストリビューションでは、Composer
を公式リポジトリから簡単にインストールできますが、必ずしも最新とは限りません。
そのため、以下のニーズがある場合は、公式サイトから直接最新のComposerをダウンロードし、手動でインストールする方法がおすすとなります。
- 最新機能を利用したい
- いち早くセキュリティアップデートやバグ修正を反映させたい
- 安全かつ安定した運用を行いたい
- ディストリビューションでのサポートが終了しているため、自身でメンテナンスを行いたい
本記事では、AlmaLinux環境を利用し、公式インストーラーを使った Composer
の手動インストール手順を、初心者の方にもわかりやすく丁寧に解説します。
なお、ご紹介する手順は AlmaLinux
に限らず、CentOS
、Rocky Linux
、Fedora
などのRHEL系ディストリビューションや、Ubuntu
、Debian
など他のLinuxディストリビューションでもほぼ同様に適用可能な内容となっております。
Composerとは #
PHPのパッケージ管理システムとして「Composer」を利用している方は多いのではないでしょうか?
**Composer(コンポーザー)**は、PHPでアプリケーションを開発をする際に利用されるパッケージ管理システムとなります。
Composerを利用することで、必要なパッケージのインストールや依存関係の管理、バージョン管理を簡単かつ効率的に行うことができます。
また、Laravel
や Symfony
などのモダンなPHPフレームワークのインストールにも Composer
の導入は必須となっています。
以下は Composer
の公式リポジトリとなっております。
Dependency Manager for PHP
OS環境 #
今回インストールを行う環境は「almalinux9.3環境」となります。
また、webサーバーとして「Apache2.4.57」を構築し利用しております。
- OSバージョン情報
cat /etc/almalinux-release
AlmaLinux release 9.3 (Shamrock Pampas Cat)
- webサーバー情報
httpd -V
Server version: Apache/2.4.57 (AlmaLinux)
php環境の確認 #
Composer
は PHP で動作するツールとなります。
その為、インストールを行う前にLinux環境にPHP がインストールされていることを確認してください。
以下のコマンドにて確認が可能となっております。
php -v
PHP
がすでにインストール済みであればバージョン情報が表示されます。
インストールされていない場合は、次のコマンドで PHP
をインストールすることが可能となっています。
dnf install php
上記を実行すると下記の様に表示されますので「y
」を選択しインストールを進めてください。
Last metadata expiration check: 1:46:03 ago on Fri 28 Jun 2024 09:27:24 PM JST.
Dependencies resolved.
=============================================================================================================================================================================================================================================
Package Architecture Version Repository Size
=============================================================================================================================================================================================================================================
Installing:
php x86_64 8.1.27-1.module_el9.3.0+53+44872dd1 appstream 7.7 k
Installing dependencies:
oniguruma x86_64 6.9.6-1.el9.5 baseos 217 k
php-common x86_64 8.1.27-1.module_el9.3.0+53+44872dd1 appstream 675 k
Installing weak dependencies:
php-cli x86_64 8.1.27-1.module_el9.3.0+53+44872dd1 appstream 3.5 M
php-fpm x86_64 8.1.27-1.module_el9.3.0+53+44872dd1 appstream 1.8 M
php-mbstring x86_64 8.1.27-1.module_el9.3.0+53+44872dd1 appstream 471 k
php-opcache x86_64 8.1.27-1.module_el9.3.0+53+44872dd1 appstream 375 k
php-pdo x86_64 8.1.27-1.module_el9.3.0+53+44872dd1 appstream 81 k
php-xml x86_64 8.1.27-1.module_el9.3.0+53+44872dd1 appstream 142 k
Transaction Summary
=============================================================================================================================================================================================================================================
Install 9 Packages
Total download size: 7.2 M
Installed size: 36 M
Is this ok [y/N]:
インストールが完了しましたら、再度 php -v
を実行し、正しくインストールされたか確認してください。
php -v
PHP 8.1.27 (cli) (built: Dec 19 2023 20:35:55) (NTS gcc x86_64)
この結果から、今回導入したPHPバージョンはphp「8.1.27
」であることが確認できます。
composerのインストール #
次にcomposerのインストールを行っていきます。
インストール詳細は下記の公式サイトに確認することが可能となっております。
必要に応じて確認をお願いいたします。
https://getcomposer.org/download/
一時ディレクトリの作成 #
始めにインストール用の一時ディレクトリを作成します。
今回は「/home/Composer
」パスにてインストールを行います。
以下のコマンドにてディレクトリを作成します。
mkdir -p /home/Composer
次に以下のコマンドにて先ほど作成したディレクトリに移動します。
cd /home/Composer
インストールファイルの取得 #
次に下記コマンドを使用しインストール用のファイルを取得します。
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
取得が完了したら、「ls
」コマンド使用しファイルの取得を確認してください。
下記の様に「composer-setup.php
」ファイルがディレクトリ内にダウンロードされていればOKです。
#コマンド
ls -al
#結果
-rw-r--r-- 1 Jun 28 23:23 composer-setup.php
ハッシュ値の確認 #
次に以下のハッシュコマンドを使用しcomposer
の整合性を確認します。
対象となるハッシュ値は公式サイトより最新の情報を確認し使用してください。
php -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
問題がなければ、下記のように「Installer verified
」とターミナルに表示されます。
Installer verified
問題がある場合は下記のように「Installer corrupt
」と表示されインストールファイルが自動で削除されます。
Installer corrupt
インストール #
次に下記コマンドを利用しインストールを実施します。
php composer-setup.php
インストールが完了すると下記のように「successfully installed
」と表示されます。
All settings correct for using Composer
Downloading...
Composer (version 2.7.7) successfully installed to: /home/Composer/composer.phar
Use it: php composer.phar
先ほど利用したインストール用のファイルは不要の為、以下のコマンドにて削除を行なってください。
php -r "unlink('composer-setup.php');"
公式ではグローバルインストールを推奨しており、以下のディレクトリに配置することで全ディレクトリから composer
コマンドが使えるようになります
注意点として以下のディレクトリへの移動は root
権限が必要となります。
mv composer.phar /usr/local/bin/composer
コマンドが成功すると /usr/local/bin/composer
ディレクトリ に Composer
の本体プログラムが配置されます。
root
に昇格できない場合は「sudo
」コマンドを使用し実施してください。
sudo mv composer.phar /usr/local/bin/composer
以上でインストール完了となります。
導入確認 #
Composer が正しくインストールされたか確認します。
まず、which composer コマンドでパスを確認します。
which composer
出力に /usr/local/bin/composer
が表示されれば、正しい場所にインストールされています。
/usr/local/bin/composer
次に、composer
コマンドを利用しバージョン情報を表示してみましょう。
composer --version
以下ののように表示されれば正常となっています。
Composer version 2.7.7 2024-06-10 22:11:12
PHP version 8.1.27 (/usr/bin/php)
より詳細な問題点を確認したい場合は composer diagnose
コマンドを実行すると詳細なチェックが可能となっています。
composer diagnose