cdnjsjsDeliverunpkgSelf hosted

カメリアの記事

意味があることやないことを綴ります

Google ドライブ 上のファイルを自分向けに自宅ウェブサーバで公開しようとして遠回りした話

したかったこと

Google ドライブ上のファイルを自分向けに自宅ウェブサーバで公開したかった。

つまり、自分用の HTML その他をウェブサーバを介して表示したかった。

始まりの見落とし

全てはこの見落としから始まった。新調したパソコンにパソコン版 Google ドライブをインストールしたのだが、そのときパソコン版 Google ドライブミラーリングをサポートしなくなったと勘違いしたことがそれだ。

パソコン版 Google ドライブには「ストリーミング」と「ミラーリング」のオプションがある。ストリーミングはファイルの幻影のようなものをパソコンに保存しておいてアクセスする際に実体をダウンロードするものだ。ミラーリングはファイルの実体をパソコンに保存しておく。

そもそも僕は Apache を使って上述の「したかったこと」を実現していた。しかし Apache はストリーミングのフォルダにアクセスできない。これを解決しようとして苦難の旅を始めることになる。

CentOS Stream 9

古いノートパソコンに CentOS Stream 9 をインストールしてサーバにしようとした。インストールしようとするとカーネルエラーが出て失敗した。

Ubuntu

古いノートパソコンに Ubuntu ならインストールできることが分かった。バージョンは 22.04 だ。 Ubuntu には標準で Google ドライブをマウントする機能がある。うまくいってマウントできた。ターミナルで表示すると文字化けして読めないが、あるはずのディレクトリ名を指定すると cd などの操作が可能だ。だけど表示できない( 403 Forbidden )。 nginx.conf の冒頭を user=root; に書き換えても同じ。この方法ではダメだ。

google-drive-ocamlfuse

Ubuntu の標準の機能は諦めて FUSE filesystem over Google Drive を使うことにした。いわゆる google-drive-ocamlfuse だ。起動すると認証のためにウェブブラウザを開こうとするがウェブブラウザを見つけることができなくて失敗する。ウェブブラウザは ChromeLynxIceweasel をインストールして試してみたがどれもエラーが出て認証できない。この方法ではダメだ。

nginx on Winsows 11

Windows 上の nginx で表示することにした。インストールもサービス化もできた。だけど nginx はユーザフォルダ( C:\User\user_name )にアクセスできないようだ。 Windows のリンク機能 Junction を作ってみたがアクセスできない。この方法ではダメだ。

Apache

結局ここに帰ってきた。 Apache は nginx と違ってユーザフォルダにアクセスできる。それに Apache の実行ファイルを Google ドライブに置くことも可能だ。 nginx でやると起動しない。僕としてはパソコン毎に Apache の実行ファイルをコピーするのではなく、一カ所で管理したい。 Google ドライブ上に置いてインストールできるのはありがたいことだ。

総括

というわけで事は解決した。