ウェブサイト検索

新しいコンピュータで最初に設定することはウェブサーバーです、その理由はこれです。


ほとんどのコンピュータには独自のウェブサーバーが付いており、付いていない場合でも簡単にインストールできます。設定には少し手間がかかることがありますが、私の意見ではそれだけの価値があります。実際、私はブラウザでlocalhostにアクセスできるまで自分のコンピュータのセットアップが完了したとは考えません。

ローカルウェブサーバーとは何ですか?

すべてのウェブサイトの背後にはウェブサーバーがあります。この用語はソフトウェアとハードウェアの両方を指すことができます。URLリクエストを待ち受け、文書を返すプログラムと、それが動作するコンピューターです。

この文脈では、私はソフトウェアについて話しています。Apacheやnginxのようなもので、これを自分のデスクトップコンピュータに設定できます。そのマシンはウェブサーバーとして機能します。

ローカルウェブサーバーを設定することは、必ずしもインターネットに公開し、世界中の誰でも閲覧できる状態にすることを意味するわけではありません。実際、私はそれに反対します。家からパブリックウェブサーバーをホストすることはできますが、セキュリティとコストの理由から、恐らく一時的な実験としてのみ行うべきです。しかし、あなたのみに表示されるローカルウェブサーバーは別の話です。

ローカルウェブサーバーをセットアップすると、自分のファイルをウェブブラウザで表示できます。通常は、http://localhost/を訪れることで確認できます。通常、これは「ウェルカム」ページを表示しますが、使用しているOSによってはウェブブラウザをインストールおよび設定する必要があるかもしれません。

ウェブサーバーのインストールと設定方法

Windowsを実行している場合、Internet Information Servicesはすでに利用可能なはずですので、ただ有効にする必要があります。このウェブサーバーはあなたの目的に問題なく動作するかもしれませんが、これは商用製品であり、Apacheほど一般的には使用されていません。

Apacheは、すべてのオペレーティングシステムで最もよく知られ、利用可能なウェブサーバーのままです。インストールと開始が非常に簡単ですが、非常に設定可能なプログラムでもあり、基本を超えるものを試してみたい場合は複雑になる可能性があります。ApacheはmacOSにデフォルトでインストールされており、知らないうちに自動的に実行されている場合もあります—ただhttp://localhost/をチェックしてみてください。

ApacheがmacOSでまだ実行されていない場合は、sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plistを実行してみてください。

Nginxは素晴らしい代替手段であり、Apacheと同様に無料でオープンソースです。ApacheがすでにインストールされていないLinuxディストリビューションを使用している場合、少し快適な初めての体験のためにNginxをインストールする価値があるでしょう。

        sudo apt install nginx

    

インストールするウェブサーバーによらず、ドキュメントルートを設定する必要があります。これはサーバーのトップレベルディレクトリであり、デフォルトでは、http://localhost を介してこのディレクトリの下にあるファイルのみを表示できます。macOS のデフォルトの Apache の場所は /Library/WebServer/Documents であり、Linux の場合は /var/www/html が一般的です(Apache と nginx の両方で)。具体的な場所は、ディストリビューションによって異なる場合があります。

ドキュメントルートを確認するには、ウェブサーバーの設定ファイルで関連する設定を検索します。macOSのApacheの場合、これは/etc/apache2/httpd.confにあります。

        DocumentRoot "/Library/WebServer/Documents"

    

Linuxでは、設定ファイルは /etc/apache2/sites-enabled/000-default.conf にあります。nginxの場合は、/etc/nginx/sites-enabled/default にあり、ディレクティブは次のようになります:

        root /var/www/html;

    

デフォルトの場所にサイトを設定したいのであれば、それでも構いませんが、私は自分のホームにディレクトリを設け、そこからファイルを提供するのが好きです。

何に使えますか?

ローカルウェブサーバーはローカルウェブサイトに最適ですが、それだけではなく多くのことができます。

ファイルシステムの一部を閲覧する

少しの設定で、ウェブブラウザをファイルマネージャーのように使うことができます。それは読み取り専用となるため、ファイルの管理(名前の変更や削除など)には使えません。しかし、ディレクトリを移動したり、その中のファイルのリストを表示したり、ファイルを開いたりすることは可能です。

Apacheの自動インデックスモジュールは、ディレクトリにマッピングされるURLをリクエストするとディレクトリインデックスを生成します。これは、コマンドラインでls directoryを実行するのに似ていますが、出力は少しインタラクティブです。

私のハードドライブには、ほとんどの仕事、文章、メモの断片、画像などが含まれたフォルダがあります。ウェブサーバーをその前に置くことで、私はウェブブラウザを使っているときにいつでもこれらのファイルを閲覧できます。ほとんどの時間、ウェブブラウザを使っているので、私の個人のコンテンツをすぐに見ることができるのは何度も役立ちます。

デフォルトのビューは非常に古典的に見えますが、方法がわかれば独自のCSSやJavaScriptでカスタマイズできます。私は自分に合ったシステムを設定しており、デザインを少し更新し、隠せる列やシンプルな検索フィルターなどの機能を追加しています。

HTMLまたはMarkdownでのドキュメントとヘルプファイルの読み取り

ソフトウェアをインストールしたり、ファイルのコレクションをダウンロードしたりすると、しばしば非常に便利なドキュメントが得られます。これは、単純なテキスト形式、MarkdownやHTMLのような構造化された形式、またはPDFの形式である可能性があります。どちらの場合でも、あなたのブラウザはそれを処理でき、別のアプリを開かずにドキュメントを表示します。

Markdownには、名前が示す通りシンプルなChrome用のMarkdown Viewer拡張機能を使うのが好きです。このツールは、Markdownドキュメントを魅力的で読みやすい形式で表示し、絵文字の取り扱いや目次などのオプションがあります。

ウェブ開発とテスト

ウェブ開発を行う際、ローカルウェブサーバーは非常に便利です。テストサーバーにファイルをアップロードする代わりに、あるいはそれ以上に、すべてを公開することに祈るだけでなく、ローカルサーバーを使用すると、手間なく進行中の作業を確認できます。オフラインで作業することもでき、インターネット接続は必要ありません!

これはウェブデザインの作業、あなたの文章コンテンツ、そしてクライアントサイドのJavaScriptやバックエンドの言語での複雑なプログラミングにも当てはまります。後者で作業している場合は、それに対応するようにウェブサーバーを設定する必要がありますが、これは比較的簡単なプロセスです。

セルフホスティングウェブアプリ

多くの「自己ホスト型」アプリはローカルウェブサーバーのユーザーを対象としており、最も一般的なもののいくつかは、音楽プレーヤーや画像ギャラリーなどのメディア消費向けです。このセットアップはクラウドベースのソリューションよりもはるかに速く、大きなファイルをアップロードしたりダウンロードしたりするために帯域幅を消費する必要もありません。

Piwigoは、写真や他のメディアを管理するためのオープンソースのウェブアプリです。自己ホスト型のリリースは無料で使用できますが、PHPとMySQL、さらにウェブサーバーが必要です。

FreshRSSは、クリーンで軽量なRSSアグリゲーターです。オンラインデモを試すか、PHPが実行されているウェブサーバーにアプリをダウンロードしてホストすることができます。

JavaScriptブックマークレットのライブラリを保持する

ウェブブラウザのブックマークを使用して、独自のJavaScriptコードを書いたり、既存のスクリプトをダウンロードしたりすることで、どんなウェブサイトの機能を拡張することができます。しかし、これらのスクリプトがさらに複雑になり始めると、ブックマークではそれをほとんど収容できなくなります。

プロセスをより快適にするために、これらのスクリプトをローカルサーバーでホストし、ブラウザのブックマークを介してページに読み込むというのはいかがでしょうか。この設定により、ページのスペルチェック、データの抽出、不要な要素を隠すためのスタイルの変更などの作業を実行できます。


セルフホスティングのいくつかの側面は流行遅れになりつつあり、Dockerイメージやクラウドベースのサービスに置き換えられています。しかし、自分自身のWebサーバーをホスティングすることは簡単で、素晴らしいシステム管理の練習にもなり、コンピュータ上で実行されているものを正確に把握することができます。