本サイトはプロモーションが含まれています。

ロリポップ! に Composer で Sentinel を インストール

2023年4月16日

ロリポップ!で Sentinel を 使えるように Composer を使ってインストールしました。

Composer をロリポップ!にインストール

SSHで cdコマンド を使い 公開フォルダ に移動します。

cd 公開フォルダ

php8.1 で Composer installer を実行し composer.phar をインストールします。

/usr/local/bin/php8.1 -r "eval('?>'.file_get_contents('https://getcomposer.org/installer'));"
PHPコマンドの引数にコードを指定して実行します。
urlを読み込むために使用される関数です。
指定した文字列を連結して シェルに実行させます。

PHP 開始タグを含めてはいけません。つまり、 '<?php echo "Hi!"; ?>' ではなく 'echo "Hi!";' を渡さなければならないということです。 適切に PHP タグを使えば、PHP モードからいったん抜けてもう一度 PHP モードに戻るということも可能です。 たとえば、このようになります。 'echo "PHP モード!"; ?>HTML モード!<?php echo "ふたたび PHP モード!";'

出典:PHP マニュアル eval

ロリポップ!FTP で 公開フォルダ に composer.phar がインストールされたのが確認できます。

ロリポップ!FTP で 公開フォルダ に composer.phar がインストールされたのが確認できます。

PHP8.1のパスを通します。

export PATH="$PATH:/usr/local/php/8.1/bin"
export PATH="$PATH:追加したいPATH"

ロリポップ!PHPのパス

環境変数の設定

.bash_profile に PHP8.1のパスを登録します。

nanoエディタで.bash_profile を開き

nano ~/.bash_profile
export PATH="$PATH:/usr/local/php/8.1/bin"

を記述し保存します。

  1. 「Ctrl + X」を押しnanoエディタを終了します。
  2. 「Y」を入力しエンターキーを押します。

PATH変数に登録されたか確認します。

echo $PATH

パスが設定されました。

パスが設定されました。

Composer で Sentinel を インストール

公開したいサイトのフォルダで以下のコマンドを実行します。

php composer.phar require cartalyst/sentinel "^5.0"

公開したいサイトのディレクトリにvendorというディレクトリが出来ました。

公開したいサイトのディレクトリにvendorというディレクトリが出来ました。

composer を update します。

composer update

必要なクラスが使えるか確認します。

composer require illuminate/database illuminate/events symfony/http-foundation
000000049126impression?a id=3910022&p id=1555&pc id=2816&pl id=49126

Sentinel用データベースの作成

ロリポップ! 0にSentinel用のデータベースを作成します。

「サーバーの管理・設定」「データベース」をクリックします。

サーバーの管理・設定 データベース をクリックします。

作成をクリックします。

作成をクリックします。

データベースを「作成するサーバー」「データベース名」「接続パスワード」を入力し 作成をクリックします。

データベースを 作成するサーバー データベース名 接続パスワード を入力し作成をクリックします。

確認画面がでるので OK をクリックします。

確認画面がでるので OK をクリックします。
000000051838impression?a id=3951674&p id=3614&pc id=8760&pl id=51838

SSHで cdコマンド を使い vendorフォルダ内の mysql-5.6+.sql があるフォルダに移動します。

cd web/公開フォルダ/vendor/cartalyst/sentinel/schema

mysql にログインします。

mysql -h ①MySQLホスト名 -u ②ユーザー名 -p

MySQL の行にある Admin をクリックします。
mysql -h mysql****.lolipop.lan -u **** -p

パスワードを入力します。

作成したデータベースに移動します。

use ****-auth

Sentinel用のテーブルを作成します。

SOURCE mysql-5.6+.sql;

Sentinel用のテーブルが作成されました。

Sentinel用のテーブルが作成されました。
000000049126impression?a id=3910022&p id=1555&pc id=2816&pl id=49126

ユーザーを登録して有効にします。

<?php 
       
       // 必要なクラスをインポートします。
       use Cartalyst\Sentinel\Native\Facades\Sentinel;
       
       // requireなしでPHPのクラスを使えるようにします。
       require 'vendor/autoload.php';
       
       // データ操作を行う為の機能 Eloquent を使用するために Capsule インスタンスを作成
       $capsule = new Capsule;
       
       $capsule->addConnection([
           'driver'    => 'mysql',
           'host'      => 'mysql****.lolipop.lan',
           'database'  => '****-auth',
           'username'  => '****',
           'password'  => '****',
           'charset'   => 'utf8',
           'collation' => 'utf8_unicode_ci',
       ]);
       
       $capsule->bootEloquent();
       // ユーザー情報
       $credentials = [
       'email' => 'info@example.com',
       'password' => 'password',
       ];
       
       // ユーザーを登録して有効にします。
       $user = Sentinel::registerAndActivate($credentials);
       ?>

ユーザーが登録され有効になりました。

ユーザーが登録され有効になりました。
000000051838impression?a id=3951674&p id=3614&pc id=8760&pl id=51838

BlueGriffon でログインフォームの作り方

BlueGriffon でログインフォームの作り方を紹介します。

login
BlueGriffon でログインフォームの作り方を紹介します。 BlueGriffonを起動 BlueGriffonを起動し「新規作成」をクリックします。 D…
jikuu.info

Sentinel用データベース接続設定 外部ファイル化

ロリポップレンタルサーバー 0とローカルサーバーでデータベース接続設定が異なるので外部ファイル化します。

<?php 
       
       // 必要なクラスをインポートします。
       use Cartalyst\Sentinel\Native\Facades\Sentinel;
       
       // requireなしでPHPのクラスを使えるようにします。
       require 'vendor/autoload.php';
       
       // データ操作を行う為の機能 Eloquent を使用するために Capsule インスタンスを作成
       $capsule = new Capsule;
       
       $capsule->addConnection([
           'driver'    => 'mysql',
           'host'      => 'mysql****.lolipop.lan',
           'database'  => '****-auth',
           'username'  => '****',
           'password'  => '****',
           'charset'   => 'utf8',
           'collation' => 'utf8_unicode_ci',
       ]);
       
       $capsule->bootEloquent();
       ?>

sentinel.php として partsディレクトリ に保存します。

ログイン(認証)します。

<?php 
       
       // 必要なクラスをインポートします。
       use Cartalyst\Sentinel\Native\Facades\Sentinel;
       
       // Sentinel用データベース接続設定を読み込みます。
       include_once 'parts/sentinel.php'; 

       // ユーザー情報
    $user = $_POST['email'];
       $password = $_POST['password'];
       
       $credentials = [
           'email' => $user,
           'password' => $password,
       ];
       
       // 認証します。
       Sentinel::authenticate($credentials);

       // ログインしているかどうかを確認します。
    if($user = Sentinel::check()){
           echo "ログインしています。";
      // ログイン時に実行したいプログラム。
       } else {
           echo "ログインしていません。";
       }
       ?>

Sentinel ログイン認証で作ったサイト

2012 05 10 1
お金のかかる エクステリアDIY 自分でやりたいのが心情。自分がやってきたエクステリアDIYをまとめてみました。五十鈴エクステリアの物置の鍵を取り替えました。五…
jikuu.xyz
000000069918impression?a id=3910022&p id=1555&pc id=2816&pl id=69918

ホームページ 公開方法

ホームページ 公開方法
ホームページの公開方法を紹介します。 ホームページ の 公開 FFFTP の 使い方 FFFTP 使い ホームページを公開する方法 を紹介します。 ムームードメ…
jikuu.work

参考

SENTINELBY CARTALYST