iT邦幫忙

2022 iThome 鐵人賽

DAY 1
0
自我挑戰組

laravel+vue 學習系列 第 1

Day1. laravel 環境建置

  • 分享至 

  • xImage
  •  

一、 開發環境

  • 作業系統: Window 10
  • 開發環境: XAMPP
    • php: 7.4.11
    • 資料庫: mariadb 7.4.11
    • phpmyadmin 5.0.3
  • laravel: 8

二、 XAMPP 安裝

  1. 官網下載位址: https://www.apachefriends.org/zh_tw/download.html (選符合 laravel 8 環境的版本)
  2. 安裝步驟依照需求點選安裝介面的選項,自己安裝時有調整的地方
    a. 安裝位置: D:/xampp ,會避免與作業系統同一磁區
    b. 因環境不需要其他軟體 FileZilla, Tomcat 等,所以取消勾選安裝
  3. 安裝後啟動 XAMPP 開啟 Apache 與 MySQL, 確認
    https://ithelp.ithome.com.tw/upload/images/20220906/201281277KRMEg8U3N.png
  4. 無法安裝成功原因
    以前常遇到 window 沒有安裝 vc2015 (實際要看 apache 需要的版本)轉發套件,導致無法正確安裝,其他問題需要看 log 紀錄或錯誤訊息

三、 XAMPP > Apache 設定
參考設定(可以先跳過直接安裝composer 或 laravel,日後依現實狀況再調整)

  1. xampp\apache\conf\httpd.conf
    # 將 indexes 選項移除, 避免伺服器找不到檔案列出整個目錄結構
    # Options indexes FollowSymLinks Includes ExecCGI
    Options FollowSymLinks Includes ExecCGI
    
    # 載入 Apache 模塊
    LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
    
    # 防止 DDos 攻擊
    LoadModule reqtimeout_module modules/mod_reqtimeout.so
    
    # 開啟 SSL
    LoadModule ssl_module modules/mod_ssl.so
    
    # 關閉不需要引入的設定檔
    #Include conf/extra/httpd-userdir.conf
    #Include conf/extra/httpd-info.conf
    #Include conf/extra/httpd-manual.conf
    #Include conf/extra/httpd-dav.conf
    #Include "conf/extra/httpd-proxy.conf"
    #Include "conf/extra/httpd-ajp.conf"
    
    # 設定同源防止 iframe 引用網頁
    Header always append X-Frame-Options SAMEORIGIN
    
    # 關閉 trace
    TraceEnable off
    
    # 關閉伺服器版本等資訊
    ServerTokens Prod
    ServerSignature Off
  1. xampp\apache\conf\extra\httpd-mpm.conf
    設定 config 優化 Apache 模式
    a. cmd cd 到 xampp\apache\bin 目錄下
    b. 執行 cmd httpd -V 查看目前使用的模式(圖中模式是 WinNT, 還有其他工作模式Prefork, Worker, Event等)
    c. 依圖中模式設定 httpd-mpm.conf 內容
    d. 此設定可協助在進行壓力測試時調整伺服器的狀態,達到測試的目標
    https://ithelp.ithome.com.tw/upload/images/20220906/20128127xyPDXsloSF.png
    # 找到 WinNT MPM 設定位置
    <IfModule mpm_winnt_module>
        ThreadsPerChild        150
        MaxConnectionsPerChild   0
    </IfModule>
  1. xampp\apache\conf\extra\httpd-xampp.conf
    # 設定訪問 phpmyadmin 權限 
    # Require all granted 修改為 Require local
    Alias /phpmyadmin "D:/xampp/phpMyAdmin/"
    <Directory "D:/xampp/phpMyAdmin">
        AllowOverride AuthConfig
        Require local
        ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
    </Directory>
  1. xampp\apache\conf\extra\httpd-multilang-errordoc.conf
    # 設定伺服器出現錯誤時預設要導向哪裡
    # 這邊先測試修改 HTTP 發生 404 時導 index.html
    ErrorDocument 404 /error/index.html

四、 MYSQL > my.ini 設定

    sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

五、 PHP > php.ini 設定

    # 基本設定
    date.timezone = Asia/Taipei
    display_errors = off
    display_startup_errors= off
    short_open_tag = on
    error_reporting=E_ALL & ~E_NOTICE
    upload_max_filesize = 200M
    post_max_size = 200M
    session.cookie_httponly = 1
    memory_limit = -1
    max_input_vars = 5000;
    expose_php = Off

    # [設定 php extension 資料夾]
    extension_dir = "D:\xampp\php\ext"
    
    # extension 設定
    # 將需要使用的擴展移除前方 ";"
    extension=bz2
    extension=curl

六、 composer 安裝

  1. 至官網下載安裝檔: https://getcomposer.org/download/
  2. 執行安裝
  3. cmd 輸入 composer -V 查看版本
    https://ithelp.ithome.com.tw/upload/images/20220906/201281270PHKUEadjk.png

七、 安裝 laravel/installer

    # cmd 輸入
    composer global require "laravel/installer"

八、 建立 laravel 專案

    # cd 專案總目錄下 e.g. D:\xampp\htdocs\laravel
    # cmd 輸入
    # 方式 1
    laravel new project
    
    # 方式 2
    composer create-project laravel/laravel project "8.*"

.env 檔案設定

  1. 設定資料庫(設定單獨帳號只能訪問 products 資料庫)
    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=products
    DB_USERNAME=products
    DB_PASSWORD=***************
  1. 設定 APP_KEY (網站加解密時會使用到這組key)
    # cmd 輸入
    php artisan key:generate

九、 啟動網站查看初始頁面是否成功啟動
使用 php artisan 命令, 啟動一個網站

    # cd 到 project 目錄下
    php artisan serve

執行後可透過 http://127.0.0.1:8000 訪問到 laravel 網站首頁
https://ithelp.ithome.com.tw/upload/images/20220906/20128127Ld8LFtxAZ3.png
https://ithelp.ithome.com.tw/upload/images/20220906/20128127mtfKn0t9VR.png

十一、 其他
linux 下安裝參考(查看網站、書籍內容整理)
https://bit.ly/3QdBzfG


下一篇
Day2. 目錄結構
系列文
laravel+vue 學習32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言