YaCy伺服器安裝教學
YaCy伺服器安裝教學
YaCy是一個開源的點對點搜尋引擎
本文將講解如何在 Ubuntu Server 上安裝 YaCy 搜尋引擎,並用Nginx做反向代理,將網址改成像是 yacy.example.com 的形式。
YaCy 架好的範例可以來我架設的伺服器使用看看https://yacy.wancatserver.tk
環境說明
本文假設有一台無圖形界面的伺服器以及有圖形界面的Desktop。Desktop必須要能夠使用瀏覽器。
假設伺服器網域: example.com,請將本文所有example.com改成你的網域名稱
假設使用者名稱:user ,請換成自己的使用者名稱
如果沒有網域名稱仍然可以安裝 YaCy ,只是需要用 ip:8090 的形式來連上它。
如果沒有真實 ip 就只能在內網使用
伺服器安裝 Java 8
YaCy可以使用 OpenJDK,也可以使用Oracle官方的JRE。OpenJDK使用apt安裝
sudo apt install openjdk-8-jre
官方的JRE比較麻煩,可參考此文章
安裝 YaCy
至官網下載程式。
將程式上傳至伺服器,請將/path/to/yacy.tar.gz替換成你下載的路徑
scp /path/to/yacy.tar.gz [email protected]:/home/user/
接下來以ssh登入伺服器
解壓縮,將yacy.tar.gz替換成你下載的路徑
解壓縮完可以看到家目錄下多了一個目錄yacy,裡面有 startYACY.sh, stopYACY.sh, killYACY.sh, reconfigureYACY.sh, updateYACY.sh等執行檔,以及許多資料夾。
我們先去打開防火牆,YaCy使用的是 8090 port (HTTP),以及8443 (HTTPS)。
執行 startYACY.sh
接著等一下,瀏覽器連 example.com:8090。
啟動時可能需要等個一分鐘才能載入網頁,是正常的
如果看到這個畫面,就代表執行成功
可以試著用YaCy搜尋一些東西看看
跑得慢是正常的,出來結果很少也是正常的
停止 YaCy
這個指令需要等一下YaCy才會停止,可以用top來確認YaCy停止了沒。等到YaCy停止後,使用reconfigure來進行設定
sudo ./reconfigureYACY.sh
*** YaCy commandline configuration tool ***
Make your choice:
[1] change memory settings
[2] change admin password
[3] change HTTP port
[4] change HTTPS port
[0] quit
選項分別是 設定YaCy可用記憶體大小(重要)、設定管理員密碼(重要)、設定HTTP埠口、設定HTTPS埠口,前面兩項要記得設定,後面看個人情況調整,如果沒有特殊需求,保留預設值即可。
YaCy 設定
啟動YaCy ,打開 example.com:8090,點擊右上方的”Administration”
會進到設定畫面
YaCy 的進階設定會在日後別篇文章作說明。
YaCy自啟動設定
現在已經可以使用YaCy了,但是得要手動開啟,不免覺得麻煩,所以接下來將會把YaCy加入service中,讓系統自動開啟,並且以yacy使用者執行,避免被攻擊後危害系統。建立系統使用者 yacy
sudo useradd — system yacy
把剛才在user底下的yacy資料夾搬移到yacy家目錄,並將擁有者改為yacy,這樣子YaCy資料夾就會在 /home/yacy/yacy 中。
sudo mv ~/yacy /home/yacy/
sudo chown -R yacy:yacy /home/yacy/yacy
接下來要將YaCy加入系統服務中,新增/usr/lib/systemd/system/yacy.service,寫入以下內容。
sudo vim /usr/lib/systemd/system/yacy.service
[Unit]
Description=YaCy search server
After=network.target
[Service]
Type=forking
User=yacy
ExecStart=/home/yacy/yacy/startYACY.sh
ExecStop=/home/yacy/yacy/stopYACY.sh
[Install]
WantedBy=multi-user.target
接著可以啟動YaCy
sudo systemctl enable yacy
這樣子YaCy就會隨著開機啟動了
可以用top指令觀察yacy狀態
如果之後中途需要手動關閉或啟動YaCy,使用以下指令
sudo systemctl start yacy.service
sudo systemctl stop yacy.service
//如果你按tab只跳出yacy,那就是了
設定 Nginx 反向代理
在做這一步之前,請先確定 yacy.example.com 可以指向你的伺服器。
Nginx 安裝,使用apt
打開80埠口
瀏覽器開啟example.com,如果有以下畫面代表正確
編輯/etc/nginx/sites-available/default
sudo vim /etc/nginx/sites-available/default
會看到裡面已經有許多設定檔,無視它們,寫一個新的server。
注意:不要寫在原本的server內
server {
listen 80;
server_name yacy.example.com;
location / {
proxy_pass http://127.0.0.1:8090 ;
}
}
接下來讓Nginx讀取設定檔
這個過程可能會發生錯誤,須按照個人情況調整
接下來瀏覽器連到yacy.example.com,如果可以看到YaCy,則代表成功了。
Nginx可以調整的選項很多,我只會最簡單的設定,如果了解,可以自己進行優化
YaCy是一個高度個人化的搜尋引擎,現在的節點數量仍嫌不足,沒有辦法查到如一般搜尋引擎一樣好的資料,速度也較慢,但可以讓小型網站有個「被搜尋」的機會。
日後將會在別篇文章對於「如何讓自己的網頁被搜尋」,以及「建立自己的資料查詢庫」做說明。
#於Matters 的更新
這篇文章最早發表在我的部落格,其中指令的部份是用程式碼的區塊來顯示的,希望Matters可以加入這個部份,因為等寬字區塊對技術文章而言是至關重要的!
Originally published at wancatserver.tk on September 22, 2018.