OSX10.8サーバ その19 ユーザの追加

Mの更新(Mountain Lion OSX10.8サーバ) その19 ユーザの追加
サーバ.app で追加したユーザはワークグループマネージャで認識されない。逆もそうだ。サーバ.appで追加したユーザをワークグループマネージャで強引に作成しようとすると、もうそのユーザ名は使われているからだめだといってくる。
ーバ.appで追加したユーザのdirectoryは自動的につくられるわけではない。以前はワークグループマネージャで追加すると自動的にできていたけど。
サーバ.appで追加したユーザのdirectoryに自動的にSitesができるが、何かの操作をする必要があるようだ。なんかをやったため自動的にできている。
ようするに、あとからダウンロードして追加したワークグループマネージャとサーバ.appは連携がとれていないのだ。どうしたもんかな。
OS X Server: Workgroup Manager not included.によれば;
Workgroup Manager is not included with OS X Server.
A legacy version of Workgroup Manager is available from Apple Support Downloads for use on Mountain Lion.
とあるから、使えることは使える。10.8用のも用意されている、がサーバ,appと連携してないと混乱するだけだ。

OSX10.8サーバ その18 ユーザパスワードの変更

Mの更新(Mountain Lion OSX10.8サーバ) その18 ユーザパスワードの変更
ユーザが自分でパスワードを変更できる。
Server.app を起動して、Webサイト のページで サーバWebサイト(SSL) を選択し鉛筆アイコンをクリックする。下の方の 「ユーザが自分のパスワードを変更をすることを許可」 にチェックを入れる。
https://[ドメイン名]/changepassword/ にアクセスする。
このセキュリティ証明書は信頼できません とでてくるが このまま続行 とする。証明書を取得していないから当然だ。
ログイン画面になるから ユーザ名とパスワードを入力し、入力が正しいと パスワードを変更できる画面になる。
$$$$$$$$$$ 以下はメモ $$$$$$$$$$$$$
プロファイルの変更できてない。証明書とかを発行していないからだろう。
https://[ドメイン名]/mydevices/
証明書の発行について
http://support.apple.com/kb/TS4326?viewlocale=ja_JP

OSX10.8サーバ その17 ~(チルダ)なしにする

Mの更新(Mountain Lion OSX10.8サーバ) その17 ~(チルダ)なしにする

2019.3.22 加筆。#######以下のことをまとめて短く記載する。
新規ユーザにWebページを提供する。
/Users/[ユーザ名]/ に
Sites というdirectory を作り、 test と1行エディタで書いて、index.html というファイル名にしてファイルを保存する。
sh-3.2# cd /Library/Server/Web/Data/Sites

sh-3.2# ln -s /Users/[ユーザ名]/Sites [ユーザ名]
としてエイリアスを作成する
lrwxr-xr-x 1 root wheel 19 3 22 14:28 [ユーザ名] -> Users/[ユーザ名]/Sites
というリンクができる
sh-3.2# cd /private/etc/apache2/extra に移動し
sh-3.2# cat httpd-userdir.conf を確認する。
httpd-userdir.conf に
Alias /[ユーザ名] /Users/[ユーザ名]/Sites/
の行を加える
apache2 を再起動
sh-3.2# /usr/sbin/apachectl restart
http://[ドメイン名]/[ユーザ名]
で index.html が開くことを確認する。
チルダ入でも同様であることを確認する。
##########################################

各ユーザのページのURLには~(チルダ)をつける必要がある。この~がなくても良いようにするためには;
1) .conf に加筆する
2) デフォルトのトップページのあるdirectory にエイリアスを置く(シンボリックリンクを張る)
という2つの方法がある。
1)は;
/private/etc/apache2/extra/httpd-userdir.conf
#
UserDir Sites のあとに
#Could be accessed to Sites without ~.
AliasMatch ^/([^/]+)/(.*) /Users/$1/Sites/$2
AliasMatch ^/([^/]+) /Users/$1/Sites/
を書き加える。加筆の3行目はURLの最後に / が付いていなくてもOKとするためだ。これだとすべてのユーザに対応できる。
しかし、このままだ とhttp://[ドメイン名] でデフォルトのページが開かない。Forbiddenとなる。
デフォルトのトップページを有効にするためには、これに代わってエイリアスの設定をするのがいいようだ。
Alias /[ユーザ名] Users/[ユーザ名]/Sites/
の行を書き加えるとと可能になる。この場合、ユーザ毎の行を加筆する必要がある。ユーザの数が少なければこちらがいい。この場合、URL の最後に / がなくても問題ない。
したがって、hoge というユーザのためには /private/etc/apache2/extra/httpd-userdir.conf に
#Could be accessed to Sites without ~.
Alias/hoge Users/hoge/Sites/

を書き加える。これだとURL の末尾に / がなくてもかまわない。これは以下の2)と同じことだ。
2)は;
サーバのデフォルトのページが /Library/Server/Web/Data/Sites/Default 内のページだからここにエイリアスファイルを置く方法だ。このDefault dirctory で;

$ ln -s Users/[ユーザ名]/Sites [ユーザ名]

とする。ユーザ毎にエイリアスを作成する必要がある。
確認すると、hoge というユーザについては;
$ pwd
/Library/server/web/data/sites/default
$ ls -al
lrwxr-xr-x    1 root    wheel       17 Sep  9 09:37 hoge -> /Users/hoge/Sites
と確認される。この場合も、URL の末尾に / がなくても構わない。~をつけても問題ない。owner はroot のままで構わない。
どっちにしろ、ユーザ毎の.conf を作る必要があるので、2)の方法でいいのではないだろうか。場合によっては同一ユーザのSites内のファイルにシンボリックリンクを張ることもできるからな。ユーザの数が少ないので2)でやることにする。これまでと、同じだからだ。管理者は「じじい」だから保守的なのだ。
追記: 2)はうまくいかないときがある。なぜかCGIが~があるといいのだが~がないと、Internal server errorとなりlog をみると、このdirectoryはExecCGIが有効でないとなる。したがって1)の
/private/etc/apache2/extra/httpd-userdir.conf にユーザ毎に
Alias/hoge Users/[ユーザ名]/Sites/ を書き加えることにした。