web-dev-qa-db-ja.com

Apacheを現在のユーザーとして実行する方法

開発マシンの場合、現在のユーザーとしてApacheを実行してアクセス許可の問題を簡素化する方が便利ですか?それ、どうやったら出来るの?そのsuexecと思いますが、Ubuntu + Apacheでどのように設定すればよいですか?

42
Jiew Meng

私自身はwww-dataグループにユーザーを追加します...

Sudo adduser {username} www-data

シンプルで効果的。設定ファイルや権限をいじることはありません。

27
Rinzwind

次のファイルをルートとして編集します。/ etc/Apache2/envvars

コマンドを使用して:

Sudo nano /etc/Apache2/envvars

ユーザーが1人だけの場合は、ユーザーとグループを自分自身に変更し、アクセス許可の問題が再び発生しないようにします。

つまり、ユーザー「big_dog」としてログインしてサーバーを実行している場合:

export Apache_RUN_USER=big_dog
export Apache_RUN_GROUP=big_dog

ヘック、その問題については、そのユーザーを現在のユーザーに変更することができます。次に、user_dirをインストールします。すべてのWebを所有しているだけで、完全に制御できます(これを変更しない限り)。

サーバーを再起動し(不明な場合は、再起動するかgooleするだけ)、すぐに使用できます。

53
Eric

なぜあなたはこれをするのですか、私は過去にそのパーマの問題に苦労していましたが、これは今日からの私の開発プロセスです:

  • 新しいLinuxボックス(仮想、またはラップトップのようなローカル)をインストールします
  • 標準のSudo apt-get install lamp-server^ procを実行してランプを点灯します
  • プロジェクトが次のようなホームディレクトリにsymリンクを作成します。

    ln -s /home/user/html /var/www/html

  • ホスト設定ファイルへのsymリンクを作成します

    ln -s /home/user/html/Apache-VirtualHosts.conf /etc/Apache/sites-enabled/000-default

それでおしまい :)

それはアスペクトとして機能し、ユーザー権限やApacheサーバーと同様の問題はありません。mysqlにはもう少し時間がかかります。

乾杯

1
Kresimir Pendic

「これを行うべきです」という問題を回避して、Apacheのユーザーが設定されている場所を見つけるには、次を実行します。

grep www- /etc/Apache2/Apache2.conf

次に、/etc/Apache2/Apache2.confでそれらのインスタンスを編集し、Apache(Sudo /etc/init.d/Apache2 reload)を再ロードします。

0
Oli

新しいユーザーグループwebdevを作成し、それにwww-dataユーザーを追加します。

Sudo addgroup webdev
Sudo adduser www-data webdev

次に、そのグループにユーザーを追加し、yorユーザーのデフォルトグループにします。

Sudo adduser {your-user} webdev
Sudo addgroup webdev

最後に行うことは、グループwebdevがファイルに対するrwx権限を持っていることを確認することです

Sudo chmod 775 -R /path/to/project

発生する可能性があるのは、たとえばwww-dataは新しいログファイルを作成し、rwxすることはできません。

0