Flarum: 搭建和部署

前提

本文簡要指明如何快速在運行php / Caddy Server的網站上,以子域名的方式部署現代BBS平臺Flarum,我選用的是 FlarumChina 中文優化版。

有用的站點:

下載依賴

  1. 關閉php和服務器;
  2. 首先選下列三樣之一下載:
  1. 在網站根節點建立一個子目錄/bbs(或者其他什麼);
  2. 解壓縮必要的文件:
  • 如果你下載的是部署腳本,把下載下來的index.php解壓縮出來(只有這個東西是有用的),放在剛建的子目錄下。
  • 如果你下載的是完整包,把它的內容解壓縮(不要帶着壓縮根目錄“flarumchina-master”,否則相當於再次創建了一個子目錄你懂的)到剛建的子目錄下。
  1. php.ini中啓用fileinfoexif兩個插件(根據服務器運行的OS不同操作也不同,基本操作就是去掉註釋號“;”,fileinfo還依賴於其他插件,請一併啓用)。

安裝

  1. 打開服務器和php,進入localhost/bbs
  • 如果你用的是自動部署腳本,它會開始自動工作,工作完成後它會銷燬自身,並轉到Flarum的Setup界面
  • 如果用的是完整包,目前應該已經看到了Flarum的Setup界面
  1. 進入MySQL終端,新建一個空數據庫bbs_flarum(名稱自定);
  2. 回到Flarum的Setup界面,輸入論壇名、MySQL的用戶名、服務器、密碼,數據庫就填寫剛纔建立的bbs_flarum即可,數據庫前綴可不填。
  3. 完成設置後,視瀏覽器和服務器配置可能會出現白屏或者404,也可能進入了一個看起來工作正常的論壇。無論哪種,實際上Flarum都已經配置好了。

配置重定向

Flarum的多數功能都需要使用URL重寫,因此必須在服務器上開啓必要的功能。如果使用Caddy之外的其他服務器,請移步這裏:

如果你使用Caddy Server,請在caddyfile中參考下面的內容調整、追加配置:

localhost:80 {
	## 以下是常規配置,你應該已經配置了類似的東西:
	root C:\\www\\root # 修改: root目錄;如果在子文件夾中運行,不要指定/bbs子文件夾
	gzip
	errors error.log {
		404 404.html # 修改: 404頁面;之後用到404的地方也需要修改
	}
	fastcgi / 127.0.0.1:9000 php {
		# 修改: 配置php-cgi
	}
    ## 以下是重寫配置:
    rewrite {
        r  ^/bbs/api.*$ # 修改: /bbs爲論壇子目錄,如果無需設立子目錄就刪掉'/bbs'四個字符,下同
        to /bbs/api.php
        # 意義:請求.../api時轉而請求對於php
    }
    rewrite {
        r  ^/bbs/admin.*$ # 修改: /bbs爲論壇子目錄,如果無需設立子目錄就刪掉'/bbs'四個字符,下同
        to /bbs/admin.php
        # 意義:請求.../admin時轉而請求對於php
    }
    rewrite {
        to {path} {path}/ /bbs/{path} /bbs/{path}/ /bbs/index.php
        # 修改: 上面這行,如果無需設立子目錄,就刪掉'/bbs/{path} /bbs/{path}/ /bbs',注意空格
        # 意義:如果一個請求的資源(如'/assets')在根目錄下找不到就去子目錄找,如果還找不到就轉而請求.../index.php
    }
    rewrite {
        r ^.*?bbs/vendor.*?$ # 修改: /bbs爲論壇子目錄,如果無需設立子目錄就刪掉'/bbs'四個字符
        to /404.html
        # 意義:不允許請求.../vendor
    }
    rewrite {
        r ^.*?bbs/storage.*?$ # 修改: /bbs爲論壇子目錄,如果無需設立子目錄就刪掉'/bbs'四個字符
        to /404.html
        # 意義:不允許請求.../storage
    }
    rewrite {
        r ^.*?bbs/config.php$ # 修改: /bbs爲論壇子目錄,如果無需設立子目錄就刪掉'/bbs'四個字符
        to /404.html
        # 意義:不允許請求.../config.php,這裏面保存了數據庫密碼
    }
    rewrite {
        if {path} match ^.*?bbs/(composer\.(json|lock)|config\.php|flarum|storage|vendor).*?$
        # 修改: 上面這行,子目錄名,如果無需設立子目錄就刪掉'/bbs'四個字符
        to /404.html
        # 意義:不允許請求一堆敏感的東西
    }
}

重啓服務器,論壇應該已經可以正常使用了,測試:右上角點自己→設置後臺

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章