【PHP】レンタルサーバーに開発環境Composerをセットしてみよう



【PHP】レンタルサーバーに開発環境Composerをセットしてみよう

レンタルサーバーというと、格安で WordPress を運用できたり、HTML ファイル・画像ファイルを保存できるだけ・・と思われていませんか?

しかしレンタルサーバーの中には、 PHPのライブラリ管理ソフト『Composer』 を利用できるところもあります(VALUE-SERVERやサクラなど)。

https://getcomposer.org/

「もっと PHP を使いこなしたい」「ワンランク上の Web サイトを作りたい」「それもお得に!」と思われている方のために、レンタルサーバーに Composer をセットし、課金ライブラリの Stripe を使うところまでご紹介させていただきます。

【本稿で使用する環境】

・レンタルサーバー VALUE-SERVERのスタンダードプラン
・PHPバージョン PHP 7.3
・Composerバージョン 1.10.6(更新後)
・作業環境 主にターミナル(Windowsの場合は PowerShell)
目次
  1. コスパ最高?レンタルサーバーにPHPの開発環境Composerをセットしてみよう
  2. 自分のパソコンとレンタルサーバーを接続する方法
  3. レンタルサーバーにComposerを設定する方法
  4. レンタルサーバーでComposerを使って課金機能を実装するサンプル
  5. レンタルサーバーにComposerをセットし、Stripeする様子
  6. まとめ

コスパ最高?レンタルサーバーにPHPの開発環境Composerをセットしてみよう

自分のパソコンとレンタルサーバーを接続する方法

image

レンタルサーバーの操作というと、めっきりブラウザ上の操作、もしくは FileZilla などの FTPソフトで作業していると思いますが、実は自分のパソコンとターミナル(コマンド)上で接続できるってご存知だったでしょうか?

今回の Composer を利用する上ではコマンド操作が欠かせませんので、まずは自分のパソコンとレンタルサーバーを接続するところからご紹介していきます。

まず初めに利用しているレンタルサーバーの管理画面にいき、SSH (Secure Shell)接続の許可申請をします(上図参照)。申請はワンクリックで完了です。

そして SSH 接続の際に使用するユーザー名や接続先(サーバー)を上図のようにレンタルサーバーの管理画面から確認しておきます。

【SSH接続先のコマンド例】

ssh ユーザー名@サーバー

それではこれで自分のパソコンとレンタルサーバーを接続できる準備ができましたので、ターミナルもしくは PowerShell を起動して SSH を打ち込みます。

参考画像は Mac PC ですが、Windows の場合も PowerShell で同じコマンドで動作確認済み

ssh FTPアカウント名@FTPサーバー情報

パソコン上のターミナル画面は、自分のパソコンでもレンタルサーバー接続時でも同じですが、上図のように pwduname- a とコマンドを打ち込んでみると作業環境がレンタルサーバーに変わっていることが確認できます。

レンタルサーバー上の PHP や Composer のバージョンを確認してみます。

php --version
composer --version

composer についてはコマンドが認識されません。しかし、 PHP のバージョン、5系って古いですよね。

次はレンタルサーバーで PHP のバージョンを確認し、 Composer を設定する方法をご紹介していきます。

レンタルサーバーにComposerを設定する方法

Composer の前に PHP のバージョン確認から。上図のようにレンタルサーバー管理画面では 「PHP 7.3」 になっていますが、コマンド上で php --version すると 「5.6.40」。実はこれは PHP のコマンド操作に問題があって、 php73 --version としてあげれば PHP7系が有効となっていることが確認できます(下図参照)。

バージョンチェックから分かるように、ローカル環境とレンタルサーバー上では PHP の操作が若干異なること、認識しておきましょう。

それではレンタルサーバー上の Composer を確認、設定していきます。まずは上図のように Composer の存在を which composer で確認。 そして PHP で Composer を実行(php56cli /usr/bin/composer)。

すると Composer が反応しましたが、どうもバージョンが古い様子。Composer のバージョンを上げておきます。

php73cli /usr/bin/composer でも結果は同じです which composer で composer がないようであれば、一度レンタルサーバーの運営元に Composer の有無を確認してみてください。

curl -sS https://getcomposer.org/installer | php71cli

上図では php71cli で実行していますが、 php73cli でも php56cli でも Composer のバージョンアップは可能。

再び Composer を実行して、バージョンを確認してみます。

PHP5.6で Composer を実行

PHP7.1で Composer を実行

PHP7.3で Composer を実行

少し不思議に感じるかもしれませんが、どの PHP バージョンで Composer を実行しても同じバージョンが返ってきます。

つまりレンタルサーバーの中で PHP7 のプロジェクトがあっても PHP5 のプロジェクトがあっても Composer は動作可能ということ。

Composer の実行、php73cli composer.phar と長いと使いにくいので ”パス” の設定をしておきます。

ファイル: .bashrc という特殊なファイルを作成し、 Composer のパス方法を書き込み、 .bashrc を実行すれば Composer にパスが通ります。

まずは上図のように vi .bashrc とコマンド入力して、 vi エディタを起動。

vi .bashrc を実行すると真っ黒の画面が表示されるのでビックリするかも知れませんが、大丈夫。まずはキーボードの i を押して、入力モードに切り替え。画面左下に --INSERT-- などの文字が表示されると思います。

そして以下のコードをコピペ、もしくは打ち込み。

alias composer='php73cli ~/composer.phar'

PHP 7.3 で使用する場合

コードの入力が完了したら、 esc キーを押して入力モードを終え、 :wq でファイルを書き込み保存(上図)。

ちゃんとファイルが保存されたかどうかは、 cat .bashrc とすればファイルの中身を確認できます。そしてこのファイルを実行。

source ./.bashrc

画面上は何も変化ありませんが composer -V とすると、最初はダメだっだ composer が使えるようになっていることが確認できます。

これでレンタルサーバーで Composer が使えるようになりました。次は実際に課金ライブラリの Stripe を Composer でインストールし、レンタルサーバー上で課金を実行してみたいと思います。

source ./.bashrc は、レンタルサーバーに SSH 接続する毎に必要です。 composer コマンドが実行できない場合は、source ./.bashrc を試してみてください。 また kex_exchange_identification: Connection closed by remote host と表示され接続できない場合は、レンタルサーバー側の SSH接続ボタン をもう一度押してみてください。

レンタルサーバーでComposerを使って課金機能を実装するサンプル

https://stripe.o-namae.com/single_pay.php

レンタルサーバーで課金機能というと....となる方多いと思いますが、Composerがあれば概ね大丈夫。

今回は以前に WP のプラグインでご紹介させて頂いた Stripe の課金機能を Composer から実行([テンプレ付き]WordPress×Stripeでネットビジネスを始めよう)。プラグインではなく Composer で Stripe を実行するメリットは以下の通り。

  • 決済時に必要な顧客情報をカスタマイズできる
  • カード以外の受金もOK
  • 定額課金(Subscription)もチャージ機能も可能 など

それでは今回はシンプルな課金を Composer & Stripe で実行してみたいと思います。

まず Composer & Stripe をレンタルサーバーで使用する場合、 Stripe を実行するディレクトリに移動してから Stripe ライブラリをインストールする必要があります(上図参照)。

Stripe のインストール

composer require stripe/stripe-php

ドキュメント https://stripe.com/docs/api?lang=php

ちゃんと Stripe が入ったかどうかは、以下のコマンドで確認可能。

composer show

コマンド上に Stripe と表示されていれば OK ですね。

ここから先はいくつかの開発パターンがありますが、今回はとりあえずテスト課金を実行できるプログラムを用意しました。

課金を実行するファイル群

・ stripe-demo.html(商品表示、カード情報入力用プログラム)
・ checkout.php(決済処理プログラム)
・ success.php(決済完了後のプログラム)
・ style.css(CSS)
・ charge.js(決済処理へのデータ受け渡し用プログラム)

上記 5つのファイルをダウンロード

たった1個の決済を実行するのに「えっ、こんなにプログラムが必要なの?」と思われるかも知れないですが、ごめんなさい、必要です。また Stripe のアカウントと Web上のデータを結びつけるために API キーが必要に。 Stripe.com にアクセスして、ご自身の APIキーと置き換え願います。

無事に APIキーをセットできたら、 Composer をインストールしたレンタルサーバーにファイルをアップ(上図参照)。

Composer、APIキー、全てがうまくいっていれば上図のようにサンプルの課金画面が表示。そしてテスト用のカード番号 424242424242424242..... を使うとテスト決済が実行されたことが確認できます。

そして Stripe の管理画面をみると、上図のようにテスト課金が行われたことが確認できます。

今回は短絡的な決済処理ですが、 WordPress と連携することでビジネスモデルは無限大?に広がるかも知れませんね。

レンタルサーバーにComposerをセットし、Stripeする様子

Webサイト担当者としてのスキルが身に付く

CodeCampの無料体験はこちら

まとめ

VPS や AWS に比べて、レンタルサーバーは柔軟性が低い印象が今までありましたが、こうして Composer が使えるとなると Google API や Twitter API なども使いやすいくなり、主体的にプログラムを開発していくことができます。 少々のことならプラグインに頼らなくても、自分で PHP プログラムを組めるようになりますね。

「WIX や ペライチ、課金機能もあっていいけど維持費が....」「ECサイト受託できるようになったら、儲かりそうなんだけどな...でも PHP とかデータベース....」と悩んだまま時間が止まっていらっしゃる方、 PHP の基礎をCodeCamp でサクッとクリアしちゃいましょう。

「サクッ」といけるほど 簡単ではないかもしれませんが、独学に比べれば断然楽に、簡単にクリアできます。 先行き不透明なこの時代において、ITテクノロジーに関しては先行き ”明瞭” だと感じているならば、それは間違っていません。自分の考えを信じて、ぜひ無料体験を受けてみてください!

CodeCamp の無料体験では事前知識ゼロでも講師がしっかりとサポートします。 まずは一歩、一行のコードを書くところから始めてみましょう!

関連記事

オシママサラ
この記事を書いた人
オシママサラ
\ 無料体験開催中!/自分のペースで確実に習得!
オンライン・プログラミングレッスンNo.1のCodeCamp