laravel6のwebアプリをロリポップ スタンダードプランで動かしたときに結構時間かかったのでメモを残す。
##作業環境
Win10 home
Laravel 6.20
PHP 7.4
MariaDB 10.6
##SSHでロリポップへ接続
ロリポップの管理画面からSSHでの接続情報を入手して入力する。
(Git Bashを使用したが、PowerShellなどでも同じだと思う)
ssh (アカウント)@(サーバー) -p(接続ポート)
ssh abcde-123456789@abc.lolipop.jp -p1234
次にパスワードを聞かれる。
自動生成された30文字くらいの文字列なので間違えないよう慎重に入力する。
(パスワードは入力しても何も表示されないので何文字入力したかもわからない)
正しいパスワードを入力すると下記のように表示される。
[(アカウント)@(サーバー番号) ~]$
[abcde-123456789@abc123 ~]$
##PHPのパスを通す
この時点ではパスが通っておらずphp -v
を実行してもPHPのヴァージョンを確認できない。
$ export PATH="$PATH:/usr/local/php/7.4/bin"
上記を実行することでphp -v
が通るようになる。
ただ、このままでは毎回パスを通さないといけなくて面倒なので、.bash_profileファイルを作成する。
$ vi ~/.bash_profile
viコマンドで.bash_profileを開いたら、「i」キーを押して「挿入」モードにする。
PATH="$PATH:/usr/local/php/7.4/bin"
上記を入力して「esc」キーを押して:wq
で保存する。
これで今後もパスが通った状態となる。
##Composerをインストールする
下記コマンドを実行してwebディレクトリへ移動。
$ cd web
ここに下記を実行してcomposerをインストールする。
$ /usr/local/php/7.4/bin/php -r "eval('?>'.file_get_contents('https://getcomposer.org/installer'));"
インストールしたら一応composer -v
を実行してcomposerがインストールされているか確認する。
##FTP接続してファイルを転送する
今回設置するWebアプリはGitHubなどに上げていないのでFTPで転送する。
Windows10のエクスプローラーを起動して、アドレスバーにロリポップのFTPサーバーアドレスを入力。
(パスワードなどのFTPサーバー情報は、ロリポップの管理画面からユーザー設定 → アカウント情報
で入手する。FTPサーバーアドレスはWebDAV
の欄に記載されている)
WebDAVのアカウントとパスワードを入力して接続する。
任意のディレクトリを作成しそこへ必要なファイルを転送。
.git
、node_modules
、vendor
の3ディレクトリ以外は全ファイルを転送した。
今回は.env
ファイルも転送したが、データベースの接続情報は開発環境のままなので、エディタでロリポップのデータベース用に内容修正。
##composer updateを実行
SSH接続しているGitBashに戻り、composer update
を実行したがエラーで停止してしまった。
$ composer update
下記のようなエラーが出た。
Loading composer repositories with package information
Warning from https://repo.packagist.org: Support for Composer 1 is deprecated and some packages will not be available. You should upgrade to Composer 2. See https://blog.packagist.com/deprecating-composer-1-support/
Updating dependencies (including require-dev)
mmap() failed: [12] Cannot allocate memory
mmap() failed: [12] Cannot allocate memory
PHP Fatal error: Out of memory (allocated 679682048) (tried to allocate 8592000 bytes) in phar:///usr/local/bin/composer/src/Composer/Util/RemoteFilesystem.php on line 462
Fatal error: Out of memory (allocated 679682048) (tried to allocate 8592000 bytes) in phar:///usr/local/bin/composer/src/Composer/Util/RemoteFilesystem.php on line 462
メモリが足らんということらしいので、エラー内容から検索して下記を実行。
$ php -d memory_limit=-1 ../composer.phar install
上記コマンドを実行すると、composer updateが再開し無事終了。
ログイン画面を表示することができた。
##参考サイト
今回はいろいろ調べ回りましたが、主に下記2サイト様を参考にさせていただきました。
非常に助かりました。ありがとうございました。