轉(zhuǎn)自我的個(gè)人博客https://blognas.hwb0307.com。歡迎關(guān)注!
前言
在上一回Docker系列 搭建個(gè)人圖床chevereto中,我們用Docker鏡像安裝了chevereto。雖然chevereto的功能是強(qiáng)大,但有時(shí)功能強(qiáng)大就代表其設(shè)置比較復(fù)雜。我記得剛剛開始玩的時(shí)候,都不知道那些設(shè)置是什么意思,都采用的默認(rèn)值,哈哈!不過采用默認(rèn)值有一些潛在的不便,特別是國內(nèi)用戶。下面,我會(huì)簡單地和大家說一下我自己用的chevereto圖床是怎么設(shè)置。
大家可以看一下我的圖床:https://chevereto.hwb0307.com。顏值是不是非常高呢!和其它方法搭建的chevereto是完全一樣的喔!
當(dāng)然,最重要的是怎么讓chevereto集成在你的typora里面,實(shí)現(xiàn)圖片的隨粘隨傳!這才是markdown的正確使用方式!
儀表盤
儀表盤,即dashboard一般就是指后臺(tái)。這和wordpress的wp-admin是類似的。
在我的圖床里,訪問地址就是:https://chevereto.hwb0307.com/dashboard。chevereto的dashboard你們?cè)谏匣匾不疽娺^了,我的圖床長這樣:

統(tǒng)計(jì)
dashboard是有多個(gè)頁面的,包括統(tǒng)計(jì)、圖片、相冊(cè)、用戶、設(shè)置、批量導(dǎo)入。在統(tǒng)計(jì)中,可以看到我圖床的版本是1.4.1。我用的版本和你們的一樣,也是舊版喔!MYSQL數(shù)據(jù)庫版本則是5.5.5-10.7.3-MariaDB-1:10.7.3+maria~focal。這里可能大家發(fā)現(xiàn)了,MYSQL和MariaDB好像是同一個(gè)東西。一般在開源社區(qū),大家都使用MariaDB,因?yàn)?code>MYSQL已經(jīng)被甲骨文公司收購了嘛!
大家還記得之前的php.ini的內(nèi)容嗎?
upload_max_filesize = 100M
post_max_size = 100M
memory_limit = 3072M
其實(shí)和這里的設(shè)置是一一對(duì)應(yīng)的:
最大的文件上傳: 100 MB
最大的執(zhí)行大小: 100 MB
內(nèi)存限制: 3.1 GB
如果你不設(shè)置它,默認(rèn)情況下是一個(gè)很小的值(好像是2M),這會(huì)帶來不便,因?yàn)槟愕膱D片很有可能超過2M嘛!雖然在markdown使用中比較罕見。作為個(gè)人使用,當(dāng)然要將上限調(diào)得高高的!
當(dāng)然,默認(rèn)值還是比較低的,到時(shí)要在后臺(tái)改動(dòng)。詳情就往下看吧!
正在連接的IP172.26.0.1是一個(gè)局域網(wǎng)地址。它應(yīng)該是chevereto這個(gè)Stack的網(wǎng)關(guān)的地址。你也可以在Portainer上確認(rèn)一下是不是噢!
圖片
整體的布局就是長這樣:

你雙擊這個(gè)圖片,就可以觀察這個(gè)圖片的詳細(xì)信息,它們是關(guān)于、嵌入代碼、詳細(xì)信息。比如:

所以說,chevereto的功能還是很強(qiáng)的!至少可以對(duì)同一張圖片生成很多不同用途的鏈接,對(duì)吧!
相冊(cè)
我的相冊(cè)只有一個(gè),就是typora。我在typora上粘貼的圖片都會(huì)放在這個(gè)相冊(cè)里。

我個(gè)人認(rèn)為,這個(gè)相冊(cè)對(duì)于新接觸的chevereto的markdown用戶來說十分重要。我強(qiáng)烈建議你應(yīng)該創(chuàng)建一個(gè)相冊(cè),將typora上傳上來的圖片集中管理。如果你不設(shè)置相冊(cè),在使用API的時(shí)候,它會(huì)以訪客的身份上傳圖片。我還沒找到怎么將訪客的圖片轉(zhuǎn)移到特定用戶的特定相冊(cè)?;蛟S這是付費(fèi)功能;或許通過對(duì)MYSQL的操作可以做到,但我覺得這對(duì)普通用戶來說都不太友好。如果你以后有意拓展chevereto的用途,應(yīng)該在一開始就建立一個(gè)特定的相冊(cè)來管理API接口的圖片。放心,本文也會(huì)教你怎么操作的!
這里教大家看一下相冊(cè)的album id。后面有用:

設(shè)置
我貼一些圖,大家可以根據(jù)我的設(shè)置來搞。或者你可以自定義嘍。如果我設(shè)置不對(duì),大家也指正一下!
可設(shè)置的項(xiàng)目非常多:

你可以按我的設(shè)置來初始化。如果你有什么不滿意,自己微調(diào)即可。
網(wǎng)站
這里值得一說的,搜索、探索、隨機(jī)、喜歡、粉絲禁用后,這樣訪客就看不到你的圖片。如果你想別人看到你的圖片,就可以啟用。還有就是網(wǎng)站的隱私模式,只有選了訪客開放,非注冊(cè)用戶才可以看到你酷酷的圖床主頁的圖片切換!

用戶
因?yàn)槭莻€(gè)人使用,所以禁用開放注冊(cè)。

系統(tǒng)
這里國內(nèi)的用戶要特別注意,將自動(dòng)更新檢查設(shè)置為禁用。不然,它可能會(huì)影響你登陸后臺(tái)!這個(gè)問題曾經(jīng)困擾我1年多。我開始以為是自己寶塔哪里設(shè)置的不對(duì)呢!后來發(fā)現(xiàn)是這個(gè)自動(dòng)更新檢查開啟時(shí),它會(huì)向github請(qǐng)求;而國內(nèi)正常情況下github會(huì)封禁,無法訪問。

圖片上傳
這里紅框的要多加注意。一般個(gè)人用,肯定是禁止訪客上傳數(shù)據(jù)的嘛!我不知道這個(gè)會(huì)不會(huì)影響API上傳。如果影響,你們就啟用吧!

主頁
這里值得一說的是,你可以在主頁設(shè)置多個(gè)圖片,讓圖床的主頁好看些(沒什么卵用系列)。比如我就設(shè)置了多張圖片:

語言
這里還有一個(gè)語言選項(xiàng),我是默認(rèn)的,沒有動(dòng)過。不知道這個(gè)有沒有什么影響?

API
終于來到最重要的一個(gè)設(shè)置了。這個(gè)密鑰你記住。它是類似于阿里云token一樣的東西。有了它,可以不需要密碼即可訪問圖床呢!這也是我們?cè)趖ypora里集成chevereto的最重要的參數(shù)。

其它
沒說到的都默認(rèn)就行。
允許API上傳至相冊(cè)
在進(jìn)一步設(shè)置typora和PicGo之前呢,讓我們回到Shell修改一些Chevereto的文件。
# 工作目錄
work=~/docker/chevereto/app/html
將網(wǎng)站根目錄html下的./app/routes/route.api.php復(fù)制到同目錄下的/overrides文件夾。該步驟使得復(fù)制后的文件在不替換的情況下更新,既保存源文件,又使修改后的代碼能在源代碼保留的情況下運(yùn)行。
# 復(fù)制文件
sudo cp $work/app/routes/route.api.php $work/app/routes/overrides
# 將文件改為www-data所有
sudo chown -R 33:33 $work/app/routes/overrides
然后修改這個(gè)復(fù)制后的文件:
sudo vim $work/app/routes/overrides/route.api.php
±對(duì)應(yīng)新增刪除代碼:
$version = $handler->request[0];
$action = $handler->request[1];
+ $user = $_REQUEST['user']; // 新增
+ $album = $_REQUEST['album']; //新增
...
// CHV\Image::uploadToWebsite($source, 'username', [params]) to inject API uploads to a given username
- $uploaded_id = CHV\Image::uploadToWebsite($source);
+ $uploaded_id = CHV\Image::uploadToWebsite($source, $user, array('album_id'=>$album));
這里有一些截圖,大家看一下:


該步驟將接受來自客戶端的用戶名和相冊(cè) ID 參數(shù),避免上傳至訪客相冊(cè)。
最后,重啟一下chevereto以使配置生效:
cd ~/docker/chevereto && docker-compose restart
這一步有人教就不難。應(yīng)該沒什么問題吧?有問題評(píng)論區(qū)留言吧!
Typora集成Chevereto
大致的原理是這樣的Typora--PicGo--Chevereto。
PicGo的Github倉庫地址是:https://github.com/Molunerfinn/PicGo。有16.6k收藏!
我在這里演示怎么在本地端(windows 10)安裝PicGo-core和web-uploader。Mac的童鞋自己去找教程。PicGo其實(shí)和其它Windows軟件類似,我覺得它用法比較多樣、簡單,這里我就不詳細(xì)展開了。有興趣進(jìn)一步了解Google百度。
我們專注于PicGo中與typora和chevereto的相關(guān)設(shè)置!如果有什么疑難,評(píng)論區(qū)留言即可。
安裝npm
- 從https://nodejs.org/en/download/current/下載并安裝node.js,其會(huì)自動(dòng)合并npm。
- msi文件雙擊,全部默認(rèn)選擇。安裝完成在cmd中觀察,可查看版本信息出現(xiàn)就說明安裝成功:
npm -v # 6.13.4 node -v # v12.15.0
設(shè)置npm鏡像
# 查看默認(rèn)的npm鏡像。不然下載會(huì)卡頓
npm get registry # https://registry.npmjs.org/
# 更改默認(rèn)鏡像。我這里用的是阿里的鏡像。
npm config set registry https://registry.npm.taobao.org
PicGo-Core
下載與安裝
# npm下載并安裝picgo-core
npm install -g picgo
# 檢查安裝成功與否
picgo -h
# picgo中安裝web-uploader插件(依賴npm,要事先設(shè)定好鏡像)
picgo install web-uploader
# 觀察picgo的位置
which picgo # /cygdrive/c/Users/Administrator/AppData/Roaming/npm/picgo
# 添加picgo至環(huán)境變量。如果是通過npm直接安裝的picgo,則不需要自己添加環(huán)境路徑。另外,要找到picgo的config.json文件
picgo upload -c C:\Users\Administrator\.picgo\config.json # 這是我的typora的設(shè)置
如果你用Everything之類的快速文件檢索軟件,搜索.picgo\config.json可以迅速定位喔!
設(shè)置config文件
PicGo的config.json文件內(nèi)容如下:
這里對(duì)應(yīng)了用戶
test_user的id為1的相冊(cè)。
https://chevereto.hwb0307.com這個(gè)鏈接換成你圖床的鏈接。
09900000000000000000000000b就是剛剛在dashboard中看到的API
{
"picBed": {
"uploader": "web-uploader",
"current": "web-uploader",
"transformer": "path",
"web-uploader": {
"customBody": "{\"key\":\"09900000000000000000000000b\", \"user\":\"test_user\", \"album\":\"1\"}",
"customHeader": null,
"jsonPath": "image.url",
"paramName": "source",
"url": "https://chevereto.hwb0307.com/api/1/upload"
}
},
"picgoPlugins": {
"picgo-plugin-web-uploader@1.1.1": true,
"picgo-plugin-web-uploader": true
}
}
一般這種Json文件可以用notepad++或者windows自帶的記事本軟件打開。
Typora設(shè)置
打開偏好設(shè)置:

依次進(jìn)入到設(shè)置圖像的地方。在上傳服務(wù)里選擇Custom Command,命令是填寫picgo upload -c C:\Users\Administrator\.picgo\config.json。當(dāng)然,如果你的picgo不在windows系統(tǒng)的環(huán)境路徑中,你應(yīng)該寫絕對(duì)路徑。如果你是按我的方法來安裝的,應(yīng)該是在環(huán)境路徑中的。

你可以點(diǎn)一下驗(yàn)證圖片上傳選項(xiàng)。正常的結(jié)果如下:

如果你不行,應(yīng)該是有什么設(shè)置沒對(duì)。自己檢查一下,或者評(píng)論區(qū)留言了!
嘗試上傳圖片至Chevereto
如果你現(xiàn)在才搭建成功chevereto,但你的markdown文件里就有一些舊圖片怎么辦?
如果你的舊圖片(無論是本地還是其它圖床的圖片)可以用的話,直接在typora中右鍵你的圖片,點(diǎn)上傳圖片即可。

可能還有其它更好的方法,歡迎評(píng)論區(qū)留言啦!
一般我建議在換新圖床的時(shí)候,應(yīng)該保持一段時(shí)間你的舊圖床的正常運(yùn)行。等你過了一段時(shí)間(比如1年),覺得已經(jīng)過渡了,再正式地棄用舊圖床,使用新圖床。當(dāng)然,如果你一開始就有一個(gè)好選擇,就不用煩惱這種事了!
小結(jié)
本文終于將chevereto常規(guī)設(shè)置、在Typora中集成chevereto講完了。老實(shí)話,設(shè)置還蠻復(fù)雜的。不過,你基本也只需要設(shè)置一次而已嘛!
這個(gè)文章也是為自己而寫,如果以后有什么不記得了,就回來看看。
另外,我不知道不更新軟件會(huì)不會(huì)留下什么漏洞。不過我的chevereto是用的NPM反代,應(yīng)該還是蠻安全的吧!如果有大佬的話,也歡迎就圖床安全問題給點(diǎn)建議噢!
雖然我可以成功地設(shè)置,不過我還是覺得這些方法不夠簡潔。如果Typora有內(nèi)置網(wǎng)絡(luò)圖床的服務(wù),說不定對(duì)很多用戶有都很有吸引力呢!畢竟不是所有人都像我一樣喜歡折騰的!大多數(shù)人一定是喜歡最簡單的!
我覺得,可能不少人初次設(shè)置無法成功的。如果有什么問題,歡迎評(píng)論區(qū)留言。祝你好運(yùn) ??
另外再次強(qiáng)調(diào),一定要用duplicati做好chevereto的備份!
參考
其實(shí)應(yīng)該有看不少文章,但是年代久遠(yuǎn),很多鏈接失效了,找不到原文。
本文使用 文章同步助手 同步