ユーザーディレクトリ作成(/~ユーザー名/)(CentOS7)

提供:あわ自由帳

メインページ > CentOS 7 で自宅サーバー構築  > ユーザーディレクトリ作成(/~ユーザー名/)(CentOS7)

一般ユーザーにホームページスペースを提供できるようにする。

ホームページスペース提供サービスを行っている一般的なWebサーバーと同様に、http://sudachi.jp/~ユーザー名/というURLで、一般ユーザーが作成したホームページへアクセスできるようにする。

UserDir を利用できるよう設定

[root@host4 ~]# vi /etc/httpd/conf.d/userdir.conf
# コメントアウト
#UserDir disabled
# 行頭の#を削除してコメント解除
UserDir public_html

<Directory "/home/*/public_html">
    AllowOverride All                                 ← 変更
    Options IncludesNoExec ExecCGI FollowSymLinks     ← 変更
    Require method GET POST OPTIONS
</Directory>

HTTPD 再起動

[root@host3 ~]# systemctl restart httpd

HTTPD 動作確認

[root@host4 certs]# systemctl status httpd
 httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since 月 2016-01-11 08:01:28 JST; 10s ago
     Docs: man:httpd(8)
           man:apachectl(8)
  Process: 5715 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS)
 Main PID: 5720 (httpd)
   Status: "Total requests: 0; Current requests/sec: 0; Current traffic:   0 B/sec"
   CGroup: /system.slice/httpd.service
           ├─5720 /usr/sbin/httpd -DFOREGROUND
           ├─5721 /usr/sbin/httpd -DFOREGROUND
           ├─5722 /usr/sbin/httpd -DFOREGROUND
           ├─5723 /usr/sbin/httpd -DFOREGROUND
           ├─5724 /usr/sbin/httpd -DFOREGROUND
           └─5725 /usr/sbin/httpd -DFOREGROUND
・
・
・

ユーザーディレクトリ追加

ユーザーディレクトリ(~/public_htmlディレクトリ)作成

既存ユーザーの場合、スクリプトで一括してユーザーディレクトリを作成する

[root@host4 ~]# vi userdirmake
#!/bin/bash
for user in `ls /home`
do
    id $user > /dev/null 2>&1
    if [ $? -eq 0 ] && [ ! -d /home/$user/public_html ]; then
        mkdir -p /home/$user/public_html
        chown $user. /home/$user/public_html
        chmod 711 /home/$user
        chmod 755 /home/$user/public_html
        echo $user
    fi
done

新規ユーザー追加時にユーザーディレクトリ(~/public_htmlディレクトリ)を自動で作成

[root@host4 ~]# mkdir /etc/skel/public_html

ユーザーディレクトリ一括作成スクリプト実行

[root@host4 ~]# sh userdirmake
user1
・
・
・
usern

ユーザーディレクトリ一括作成スクリプト削除

[root@host4 ~]# rm -f userdirmake