sudo、インストール、インターネットを必要としないポータブルLinux Webサーバー

sudo、インストール、インターネットを必要としないポータブルLinux Webサーバー

私は、sudo、パッケージマネージャ、インターネットのないエンタープライズRed Hatサーバーを持っています。 Webサーバークライアントが必要で、httpdとlighttpdのインストールプログラムとバイナリを試しましたが、まだ/usr/sbin/httpdへの参照が必要です。これにはsudoが必要です。とにかく私の制限に従ってWebサーバーを実行できますか?私のポートは1024以上です。

現在の回避策は、他のWindowsシステムをhttpdサーバーとして使用し、DNSをこのRed Hatサーバーにリダイレクトすることです。

答え1

python -m http.server
Python version 3: Serve current directory tree at http://$HOSTNAME:8000/

引用:mattcurry.com

答え2

このRed HatシステムでWebサーバーを実行できるかどうか疑問です。 「ロックされた」と思われるので、すでに確認した問題に加えて、次の問題も処理する必要があります。

  • RHシステムでは、デフォルトでSELinuxが有効になっており、システムが「ロックされている」状態の場合は引き続き有効になっていると予想されます。 SELinux アクティベーションモードでは、httpd は http_port_t(80, 81, 443, 488, 8008, 8009, 8443, 9000) で指定されたポートにのみ接続できるため、4 > 1024 を選択できます。

  • RHシステムのデフォルトのファイアウォールは指定されたポートのみを許可し、他のすべてのポートはブロックします。利用可能な4つのポートのうちの1つでも開いている可能性はほとんどありません。

答え3

注:ちょうどコメントでコンパイラもあることを見ましたgcc。この場合、私の答えは役に立たないようですが、基本的な開発ツールがなくても、実際の問題は他の場所で発生するという考えを考えることができます。

Webサーバーをインストールするためにrootアクセスは必要ありません。システムの限られた場所にアクセスすることなく、ホームディレクトリにlighttpdを簡単にインストールできます。唯一の秘訣は手動でコンパイルする必要があるということです(ただし、実際にlighttpdをコンパイルするのに長い時間はかかりません)。

  1. ダウンロード/受信lighttpdのソース
  2. 抽出してください。

$ tar -xvf lighttpd-*.tar.gz
  1. 解凍したばかりのディレクトリに移動し、スクリプトを使用してビルドプロセスを構成しますconfigure

ここで重要なのは、別のインストールプレフィックスを使用し、可能であれば(ホームディレクトリ)インストールを実行することです。

$ mkdir ~/lighttpd
$ ./configure --prefix=$HOME/lighttpd
  1. を使用してすべてをビルドし、makeを使用してインストールを実行しますmake install

$ make
$ make install

最後のコマンド(ファイルをインストールするため、通常はroot権限が必要です/sbin)はここで失敗しません。これでlighttpdがインストールされたので、次に進み、~/lighttpdサーバーを起動する準備をします。

  1. lighttpdのデフォルト設定ファイルを作成します。

~/lighttpd/etc/また、ドキュメントルートディレクトリに設定ファイルを作成します。

$ cd ~/lighttpd
$ mkdir etc www
$ emacs etc/lighttpd.conf

必要なエディタを使用してファイルに基本設定を作成してみてください。

server.document-root = "/home/you/lighttpd/www/" 
server.port = 3000

mimetype.assign = (
    ".html" => "text/html", 
    ".txt" => "text/plain",
    ".jpg" => "image/jpeg",
    ".png" => "image/png" 
)
  1. 戻ってsbin設定を確認してください。

$ cd ~/lighttpd/sbin
$ ./lighttpd -tf ../etc/lighttpd.conf
Syntax OK
  1. サーバーを起動します。

$ ./lighttpd -Df ../etc/lighttpd.conf

当社の構成によると、サーバーは次のことができる必要があります。http://localhost:3000/、対応する文書のルートはにあります~/lighttpd/www。詳細については、以下を確認してください。構成チュートリアル、または一般文書。 lighttpdは設定が非常に簡単で、他のサーバーでも同じプロセス(、、、、./configure --prefixドキュメントを読む)を実行できると確信しています(より多くの時間と調整が必要な場合がありますが)makemake install

サーバー管理に関する注意:会社にIT部門がある場合は、IT問題をその部門に任せてください。まず、必要なツールがすべてあることを確認し、サーバーをコンパイルしてポートでリッスンしたくない場合は、それに応じてインフラストラクチャを構成する必要があります。ここで説明するコンパイルプロセスは、root権限がないと失敗する理由はなく、高いポートでサーバーを実行するのに問題がないはずです。もちろん、サーバーはローカルネットワークに隠されて外部からアクセスできない可能性がありますが、インフラストラクチャが疑わしいため、どのコンピュータもLANで受信するポートを開けないようにする場合、サーバーは次のことを行うことができます。 lighttpdをインストールするユーザーよりも処理する必要があるより緊急の問題です。

答え4

Webサーバーを持つことはできますが、ルートアクセスなしではポート80には存在できません。 1000未満の場合、rootアクセスが必要です。 8080または1000以上のほぼすべてを持つことができます。

ソースでビルドする必要がある一般的なパッケージマネージャが利用できない場合は、パッケージマネージャがキャッシュを別の場所に保持できることを覚えているようです。問題は、一般的な設定ではデフォルトのルートアクセスを想定しているため、追加の設定を手動で実行する必要があることです。

関連情報