なぜ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"
![](/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によるものです。