デフォルトのシェルを変更

macのrootユーザになった際のshellがどうも気に入らなかったのでデフォルトのシェルを変更

やり方は

sh-3.2# chsh -s /bin/bash root

でok.
一度ログアウトしてから再びrootになると

bash-3.2#

となってて変更できた。
シェルはパスをしっかりと指定しないといけないっぽい。

by   at 17:55  | Permalink

macportでphpをインストール

sudo port install php5 +apache2 +mysql5
sudo /opt/local/apache2/bin/apxs -a -e -n "php5" libphp5.so
sudo cp /opt/local/etc/php.ini-dist /opt/local/etc/php.ini

vi /opt/local/apache2/conf/httpd.conf

で、
Include conf/extras-conf/mod_php.conf


の最後の方に、
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
を追加。

/opt/local/apache2/bin/apachectl restart

apacheを再起動

by   at 17:48  | Permalink

macportでapacheインストール

macportを使ってapache2のインストールを行う

beck:~ katsuya$ sudo port install apache2

けれど、以下のようなエラーが発生してうまくいかない。

Error: The following dependencies failed to build: apr-util sqlite3 gawk gettext ncurses ncursesw readline pcre
Error: Status 1 encountered during processing.

その場合、sqllite3をアンインストールしてあげれば大丈夫。

beck:~ katsuya$ sudo port clean --all sqlite3
beck:~ katsuya$ sudo port install apache2

最後に自動起動のデーモンに追加しておわり

beck:~ katsuya$ sudo lauchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist

by   at 16:50  | Permalink

macでrootユーザを有効にする方法

Leopardでは、デフォルトでrootユーザが無効になっている。
そのため、

> sudo passwd root

とやってrootのパスワードを設定してあげればいい。

by   at 16:48  | Permalink

mysql環境構築

[root@fedora ~]# mysql -u root ← MySQLサーバーへrootユーザでログイン
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6 to server version: 5.0.21

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> select user,host,password from mysql.user; ← 登録済ユーザ、パスワード確認
+------+----------------------+----------+
| user | host | password |
+------+----------------------+----------+
| root | localhost | | ← ホスト名がlocalhostのrootユーザにパスワードが設定されていない
| root | fedora.fedorasrv.com | | ← ホスト名が自ホストのrootユーザにパスワードが設定されていない
| root | 127.0.0.1 | | ← ホスト名が127.0.0.1のrootユーザにパスワードが設定されていない

+------+----------------------+----------+
4 rows in set (0.00 sec)

mysql> set password for root@localhost=password('rootパスワード'); ← ホスト名がlocalhostのrootユーザにパスワード設定
Query OK, 0 rows affected (0.00 sec)

mysql> set password for root@'fedora.fedorasrv.com'=password('rootパスワード'); ← ホスト名が自ホストのrootユーザにパスワード設定
Query OK, 0 rows affected (0.00 sec)

mysql> set password for root@127.0.0.1=password('rootパスワード'); ← ホスト名が127.0.0.1のrootユーザにパスワード設定

Query OK, 0 rows affected (0.00 sec)

mysql> select user,host,password from mysql.user; ← 登録済ユーザ、パスワード確認
+------+----------------------+------------------+
| user | host | password |
+------+----------------------+------------------+
| root | localhost | **************** | ← ホスト名がlocalhostのrootユーザにパスワードが設定された
| root | fedora.fedorasrv.com | **************** | ← ホスト名が自ホストのrootユーザにパスワードが設定された
| root | 127.0.0.1 | **************** | ← ホスト名が127.0.0.1のrootユーザにパスワードが設定された
+------+----------------------+------------------+
4 rows in set (0.00 sec)

mysql> exit ← MySQLサーバーからログアウト

Bye

[root@fedora ~]# mysql -u root
 ← ホスト名がlocalhostのrootユーザでパスワードなしでMySQLサーバーへログインできないことを確認
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

[root@fedora ~]# mysql -u root -h 'fedora.fedorasrv.com'
 ← ホスト名が自ホストのrootユーザでパスワードなしでMySQLサーバーへログインできないことを確認
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

[root@fedora ~]# mysql -u root -h 127.0.0.1
 ← ホスト名が127.0.0.1のrootユーザでパスワードなしでMySQLサーバーへログインできないことを確認
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

[root@fedora ~]# mysql -u root -p ← MySQLへrootでログイン
Enter password:  ← MySQLのrootパスワード応答

ホスト名がlocalhostのrootユーザでパスワードありでMySQLサーバーへログインできることを確認
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6 to server version: 5.0.21

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> exit ← MySQLサーバーからログアウト
Bye

管理者権限を持つユーザを登録する

MySQLのユーザ「root」と同じ、管理者権限を持つユーザ「user1」を登録するには、次のような2つのGRANT構文を実行します。MySQLのユーザ「user1」にはパスワードを設定しています。

例:管理者権限を持つユーザを登録する
mysql> GRANT ALL PRIVILEGES ON *.* TO user1@"%"
    -> IDENTIFIED BY 'パスワード' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO user1@localhost
    -> IDENTIFIED BY 'パスワード' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;

どのホストからでもサーバに接続できるようにするために、「user1@"%"」と「user1@localhost」を指定した、2つのGRANT構文を実行しています。(localhostから接続できるようにするためには、「user1@localhost」を指定する必要があります)

また、「WITH GRANT OPTION」によりGRANT構文の実行権限を与えています。

管理者権限を与えるパラメータについて
権限:ALL PRIVILEGES(すべての権限)
データベース名.テーブル名:*.*(すべてのデータベースのすべてのテーブル)
ユーザ名:user1@"%"      (すべてのホスト「"%"」の、ユーザ「user1」)
          user1@localhost(ローカルホストの、ユーザ「user1」)
GRANT実行権限:(GRANT構文を実行する権限)


by   at 10:02  | Permalink

macportsのインストール

インストールの準備

MacPortsはソフトウェアをコンパイルしてインストールするので、コンパイラやらがいろいろと必要。そこで、Xcode Toolsをインストールする。これは、Mac本体に付属のOSインストールディスクか、http://connect.apple.com/から手に入るけど、インストールディスクからがおすすめ。

最近のマシンだとOSのインストールディスクの



  • Xcode Tools/XcodeTools


を実行すればOK。


MacPortsのインストール


準備が済んだら、MacPortsをインストールする。MacPortsのバイナリは、http://svn.macosforge.org/repository/macports/downloads/からダウンロードできる。dmg形式のアーカイブを使うのが最も手軽で、Mac OS X 10.4を使ってる人は、DarwinPorts-1.3.1/DarwinPorts-1.3.1-10.4.dmgをダウンロードしよう。

ダウンロードができたら、マウントしたディスクの中のインストーラを実行して、インストールを完了する。


環境変数の追加


MacPortsは、MacPorts自身を含めたファイルをすべて/opt/local以下にインストールする。なので、各種パスを/opt/localに通しておく必要がある。そこで、自分のシェルの環境変数を以下のように設定しておく。


export PATH=/opt/local/bin:/opt/local/sbin/:$PATH
export MANPATH=/opt/local/man:$MANPATH

Mac OS Xデフォルトbashの場合は、自分のホームディレクトリの.bashrcに上の2行を書き込んでおく。


MacPortsのアップデート


ここまでくれば、コマンドラインからportコマンドが使えるようになっているはず。MacPorts自身を最新の状態にアップデートした後、インストールできるソフトウェア一覧を更新する。それぞれ、以下のコマンドを実行すれば良い。

$ sudo port -d selfupdate
$ sudo port -d sync

MacPortsの使い方


アップデートの時少し触れたようにMacPortsを操作するにはportコマンドを利用する。このコマンドはたいがい/opt/local以下を変更するので、sudoと組み合わせて利用することが多い。


以下、うちがよく使う操作を並べてみた。もっとステキな機能があるのかもしれないので、気になる人はman portをチェックしてみて。あと、portに-dオプションをつけて実行すると、コンパイルの詳細な出力が見れるので、コンパイル風景を眺めるのが好きな人はやると良さそう。


ともあれ、以下のコマンドで自分の好きなツールをいろいろいれれるのでお試しアレ。

ソフトウェア一覧の更新

初期設定時にも行ったsyncアクション。これをしないとソフトウェア一覧が古いままなので定期的にやるべし。


$ sudo port sync

ソフトウェアの検索

自分の利用したいソフトウェアがMacPortsで使えるのかを調べるのには、searchアクションを使う。zshで検索すると、


$ port search zsh
zsh shells/zsh 4.2.6 Zsh is a UNIX command interpreter (shell)
zsh-devel shells/zsh-devel 4.3.2 Zsh is a UNIX command interpreter (shell)

てな感じに、普通のzshとzsh-develという開発版があるということがわかる。


ソフトウェアのインストール

文字通り、installアクションを使う。


$ sudo port install zsh-devel

実行すると、依存関係の解決、ソースコードのダウンロード、コンパイル、インストールが自動で行われる。

variantsの表示

MacPortsにはvariantsという仕組みがあって、ソフトウェアをインストールする際に追加機能を選択することができるようになっている。どんなvariantsがあるのかは次のように調べられる。


$ port variants zsh-devel
zsh-devel has the variants:
darwin_8
dp_completion
utf8

zsh-develには、darwin_8、dp_completion、utf8という3つのvariantsがあることがわかる。これらを指定することで、機能を有効にした状態でソフトウェアがビルドされる。指定するには以下のように、


$ sudo port install zsh-devel +dp_completion +utf8

のように+を付けて指定する。ちなみに、darwin_8とかのMac OS X専用オプションは自動で付加されるので指定しなくても良い。

あと、varinantsを変えて同じソフトウェアをインストールすると、別物あつかいになって、もとからあるやつと衝突するので注意。先にアンインストールするか、deactivateしておく。


ソフトウェアのアップグレード

$ sudo port upgrade zsh-devel

ソフトウェアのアンインストール

$ sudo port uninstall zsh-devel

ソフトウェアのdeactivateとactivate

MacPortsには、deactivateといってソフトウェアを完全に削除せずに一時的に無効にする機能がある。異なるvariantsを指定したあるソフトの複数のバイナリを切り替えてためしたいときなどに便利。


$ sudo port deactivate zsh-devel

逆はactivate


$ sudo port activate zsh-devel

インストール済みソフトウェアの表示

$ port installed

インストール済みソフトウェアをすべてアップグレードしたいときはupgradeと組み合わせて、


$ sudo port upgrade installed

とすれば良い


アップグレード可能なソフトウェアの表示

$ port outdated

by   at 01:19  | Permalink

macportsを利用してmysqlのインストール

Mac mini サーバにmysqlをインストールする。今回はmysql.comからバイナリ/ソース/パッケージをダウンロードせず、Macportsを使ってインストールしてみよう。

インストール

[yuanying@Magnus ~]$sudo port -uv install mysql5 +server
Password:
...
(中略)
...
--->  Creating launchd control script
###########################################################
# A startup item has been generated that will aid in
# starting mysql5 with launchd. It is disabled
# by default. Execute the following command to start it,
# and to cause it to launch at startup:
#
# sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist
###########################################################
******************************************************
* In order to setup the database, you might want to run
* sudo -u mysql mysql_install_db5
* if this is a new install
******************************************************

+serverバライアントをつけてmysql5をインストールしてやる。このバライアントをつけることによって自動起動用の設定ファイルも一緒にインストールされる。

初期データベースのインストール

[yuanying@Magnus ~]$sudo -u mysql mysql_install_db5
Password:
Installing MySQL system tables...

ログの最後に書いてあったようにsudo -u mysql mysql_install_db5と実行し、初期データベースを作成してやる。

設定ファイルの編集

[yuanying@Magnus ~]$sudo cp /opt/local/share/mysql5/mysql/my-small.cnf /opt/local/etc/mysql5/my.cnf
[yuanying@Magnus ~]$sudo vim /opt/local/etc/mysql5/my.cnf
[yuanying@Magnus ~]$more /opt/local/etc/mysql5/my.cnf
...
(中略)
...
# The MySQL server
[mysqld]
...
(中略)
...
## USER-SETTINGS
default-character-set = utf8
default-storage-engine=innodb
skip-character-set-client-handshake
##
...

mysqldセクションに私は上の三つの設定を書き足した。

サーバの起動

launchctlを使ってサーバを起動する。loadすることで自動起動されるようになるぽい。Linuxでいうchkconfig mysql5 onと/etc/rc.d/mysql5 startを組み合わせた感じ?

mysqlをインストールするときに+serverバライアントを追加しておくと、/Library/LaunchDaemonsフォルダにorg.macports.mysql5.plistという名前の自動起動用の設定ファイルが生成されているので、それを利用する。

[yuanying@Magnus ~]$sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist

クライアントから接続してちゃんと動作しているか確認してみる。

[yuanying@Magnus ~]$mysql5 -uroot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.0.45 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>


OK。


参考


by   at 01:17  | Permalink