LoginSignup
0
0

More than 5 years have passed since last update.

馬鹿の一つ覚え: httpd

Last updated at Posted at 2018-02-05

httpdの再起動 (CentOS7)

$ sudo systemctl restart httpd.service

SELinuxが有効になっているサーバでの注意点

$ getenforce
Enforcing
$ cmp /var/www/html/data/foo /tmp/foo
$ ls -l /var/www/html/data/foo /tmp/foo
-rw-r--r--. 1 glire glire 20273 Feb  5 15:09 /tmp/foo
-rw-r--r--. 1 glire glire 20273 Feb  5 15:09 /var/www/html/data/foo
$ ls -Z /var/www/html/data/foo /tmp/foo
-rw-r--r--. glire glire unconfined_u:object_r:user_tmp_t:s0 /tmp/foo
-rw-r--r--. glire glire unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/html/data/foo
$ mv -i /tmp/foo /var/www/html/data
mv: overwrite '/var/www/html/data/foo'? y
$ ls -Z /var/www/html/data/foo    # このファイルはアクセスできない
-rw-r--r--. glire glire unconfined_u:object_r:user_tmp_t:s0 /var/www/html/data/foo
$ restorecon /var/www/html/data/foo    # ラベルuser_tmp_tをhttpd_sys_content_tに変更
$ ls -Z /var/www/html/data/foo
-rw-r--r--. glire glire unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/html/data/foo

ファイルを別なディレクトリから移動して公開する場合、ブラウザ側で Forbidden You don't have permission to access /data/foo on this server. と表示されてアクセスできないことがある。その場合はコマンド restorecon を用いて、セキュリティに関する拡張属性を書き換える必要がある。

Pythonで書かれたCGIで日本語を読み込む

<Directory "/var/www">
    AllowOverride None
    # Allow open access:
    Require all granted
    SetEnv PYTHONIOENCODING UTF-8
<Directory>

設定ファイル /etc/httpd/conf/httpd.conf の に SetEnv PYTHONIOENCODING UTF-8 を書き込めばよい。

ディレクトリ毎の設定を行う.htaccessを利用

DocumentRoot "/var/www/html"

<Directory "/var/www">
    AllowOverride None
    Require all granted
</Directory>

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

ファイル .htaccess を有効にするためには /etc/httpd/conf/httpd.conf の の中の AllowOverride None を上記のように AllowOverride All に変更する。有効になったことは .htaccess に自分の名前などのいい加減な文字列を書き込み /var/log/httpd/error_log に何らかのエラーが出力されることで容易に確認できる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0