web-dev-qa-db-ja.com

LinuxのWindowsサブシステムにApacheをインストールする

最新のWindows 10リリース(ビルド14316)に更新したばかりで、すぐにWSL(Linux用のWindowsサブシステム)で遊び始めました。これは、WindowsでUbuntuインストールを実行することになっています。

おそらく、Apacheをインストールして不可能なことをしようとしているのかもしれませんが、誰かがこれが不可能な理由を説明してください。

とにかく、インストール中(Sudo apt-get install Apache2)に、依存関係が正しくダウンロードおよびインストールされた後、次のエラーメッセージが表示されました。

initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: No such file or directory
runlevel:/var/run/utmp: No such file or directory
 * Starting web server Apache2                                                 *
 * The Apache2 configtest failed.
Output of config test was:
mktemp: failed to create directory via template '/var/lock/Apache2.XXXXXXXXXX': No such file or directory
chmod: missing operand after '755'
Try 'chmod --help' for more information.
invoke-rc.d: initscript Apache2, action "start" failed.
Setting up ssl-cert (1.0.33) ...
Processing triggers for libc-bin (2.19-0ubuntu6.7) ...
Processing triggers for ureadahead (0.100.0-16) ...
Processing triggers for ufw (0.34~rc-0ubuntu2) ...
WARN: / is group writable!

今、Apache2が機能するためにいくつかのフォルダーとファイルが欠落しているように見えることを理解しています。 Windowsのインストールを台無しにするものを変更する前に、別の方法があるかどうかを尋ねたいのですが。また、グループが書き込み可能かどうかを心配する必要がありますか、これは単なるWindowsの標準的な動作ですか?

25
bluppfisk

出力で次のことに注意してください

failed to create directory via template '/var/lock/Apache2.XXXXXXXXXX': No such file 

/ var/lockをリストしてみました。存在しない/ run/lockを指します。

でディレクトリを作成します

mkdir -p /run/lock

これでインストールが機能するはずです(最初にインストールをクリーンアップする必要がある場合があります)

Apache running on Windows Ubuntu

15
Erez A. Korn

この警告を排除するために

Invalid argument: AH00076: Failed to enable APR_TCP_DEFER_ACCEP

これを/etc/Apache2/Apache2.confの最後に追加します

AcceptFilter http none
46
Alberto.d72

ネットワークに関連する多くの問題を回避するには、管理者モードでbash.exeを起動する必要があります。 Lamp(Apache/MySQL/Php)を問題なくインストールしました:

  • 管理者モードでbash.exeを起動します

  • タイプ:Sudo apt-get install lamp-server ^

  • / etc/Apache2/Apache2.confに次の2行を追加します。

サーバー名localhost

AcceptFilter httpなし

その後、Apacheを起動できます。/ etc/init.d/Apache2 start

16
cetipabo

ここでのすばらしいアドバイスに従って、Apache2.confを編集し、上記のさまざまなエラーをすべて受け取った後にファイルの最後に次を挿入し、Apache2はdebian wslパッケージでうまく機能しました。

Servername localhost
AcceptFilter http none
AcceptFilter https none
3
Alpha