ユーザーディレクトリ作成(Apache)

2021-06-22

Apacheで一般ユーザーがHPを作れるようにApacheの設定を変更する
【URL】
以下のURLで、一般ユーザー用HPはアクセス可能
http://example1.jp/~ユーザー名/
http://example1.jp/ユーザー名/
http://example1.jp/userdir/ユーザー名/

Apcheの設定変更

(1)http.conf のバックアップ

# cd /etc/httpd/conf
# cp -p httpd.conf httpd.conf.20091008

(2)http.conf の編集

変更箇所のみ記述

# vi httpd.conf

# UserDir を有効(コメントアウト)
# UserDir disable

# UserDirにpublic_htmlを指定
UserDir public_html

#http://www.example1.jp/<userdir>/ でアクセス可能
AliasMatch ^/userdir/([^/]+)/(.*) /home/$1/public_html/$2

# ユーザディレクトリを指定
#<Directory /home/*/public_html>
# AllowOverride FileInfo AuthConfig Limit
# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
# <Limit GET POST OPTIONS>
# Order allow,deny
# Allow from all
# </Limit>
# <LimitExcept GET POST OPTIONS>
# Order deny,allow
# Deny from all
# </LimitExcept>
#</Directory>
# ↓以下の全行追加

<Directory /home/*/public_html>
# 認証関係の.htaccess のみ許可
AllowOverride FileInfo AuthConfig Limit
# CCIの許可,Indexes を削除
Options Options ExecCGI FollowSymLinks
<Limit GET POST OPTIONS>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>

Webサーバー設定反映

(1)構文チェック

# /etc/init.d/httpd configtest
Syntax OK

(2)Apache再起動

# /etc/init.d/httpd restart
httpd を停止中: [ OK ]
httpd を起動中: [ OK ]

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

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

# mkdir /etc/skel/public_html

(2)ユーザーを作成しディレクトリが作成されているか確認
test ユーザー作成

# useradd test

(3)test ユーザーの パスワード設定

# passwd test
Changing password for user test.
New UNIX password:
BAD PASSWORD: it is too short
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

(4)public_html のディレクトリが存在するか確認する

# ls /home/test/
public_html

LinuxApache,Linux

Posted by admin