Laravel8 ubuntu20


phpmyadminもいれているため、ちょっと長いです。
多分操作が面倒くさくなるのでまずvimを入れましょう

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install vim

PDO関連のドライバーやその他のパッケージをインストールする

sudo apt-get install php-intl
sudo apt-get install apache2 php php-gd mysql-server php-mysql php-fpm
sudo apt-get install php-zip php-mbstring php-xml php7.4-cli php-dev
sudo apt-get install php-mbstring php-xml php-json 


apache2関連の設定

sudo apt-get install libapache2-mod-php
sudo apt-get install apache2
sudo systemctl enable apache2
sudo systemctl restart apache2

PDO関連のドライバー(sqlite)を入れておく

sudo apt-get install php7.4-sqlite3

mysql
※注意事項
user 
pass
は自分で作成してください

パス初期化

sudo mysql_secure_installation
このときにパスワードを決めてください。

sudo mysql -u user -p

GRANT ALL ON user IDENTIFIED BY 'pass';

select User,Host from mysql.user;

CREATE USER 'user'@'localhost' IDENTIFIED BY 'pass';

GRANT SELECT ON *.* TO 'user'@'localhost' IDENTIFIED BY 'pass';

sudo mysql -u user -p

権限付与
↓
grant all on *.* to user @localhost;

phpmyadmin
コマンド打つの面倒だし、mysqlを使うんだよなというときの場合。

sudo apt-get install phpmyadmin

Webサーバの種類を聞かれるので「apache2」を選択。
dbconfig-commonで設定しますか?と聞かれるので「yes」を選択。続いてMySQLサーバ上の「phpmyadmin」ユーザのパスワードを聞かれるので2回入力。


sudo vi /etc/apache2/conf-available/phpmyadmin.conf

以下をコピペ
以下のIPのみ、自分のサーバーのIPアドレスを編集してください

# phpMyAdmin configuration
Include /etc/phpmyadmin/apache.conf

<Directory /usr/share/phpmyadmin>
   Order deny,allow
   Deny from all
   Allow from IP
</Directory>
------------------------------
sudo a2enconf phpmyadmin.conf
sudo systemctl restart apache2

色々設定がすみました。
そろそろ本題に入ります。

sudo apt-get  install curl

composerを入れておこう!!

curl -sS https://getcomposer.org/installer
sudo apt-get install composer
which composer

パス設定の場所を変えよう(mv)でね

sudo mv composer /usr/local/bin/composer
which composer

所有権の設定を変えよう

sudo chmod 755 /usr/local/bin/composer
export PATH=/usr/local/bin:$PATH
which composer

Laravel自体のインストールとかパスとか色々

composer global require "laravel/installer"
export PATH="$PATH:/.config/composer/vendor/bin"
source ~/.bashrc

インストールからコレクティブの設定まで

composer create-project --prefer-dist laravel/laravel Laravelmixapp
cd Laravelmixapp
composer update
composer install 
composer require "laravelcollective/html"

ここで念の為確認します。
php artisan --version

.envをsqlite使用する設定に修正

vi .env
.envの中身


APP_NAME=Laravel
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost

LOG_CHANNEL=stack

DB_CONNECTION=sqlite
#DB_HOST=127.0.0.1
#DB_PORT=3306
#DB_DATABASE=homestead
#DB_USERNAME=homestead
#DB_PASSWORD=secret

BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1

MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

git clone 時
vi .envは上記コピペ後以下

php artisan key:generate

sqlite の設定

config/database.php
の 'default' => env('DB_CONNECTION', 'DB')

touch database/database.sqlite

以下もう一つのデータベースの設定
config/database.php


<?php
use Illuminate\Support\Str;
return [
    /*
    |--------------------------------------------------------------------------
    | Default Database Connection Name
    |--------------------------------------------------------------------------
    |
    | Here you may specify which of the database connections below you wish
    | to use as your default connection for all database work. Of course
    | you may use many connections at once using the Database library.
    |
    */
    'default' => env('DB_CONNECTION', 'sqlite'),
    /*


'default' => env('DB_CONNECTION', '')なので
sqliteへと変更

サーバ立ち上げです。

php artisan serve

最後にタイムゾーンの設定
config/app.php


    'timezone' => 'Asia/Tokyo',

    /*
    |--------------------------------------------------------------------------
    | Application Locale Configuration
    |--------------------------------------------------------------------------
    |
    | The application locale determines the default locale that will be used
    | by the translation service provider. You are free to set this value
    | to any of the locales which will be supported by the application.
    |
    */

    'locale' => 'ja',

下記コマンドでコントローラー開発

php artisan migrate