iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 26
1
Software Development

PHP新手30天實戰金流系列 第 26

[Day26]平台部署 GCP, Apache, Laravel

  • 分享至 

  • twitterImage
  •  
tags: PHP新手30天實戰金流, Laravel6

前言

我們部署在最簡單的 Google Compute Engine 上。

Outline

  • 虛擬機
  • 環境設定
  • 啟動專案

虛擬機

* step 1 建立一台虛擬機

  • 我們作業系統選擇 Ubuntu 18 (單純因為筆者比較熟悉XD),其他都用預設值
  • 試打指令
    登入 Google Cloud Shell 主控台,然後開啟命令列工具,gcloud config list project 列出專案 ID
    https://ithelp.ithome.com.tw/upload/images/20191013/2010215576I4Cla813.png

* step 2 進入虛擬機

官方有提供 Cloud Shell,不過瀏覽器上操作容易有延遲,建議改用本機的 terminal 建立 ssh 連線至虛擬機

  1. 下載 sdk(用 homebrew下載)安裝後才有 gcloud 指令可以用
  2. 開啟本機的 terminal 下指令 gcloud beta compute ssh "機器名稱"
    (會先設定 ssh key 的 passphrase)

* step 3 下載常用套件

  • sudo apt-get install git-all
    下載 專案
  • git clone -b migrate https://github.com/Yu-hanCheng/shopping_cart.git
  • php7.3 on Ubuntu 18
    Ubuntu 預設 php 7.2, 可以用下面指令更新為 7.3
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install -y php7.3
  • Install composer on Ubuntu 18
    curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

環境設定

Apache 設定

  1. 在 /etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:80>
  
        ServerAdmin webmaster@localhost
        DocumentRoot /home/sarahcheng/taiwan/public

        <Directory /home/sarahcheng/taiwan>
                AllowOverride All
                Require all granted
        </Directory>
</VirtualHost>
  1. 開起Apache 的 mod_rewrite 實現URL的跳轉
    sudo a2enmod rewrite
  2. sudo systemctl restart apache2 重啟apache (sudo systemctl status apache2)
  3. vim /var/log/apache2/error.log, vim /var/log/apache2/access.log

權限設定

  1. 新增群組 taiwan groupadd taiwan
  2. 將使用者加入 taiwan 群組 gpasswd -a 使用者名稱 taiwan
    (之後還有其他協作者, 直接加入 taiwan 群組即可有相同編輯權限)
  3. 將 web server(www-data) 加入 taiwan 群組 gpasswd -a www-data taiwan
  4. 將專案的擁有者設定為 chown -R 使用者名稱.taiwan shopping_cart/
  5. 設定檔案權限 sudo find taiwan/ -type f -exec chmod 2660 {} \;
  6. 設定目錄權限 sudo find taiwan/ -type d -exec chmod 2770 {} \;
    目錄要給執行的權限 apache 才有辦法正確拜訪

Mysql 設定

  1. sudo /etc/init.d/mysql start
  2. sudo mysql -u root
    進到 mysql 環境後
  3. SELECT User, Host, plugin FROM mysql.user; 看看有哪些使用者
  4. CREATE USER 'sarahcheng'@'localhost' IDENTIFIED WITH mysql_native_password BY 'www^0^Yoyo409'
  5. GRANT ALL PRIVILEGES ON *.* TO 'sarahcheng'@'localhost';
  6. quit
    換使用者
  7. sudo mysql -u sarahcheng -pwww^0^Yoyo409

啟動專案

所需套件安裝

  • composer install
  • sudo npm install
  • sudo npm run dev

填充資料

  • php artisan migrate

Start


上一篇
[Day25]平台串金流--PAYPAL migrating V1 to V2
下一篇
[Day27]平台串金流–善用 postman 之 import
系列文
PHP新手30天實戰金流34
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言