Jack 发布于5月14日 分享 发布于5月14日 (已编辑) ------------------------------------------------------------- 安裝Sphinx CJK搜尋中文 for vBulletin 6.0 (Debian使用) ------------------------------------------------------------- 需要修改 vbulletin-sphinx.php 因此在附件可以下載 vbulletin-sphinx.php ----------------------------------------------------------------- 安裝套件、依賴包 ----------------------------------------------------------------- 安裝java sudo apt-get install default-jdk java -version sudo apt-get install openjdk-17-jdk 瀏覽目前安裝的python3版本 python3 --version 得知已安裝 Python 3.11.2 安裝 python-devel sudo apt install aptitude sudo aptitude install python3-dev 瀏覽目前的glibc版本 ldd --version 得知已安裝 ldd (Debian GLIBC 2.36-9+deb12u7) 2.36 目前的glibc版本 2.36,應該不用更新 安裝gcc sudo apt-get install gcc 瀏覽目前的python版本 python3 --version 得知已安裝Python 3.11.2 安裝Jpype1 pip3 install --break-system-packages Jpype1 安裝 libpq 15.6 sudo apt-get install libpq5 sudo apt-get install libpq-dev pip安裝sphinx,也許需要相關的依賴包 pip3.11 install --break-system-packages sphinx ----------------------------------------------------------------- 下載Sphinx二進制包 & make編譯 ----------------------------------------------------------------- Sphinx官網下載 http://sphinxsearch.com/downloads 安裝 Sphinx 3.0.1 http://sphinxsearch.com/downloads/sphinx-3.0.1-7fec4f6-linux-amd64.tar.gz/thankyou.html Sphinx版本太新,會有更多的錯誤 下載完成,SFTP上傳到自己的伺服器,放在 /usr/local/ 目錄 cd /usr/local/ tar zxf sphinx-3.0.1-7fec4f6-linux-amd64.tar.gz 將sphinx-3.0.1目錄,重新命名為sphinx mv sphinx-3.0.1-7fec4f6-linux-amd64 sphinx 開始編譯 cd /usr/local/sphinx/api/libsphinxclient ./configure --enable-id64 --prefix=/usr/local/sphinx make && make install ----------------------------------------------------------------- 在 /usr/local/sphinx/ 建立目錄 ----------------------------------------------------------------- 建立log與data目錄 mkdir /usr/local/sphinx/log mkdir /usr/local/sphinx/data ----------------------------------------------------------------- 配置vBulletin論壇的config.php ----------------------------------------------------------------- vi /home/wwwroot/域名.com/core/includes/config.php 在論壇根目錄/core/includes/config.php檔案的底部,加入以下內容 $config['Misc']['sphinx_host'] = '127.0.0.1'; $config['Misc']['sphinx_port'] = '9306'; $config['Misc']['sphinx_path'] = '/usr/local/sphinx'; //no trailing slash $config['Misc']['sphinx_config'] = $config['Misc']['sphinx_path'] . '/etc/vbulletin-sphinx.php'; 儲存並離開 :wq ----------------------------------------------------------------- vbulletin-sphinx.php 檔案上傳 ----------------------------------------------------------------- vbulletin-sphinx.php 上傳到 /usr/local/sphinx/etc/ 目錄 本帖子的附件可以下載 vbulletin-sphinx.php ----------------------------------------------------------------- 上傳 sphinxsearchfiles 資料夾 ----------------------------------------------------------------- SFTP上傳 sphinxsearchfiles 資料夾 到 /home/wwwroot/域名.com/ 在vBulletin 6.0 論壇程式.zip 的 do_not_upload 資料夾中,可找到 sphinxsearchfiles 資料夾 改為 www www chown www:www -R /home/wwwroot/域名.com/* cd /home/wwwroot/域名.com/ 瀏覽sphinxsearchfiles是否已改為 www www ls -l ----------------------------------------------------------------- 修改 vbulletin-sphinx.php ----------------------------------------------------------------- 修改 vbulletin-sphinx.php vi /usr/local/sphinx/etc/vbulletin-sphinx.php 修改為LNMP一鍵安裝包的PHP路徑 #!/usr/local/php/bin/php -q 將 $myforumroot 更改為確切的論壇根目錄 $myforumroot = '/home/wwwroot/你的域名.com'; $charsetTablesFolder = '/home/wwwroot/域名.com/sphinxsearchfiles'; $charsetTablesPrefix = 'sphinxcharsets_cjk.txt'; 尋找mysql,我安裝mariadb資料庫,所以將mysql改為mariadb type = mysql 改為 type = mariadb 這個不用改 listen = {$config['Misc']['sphinx_port']}:mysql41 本教學還有額外修改程式碼,不過你不用修改,本帖子附件可以下載到 注意:只建議安裝 Sphinx 3.0.1,其他版本的Sphinx在下面執行會有其他錯誤 儲存並離開 :wq ----------------------------------------------------------------- 將 vbulletin-sphinx.php 檔案設置為可執行 ----------------------------------------------------------------- 設置為可執行 chmod +x /usr/local/sphinx/etc/vbulletin-sphinx.php ----------------------------------------------------------------- 啟動服務(daemon) ----------------------------------------------------------------- cd /usr/local/sphinx/ /usr/local/sphinx/bin/searchd --config /usr/local/sphinx/etc/vbulletin-sphinx.php 忽略有關 xxxxxxx_disk 索引的警告,一旦運行,索引器就會建立 如果Sphinx版本太新 (例如 sphinx-3.7.1),會有更多的錯誤 因為vbulletin-sphinx.php是從舊版PHP 7修改來的 ---------------------------------------------------------- 測試sphinx是否運行 ---------------------------------------------------------- ps ax | grep search[d] 如果正常運行,則顯示 /usr/local/sphinx/bin/searchd --config /usr/local/sphinx/etc/vbulletin-sphinx.php 類似的訊息 ----------------------------------------------------------------- 論壇後台打開Sphinx中文搜尋 ----------------------------------------------------------------- 論壇後台 -> 設置 -> 選項 -> 消息搜索選項 -> 啟用搜索引擎 -> 是 搜索索引字的最小長度 -> 2 -> 保存 論壇後台 -> 設置 ->搜索類型 選擇搜索執行 -> Sphinx搜索 -> 進行 論壇後台 -> 維護 -> 清除系統緩存 論壇後台 -> 維護 -> 一般更新工具 -> 重建搜索索引 -> 你確定要清空搜索索引? -> 是 論壇後台 -> 維護 -> 一般更新工具 -> 重建搜索索引 -> 要索引的內容類型 -> 所有 -> 重建搜索索引 ---------------------------------------------------------- 重開機時,將自動啟動Sphinx ---------------------------------------------------------- 網路找到的開機啟動Sphinx腳本 寫一個sphinx.sh cd /usr/local/bin vi sphinx.sh 將下面幾行複製貼上 (Debian要用的,與CentOS有些微不同之處) #!/bin/sh appName="Sphinx" stop(){ /usr/local/sphinx/bin/searchd --config /usr/local/sphinx/etc/vbulletin-sphinx.php --stop > /dev/null 2>&1 ret=$? if [ $ret -eq 0 ]; then action $"Stoping $appName: " /bin/true else action $"Stoping $appName: " /bin/false fi return $ret } start(){ /usr/local/sphinx/bin/searchd --config /usr/local/sphinx/etc/vbulletin-sphinx.php > /dev/null 2>&1 ret=$? if [ $ret -eq 0 ]; then action $"Starting $appName: " /bin/true else action $"Starting $appName: " /bin/false fi return $ret } case $1 in restart) stop start ;; stop) stop ;; start) start ;; esac exit 0 儲存並離開 :wq ----------------------------------------------------- sphinx.sh修改為可執行 ----------------------------------------------------- chmod +x /usr/local/bin/sphinx.sh ----------------------------------------------------- 修改rc.local,開機啟動Sphinx ----------------------------------------------------- 之前寫過 rc.local 教學,為了Debian改用 iptables 防火牆 (開機啟動firewall.sh) 修改rc.local vi /etc/rc.local 將下面這一行 複製貼上到 ..... firewall.sh start 的底下 /usr/local/bin/sphinx.sh start 儲存並離開 :wq 重開機 sudo reboot 測試sphinx是否運行 ps ax | grep search[d] 回到vb論壇 已經可以搜尋中文的2個字 vbulletin-sphinx.zip 本帖最后于5月14日,由Jack编辑 意见的链接 分享到其他网站 更多分享选项…
推荐的帖子
创建帐户或登录后发表意见
你需要成为会员才能发表意见
创建帐户
在我们的论坛注册新帐户,只需要几个简单步骤!
注册帐户登录
已有帐户?请登录。
立刻登录