ロリポップ!で 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 開始タグを含めてはいけません。つまり、
出典:PHP マニュアル eval'<?php echo "Hi!"; ?>'
ではなく'echo "Hi!";'
を渡さなければならないということです。 適切に PHP タグを使えば、PHP モードからいったん抜けてもう一度 PHP モードに戻るということも可能です。 たとえば、このようになります。'echo "PHP モード!"; ?>HTML モード!<?php echo "ふたたび PHP モード!";'
ロリポップ!FTP で 公開フォルダ に composer.phar がインストールされたのが確認できます。
PHP8.1のパスを通します。
export PATH="$PATH:/usr/local/php/8.1/bin"
export PATH="$PATH:追加したいPATH"
環境変数の設定
.bash_profile に PHP8.1のパスを登録します。
nanoエディタで.bash_profile を開き
nano ~/.bash_profile
export PATH="$PATH:/usr/local/php/8.1/bin"
を記述し保存します。
- 「Ctrl + X」を押しnanoエディタを終了します。
- 「Y」を入力しエンターキーを押します。
PATH変数に登録されたか確認します。
echo $PATH
パスが設定されました。
Composer で Sentinel を インストール
公開したいサイトのフォルダで以下のコマンドを実行します。
php composer.phar require cartalyst/sentinel "^5.0"
公開したいサイトのディレクトリにvendorというディレクトリが出来ました。
composer を update します。
composer update
必要なクラスが使えるか確認します。
composer require illuminate/database illuminate/events symfony/http-foundation
Sentinel用データベースの作成
ロリポップ! にSentinel用のデータベースを作成します。
「サーバーの管理・設定」「データベース」をクリックします。
作成をクリックします。
データベースを「作成するサーバー」「データベース名」「接続パスワード」を入力し 作成をクリックします。
確認画面がでるので OK をクリックします。
SSHで cdコマンド を使い vendorフォルダ内の mysql-5.6+.sql があるフォルダに移動します。
cd web/公開フォルダ/vendor/cartalyst/sentinel/schema
mysql にログインします。
mysql -h ①MySQLホスト名 -u ②ユーザー名 -p
mysql -h mysql****.lolipop.lan -u **** -p
パスワードを入力します。
作成したデータベースに移動します。
use ****-auth
Sentinel用のテーブルを作成します。
SOURCE mysql-5.6+.sql;
Sentinel用のテーブルが作成されました。
ユーザーを登録して有効にします。
<?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);
?>
ユーザーが登録され有効になりました。
BlueGriffon でログインフォームの作り方
BlueGriffon でログインフォームの作り方を紹介します。
Sentinel用データベース接続設定 外部ファイル化
ロリポップレンタルサーバー とローカルサーバーでデータベース接続設定が異なるので外部ファイル化します。
<?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 ログイン認証で作ったサイト
ホームページ 公開方法
- ホームページ の 公開 FFFTP の 使い方
- ムームードメイン ドメイン更新料 最安
- Eclipse の PHP を ロリポップにアップロード
- ロリポップ で MySQL を アップロード
- PHP の データベース接続情報 を 外部ファイル化
- ロリポップ! に Composer で Sentinel を インストール
- 富士通 PRIMERGY TX100 S3 に CentOS6 をインストールしました。
- リモートPCから SSH を使い Linux にアクセスし操作しています。