Windows Vista (ノートパソコン)活用術 フィード・ティッカー

2007年10月19日金曜日

NetCommons

xoopsをベースに作られたCMSだ。
Xoopsの場合あちこちからモジュールを探して持ってこなければならないが、ここには、頻度の高いモジュールが既にセットされているので、そのような手間がかからない。
ユーザーインターフェースのデザインも軽くうっとおしさがないので、そのまま使って違和感はないだろう。
まだバグがとりきれていないようだが、十分使える感じもする。



【環境】
  • Webサーバ: Apache(1.3.xx、2.0.xx)
  • RDBMS(リレーショナルデータベース管理システム): MySQL3.23.xx(将来的にはPostgreSQL等にも対応予定)
  • スクリプト言語: PHP4.3.9 以降(PHP4.3.2ではメモリリークによりNetCommons1.1へのアップグレードが失敗する場合があります)
Apache 日本Apacheユーザ会PHP 日本PHPユーザ会mysql 日本MySQLユーザ会


【インストール】
http://www.netcommons.org/

以下抜粋だが問題なくインストールできた。

まず始めに、以下の点を事前に確認しておいてください。
・ドキュメントルート(WebサーバがHTMLファイルを公開するディレクトリ)のパス・MySQLに接続する際のユーザ名とパスワード上記が不明の場合は、サーバ管理者か利用しているサーバホスティング会社に確認してください。
NetCommonsをインストールしたいディレクトリにダウンロードしたNetCommons内のhtmlディレクトリ内の全てのファイルを移動します。
・サーバ上で直接操作する場合
ダウンロードしたNetCommons内のhtmlディレクトリ内の全てのディレクトリやファイルを、ドキュメントルート以下にコピーします。
・インターネット上のサーバに対して操作する場合
FTPを使ってhtmlディレクトリ内の全てのディレクトリやファイルを、ドキュメントルート以下にコピーします。FTPのユーザ名とパスワードが不明の場合はサーバ管理者か利用しているサーバホスティング会社に確認してください。
ディレクトリやファイルの移動後、ディレクトリ及びファイルに対するパーミッション(アクセス権)を変更します。
「uploads」、「cache」、「templates_c」、「themes」ディレクトリ及び「mainfile.php」ファイルに対するパーミッション(アクセス権)を変更します。(chmod
777)※Win32環境でインストールを実行している場合には通常パーミッションを設定する必要はありません。
http://ファイルを移動したディレクトリまでのURL/index.phpにブラウザでアクセスするとインストールウィザードの開始画面が表示されます。

mysql のコマンド

MYSQLに関する説明は
http://www.bitscope.co.jp/tep/MySQL/quickMySQL.html#doc1_id67
に詳しい。日ごろよく使うコマンドだけ整理してみる。以下***はデータベース名

mysql -u root -p *** (利用開始、rootはユーザー名に変更、データベース名無しでもとりあえず入れる。)
show databases;
use ***; (***はデータベース名)
show tables;
quit; 終了


知っておくと便利なキー操作
[←]か[Ctrl]+[B]    カーソルを左に移動する
[→]か[Ctrl]+[F]     カーソルを右に移動する
[Ctrl]+[A]          カーソルを行頭に移動する
[Ctrl]+[E]         カーソルを行末に移動する
[↑]か[Ctrl]+[P]     前のSQL文やコマンドを表示する(ヒストリ)
[↓]か[Ctrl]+[N]     後のSQL文やコマンドを表示する(ヒストリ)
[DEL]か[Ctrl]+[D]    一文字削除
[BS]か[Ctrl]+[H]     カーソルの前の一文字を削除
[Tab]           途中まで入力したSQL構文や、フィールド名を補完する
\help
\s コネクト情報
\c 入力キャンセル

ファイルに記述したSQL文の実行する場合
   $ mysql [-t -N] データベース名 < ファイル名 SELECT構文で有効なオプション    [-t --table]:表形式(区切り線を出力)で結果を表示する。    [-N --skip-column-names]:カラム名を出力しない。 実行結果をファイルに出力する(1)    $ mysql データベース名 > ファイル名select * from table1;
     入力待ちになるので、SQL文を入力する
     (SQL文の最後は「;」で終わらせる)
     \q (処理を終了する)

実行結果をファイルに出力 (2)
     mysql [-t -N] データベース名 > ファイル名

ファイルに記述したSQL文の実行結果をファイルに出力する
     $ mysql [-t -N] データベース名 < (SQL)ファイル名 > (OUT)ファイル名*オプション

ファイルに記述したSQL文の実行結果をファイルに追加出力する
     $ mysql [-t -N] データベース名 < (SQL)ファイル名 >> (OUT)ファイル名*オプション

ファイルに記述したSQL文を実行するを参照してください。
     (1)$ cat ファイル名 mysql [-t -N]
     (2)$ echo "select * from テーブル名" mysql [-t -N] データベース名

コマンドの実行結果をmysqlコマンドに渡して実行し、ファイルに出力する
     (1)$ cat (SQL)ファイル名 mysql [-t -N] データベース名 > (OUT)ファイル名
     (2)$ echo "select * from テーブル名" mysql [-t -N] データベース名 > (OUT)ファイル名

ユーザー管理

* 下記構文を実行した後に、FLUSH PRIVILEGES構文を必ず実行します。
mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON データベース名.* TO ユーザ名@localhost IDENTIFIED BY 'パスワード';
mysql> FLUSH PRIVILEGES;
mysql> GRANT all privileges ON *.* TO sekkei@"%" IDENTIFIED BY 'sekkei' WITH GRANT OPTION;

mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO sekkei@"%" IDENTIFIED BY 'sekkei' WITH GRANT OPTION;
select * from mysql.user \G


GRANT priv_type [(column_list)] [, priv_type [(column_list)] ...]
ON {テーブル名 * *.* データベース名.*}
TO ユーザ名 [IDENTIFIED BY 'パスワード']
[, ユーザ名 [IDENTIFIED BY 'パスワード'] ...]
[REQUIRE
[{SSL X509}]
[CIPHER cipher [AND]]
[ISSUER issuer [AND]]
[SUBJECT subject]
]
[WITH GRANT OPTION]
GRANT構文のpriv_typeには、次のようなものがあります。
GRANT構文のpriv_typeについて ALL PRIVILEGES(*):すべての権限。(ALLと同義語)
ALTER(*):ALTER TABLE構文が実行できる権限。
CREATE(*):データベースとテーブルの作成が行える権限。
DROP(*):データベースとテーブルの削除が行える権限。
FILE(*):LOAD DATA構文とSELECT ~ INTO OUTFILE構文を実行できる権限。
PROCESS(*):mysqladminコマンドのprocesslistとkill命令を実行できる権限。
RELOAD(*):mysqladminコマンドのreload、refresh、flush-privileges、
flush-hosts、flush-logs、flush-tables命令を実行できる権限。
SHUTDOWN(*):mysqladminコマンドのshutdown命令を実行できる権限。
DELETE:DELETE構文を実行できる権限。
INSERT:INSERT構文を実行できる権限。
SELECT:SELECT構文を実行できる権限。
UPDATE:UPDATE構文を実行できる権限。
INDEX:インデックスの作成と削除が行える権限。
REFERENCES:テーブルのリファレンスが参照できる権限。
USAGE:すべての権限がない。("no privileges"と同義)
(*):通常のデータ操作以上の権限を与えるので、十分な検討が必要です。
ユーザ名についてユーザ名には、ユーザとホストを指定します。
■書式:
ユーザ@ホスト名
ユーザ:登録するユーザ
ホスト:登録するユーザは、どのホストからMySQLサーバにアクセスするのか
(localhost ホスト名(IPアドレス) "%"(ワイルドカード))
■例:
ユーザ名
or ユーザ名@localhost
or ユーザ名@IPアドレス
or ユーザ名@"%"

REVOKE priv_type [(column_list)] [, priv_type [(column_list)] ...]
ON {テーブル名 * *.* データベース名.*}
FROM ユーザ名 [, ユーザ名 ...]

常のデータ操作が行えるユーザを登録するmysql> GRANT SELECT,INSERT,UPDATE,DELETE
-> ON データベース名.*
-> TO ユーザ名@localhost
-> IDENTIFIED BY 'パスワード';
mysql> FLUSH PRIVILEGES;

mysql> CREATE DATABASE データベース名

mysql> DROP DATABASE データベース名

PC VISTAで検索したyoutube video

ホスティングや便利なネットワークサービス