這篇的東西我沒有很確定是對的,筆記一下,有錯請指正喔。
考慮以下情境:
- 在一台Linux主機上執行Apache伺服器
- 主機上有兩個使用者:a及b
- 使用Apache VirtualHost將a.gaaga.com導向/home/a/www,將b.gaaga.com導向/home/b/www
網路上可以找到一些解法:
- chmod 777 -R www (超危險暴力法,強力不推薦使用)
- chgrp -R www-data www; chmod -R g+a www
- etc….
這個問題我google了一下,有點抓不到正確得關鍵字,於是直接上irc freenode#TOSSUG發問,感謝snowian pct的回答,最後找到了這個東西:
apache2-mpm-itk (just mpm-itk for short) is an MPM (Multi-Processing Module) for the Apache web server. mpm-itk allows you to run each of your vhost under a separate uid and gid — in short, the scripts and configuration files for one vhost no longer have to be readable for all the other vhosts.在debian下的設置很簡單:
# apt-get install libapache2-mpm-itk
# vi /etc/apache2/sites-available/a-site
加上
AssignUserID a a (分別是userid, groupid)
即可
(找方法找了很久,找到後花三分鐘就搞定了)
另外,看到2007年的mailing list上的問題:會跟mod_python相衝。不知道這個問題解決了沒,我可能會在上面跑Django