Archiveboxは使いやすいアーカイブ・プログラムで、あらゆるウェブサイトの正確なスナップショットを作成することができます。これは、アーキビストやオンラインで情報を保存したいユーザーにとって有用である。それだけでなく、Archivebox は信じられないほどシンプルで簡単に使うことができます。例えば、コマンドラインツールとしても、どこからでもアクセスできるウェブアプリケーションとしてもプログラムを実行することができます。

なぜWebサイトをアーカイブする必要があるのでしょうか?

長年にわたり、World Wide Webは、世界中の人々が簡単に情報を共有し、コミュニケーションすることを可能にしてきました。しかし、Webサイトの問題は、時間が経つにつれて解決されないということです。

ほとんどのWebサイトは、2〜5年程度しか活動しません。その後、完全にオフラインになるか、まったく別のWebサイトに取って代わられます。例えば、1990年代に作られたウェブサイトで、現在もオンラインであるものはほとんどありません。

また、WayBack マシンを使って Web サイトをアーカイブすることもできます - インストールの必要はありません。

アーカイブボックスの必要条件

Archiveboxをインストールする前に、以下のリソースがあることを確認する必要があります。

  • ホームネットワーク外からアクセス可能なマシン。* 自宅のネットワーク外からアクセスできるマシン。ポートフォワードできる自宅のマシンでも、レンタルしたリモートVPSでもかまいません。
  • マシンに十分なストレージスペースが必要です。多くの場合、1TBのディスクで10万から100万の個々のウェブページを保存できるはずです。
  • Archiveboxを正しく動作させるためには、マシンのファイルシステムがEXT4またはZFSである必要があります。

注意: このチュートリアルではローカルのUbuntu 22.04 LTSマシンにArchiveboxをインストールし、設定することを中心に説明します。

Archiveboxのインストール

まず、プログラムの依存関係をインストールします。ターミナルを開き、以下のコマンドを入力します。

sudo apt install python3 nodejs python3-pip nginx npm
npm install --no-audit --no-fund 'git+https://github.com/gildas-lormeau/SingleFile.git'
npm install --no-audit --no-fund 'git+https://github.com/ArchiveBox/readability-extractor.git'
npm install --no-audit --no-fund '@postlight/mercury-parser' です。

PythonのPIPでArchiveboxをインストールします。

pip3 install archivebox
PATH=$PATH:/home/$USER/.local/binを指定します。

次に、Archiveboxの全データを保存するフォルダを作成します。私の場合、"/home/archivebox “ディレクトリに作成します。

mkdir /home/$USER/abox-data && cd /home/$USER/abox-data

最後に、以下のコマンドを実行してArchiveboxインスタンスを完成させ、プログラムの実行に必要なすべてのPythonパッチをあなたのマシンにダウンロードし、設定します。

アーカイブボックス init --setup

最初のユーザーの詳細が聞かれます。

Archiveboxが正しくインストールされているか、実行して確認します。

archivebox --バージョン

Web GUIを準備する

Archiveboxはコマンドラインユーティリティとして完全に使用可能ですが、Webインターフェイスからプログラムにアクセスすることも可能です。これはArchiveboxを他のユーザーと共有したい場合や、自分のサーバーの外からプログラムにアクセスしたい場合に便利です。

Web GUIをホストするには、Nginxリバース プロキシを作成して、受信するWebトラフィックをArchiveboxデーモンにリダイレクトする必要があります。

新しいNginxコンフィギュレーション ファイルを作成します。

sudo nano /etc/nginx/sites-available/archivebox

以下のコードをコピー&ペーストし、server_nameを自分のドメイン名に変更します。

server {
       listen 80;
       listen [::]:80;
 
       root /home/archivebox/abox-data;
 
       server_name yetanotherarchivebox.xyz www.yetanotherarchivebox.xyz;
 
       location / {
                  proxy\_pass http://127.0.0.1:8000;
       }
}

アーカイブボックスの設定を有効にします。

sudo ln -s /etc/nginx/sites-available/archivebox /etc/nginx/sites-enabled/

Nginxを再起動し、Archiveboxデーモンを起動します。

sudo systemctl restart nginx
archivebox サーバ 0.0.0.0:8000

最初のウェブサイトをアーカイブする

Webブラウザーを開き、ドメイン名からArchiveboxインスタンスにアクセスします。私の場合、“yetanotherarchivebox.xyz “にアクセスしています。

とします。 ウェブページの右上にある「LOG IN」ボタンをクリックします。

ユーザー認証情報を入力し、ユーティリティにログインします。

ページ上部のサイドバーにある「Add」ボタンを押して、最初のウェブサイトをアーカイブします。

大きなダイアログボックスが表示されるので、アーカイブしたいウェブリンクのリストを追加します。私の場合、“https://maketecheasier.com “を追加しています。

次に、ウェブサイトをアーカイブするための様々なオプションを選択することができます。例えば、リンクを適切に分類するために、リンクにタグのセットを提供することができます。

さらに、アーカイブしたいページ内の任意の即時リンクの内容を保存するようにArchiveboxに指示することができます。これは、ウェブサイトのコンテキストを保存したい場合に便利です。

Add URLs and Archive “ボタンをクリックすると、アーカイブ処理が開始されます。ほとんどの場合、1分から2分程度で完了するはずです。

コマンドラインを使用してWebサイトをアーカイブする

コマンドラインからウェブページをアーカイブするには、次のコマンドを実行します。

cd /home/$USER/abox-data
archivebox add --depth=1 https://maketecheasier.com

さらに、add サブコマンドを使用して、Web リンクのリストをアーカイブすることもできます。例えば、以下のコマンドを実行すると、Archivebox は私の “bookmarks.txt” ファイルにあるすべてのリンクを保存するよう指示します。

archivebox add < /home/$USER/bookmarks.txt



![](/uploads/install-archivebox-linux-21-url-list-archiving.jpg)
最後に、1つのウェブページの自己完結型のアーカイブを作成することも可能です。これを行うには、次のコマンドを実行します。

archivebox oneshot rel="noopener" target="_blank"

https://maketecheasier.com



![](/uploads/install-archivebox-linux-22-oneshot-sample.jpg)
## Archivebox のカスタマイズ


Archiveboxが保存するページを取得する方法をカスタマイズすることもできます。例えば、アーカイブする全てのWebページのスクリーンショットのみを保存することが可能です。


これは、Webサイトを保存する際にディスク容量を節約したいユーザーにとって便利な機能です。他のフォーマットを無効にするには、以下のコマンドを実行する必要があります。

archivebox config –set SAVE_WGET=False

archivebox config –set SAVE_WARC=False archivebox config –set SAVE_PDF=False (アーカイブボックス設定 - セット SAVE_PDF=False) archivebox config –set SAVE_SINGLEFILE=False archivebox config –set SAVE_READABILITY=False archivebox config –set SAVE_MERCURY=False



![](/uploads/install-archivebox-linux-23-customize-archivebox.jpg)
### アーカイブボックスで新しいユーザーを追加する


新しいユーザーを追加するには、Web GUIに戻り、ページ上部のバーにある "ADMIN "ボタンをクリックします。



![](/uploads/install-archivebox-linux-24-admin-button-highlight.png)
管理パネル内に入ったら、"認証と認可 "カテゴリに移動し、"ユーザー "を選択します。



![](/uploads/install-archivebox-linux-25-select-users-link.png) をクリックします。
これで、システム内の有効なユーザーがすべて一覧表示されます。ページ右上の "Add User +"ボタンを選択します。



![](/uploads/install-archivebox-linux-26-add-user-button-highlight.png)
Linuxグループへのユーザー追加と同様に、Archiveboxのユーザー作成プロセスは複雑な場合があります。にもかかわらず、新しいユーザーが正しく機能するためには、ユーザー名、パスワード、そしてユーザー権限の3つだけが必要です。


新しいユーザーを作成するには、まずパスワードを入力します。



![](/uploads/install-archivebox-linux-27-enter-new-user-password.png)
その後、その特定のユーザーに対するユーザー権限を選択します。ほとんどの場合、一般ユーザの場合、以下のオプションを切り替えるだけで済みます。

core | archive result | アーカイブの結果を追加することができます。

core | archive result | アーカイブの結果を変更することができます。 core | archive result | アーカイブの結果を見ることができます。 コア|スナップショット|スナップショットを追加する コア|スナップショット|スナップショットを変更する コア|スナップショット|スナップショットを表示する コア|タグ|タグの追加 コア|タグ|タグの変更 コア|タグ|タグの表示 セッション|セッション|セッションの追加 セッション|セッション|セッションの変更 セッション|セッション|セッションを表示する



![](/uploads/install-archivebox-linux-28-select-new-user-permissions.png)
新しいユーザー アカウントのユーザー名を指定します。私の場合、"alice "という名前を使っています。



![](/uploads/install-archivebox-linux-29-select-new-user-username.png)
最後に、ページ右下の「SAVE」ボタンを選択し、変更内容を適用します。



![](/uploads/install-archivebox-linux-30-save-new-user.png)
## よくある質問



### Failed to install Python packages" というエラーはどうすれば解決できますか?

 

これはArchiveboxのバグにより、探しているバイナリが見つからないために起こります。しかし、このエラーはプログラムのごく一部にしか影響しないため、アーカイブの整合性が損なわれることはありません。


この問題を軽減する一つの方法は、あなたのインストールが常に最新であることを確認することです。そのためには `pip3 install --upgrade archivebox` を実行してください。






### ウェブサイトを保存するたびに起こる "HTTPSConnectionPool" エラーを修正するにはどうすればよいですか。

 

このエラーは、ウェブサイトが有効なHTTPSバージョンを持っていない場合に発生します。この問題を解決するには、ArchiveboxにHTTP経由でアーカイブするように強制します。例えば、`archivebox add http://insecurewebsite.com`を実行すると、プログラムは強制的にHTTPを使用するようになります。






### 新しいユーザーアカウントでWebサイトをアーカイブできない場合、どうすればよいですか?

 

この問題は、ほとんどの場合、新しいユーザーアカウントでパーミッションの設定が欠けていることが原因です。この問題を素早く解決する一つの方法は、新しいユーザーアカウントに `core | snapshot | Can add snapshot` 権限があることを確認することです。





画像引用元:Unsplash。すべての変更とスクリーンショットはRamces Redによるものです。

Akira
Akiraは情熱的なゲーマーであり、製品レビュアーです。ゲームをしていないときは、最新のゲーミングアクセサリーを試したり、製品のレビューをしていることが多い。彼の分かりやすいスタイルは、ゲーマーが自分のニーズに最も適した製品を簡単に判断できるようにするものです。また、技術的な問題にも精通しており、その解決方法も知っている。