学習

【yps1】#task2 laravelインストールでエラー

こんにちは、mihoka(@mihoka_work)です。

yps1 の #task2 の学習メモです。
手順というよりは、わたしが調べたことや参考URLを中心に書きます。

手順

今回はDBの設定、WEBサーバ、PHP の設定です。

  • MySQL5.7
  • Nginx1.8
  • PHP7.3
  • Laravel7
  • Welcome画面表示

詳細な手順はこちらです。

今回調べたところ

MySQLの初期パスワード

これは手順にあったのですが、
MySQLのroot ユーザの初期パスワードはインストールログに出力される、とのこと。

以下で確認できます。(XXXXXがパスワード)

$ sudo grep -i root /var/log/mysqld.log
[Note] A temporary password is generated for root@localhost: XXXXX

ちなみにパスワード変更は MySQLログイン後に下記コマンドを実行します。

mysql> SET PASSWORD =PASSWORD('XXXXX')

composer とは

php で必要なライブラリと依存関係があるものを一括でとってきてくれる機能とのこと。

つみれ汁食べたいな~ってなったときに、
一からつみれ作るのは大変だからつみれは売ってるの買ってきちゃおう、的なものだと理解しました。
プログラムはつみれを他の材料をあわせてつみれ汁にしましょうという感じ?違うかな?

nginx

初めて聞いたのですが、WEBサーバのプロセスとのこと。
世界第2位とのことで自分の無知さを実感。

公式サイトはこちら

laravel とは

PHPのフレームワークとのこと。
今はそれ以上の知識はありません。
これから勉強していきます。

laravel インストールでエラー

下記のエラーになりました。

$ sudo -s /sbin/mkswap /var/swap.1
Setting up swapspace version $ composer create-project --prefer-dist laravel/laravel yps

Creating a "laravel/laravel" project at "./yps"
Installing laravel/laravel (v7.12.0)
- Installing laravel/laravel (v7.12.0): Loading from cache
Created project in /var/www/html/yps
> @php -r "file_exists('.env') || copy('.env.example', '.env');"
Loading composer repositories with package information
Updating dependencies (including require-dev)

mmap() failed: [12] Cannot allocate memory
PHP Fatal error: Out of memory (allocated 607580160) (tried to allocate 20480 bytes) in phar :///usr/local/bin/composer/src/Composer/Json/JsonFile.php on line 288

Fatal error: Out of memory (allocated 607580160) (tried to allocate 20480 bytes) in phar:///u sr/local/bin/composer/src/Composer/Json/JsonFile.php on line 288
Killed

原因

スワップ不足とのこと。

$ free -m
total used free shared buff/cache available
Mem: 989 317 580 12 91 549
Swap: 0 0 0

インスタンスを再起動したので消えていました。

もう1度下記を設定。

$ sudo -s /sbin/mkswap /var/swap.1
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=f543a5ae-2684-4e11-94e8-de489381c93a

$ sudo -s /sbin/swapon /var/swap.1
swapon: /var/swap.1: insecure permissions 0644, 0600 suggested.

$ free -m
total used free shared buff/cache available
Mem: 989 319 74 12 595 517
Swap: 1023 0 1023

再度 laravel をインストール。
無事にインストールできました。

補足:恒久的にswapを追加するには

/etc/fstab に設定します。

/var/swap.1 swap swap defaults 0 0

Laravel7のWelcome画面表示

これがはじめはわかりませんでした。

以下のファイルに書いてHTML書いてありました。

/var/www/html/yps/resources/views/welcome.blade.php

こんな感じで設定するとのこと。

  • routes/web.php
    URL/XXXXの設定(ルーティングという)
  • /resources/view/XXXX.blade.php
    HTMLとか書く(ビュー)

感想

laravel の環境ができてひと安心。

nginx の設定ファイルなど書き方を勉強する。

ララベルという名前がかわいい。