nekop's blog

OpenShift / JBoss / WildFly / Infinispanの中の人 http://twitter.com/nekop

Fedora 18のhttpdでUserDirを有効にする

ファイルやりとりするときにファイルサーバ経由だと面倒なときがあるので自分のマシンにWebサーバ立ち上げてpublic_html以下にsymlink作って勝手に持ってってくれー、ってすることも多い。

$ sudo yum install -y httpd
$ sudo vi /etc/httpd/conf.d/userdir.conf

userdir.confでdisabledになっててpublic_htmlがコメントアウトされてるので、コメントアウトを以下のように入れ替えて有効にする。

    #UserDir disabled
    UserDir public_html

デフォルトでIndexesとかSymLinksIfOwnerMatchとか有効になってるので便利。

起動する。

$ sudo firewall-cmd --add-service=http
$ sudo firewall-cmd --permanent --add-service=http
$ sudo chkconfig httpd on
$ sudo service httpd start

public_htmlを用意してテストする。

$ chmod 711 ~/ # デフォルトの700だとhttpdからpublic_html見えないので+xする必要がある
$ mkdir ~/public_html
$ echo 'foo' > ~/public_html/index.html
$ curl http://localhost/~nekop/

ここでSELinuxに怒られるけど、setroubleshoot見れば以下の設定が必要だというのがすぐわかる。

$ sudo setsebool -P httpd_read_user_content 1
$ sudo setsebool -P httpd_enable_homedirs 1

これでcurlで正常に動くことを確認できるはず。