R Studio IDE を使用して多くのことを行いますが、そのうちの1つは blogdownパッケージ のフォークである hugo を使用してローカルWebサイトを提供することです。 R Studioでコードを記述し、blogdown::serve_site()
コマンドを使用してサイトをプレビューします。これは、静的HTMLサイトをプレビューする最も簡単な方法です。 hugoR Studioを使用すると、ブラウザーが127.0.0.1:XXXX
の場所に移動し、ローカルサイトが目の前でプレビューされます。
Ubuntu 18.04でネイティブにローカルサイトを提供できますか? それは非常にシンプルであるべきだと思います。オンラインで検索しても、簡単な方法は見つかりません。静的なHTMLファイルをブラウザーで直接開くと、それらは不安定になります。すべての画像リンクはすぐに壊れます。見出し、ハイパーリンクなどの書式設定は、 hugo でページをローカルに提供する場合と同じではありません。
EDIT-「シンプル」という用語を実際に定義しなかった。 (これまでのところ)答えには2つの異なるアプローチがあります。1つはエンドユーザーにとって最も単純なアプローチであり、もう1つはコンピューターで実行される操作に関して単純なアプローチです。私は両方のアプローチが好きで、私がそれらをテストするとき、どんなアプローチを利用する答えも歓迎します。ありがとう。
Ubuntuはデフォルトとしてpython3を使用して出荷されますが、これを非常に簡単にするためにかなりの時間を費やしました:D
ポートportでhttpサーバーを起動するには、単に入力します
python -m http.server port
ファイルとディレクトリを共有する場合は、提供するディレクトリに移動します
cd /my/html/files
python -m http.server 8080
デフォルトの0.0.0.0
以外のアドレスを使用する場合は、--bind
を使用できます
例:python -m http.server 8080 --bind 127.0.0.1
はアドレス127.0.0.1:8080
で提供します:)
編集:それが本当に長かったかどうかにかかわらず、私はそれを読者に任せます
また、ドキュメントへのリンクもあります https://docs.python.org/3/library/http.server.html
ここ は1行のHTTPサーバーのリストです。私はあなたの目的/既存のツールに合うものがあると確信しています。
以下はリンクのサブセットで、私の意見では最も便利なものが含まれています。
Python:
python -m http.server 8000
ルビー:
Ruby -run -ehttpd . -p8000
ノード:
npm install -g http-server
http-server -p 8000
PHP:
php -S 127.0.0.1:8000
静的httpサイトを設定する簡単な方法の1つは、 darkhttpd を使用することです
そのためのパッケージはubuntuにはありませんが、ソフトウェアはサイト上のtarballまたはgitでダウンロードできる1つのソースファイルにすぎません:
git clone https://unix4lyfe.org/git/darkhttpd
cd darkhttpd
次にmake
を実行すると、darkhttpd実行可能ファイルができます。 (/usr/local/bin
に配置して、すべてのユーザーが利用できるようにします)
走る
./darkhttpd /path/to/wwwroot
または
./darkhttpd --help
コマンドに関するヘルプを取得するには
使用するディレクトリまたはポート、および他の多くのオプションを指定できます。
Sudo apt install Apache2
はApache2 Webサーバーをインストールします。デフォルトでは、index.html
フォルダー内の/var/www/html
へのアクセスを提供します。このファイルをあなたがホストしたいものに置き換えるのが最も簡単な方法です、そしてあなたは http://127.0.0.1 にあなたのローカルマシン、またはあなたのネットワークのあなたのマシンのIPアドレスにナビゲートできますそしてそれはページを提供します。
pythonコマンドの引数を覚えたくない場合は、woofを使用します。
Description: share files through HTTP protocol
Woof (Web Offer One File) is a tool to copy files among hosts. It can serve a
specified file on HTTP, just for a given number of times, and then exits.
Features include:
* it can share stuff "one shot" and exit just after he served that file.
* it can share things among different operating system or different devices
(e.g.: a smartphone), and allows one to upload files easily.
* it can also show a simple html form in order to upload file (useful if the
client hasn't a way to serve the file).
次のコマンドでDebian/Ubuntuにインストールできます
apt install woof
として使用
woof kittens.png
URLを印刷して、反対側のブラウザーに配置します。
Google Chromeユーザーの場合、 Chrome用Webサーバー を使用するのと同じくらい簡単です。単純にインストールして起動し、をクリックしてフォルダを選択し、静的ファイルを保持するディレクトリを選択します。
この記事 で説明されているように、最も単純な(そして最も限定的な)ソリューションの1つはnetcat
を使用することです。
while true; do { echo -e "HTTP/1.1 200 OK\r\n$(date)\r\n\r\n<h1>hello world from $(hostname) on $(date)</h1>" | nc -vl 8080; } done
この例では、ポート8080でサービスを提供しています。最初の1024ポートでサービスを提供するには、Sudo
を使用する必要があります。 cat filename
を使用するだけで、この方法でファイルを提供することもできます。
より複雑な例については、 bashttpd をご覧ください。
netcat-traditional と netcat-openbsd の違いにも注意してください。 Ubuntuは両方のバージョンを提供します。