3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

51歳からのプログラミング 備忘 XREA様の無料サーバーに ローカル Laravel のプロジェクトをアップロード 未完編集中

Last updated at Posted at 2019-11-28

Laravelを導入するだけで丸1日潰れた。でも、先輩方がサイトで記録を残してくれているので、こんな僕でもなんとか独学で!参考にするのなら、他のサイトがおすすめ!

#参考サイト様

下記様、大変にお世話になりました。ありがとうございます!

tanidaiz.com様
@haessal様
@t_mitarai様

#はじめに
無料レンタルサーバーは XREA様
方法は、XREAに、
・ teraTarmを使って、ローカルで作成したLaravelをアップロードする方法
  XREAのファイルマネージャーでもZIPをあげられる

#SSH登録と許可

   説明
XREA無料版の登録 XREAにログインして無料版を申し込む
SSH登録 alue-domain GMO管理画面・コントロールパネル

サーバー/XREA

コントロールパネル/ウェブ

FTP設定で「SSH登録」を選択
SSH許可 XREA

サイト設定

ツール/セキュリティ

SSH接続IP許可

#SSH接続
teraTermの場合なら
teraTerm起動
・ ドメイン(IPアドレス)
・ ユーザー(FTP設定のアカウント)
・ パスフレーズ(FTPのパスワード)
を入力

   説明
ドメイン alue-domain GMO

コントロールパネル

アカウント@サーバー/「IPアドレス XXX.XXX.XXX.XXX」のIPアドレス
UserとPass XREA

サイト設定

FTP設定」

アカウントとパスワード

#composerの導入
説明はこちら-> composer installation

XREAでは、phpコマンドはCLI版を使うそうです。
導入するlaravelで用いるPHPのversionを確認しましょう。
XREAのPHP、laravelのPHP、コマンドに使うPHP($ php72cli)の各PHP versionは揃えましょう!

teraTarmで、root直下(/virtual/UserAccount/)に入って、下記を実行するんだコレ!

$ php72cli -r "copy('...
$ php72cli -r "if(...
$ php72cli composer-setup.php
$ php72cli -r "unlink(...

###composerを起動
そして、composerをインストした階層で下記を実行するんだコレ!

$ php72cli composer.phar
// ↓
// COMPOSERのかっこいいのが表示される

composer.jsonもいれとこか

$ php72cli composer.phar init

#Laravelの導入

##ダウンロード
参考にさせていただきました

/virtual/UserAccount/laravel に移動して

php72cli -d register_argc_argv=1 ~/composer.phar create-project lar
avel/laravel myProject "6.0.2" --prefer-dist --no-dev

(version laravel 6.0.2)

myProject下に移動して

npm install

そしたら次節のkey:generateから以降を

myProject下で

php72cli artisan migrate

##ローカルで開発したlaravelをXREAにUPロード!
・ laravelファイルをZIPなどで圧縮
・ アップローダーでZipをアップ!
  teraTarmならクリックドロップ!
  XREAのファイルマネージャーなら、ZIP形式でアップロードを選択!
 (これだとアップロード時に解凍してくれる!)
・ 不要なファイル(phpunit)を削除!

teraTarm で zip を解凍するのは

$ unzip myProject.zip

そしたら次に myProject に移動してから
artisan key:generate します

virtual/UserAccount/laravel/myProject/
// myprojectに入って以下を行います

$ php72cli artisan key:generate

同じところで

php72cli artisan migrate

これでエラーが出たら修正

そしたら
myProject/publicを、public_html(DocumentRoot)に移動します。
/virtual/UserAccount/public_html -- index.php
               |- .htaccess
               |- favicon.ico
               |- robots.txt
って感じにします。
そしたらindex.phpを変更します。
このままだと、index.php の require ./autoload.php で require されずに 500 エラーになります。

##index.htmlの変更
/public_html/index.php を以下のように修正

// ↓ require __DIR__.'/../vendor/autoload.php'; 
require '/virtual/UserAccount/laravel/myProject/vendor/autoload.php';

// ↓ $app = require_once __DIR__.'/../bootstrap/app.php';
$app = require_once '/virtual/UserAccount/laravel/myProject/bootstrap/app.php';

これで大丈夫かな?
http://UserAcount.xxx/
でアクセス!

#Error
##Whoops, looks like something went wrong
phpのバージョンが違っているので、表示できません、っていうエラー?。

Whoops, looks like something went wrong.
(1/1) FatalThrowableError
Parse error: syntax error, unexpected '?', expecting variable (T_VARIABLE)
in Translator.php line 91

011128.JPG

XREAで使っているPHPバージョンと、導入したlaravelで使ってるPHPバージョンがあってなかった、ってことでした。

ローカルのlaravel XREAのlaravel XREAのphp teraTermのphp の各レベルは合わせるのが吉かな?

##laravel導入時に、phpunit系のエラーが出て中断

php72cli -d register_argc_argv=1 composer.phar create-project --no-dev --prefer-dist laravel/.....

--no-devでインストールしないように指定したんだけれど、

Your requirments could not be resolvel to an installable set of packages

Problem 1
-phpunit/phpunit ...
...

というレッドエラーが出た。
すべてphpunitエラーなので、今回はインストールで--no-devは指定せず、エラー発生後にディレクトリーからphpunitを削除して、再インストールすることにしたよ。

削除方法はいろいろあるけれど、今回は、
XARE - サイト設定 - FTP設定 - ファイルマネージャー - laravelホルダ - phpunit 削除
で、他のファイルを確認しながら削除してみました。

再インストールね!

$ php72cli -d register_argc_argv=1 composer.phar update

http://www.UserDomain/myProject
無事に
011128-2.JPG

##導入したLaravelファイルが見当たらない! No such file or directory
これは迷いました!

調べてたら、転送する時の文字コードが違うのでは(エンコード)?とか出てきましたが、最終的にLaravelプロジェクトの名前がよくなかったよう。当初は laravel01 というプロジェクト名をアップしたら、実際にファイルはアップされているのですが、teraTarmでは認識されませんでした。プロジェクト名を laravelapp とか、数字の入ってないのに変更したらOKだった!

##DocumentRootにindex.phpを配置 500Error
composerでlaravelを導入すると、vedorディレクトリはcomposerと同じ階層に作成されるのだけれど、laravelを他のディレクトリに移したり、vendorディレクトリを移動させると、エラーになってしまう。初歩的なミスをしてました。
これに関しては↓を参照

##vendorフォルダがない

composerをインストールするとvendorフォルダがなかった。
php72cli composer.phar updateでvendorを作ってもうまくいかなかった。
なのでローカルで作成したLaravelのvendorを入れてみた。置く場所は

/virtual/UserAccount/laravel/myProject/vendor

でlaravelのmyProject/publi/index.phpのindex.phpを書き換えます。

// ↓ require __DIR__.'/../vendor/autoload.php'; 
require '/virtual/UserAccount/laravel/myProject/vendor/autoload.php';

// ↓ $app = require_once __DIR__.'/../bootstrap/app.php';
$app = require_once '/virtual/UserAccount/laravel/myProject/bootstrap/app.php';

下記調査
Symfony\Component\Debug\Exception\FatalThrowableError
Class 'App\Oldcat' not found

#Xreaのドメイン削除と再登録
管理画面からドメインを削除する

[契約サーバーがありません]

最初の登録メールにある[ドメインとサーバーを利用する]

[サーバー利用登録・購入]

[Xrea(エクスリア)の利用・申し込み]

[Xrea(無料)を取得]

[無料アカウントを作成]

[Xreaアカウントの取得・作成画面はこちら]

3
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?