「Webデザインの新しいルール」という本をうちの会社で出しました。
ちょこちょこっと僕も書いたものがあります。
ぜひ買ってみてください。
実は思いのほか結構売れています。。。
モバイルでDoCoMoのXHTMLや他キャリア対応に苦しんでいる人は見てみましょう。
きせかえツールやデコメアニメ
その他最新技術についてもチョイチョイ触れてます。
ちなみに、僕を買うのもいいと思います!
買ってくれる人まってま~す♪高いけど・・・
「Webデザインの新しいルール」という本をうちの会社で出しました。
ちょこちょこっと僕も書いたものがあります。
ぜひ買ってみてください。
実は思いのほか結構売れています。。。
モバイルでDoCoMoのXHTMLや他キャリア対応に苦しんでいる人は見てみましょう。
きせかえツールやデコメアニメ
その他最新技術についてもチョイチョイ触れてます。
ちなみに、僕を買うのもいいと思います!
買ってくれる人まってま~す♪高いけど・・・
rsyncを使っていて以前のバージョンではできたと思うのですが、
web1/a/b/c/を web2/a/b/c/へ反映したいときに
/web/aが作成されていない状態で/a/b/c/までを反映するとき、
mkdirで親ディレクトリがないためこけてしまいます。
原因はmkdir -pのオプション指定がないためのようです。
バグとして報告されているようなページを見つけたのですが、
下記方法で解決しました、
rsync --rsync-path="mkdir -p ~/a/b/c/ && rsync" -auvz --delete -e ssh ~/a/b/c/ web2@web2host ~/a/b/c/
とすると、rsyncを実行する前に親ディレクトリを作成することと同義となるため
問題なくrsncができました~
PHPには、URLエンコードを自動でしてくれるとても
賢い関数があります。
しかし、2種類あるのはご存知でしょうか?
URLがスペースを含むとき、
urlencode() スペースが+に変換される
rawurlencode() スペースが%20に変換される(RFC 1738 に基づき URL エンコードを行う)
PHPマニュアルによると、urlencodeは、
-_. を除くすべての非英数文字が % 記号 (%)に続く二桁の数字で置き換えられ、 空白は + 記号(+)にエンコードされます。 同様の方法で、WWW のフォームからポストされたデータはエンコードされ、 application/x-www-form-urlencoded メディア型も同様です。歴史的な理由により、この関数は RFC1738 エンコード( rawurlencode() を参照してください) とは異なり、 空白を + 記号にエンコードします。 本関数は、URL の問い合わせ部分に使用する文字列のエンコードや 次のページへ変数を渡す際に便利です。
rawurlencodeは、
-_. を除くすべての非アルファベット文字をパーセント 記号 (%)に続いて 2 つの 16 進数がある表現形式に 置き換えた文字列を返します。これは、文字定数が特殊な URL デリミタと して解釈されたり、URL デリミタが(いくつかの電子メールシステムのような) 転送メディアにより文字変換されて失われてしまったりすることが ないように、RFC 1738 で定められたエンコーディング方法です。たとえば、 FTP の URL に中にパスワードを埋め込みたい場合は以下のようにします。
どちらを使うかは、場合によりますが、urlencode()でうまくいかない場合はrawurlencode()を
利用してみることをオススメします。スペースが+に変換では解釈(デコード)がうまくいかない場合があります。
まず、ユーザの追加をします。
# groupadd mysql
# useradd -g mysql -d /usr/local/mysql mysql
# passwd mysql
# chown -R mysql:mysql /usr/local/mysql/
ダウンロードしたtarボールを展開します。
展開したら、ディレクトリの中に移動しておきます。
# cd /usr/local/src
# wget "URL"
# tar zxvf mysql-4.1.21.tar.gz
# cd mysql-4.1.21
ソースからコンパイルします。
※ バックスラッシュ「\」は、「¥」キーをタイプします。改行するばあいは利用してください。
※ インストール先は、「/usr/local/mysql」とします。
# ./configure --with-charset=utf8 \
--with-extra-charsets=all \
--with-mysqld-user=mysql \
--prefix=/usr/local/mysql \
/****************************/
トランザクションを使う場合はInnoDBをオプションに追加してください。
--with-innodb \
起動するユーザーの指定を、上で作った mysql とします。
デフォルトの文字コードをUTF-8としました。MySQLではutf8です。
もしShift-JIS にする場合は、「utf8」の部分を「sjis」とします。
EUCの場合は「ujis」です。
続いて、インストールします。
# make
# make install
MySQLのmakeは時間がかかります。
# make install >& install.log
ログも取っておく方法です。カレントディレクトリにinstall.logというファイルができます。
ログとして流れていく文字が出力されて保存されます。
もし初めてMySQLをインストールしたなら、データベースを初期化します。
(バージョンアップのための再インストール時には、絶対にしないこと。)
# /usr/local/mysql/bin/mysql_install_db --user=mysql
ディレクトリの所有者をMySQLに変更します。
# chown -R mysql /usr/local/mysql/
# chgrp -R mysql /usr/local/mysql/
以上でインストールは終了です。
MySQLを起動します。(デーモン)
# /usr/local/mysql/bin/mysqld_safe &
MySQL 4.0 から、safe_mysqld →mysqld_safeになりました。
ほかのサイトでsafe_mysqldと書かれている場合は、4.0以前と思って
作業をしていただくとスムーズにおこなえると思います。
インストール後は、この本があると、便利です。
インストール
tar zxvf httpd-2.0.59.tar.gz
cd httpd-2.0.59
./configure --prefix=/usr/local/httpd
今回は /usr/local/httpdへインストールします。
他にもオプションはいっぱいあります。Subversionをインストールする際などは、
--enable-dav=yes --with-berkeley-db 等を付加します。
make
make install
設定ファイルの編集
/usr/local/httpd/conf/httpd.conf をエディタで編集します。
ServerAdmin yoshikidz@hotmail.com
エラーが出たときのサーバ管理者の連絡先。
ServerName yoshikids.jpn.ph:80
サーバのホスト付きドメイン名を書きます。ポート番号は省略可能です。これを書いておかないとURLだけでアクセスしたときにエラーが出る場合があります。
#AddDefaultCharset ISO-8859-1
この指定があると、強制的に ISO-8859-1 の文字コードが使われるのでそれ以外の文字コードを使っているページが文字化けします。
すでにコメントアウトされていたり、記述されていない場合があります。
必要な場合は記述してあげるとOKです。
基本的に記述する場合は完全に文字コードが固定される場合ぐらいです。
起動テスト
/usr/local/httpd/bin/httpd -k start
起動したホストにアクセスしてみて、Apacheのデフォルトページが出力されれば正常に起動しています。
/usr/local/httpd/bin/httpd -k stop
終了します。
自動起動
/etc/rc.local に
/usr/local/httpd/bin/httpd -k start
の一文を追加します。これでマシンが起動したときに自動的にApacheが起動するようになります。
再起動する場合は
/usr/local/httpd/bin/httpd -k restart で可能ですが、実際すでに起動していて運用している場合は
/usr/local/httpd/bin/httpd -k graceful で再起動をかけてあげる方がいいです。
「graceful」では httpd プロセスの通信が終わるのを待って、順次新しい設定を反映した httpd を起動させる方法です。サービスの停止が出来ない場合(既にウェブサーバが運用中など)には「graceful」の使用をお勧めします。