在EC2的Amazon Linux 2上建立Laravel 8环境

为自己做的备忘录。

事先声明一下常见问题。

    • Laravel8 には php7.3 以上が必要!!

 

    yum で必要なバージョンが入ってくれるとは限らない!!

我们要好好确认一下(自我警示)。

在准备阶段,启动EC2实例。

确认当前所在的区域后,选择「EC2」->「启动实例」。
选择 Amazon Linux 2 AMI (HVM),SSD卷类型。
在安全组中添加 http(80) 和 https(443)。

image.png

各种安装

首先,在当前状态下执行yum update。

$ sudo yum update

安装PHP7.3

如果毫无考虑地yum安装php,就会安装5系,这是不可接受的。
可以尝试使用remi,但因为是AmazonLinux2,所以应该使用Amazon Linux Extras。

$ sudo amazon-linux-extras install php7.3
$ sudo yum install php-mbstring php-dom    # 追加で必要なものは yum でOK

安装和更改 httpd2.4 的设置

在这里,你可以直接使用 yum 进入。

$ sudo yum install httpd
$ sudo systemctl start httpd                        # httpd 起動
$ sudo systemctl enable httpd                       # 以後システム起動とともに httpd も起動
$ sudo usermod -a -G apache ec2-user                # ec2-user を apache グループに追加
$ exit                                              # usermod 反映のため一旦ログアウト(ログインしなおす)
$ sudo chown -R ec2-user:apache /var/www            # /var/www 以下のオーナー、グループを ec2-user:apache に変更
$ sudo chmod 2775 /var/www && find /var/www -type d -exec sudo chmod 2775 {} \; # ディレクトリの許可設定を変更
$ find /var/www -type f -exec sudo chmod 0664 {} \; # ファイルの許可設定を変更

对于HTTPS的支持。

$ sudo yum install mod_ssl             # mod_ssl をインストール
$ cd /etc/pki/tls/certs                # ディレクトリを移動して…
$ sudo ./make-dummy-cert localhost.crt # オレオレ証明書を作成
$ sudo vi /etc/httpd/conf.d/ssl.conf   # ssl.conf を開いて、下記の行をコメントアウト
          SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
$ sudo systemctl restart httpd         # httpd 再起動
image.png

MariaDB 的安装

我們可以從Amazon Linux Extras 安裝MariaDB。目前最新版本是10.5。由於使用yum安裝會得到5系列,所以這是不可接受的。

$ sudo amazon-linux-extras install mariadb10.5  # mariadb をインストール
$ sudo systemctl start mariadb                  # mariadb を起動
$ sudo systemctl enable mariadb                 # mariadb をシステム起動時に起動
$ sudo mysql_secure_installation                # mariadb のルートパスワード設定。その他の項目も全てY
image.png
MariaDB[(none)」> create database laravel; 

准备Laravel8

安装composer。

$ sudo curl -sS https://getcomposer.org/installer | php  # composer をインストール
$ sudo mv composer.phar /usr/local/bin/composer        # composer.phar を "composer" で動かせるように bin 下へ

克隆 Laravel

确认为8.x。

$ sudo yum install git       # git が入っていなかったらインストール
$ cd /var/www                # httpd のドキュメントルートへ移動
$ git clone https://github.com/laravel/laravel.git # クローン

更改 httpd.conf 的配置

$ sudo vi /etc/httpd/conf/httpd.conf   # DocumentRoot変更、Directoryディレクティブ追加
        DocumentRoot "/var/www/laravel/public"

       <Directory /var/www/laravel/public>
           AllowOverride All
       </Directory>
$ sudo systemctl restart httpd         # 再起動

在Laravel克隆下获取包裹。

$ cd /var/www/laravel
$ composer update

更改权限以适应需要的地方

$ sudo chmod -R 777 /var/www/laravel/storage
$ sudo chmod -R 777 /var/www/laravel/bootstrap/cache

创建一个名为 .env 的文件。

$ cp .env.example .env
$ vi .env
    APP_URL、DB_* を設定

生成应用程序密钥

$ php artisan key:generate

通过迁移和分流来构建数据库

$ php artisan migrate 
$ php artisan db:seed  

做完

image.png

文献引用

广告
将在 10 秒后关闭
bannerAds