平成21年10月19日月曜日

PR:ブログのXML中に広告があります!!

「PR:」始まる記事は全部広告です、初めて知りました。

平成21年7月2日木曜日

PHPのRSSパーサーモジュール紹介

モジュール名:MagpieRSS
公式サイト:http://www.hyuki.com/yukiwiki/wiki.cgi?MagpieRSS
インストール手順:公式サイト通り
コード例:

require_once 'magpierss/rss_fetch.inc';
$url = 'http://baict.blogspot.com/feeds/posts/default?alt=rss';
$rss = fetch_rss($url);
$title = $rss->channel['title'];
$title = mb_convert_encoding($title, "UTF-8", "auto");
echo "

$title

\n";
echo "
    \n";
    foreach ($rss->items as $item ) {
    $title = $item['title'];
    $title = mb_convert_encoding($title, "UTF-8", "auto");
    $url = $item['link'];
    echo "
  • $title
  • \n";
    }
    echo "
\n";

注意点:
magpierss/rss_fetch.incファイルにMAGPIE_OUTPUT_ENCODINGをUTF-8を設定してください

平成21年2月20日金曜日

php インストール  メモ

1.PHPと関連ツールのソースをダウンロードします

wget http://jp.php.net/distributions/php-5.2.8.tar.gz
wget http://freshmeat.net/redir/libjpeg/5665/url_tgz/jpegsrc.v6b.tar.gz
wget ftp://ftp.cac.washington.edu/imap/imap-2007e.tar.gz


2.PHP関連のrpmをインストールします

yum install openssl-devel
yum install libpng-devel
yum install freetype-devel
yum install zlib-devel


3.PHP関連ツールをインストールします
  • jpegサポート


tar zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b
mkdir /tmp/jpeg-6b
mkdir /tmp/jpeg-6b/bin
mkdir /tmp/jpeg-6b/include
mkdir /tmp/jpeg-6b/lib
mkdir /tmp/jpeg-6b/man
mkdir /tmp/jpeg-6b/man/man1
./configure --prefix=/tmp/jpeg-6b
make
make install-lib
make install

  • imap-2007e


tar zxvf imap-2007e.tar.gz
cd imap-2007e
make lr5
mkdir lib include
cd c-client/
cp *.h ../include/
cp *.c ../lib/
cp c-client.a ../lib/libc-client.a


4.PHPインストール

./configure --prefix=/usr/local/php --with-apxs2=/usr/local/httpd/bin/apxs --with-jpeg-dir=/tmp/jpeg-6b --with-png-dir=/usr/lib --with-gd --with-freetype-dir=/usr/lib/ --enable-mbstring --with-zlib --with-mysql=/usr/local/mysql --with-gettext --with-imap=/usr/local/src/imap-2007e --with-mcrypt --with-imap-ssl --with-mime-magic --with-openssl
make
make install
cp php.ini-recommand /usr/local/php/lib/php.ini


5.PHPの設定
  1. /usr/local/php/lib/php.ini


Uncomment session.save_path = "/tmp"

  1. libphp5.so


mv /usr/local/httpd/modules/libphp5.so /usr/local/php/
ln -s /usr/local/php/libphp5.so /usr/local/httpd/modules/

  1. Apache

httpd.confに下の内容を追加します

LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php



6.PHPのZend Optimizerをインストール

ダウンロード Zend Optimizer 3.3.3

wget http://downloads.zend.com/optimizer/3.3.3/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
tar zxvf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
cd ZendOptimizer-3.3.3-linux-glibc23-i386
./install


インストール Zend Optimizer:

>>> Input /usr/local/Zend

# Enter the location of your php.ini file
>>> Input /usr/local/php/lib/

# Are you using Apache Web server?
>>> Input yes

#Specify the full path to the Apache control utility (apachectl)
>>> Input /usr/local/httpd/bin/apachectl

# The following configuration changes have been made:
# - The php.ini file has been relocated from /usr/local/php-5.1.2/lib to /usr/local/ZendOptimizer-2.6.2/etc
# - A symbolic link for the php.ini file has been created in /usr/local/php-5.1.2/lib.
# - The original php.ini was backed up to /usr/local/php-5.1.2/lib/php.ini-zend_optimizer.bak

# The installation has completed successfully.
# Zend Optimizer is now ready for use.
# You must restart your Web server for the modifications to take effect.

# Restart the Web server now?
>>> Input yes

>>> Test is much like php test
>>> What you need to do is create a test php script named phpinfo.php under /var/www/admin_site/htdocs/
>>> There is only one line like in the script
>>> If you can successfully access http://your_server_ip/phpinfo.php and see something like the following information in phpinfo, it's OK!
Zend Engine vX.Y.Z, copyright (c) 1998-2006, Zend Technologies Ltd., with the Zend Optimizer vX.Y.Z, copyright (c) 1998-2006 Zend Technologies Ltd.

平成21年2月18日水曜日

LinuxサービスリストにMySQLサービスを追加します

1.MySQLをインストールします
 私は直接にコンパイルしたMySQLプログーランをダウンロードしますので、解凍後に使用もできます

2.MySQLのデータベースを設定します
 

scripts/mysql_install_db --user=mysql --datadir=/var/db/main/


 これて、MySQLのデータベースは/var/db/main/にインストールしました
3.MySQLのコンフィグファイル「my.cnf」を設定します
 MySQLのソースに使う状況によって、三つのデフォトルファイルがあります、
 全部ソース下の「support-files」ディレクトりに置いています。
 私のサーバはあまりアクセスがないので、今small.cnfを使っています

 それて、管理便利のため、以下設定を追加します
 

  [mysqld]
  port = 3306
  socket = /var/db/main/mysql.socket
  datadir = /var/db/main
  user = mysql
 


4.MySQLの簡単の設定がおわりました、今Linuxのサービスリストに登録します
 ①「mysql.server」の設定
   MySQLのソースに「mysql.server」というファイルがあります、これはLinuxサービス管理用のMySQL起動スクリプト。

   my.cnfにmysql.serverの設定をやります
   例:
   

     [mysql.server]
     basedir = /usr/local/mysql
     datadir = /var/db/main
     pid-file = /var/db/main/mysql.pid
     user = mysql
   

   
   これて、mysqlサービスの事前準備が終わりました。
   
   

   mysql.server start
   mysql.server stop

   

  以上のコマンドもできます
   
 ②今からはLinuxの設定です
   

    shell> cp mysql.server /etc/init.d/mysql
    shell> chmod +x /etc/init.d/mysql
    shell> chkconfig --add mysql
    shell> chkconfig --level 345 mysql on

   



今まで、Linuxサービスに登録完了、^^

service mysql startなどのコマンドができます、OS起動の時も自動に起動します
  
   
   

平成21年2月12日木曜日

bloggerのblockquoteテスト


blockquote
テストにくい

平成21年2月10日火曜日

JQuery イベント編

今日復習のイベント内容

$('document').ready();
$().ready();
$(function(){});
$().bind('click',function(){});
$().click(function(){});
$(this) DOM対象
$().removeClass();
$().addClass();
.toggle(function(){});
.hover(function(){});
.toggleClass(function(){});
JQuery Eventの転送
HTMLデフォルトイベント
Bindのイベント関数を消す
ユーザーの模擬操作

$('document').ready();
$().ready();
$(function(){});
この三つの効能が同じです
BrowserはページのDOM要素をダウンロード完了の時、触発する

$().bind('click',function(){});
$().click(function(){});
clickなどイベントに処理関数を追加します
APIに全部の常用イベントの説明があります

$(this)
イベント処理関数中に、$(this)というDOM対象はこのイベントをbindされた対象

.toggle(function(){});
.hover(function(){});
.toggleClass(function(){});

JQuery Eventの転送
裏から表面まで転送します
解決方法:
①$().click(function(event){});
event.targetはこのevent最初トリガーのDOM対象
②event.stopPropagation();
イベントの転送はここまで止まります

HTMLデフォルトイベントとさっき討論しているJQueryのイベントが違います
例えば:sumitのイベント
event.stopPropagationでこのイベントを止められない。
この時に.preventDefaultという関数を使います。

HTMLデフォルトイベントとJQueryイベント両方止めたい時は、イベントbindの関数に
falseをretrunする

Bindのイベント関数を消す
.unbind('click',関数名)
関数名がないとき、この対象の全部Clickイベントを消します。
関数名があるとき、この関数のみ消します


ユーザーの模擬操作
.trigger('click')
.click()
この二つ関数は同じ意味、とユーザーのクリック操作と同じ、でも、JQueryこういう機能でクリック操作をしたら、イベントの転送がない、一番したの要素だけイベント関数を実行します。

平成21年2月9日月曜日

JQuery ----DOM編   勉強メモ

常用選択方法リスト
$()
$('#some_id')
$('.some_class')
$('#selectedplays > li')
$('#selectedplays li:not(.class)')
$('a[title]')
$('div:has(ol)')
$('a[href^="mailto:"]')
$('a[href$=".pdf"]')
$('a[href*="mysite.com"]')
$('a[id][href*="mysite.com"][alt]')
$('div.class:eq(1)')
$('tr:odd')
$('tr:even')
$('td:contains("Henry")')
$('tr:odd') $('tr').filter(':odd')
$('tr').parent()
$('tr').next()
$('tr.class').siblings()
$('tr.class').find('td')
$('tr.class').not(':contains("test")')
$('tr.class').find('td:eq(1)').addClass('class').end()
$('#myelement').get(0).tagName




さっきのリストに通じて、JQueryのDOM選ぶ方法を紹介します
$()
かこう中にDOM選択ルールを追加したら、$()は対応のDOM対象になります

$('#some_id')
#後にDOMのIDを追加したら、このID対応のDOM対象を選びます

$('.some_class')
some_classというクラス名があるのDOMエレメントを選びます

$('#selectedplays > li')
selectedplays というidを持つ要素の、直下にあるliという要素全てに選びます

$('#selectedplays li:not(.class)')
#selectedplays liという意味は
liはselectedplays というidを持つ要素の子要素全てを指します。必ずしも直下である必要はありません。
:not(.class)という意味は
さっきのLi子要素リストにclassというクラスを持たないLiリスト

$('a[title]')
指定したtitle属性を持っているa要素を抽出します。

$('div:has(ol)')
指定したol子要素を持っているdiv要素を抽出します 

$('a[href^="mailto:"]')
href属性が特定の文字列「mailto:」から始まる要素aを抽出します 

$('a[href$=".pdf"]')
href属性が特定の文字列「.pdf」で終わる要素aを選択します

$('a[href*="mysite.com"]')
href属性値が指定された文字列「mysite.com」を含む要素aを選択する。

$('a[id][@href*="mysite.com"][@alt]')
href属性値が全て条件を満足する要素を選択する

$('div.class:eq(1)')
$('div.class')を選択したDOM対象の第二個DOM対象「インデックスは0からので」

$('tr:odd')
偶数番の要素を選択する。

$('tr:even')
奇数番の要素を選択する。

$('td:contains("Henry")')
文字列"Henry"がある要素を選択する

$('tr:odd') $('tr').filter(':odd')
同じ意味けど、filterを使うできる所もっと多いです。

$('tr').parent()
要素の親要素

$('tr').next()
各要素の1つ次に来る兄弟要素を全て選択する。

$('tr.class').siblings()
$('tr.class')各要素の兄弟要素を全て返す。

$('tr.class').find('td')
$('tr.class')要素集合から条件式に合う子孫要素を抽出する。これは処理中の要素から、更に詳細に処理したい子孫要素をピックアップする際に有用。


APIが多いので、ここ書いているのは、JQuery APIより、自分でよく使っている一部分です、JQueryで開発したくたら、せめてこの部分を了解します

例と詳しい説明はAPIに参考するほうがいい出と思います
API URL:http://semooh.jp/jquery/api/selectors/

平成21年2月6日金曜日

Apache コンパイル メモ

今日新しいサーバにAPACHEをインストールしました、拍手、palapala^^

1年前にいろいろな状況によって、違う設定のAPACHEは数個もコンパイルしましたけど、1年後の今、全部忘れしまいました、とても残念です。。。。。。

だから、今から何が勉強したら、絶対メモを取っています、これもこのブログを開催の一部分原因。

余裕な話が一端止めて、APACHEのコンパイルを始まりましょう。

1.まずAPACHE公式サイトにソールをダウンロードします
#cd /usr/local/src
#wget http://ftp.riken.jp/net/apache/httpd/httpd-2.2.11.tar.gz

2.APACHE コンパイルとインストール
#tar zxvf httpd-2.2.11.tar.gz
#cd httpd-2.2.11
#./configure --prefix=/usr/local/httpd --with-ldap --enable-mods-shared="all ssl ldap cache proxy authn_alias mem_cache file_cache authnz_ldap charset_lite dav_lock disk_cache" --enable-static-support
#make
#make install


コンパイルの設定紹介

--prefix=/usr/local/httpd
Linuxを使っている人、皆全部知ってる、prefixはプログーレムのインストールのディレクトリ。

--with-ldap
今回私はAPACHEのMODULEが全部DSOの形式にロードするつもりなので、全部APACHEのソースにあるのMODULEは全部DSOにコンパイルしたいです、この計画も次の設定パラメーターで実現しましたけど、ldap MODULEのみDSOでロードできないかもしれません。万が一、LDAPを使ったら、APACHEがもう一度コンパイルしたくないので、ここにAPACHEのソースと一緒にコンパイルします。現状にとって、ldap使わない可能性が高そうです。

--enable-mods-shared="all ssl ldap cache proxy authn_alias mem_cache file_cache authnz_ldap charset_lite dav_lock disk_cache"
--enable-mods-shared="all"のみ設定したら、全部MODULEソースはDSOにコンパイルではない。。。。。APACHE公式サイトのドキュメントを参考して、漏れたMODULEは全部allの後ろに追加しました、そうしたら、完璧です^^

--enable-static-support
APACHEの管理、テスト用のツールは全部コンパイルしますという意味です、ab、rotatelogsなどのツールです

コンパイル前のconfigureの設定が多いので、今回ちょっとだけ紹介しました、もしもっと詳しい設定情報が欲しいたら、以下URLの参考してください。
http://httpd.apache.org/docs/2.2/en/programs/configure.html#installationdirectories



3.CentOS5.2にAPACHEサービスを追加します
調査が必要です、次の勉強はCentOSにサービスを追加する
service apache start こういうもの
みんな楽しみますよ^^

平成21年2月3日火曜日

自分パソコン専用Linuxコイルをコンパイルします(CentOS5.2 ワイアレスサポート)

LinuxのCentOS5.2のコイルに80211契約バグがあるので、ワイアレス利用できないことです。

だから、CentOS5.2ソースをダウンロードして、INTELからもらうPATCHを修正した後で、新しい
Linuxコールを作ります。

それで、僕のパソコンのワイアレスカードIntel 2915ABGのdriversをインストールして、ワイアレス利用できるようになっています。^^

1.作業ツール準備
CentOS5.2インストール時に、Development Toolsソフトウェアグループを選びます
そして、ncurses-develとqt-devel二つrpmをインストールします(依頼のRPMがおおいので、yumできなったら、インストールは面倒くさいです。。。。。。。)

2.Linuxコイルのソースをインストールする

Linuxコイルのバージョン確認
[root@localhost ~]# uname -r
2.6.18.i686.inspiron2200

CentOS5.2のコールの標準バージョンは2.6.18です

そして、このバージョンよりのソースをダウンロードする
# wget http://mirror.centos.org/centos/5/os/SRPMS/kernel-2.6.18-92.el5.src.rpm

後はソースをインストールする。
# rpm -Uvh kernel-2.6.18-92.el5.src.rpm
# cd /usr/src/redhat/SPECS
# rpmbuild -bp --target i686 kernel-2.6.spec
うちのパソコンは32bitのCPUのでi686を書きます
その代わりに、64bitのCPUがあったら、x86_64を書きます

それで、ソースは/usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i686/にインストールしました。

ソースは一回コピーして、コンパイルを用意する
# cp -a /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i686/ /usr/src/linux-2.6.18.i686.kyo
# cd /usr/src/linux-2.6.18.i686.kyo
# cp /boot/config-2.6.18-92.el5 ./.config 今使ってるのLinuxコイルの設定を再利用します

INTELのPATCHをダウンロードします
wget http://www.intellinuxwireless.org/mac80211/downloads/mac80211-10.0.4.tgz

PATCHはコイルに添付します
# tar xvzf mac80211-10.0.4.tgz
# cd mac80211-10.0.4
# export KSRC=/usr/src/linux-2.6.18.i686.kyo
# make patch_kernel

コイルの場所に戻ります
cd /usr/src/linux-2.6.18.i686.kyo

新しいバージョン表記を指定します
# vi Makefile
EXTRAVERSION = .i686.kyo

コイルをコンパイルします
# make
# make modules_install

makeのときエラーを出でくる可能性もありますけど、その時は対応のDevice Driverのコンパイルを消したら、問題なくなります。
この消しの設定は以下設定ツールを利用します
make menuconfig

コンパイル成功したら、御目でと、大体終わります

最後は新コイルをインストール

# cp arch/i686/boot/bzImage /boot/vmlinuz-2.6.18.i686-kyo
# cp System.map /boot/System.map-2.6.18.i686-kyo
# mkinitrd /boot/initrd-2.6.18.i686-kyo.img 2.6.18.i686-kyo

# vi grub.conf
起動時に新しいコイルを使うのを設定します

再起動後は、新しいコイルを使ってる

最後の最後
ワイアレスカードのdriversをインストールします

wget http://jaist.dl.sourceforge.net/sourceforge/ipw2200/ipw2200-1.2.2.tgz
wget http://bughost.org/firmware/ipw2200-fw-3.0.tgz

tar zxvf ipw2200-1.2.2.tgz
cd ipw2200-1.2.2
make && make install

tar zxvf ipw2200-fw-3.0.tgz
cd ipw2200-fw-3.0
cp *.fw /lib/firmware/

driversを導入します
modprobe ipw2200


これから、ワイアレス利用できます^^

平成21年2月2日月曜日

PUTTYでLinuxに接続(SSH2)

簡単ですけど、自分にとって忘れやすい。。。。

1.PUTTYをダウンロードします
  公式サイト:
  http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

2.puttygen.exeを利用して、秘密鍵と公開鍵を生成します
  ①画像と同じ、「SSH-2 RSA」をチェックして、1024を入力した後で、「Genrate」ボタンを押します

  

  ②生成完了までマウスが回っています
  
  

  ③生成した後、秘密鍵(private key)を保存します。
ここに公開鍵も保存できるけど、このフォーマットとLinux専用のが違います。
だから、以下のイメージの方法を使って、表示されたのはLinux用の公開鍵
   
  

  
  ④公開鍵と秘密鍵今まで全部もらいました、後はLinuxの設定

   root権限を利用して、新しい登録用のユーザーを追加します

   [test@localhost ~]$ su -

   [root@localhost ~]# useradd qu.xiaoyi

   パスワードを設定します

   [root@localhost ~]#passwd qu.xiaoyi
   
   それで、ユーザー追加完了、今新規のユーザーとして、登録します

   [root@localhost ~]#su - qu.xiaoyi

新規のユーザーのディレクトリに公開鍵を追加します

   [qu.xiaoyi@localhost ~]$mkdir .ssh

   [qu.xiaoyi@localhost ~]$cat > .ssh/authorized_keys

公開鍵を入力して、CTRL+Cを押します

   ディレクトリとファイルの権限を変更します

   [qu.xiaoyi@localhost ~]$ chmod 700 .ssh/
   [qu.xiaoyi@localhost ~]$ chmod 600 .ssh/authorized_keys


   それて、puttyのSSH部分のAuthサブ部分に秘密鍵を指定されたら、アクセスできるようになります。