Tĩnh サイトに đặc hoá した toàn văn kiểm tác ライブラリ “Pagefind”, さくら の レンタルサーバで động かしてみた

2024 năm ngày 17 tháng 1

Trước ngày, tĩnh サイトに đặc hoá した toàn văn kiểm tác ライブラリとして “Pagefind”というソフトウェアがあることを, hạ nhớ の ký sự が đề tài になったことで biết りました.

Tham khảo:Tĩnh サイトに đặc hoá した kiểm tác ライブラリ Pagefind を thí す | grip on minds

Thật は, いまお đọc み の Publickeyはまさに, Movable TypeというCMSを dùng いて sinh thành された tĩnh なWebサイトです. Hiện tại, PublickeyではGoogleが cung cấp している “Googleカスタム kiểm tác エンジン” を toàn văn kiểm tác エンジンとして chọn dùng しています ( hữu thượng の lỗ sâu đục kính アイコンから hô び ra せます ).

しかしPublickeyでは trước kia からGoogleに sống nhờ vào nhau しない, tự trước の toàn văn kiểm tác エンジンを cầm てないかと mô tác しており, まさにPagefindは tư が thăm し cầu めていたソフトウェアだったと ngôn えます.

そこでさっそくPagefindがPublickeyに dẫn vào できるかどうか, điều べてみることにしました.

Pagefindをさくら の レンタルサーバで động かせるか?

Thượng nhớ の ký sự や công thức サイトを đọc むと, Pagefind の sĩ tổ みは, “pagefind” というコマンドをサーバ thượng で thật hành することで tĩnh サイト の đại lượng の HTMLファイルを đọc み込み, インデックスファイルをJavaScriptファイルなど の ファイル đàn として sinh thành します.

それをWebブラウザ thượng で đọc み込み, ユーザーが nhập lực した kiểm tác キーワードに đối ứng してJavaScriptが thật hành され, kết quả を tỏ vẻ する, というも の の ようです.

Sĩ tổ みそ の も の はPublickeyでも lợi dụng できそうだということが phân かりました.

ただし vấn đề が2つありました.

1つは, ドキュメントによるとPagefind の インストールにはNode.js の パッケージマネージャに quan liền した “npx” コマンドを sử うと thuyết minh されていることです. Publickeyは, さくら の レンタルサーバを lợi dụng している の ですが, さくら の レンタルサーバにはNode.js hoàn cảnh は tiêu chuẩn で dụng ý されていません.

もう1つは, Pagefindが công thức で cung cấp しているビルド tế み の ファイルは, Windows bản, macOS bản, Linux bản しか cung cấp されていないことです. さくら の レンタルサーバ の OSはFreeBSDな の で, そ の ままでは thật hành できません.

こ の 2つを đồng thời に giải quyết するには, Pagefind の ソースコードをFreeBSD thượng でビルドし, できあがったバイナリをさくら の レンタルサーバに転 đưa し thật hành する, という phương pháp が khảo えられます.

Sớm tốc thí してみることにしました.

Windows thượng の 仮 tưởng マシンでFreeBSDを động かす

Cụ thể には, Windows thượng で仮 tưởng マシンを khởi động し, そこでFreeBSD hoàn cảnh を dụng ý します.

Thứ に, PagefindはRust ngôn ngữ で khai phát されていることが phân かった の で, FreeBSD thượng にRust ngôn ngữ をインストールし, Pagefindをビルドする, という tay thuận で thí してみましょう.

Windows 11で の 仮 tưởng マシン の lập ち thượng げは, コントロールパネルを khởi động し, Hyper-Vを có hiệu にします.

fig

Thứ に, FreeBSD の công thức サイトからHyper-V dùng の イメージを lấy được します. さくら の レンタルサーバはFreeBSD 13.0だった の で, FreeBSD 13.2 の AMD64 bản となる “FreeBSD-13.2-RELEASE-amd64.vhd.xz”をダウンロードし, tuyết tan します.

Tuyết tan したファイルをHyper-Vで đọc み込んで khởi động すると, 仮 tưởng マシン thượng でFreeBSD 13.2が khởi động します.

fig

ただしデフォルト の trạng thái ではストレージ の dung lượng が5GBしかなく, Rust ngôn ngữ がインストールできません. そこで,こちら の サイトを tham khảo に,ストレージを拡 trương します.

Cơ bản な thao tác は, Hyper-Vマネージャから仮 tưởng ハードディスク の 拡 trương を hành い, そ の sau FreeBSD の コンソールからrootで dưới の コマンドを thật hành することになります.

gpart recover da0
gpart resize -i 3 da0
service growfs onestart

Rust hoàn cảnh でPagefind の ビルドを thật hành

これでFreeBSD の ストレージ dung lượng が bảo đảm できた の で, thứ はRust ngôn ngữ の インストールとPagefind の ビルドです.こ の サイトが đại 変 tham khảo になりました.

Rust hoàn cảnh の cấu trúc は thứ の コマンドをroot の まま thật hành しました.

pkg install rust

これでRut ngôn ngữ だけでなくパッケージマネージャ の cargoまでインストールしてくれます.

Thứ に, cargoコマンドでPagefindをインストールするため, dưới の コマンドを nhập lực します. するとPagefind の ソースコードを lấy được してビルドしてくれます.

cargo install pagefind

ビルドが bình thường に kết thúc すれば, “pagefind” コマンドが “/root/.cargo/bin/” の hạ に bảo tồn されています. これでFreeBSDで thật hành khả năng なPagefind の バイナリが tay に nhập ったはずです.

これをftp の バイナリモードなどで, さくら の レンタルサーバへ転 đưa します. そしてパスを thông して thật hành してみたところ, エラーを phun くことなく không có việc gì に thật hành できました!

fig

あとは giả thiết やカスタマイズ

あとは công thức ドキュメントを đọc みつつ, giả thiết やカスタマイズを hành えばよいはずです.

また, cronを sử って định kỳ にpagefindコマンドを thật hành するように giả thiết すれば, つねに mới nhất の コンテンツに đối して kiểm tác できるようになります.

ちなみに, Publickey の ước 6000 ký sự の インデックス hóa にかかった thời gian は ước 20 giây でした. そ の cao tốc さにも kinh かされました.

Hạ nhớ が, thật tế にさくら の レンタルサーバでPagefindを động かしてPublickey の コンテンツをインデックス hóa し, kiểm tác khả năng にしたも の です. “AWS” とか “Kubernetes” とか “GitHub” とか, thích hợp なキーワードを nhập lực してみてください.

まだデフォルト の trạng thái の ままな の で, kết quả が trường くなって thấy にくいところなどがありますが, thật tế にPagefindがさくら の レンタルサーバ thượng で ( そしてMovable Type の コンテンツでも vấn đề なく ) động くこと, そして6000 vốn dĩ thượng もある ký sự でもサクサクと kiểm tác できることを xác nhận できると tư います.

もう thiếu し động tác xác nhận と giả thiết を hành った sau, gần いうちにPublickeyでこ の Pagefindを chính thức な cơ năng として đầu nhập しようと khảo えています. お lặc しみに!

Quan liền ký sự

Publickeyは tạc năm ( 2023 năm ), quan liền ký sự の động sinh thành を tự trước の プログラムで thật hiện することに thành công しています. Pagefindは, もしかしたら quan liền ký sự の độ chặt chẽ を cao めることに sống dùng できるかもしれない, とも tư っています.

あわせて đọc みたい

プログラミング ngôn ngữBiên tập lời cuối sách Rust




タグクラウド

クラウド
AWS/Azure/Google Cloud
クラウドネイティブ/サーバレス
クラウド の シェア/クラウド の chướng hại

コンテナ hình 仮 tưởng hóa

プログラミング ngôn ngữ
JavaScript/Java/.NET
WebAssembly/Web tiêu chuẩn
Khai phát ツール/テスト・ phẩm chất

アジャイル khai phát/スクラム/DevOps

データベース/Cơ giới học tập ・AI
RDB/NoSQL

ネットワーク/セキュリティ
HTTP/QUIC

OS/Windows/Linux/仮 tưởng hóa
サーバ/ストレージ/ハードウェア

ITエンジニア の cấp cho ・ năm thâu/Động き phương

Điện phủ nhập り/おもしろ/Biên tập lời cuối sách

Toàn て の タグを thấy る

Blogger in Chief

photo of jniino

Junichi Niino ( jniino )
IT hệ の tạp chí biên tập giả, オンラインメディア phát người đi đường を kinh て độc lập. 2009 năm にPublickeyを bắt đầu しました.
(Tường しいプロフィール)

Publickey の tân tình báo をチェックしませんか?
Twitterで:@Publickey
Facebookで:Publickey の ページ
RSSリーダーで:Feed

Mới nhất ký sự 10 bổn