leopardサーバー構築メモ20090105(senna)

ブログ | 2009/1/2 05:30
leopardサーバー構築系の最新記事は
http://www.rottel.net/kuwa/book/12/38560
・・・・

OSX 10.5.6
PHP 5.2.8 (+GD +pear)
MySQL 5.0.45 (+senna)


[OSX leopardインストールDVDから]
Leopardのインストール(言語やプリンターは最小限)
Developer Toolインストール
ソフトウェア アップデートを繰り返して最新版に

[アプリケーション]
MainMenu ...Finderの不可視ファイルを表示
http://www.santasw.com/

cotEditor ...テキストエディタ
http://www.aynimac.com/p_blog/files/article.php?...

[Dock]
ターミナル・コンソール・アクティビティモニタをDockへ

[webmin]
http://www.webmin.com/download.html
ダウンロード・解凍後アプリケーションフォルダへ。フォルダ名をwebminにでも変更しておく。
cd /Applications/webmin; ./setup.sh

[MacPorts]
http://www.macports.org/
パッケージからインストール
/User/kuwa/.bash_profile というファイルを作って、
export PATH=/opt/local/bin:/opt/local/sbin/:$PATH
export MANPATH=/opt/local/man:$MANPATH

Terminalの新しいウインドウで、
sudo port -d selfupdate
sudo port -d sync

[MySQL+sennaの準備 localports]
sudo mkdir /usr/local
sudo mkdir /usr/local/src
sudo mkdir /usr/local/src/localports
cd /usr/local/src/localports
sudo mkdir `ls -F1 /opt/local/var/macports/sources/rsync.macports.org/release/ports/ | grep '/$'`

/opt/local/etc/macports/sources.conf の上の方に下記記述を追加
file:///usr/local/src/localports

[senna ダウンロード]
http://lapangan.net/darwinports/index.php?Privat...
sudo mv /Users/kuwa/Downloads/textproc/senna /usr/local/src/localports/textproc

[mysql ダウンロード]
http://lapangan.net/darwinports/index.php?Privat...
sudo mv /Users/kuwa/Downloads/databases/mysql5 /usr/local/src/localports/databases

portindexを更新
sudo portindex

[senna インストール]
sudo port install senna

[MySQL + senna インストール]
sudo port install mysql5 +utf8 +senna

port installed
で、mysql5 @5.0.45_0+senna+utf8 (active)
となってるかチェック。

これをやれば動く筈。
sudo mkdir /opt/local/var/db
sudo /opt/local/bin/mysql_install_db5 --user=mysql
sudo chown -R mysql:mysql /opt/local/var/db/mysql5/
sudo chmod 755 /opt/local/var/db/mysql5
sudo mkdir /opt/local/var/run
sudo mkdir /opt/local/var/run/mysql5
sudo chown -R mysql:mysql /opt/local/var/run
sudo chmod -R 775 /opt/local/var/run

[MySQL webmin設定]
/opt/local/bin/mysqlshow5
/opt/local/bin/mysqladmin5
/opt/local/bin/mysql5
/opt/local/bin/mysqldump5
/opt/local/bin/mysqlimport5
/opt/local/bin/mysqld_safe5 --user=mysql &

MySQL共有ライブラリディレクトリへのパス
/opt/local/lib/mysql5/mysql
Path to MySQL databases directory
/opt/local/var/db/mysql5

[MySQLパスワードの設定] (webminでも設定できる)
sudo /opt/local/bin/mysqladmin5 -u root password 'パスワード'

[MySQLの起動と停止]
起動
sudo /opt/local/bin/mysqld_safe5 --user=mysql &
終了
sudo /opt/local/bin/mysqladmin5 -u root -p shutdown
接続
cd /opt/local/bin; ./mysql5 -u root -p

[MySQLの自動起動]
/Library/LaunchDaemons/org.macports.mysql5.plist
に下記を書いて保存。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>GroupName</key>
  <string>mysql</string>
  <key>Label</key>
  <string>mysqld</string>
  <key>OnDemand</key>
  <true/>
  <key>ProgramArguments</key>
  <array>
     <string>/opt/local/bin/mysqld_safe5</string>
     <string>--defaults-file=/etc/my.cnf</string>
  </array>
  <key>RunAtLoad</key>
  <true/>
  <key>UserName</key>
  <string>mysql</string>
</dict>
</plist>

sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist

とりあえず、空のmy.cnfを作成(ないと自動起動しない)
sudo touch /etc/my.cnf


[apache2のインストール]
sudo port -d install apache2

[apache2のwebmin設定]
/opt/local/apache2
/opt/local/apache2/bin/httpd
/opt/local/apache2/bin/apachectl
/opt/local/apache2/conf/httpd.conf
/opt/local/apache2/conf/mime.types

[apacheの自動起動]
sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist

[jpeg,freetype,libpngのインストール]
sudo port install freetype
sudo port install jpeg
sudo port install libpng

[php5] (GDはデフォルトで入っている)
sudo port -d install php5 +apache2 +mysql5 +pear

httpd.conf
<IfModule mime_module>に
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
を記述

php.iniの場所
/opt/local/etc/php.ini

[PEAR]
XML_RPC
sudo /opt/local/bin/pear install -f XML_RPC
Text_Diff
sudo /opt/local/bin/pear install -f Text_Diff
Cache_Lite
sudo /opt/local/bin/pear install -f Cache_Lite

PEL 0.9.1
http://pel.sourceforge.net/
フォルダ名をpelにして、/opt/local/lib/phpへ

[crontab]
webmin設定
crontabディレクトリ
/var/cron/tabs → /var/at/tabs
ファイルの一覧を許可されたユーザ
/var/cron/allow → /var/at/allow
ファイルの一覧を許可されたユーザ
/var/cron/deny → /var/at/deny

1日1回、時間設定 (システム環境設定「日付と時刻」の自動的に設定は、Offにしておく)
/usr/sbin/ntpdate time.asia.apple.com 1>>/var/log/cron.log 2>>/var/log/cron_error.log

[システム環境設定]
ネットワークを手入力に
省エネルギー設定で、スリープしない、停電後に自動再起動。

[BIND] ...LANからドメインでアクセスできるように
ここを参照して、webminで設定
http://earlybirds.ddo.jp/namahage/inegalog/artic...

[VirtualHost]
VirtualHostを使う場合、httpd.confに
Include /private/etc/apache2/extra/httpd-vhosts.conf
を書いて、httpd-vhosts.confに記述していく。別にhttpd.confに記述でもいいようだけれど。
起動時に、
Could not reliably determine the server's fully qualified domain name, using test1.com for ServerName
こんなエラーが出る場合は、
/etc/hosts をこんな感じで記述する。
127.0.0.1  localhost
127.0.0.1  test1.com

[SSL]
MacOSXでサーバー稼業の「Web共有をhttps接続できるようにしよう-Leopard編-」を参照
http://earlybirds.ddo.jp/namahage/inegalog/artic...

cd; cd Desktop; mkdir keys
cd keys
sudo openssl genrsa -out server.key 1024
openssl req -new -key server.key -out server.csr
sudo openssl genrsa -out ca.key 1024
openssl req -new -x509 -days 365 -key ca.key -out ca.crt
echo 01 > ca-cert.srl
sudo openssl x509 -CA ca.crt -CAkey ca.key -CAserial ca-cert.srl -req -days 365 -in server.csr -out server.crt

/System/Library/OpenSSL/certs

server.key、server.crt
を移動

sudo chown -R root:wheel /System/Library/OpenSSL/certs/server.*
sudo chmod -R 644 /System/Library/OpenSSL/certs/server.*

httpd.confに
Include /private/etc/apache2/extra/httpd-ssl.conf
追加して、httpd-ssl.confを編集。

[Postfix]
MailServe for Leopard
http://cutedgesystems.com/software/MailServeForL...
これを買ってしまおう。Postfix Enablerが機能強化されてのleopard版。

[Jcode.pm] (awstats用)
http://openlab.ring.gr.jp/Jcode/index-j.html
ダウンロードして解凍後、
cd Jcode-*
perl Makefile.PL; make
sudo make install

perlのパス
/opt/local/bin/perl

[MySQL スレーブデータの移植(スレーブからスレーブ)]
移植元で
cd /opt/local/bin
./mysql5 -u root -p

mysql> slave stop;

ステイタス内容を念のためメモ(必要ないけど)
mysql> show slave statusG;
データのバックアップ
sudo tar cvfz /Users/kuwa/Desktop/mysql5.tar.gz -C/opt/local/var/db/ mysql5

mysql> slave start;

移植先で
mysql5.tar.gzを/opt/local/var/db/mysql5と入れ替える
sudo mv mysql5 mysql5_def
sudo mv /Users/kuwa/Desktop/mysql5 /opt/local/var/db
sudo chown -R mysql:mysql mysql5

my.cnfにスレーブ設定を記述
cd /opt/local/var/db/mysql5
sudo rm relay-log.info
sudo /opt/local/bin/mysqld_safe5 --user=mysql &
cd /opt/local/bin; ./mysql5 -u root -p
mysql> show slave statusG;

[MySQL マスターバックアップデータから復帰]
データを移して起動しない場合、xxx-bin.index を 削除すると動く。
cd /opt/local/var/db/mysql5
sudo mv xxx-bin.index xxx-bin.index_old

[DBの修復] ...なんだか壊れていたテーブルがあったので
起動させた状態で
sudo mysqlcheck5 --user=root --password=パスワード --all-databases --auto-repair

[sleepモードの設定] ... sleepimageファイル容量の節約
pmset -a hibernatemode 0
sudo rm /var/vm/sleepimage
縮小 拡大

ログインしておくと、後で編集が可能です。

Rottel内コンテンツ

ユーザー一覧

Rottelとは?
利用規約
開発飲料
利用者の声
ヘルプ
close