Manual:Installation/Creating system accounts/ja

おそらくMediaWikiのインストールで一番難しいのはユーザの扱いです.

MySQLと同じサーバにMediaWikiをインストールする場合、インストーレションに5つのユーザが関係します:


 * 1) wikiのシスオペ - wikiの管理者. ウェブインターフェイスだけにアクセス権限を持つのでシェルコマンドでは使いません.
 * 2) 一つのホストユーザ - サーバシステム上の通常のユーザアカウント.
 * 3) 一つのデータベースユーザ - MySQLサーバ上の通常のアカウント.
 * 4) ルートのホストユーザ - サーバシステムのスーパーユーザ.
 * 5) MySQLのルートユーザ - MySQL全体のデータベース管理のスーパーユーザ.

MediaWikiスクリプトインストーラはwikiのシスオペのアカウントを設定することと次の内容をどちらかを要求します: - 一つのデータベースユーザ(とパスワード); - もしくはMySQLのルートユーザパスワード.

MediaWikiをインストールしたときのみwikiのシスオペのアカウントが必要です.

ウェブを通してできない管理をするために一つのホストユーザが必要です(MediaWiki配布ファイルを解凍する、アップグレードをする、CSSファイルを変更するなど).

次の場合はルートホストアクセスが必要です:
 * 単独のデータベースユーザを持たない;
 * MySQLのルートアクセスを知らない;
 * $HOME/public_html上にPHPページをインストールするためのパーミッションがない/望まない.

この記事はユーザを取り扱うので、後者2つだけ説明します. 一つのデータベースユーザを作成する方法を説明します. sudoが書かれている場所ではルートのホストパスワードが必要です. 他の場所ではMySQLのルートパスワードが必要になります.

一つのホストユーザとしてMySQLマシンサーバにシェルアクセスでログインする方法です: mysqladmin -u root create wikidb -p Enter password: MySQLのルートパスワードを入力する、もしくは知らない場合、MySQLのルートパスワードが設定されているか確認をするために入力して下さい. 間違ったパスワードを入力する場合、次の内容が表示されます: Access denied for user: 'root@localhost' (Using password: YES) (MySQLのパスワードを覚えていない人のために、このセクションの終わりで説明があります). さもなければ、何も現れません(もしくはこのドキュメントのスコープを超過するエラーが現れます).

mysql -u root -p Enter password: MySQLのルートパスワードを入力する、もしくは、知らない場合は入力を試して下さい. 間違ったパスワードを入力した場合、次の内容が表示されます: Access denied for user: 'root@localhost' (Using password: YES) MySQLのルートパスワードを覚えていない人のために、このセクションの最後に説明があります. ログインに成功すると次の内容が表示されます. Else: mysql> データベースがmysqladminによって本当に作成されたか確認して下さい: mysql> show databases; +--+ | Database | +--+ | mysql   | | test    | | wikidb  | +--+ 3 rows in set (0.00 sec)

次のコマンドです: mysql> GRANT ALL PRIVILEGES ON wikidb.* TO 'wikiuser'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION ; mysql> GRANT ALL PRIVILEGES ON wikidb.* TO 'wikiuser'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION ; 終了します : mysql> exit

これで、インストーラスクリプトを実行することが出来ます: http://your_machine/wiki/config/ そしてGRANT MySQLコマンドで設定されたwikiuserとパスワードを提供して下さい. ルートパスワードではありません.

MySQLのルートパスワードを覚えていない場合、次のオプションを/etc/my.cnfファイルの[mysqld]領域に追加して下さい: skip-grant-tables それがこのときに示されている場合、次のオプションを同じ[mysqld]領域の/etc/my.cnfファイルに次のオプションを有効にすることで、mysqlサーバへの外部接続を許可することは出来ません. skip-networking なぜなら、デーモンを再起動するとき、誰もがmysqlサーバへのルートアクセスを持つことになります(これらのファイルを編集するために要求されるルートアクセス). このときにsshとrshといったシェルログインのタイプを許可することができないことを示します(同じ理由です).

サーバを再起動します. コマンドはLinuxディストリビューションによって違います. Fedoraの場合です(2ですが、すべてのRedHatベースのディストロでも動作します): sudo /etc/init.d/mysqld restart Slackware (10.2ですが、すべてのSlackwareベースのディストロでも動作します): sudo /etc/rc.d/rc.mysqld restart OpenSuse10では次のコマンドを使います: sudo /etc/init.d/mysql restart

上記で見かけたコマンドを使うことが出来ます:

mysqladmin -u root create wikidb -p mysql -u root -p

その後で、/etc/my.cnfの編集とサーバの再起動を忘れないで下さい.