エプソンダイレクト株式会社

2010年9月5日日曜日

24 ZendライブラリをつかってYahooニュースを表示する

<?php

require_once 'Zend/Service/Yahoo.php';
$yahoo = new Zend_Service_Yahoo("アプリケーションID");
$results = $yahoo->newsSearch('検索したい文字');
foreach ($results as $result) {
echo $result->Title .'
';
}

?>

2010年8月5日木曜日

23 Zend Frameworkをインストールする Windows XP

環境
Apache2.2
PHP5

まずZendFrameworkをダウンロードして、解凍したらCドライブ直下に配置する。

c:\windows\php.iniを開き、(Cドライブで php.ini と検索するとすぐに見つかる)
最終行に
include_path = ".;c:\ZendFramework\library\" と記述する

※もし、先にpearなどがインストールされていて
include_path=".;C:\php\pear" というような記述があった場合、

include_path=".;C:\php\pear;C:\ZendFramework\library\"
という様に記述する。

そしてApacheを再起動。

公開ディレクトリに <?php phpinfo();?> が記述されたphpファイルを置き、
http://localhost/ファイル名.php/ でアクセスし、

「include_path .;C:\php\pear;C:\ZendFramework\library\」
というように表示されていればパスの記述は成功




そして次に、
c:\Program Files\Apache Software Foundation\Apache2.2\confhttpd (httpd.conf)
を開き、LoadModule rewrite_module modules/mod_rewrite.so のコメントアウトをはずす

再度Apacheを再起動する。


公開ディレクトリに
<?php
require_once 'Zend/Version.php';
echo Zend_Version::VERSION;
?>
が記述されたphpファイルを置き、http://localhost/ファイル名.phpで
アクセスし、
「1.8.0」
というように表示されればインストール成功

2010年8月4日水曜日

22 .htaccess の作成 CentOS

全てのリクエストをindex.phpで受け取る

SetEnv APPLICATION_ENV development
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ - index.php [NC,L]

21 ze.shコマンドで、Zendframeworkのアプリケーションを作成する CentOS

cd/project/hello/web へ移動 (/var/www/htmlが公開ディレクトリの場合はそちらへ移動)

/usr/local/Zend/bin/zf.sh create project zendapp でエンター

cd/project/hello/webにzendappが作成されていることを確認する

ブラウザから http://www.URL.com/zendapp/public/ でアクセスして
「Welcome to the Zend Framework!」と表示を確認する



<Virtulhost>のDocumentRootを 
/project/hello/web から /project/hello/web/zendapp/public/ に変更

httpdを再起動する

http://www.URL.com でWelocom to ... の画面がでればOK


※centos(Linux) では、zf.batでなくzf.sh

2010年8月2日月曜日

20 MDB2 のインストール pear

#pear list コマンドで、MDB2が入っているかを確認する
→入っていないのでインストール

#pear install MDB2 エンター
→MDB2: Optionalfeature ... とリストが表示される

リストの表示が終わったら、再度pear listコマンドを入力してエンター
→ MDB2 2.4.1 stable という表示を確認

次に、MDB2_Driver_mysqliを インストールする
→ #MDB2_Driver_mysql を入力してエンター

pear list コマンドを入力して、
MDB2_Driver_mysqlがインストールされていることを確認する

19 Twitter投稿の文字数が140文字を超えた場合の処理

140文字を超える場合は、135文字まで表示して、以降.....を表示させる

/usr/lib/php/modulesmbstring.soが存在することを確認
→もしなかった場合は yum install php-mbstring でインストールする

/etc/php.iniを開いて、623行目の
[Dynamic Extensions] のセクションに、

extension=mbstring.so
/etc/php.d/mbstring.ini

と2行追記する

それから、/etc/php.d/mbstring.iniを開き、
「Enable mbstring extension module」 のコメントアウトを外す

そしてhttpdを再起動 (mbstring 拡張が有効になる)

ソースを記述して投稿をテストする

<?php
require_once('Zend/Service/Twitter.php');

$id = 'ohgon_test';
$password = 'kanariyabaimachi';
$twitter = new Zend_Service_Twitter($id, $password);

$word ='140文字以上入力';

if(mb_strlen($word)> 140 )
{
$word = mb_substr( $word , 0 , 135 );
$word .= "... ";
}

$response = $twitter->status->update($word);

?>

2010年8月1日日曜日

18 ZendFramework を使ってTwitter に投稿する

/project/hello/web/に .phpファイルを作成する。
※このとき、必ず文字コードにUTF-8を指定する
 →そうしないと日本語が出力されない

<?php
require_once('Zend/Service/Twitter.php');

$id = 'アカウント名';
$password = 'パスワード';
$twitter = new Zend_Service_Twitter($id, $password);

$response = $twitter->status->update('投稿したい内容');

?>
を記述し、保存する。

http://URL/ファイル名.php にアクセスすると、
記述した投稿内容が投稿され、タイムラインに表示される。

17 ZendFramework を使って Flicer の画像を表示する

http://www.flickr.com/services/api/ にアクセスする

API Keys をクリック

Yahoo ID(.jpでなく.com) とパスワードを入力

CREATE NEW ACCOUNT をクリックする

アカウントが作成されたら、Get Another Key をクリックする

Non-Commercial (非商用)の
APPLY FOR A NON-COMMERCIAL KEY をクリックする

What's the name of your app:、What are you building?:
にそれぞれ適当な文字を入力し、2箇所のチェックをつけ、APPLYをクリックする

Key: Secret: が表示されるのでこれを控える

<?php
require_once 'Zend/Service/Flickr.php';
$flickr = new Zend_Service_Flickr('xxxxxx');
$results = $flickr->tagSearch("表示したい内容");
foreach ($results as $result) {
echo("<img src='" . $result->Thumbnail->uri . "' />");
}
?>

'xxxxxx'にKey:、そして表示したい内容をtagSearchに記述して、保存する

http://www/URL/ファイル名で表示されればOK

16 symfonyからブリッジしてZendFramework をインストール CentOS

/usr/local/ にZendFrameworkをダウンロードする
cd /usr/local
wget http://framework.zend.com/releases/ZendFramework-1.10.0/ZendFramework-1.10.0.tar.gz

ダウンロードしたらファイルを解凍する
tar -xvzf ZendFramework-1.10.0.tar.gz

名前を短くZendとする
mv ZendFramework-1.10.0 Zend

/etc/php.iniを開き、515行目の ;UNIX: "/path1:/path2"の下の
;include_path = ".:/php/includes" のコメントアウトを外し、
include_path=".:/usr/local/Zend/library"
と記述し、パスを追加する

パスを追加したらファイルを保存して、httpdを再起動する。

再起動後、/project/hello/web/ にphpinfo() 関数が書かれたファイルを置いて、
include_path の項目に .:/usr/local/Zend/library と右側に表示されているか確認する。

ZendFrameworkが配置されたら次に、/project/hello/config/に、
autoload.ymlファイルを作成する

そして、
autoload:
# zendframework
zendframework_lib:
name: zendframework lib
path: /usr/local/Zend/library
recursive: on

と記述する

cd /project/hello でアプリケーションディレクトリに移動し
symfony cc コマンドを入力してエンターする 

※このときアプリケーションのディレクトリに移動していないと、
"You must be in a symfony project directory"とエラーが出る。

/project/hello/web/ にphpファイルを作成し

<?php
require_once ‘Zend/Version.php’;
echo Zend_Version::VERSION;
?>
 と、ZendFramework の バージョンを出力するソースを記述する

http://ohgon-town/ファイル名.phpでアクセスして、
1.10.0

と、ダウンロードしたバージョンが表示すればインストール成功

15 symfony モジュールの開発 CentOS

frontアプリケーションにindexというモジュールを作成して、
hello!worldを出力するモジュールを作成する。


cd /project/hello コマンドで、プロジェクト用のディレクトリへ移動

symfony init-module front index コマンドを入力してエンター

→/project/hello/apps/front/modules/ 配下にindexモジュール(indexSuccess.php)ができていることを確認、
http://www.ohgon-town.com/indexへアクセスして、「Module "index" created」 の画面を確認する。

/project/hello/apps/front/modules/index/templates/indexSuccess.php を開き、Hello!World! など
出力させたい内容を記述する。

/project/hello/apps/front/modules/index/templates/actions.class.php を開き、
18行目から21行目の

public function executeIndex(sfWebRequest $request)
{
$this->forward('default','module');
}

という記述の $this->foward.... の行をコメントアウト(して、return sfView::SUCCESS;と記述)
する。

http://www.ohgon-town.com/indexに再度アクセスして「Hello!World!」と表示されれば成功

2010年7月31日土曜日

14 symfony プロジェクト作成 CentOS

symfony init-project project-name
→エラー Task "init-project" is not defined. と表示


一旦アンインストール
# pear uninstall symfony/symfony

そして古いバージョンを再度インストール
# pear install symfony/symfony-1.2.9

改めて symfony init-project project-name でプロジェクトの作成
→成功

symfony init-app front を入力してエンター


/etc/httpd/conf を開いて、最後の行に

<VirtualHost *>
ServerName www.ohgon-town.com
DocumentRoot /project/hello/web
CustomLog logs/hello_access_log combined

AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps

DirectoryIndex index.php

Alias /sf /usr/share/pear/data/symfony/web/sf

<Directory />
Order Deny,Allow
Deny from all
Allow from all
</Directory>

<Directory />
Options All
AllowOverride All
</Directory>
</VirtualHost>

と記述する 

※ <>部分は全角だが実際は<>半角

※一文字でも間違えると、webサーバー全体がストップしてしまうので、
作業前に必ず.org でコピーファイルを作成しておくこと。

記述後、http://www.ohgon-town.com/ にアクセスする

Symfony Project Created の画面が表示されれば成功

2010年7月30日金曜日

13 symfony のインストール CentOS

pear channel-discover pear.symfony-project.com を入力してエンター
pearにsymfonyのチャンネルを追加(登録)

pear install symfony/symfony を入力してエンター
→ エラー symfony/symfony requires PHP extension "dom" となった場合、

yum install php-xml コマンドで、php-xmlをインストール

再度 pear install symfony/symfony でsymfonyをインストール
→install ok : と出れば成功

symfony -v で確認 →リストが表示されればok

12 pear のインストール

# yum -y install php-pear コマンド

エラーが表示 
→The program package-cleanup is found in the yum-utils package.

phpのバージョンアップの際に作成した 
/etc/yum.repos.d/utterramblings.repo ファイルの

[utterramblings]
enabled=0 を 
enabled=1 
に変更する。

改めて # yum -y install php-pear コマンドを入力してエンター
→成功

pear -Vコマンドで バージョンを確認
最新なら成功

11 PHPのバージョンアップ

#php -v コマンドで現在のバージョンを確認

# rpm --import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka でエンター

/etc/yum.repos.d/utterramblings.repo を新規作成して、

[utterramblings]
name=Jason’s Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka

を記述する

# yum update php でバージョンアップ(y/Nは全てy)

httpdを再起動して #php -v コマンドでバージョンの確認

utterramblings.repoファイルのリポジトリ参照の設定を無効にする
enabled=1
―変更前―

―変更後―
enabled=0

10 ポートの開放 yahoo BB

YahooBB の場合

http://172.16.255.254/index.html でルーターにアクセス

認証画面でユーザー名とパスワードを入力
(プロバイダに確認すればおしえてもらえる)


セットアップメニューで詳細設定を選択し、
ルーター機能→ポート転送 をクリック


「有効/無効」で有効

「WAN側ポート番号」「LAN側ポート番号」で開放したいポート番号を全ての箇所に入力

「転送先IPアドレス」でサーバーのローカルIPアドレス(ハブから割り振られた192.168.3.3など)
を入力

入力後、設定保存して、ルーターを再起動する

http://www.cman.jp/network/support/port.htmlなどの、ポートチェックが出来るサイトから、
グローバルIPアドレスを入力して、開放の確認をしたいport番号を選択し、ポートチェックを実行する

→ホスト:221.xx.xx.xxx ポート:80 にアクセスできました。
などと表示されれば設定完了

9 Apache の初期設定

変更箇所

44 ServerTokens Prod

74 KeepAlive On

81 MaxKeepAliveRequests 500

265 www.ドメイン.com:80

391 DirectoryIndex index.php index.html index.htm index.cgi index.html.var

291
Order Deny,Allow
Deny from all

をDirectory / の内側に追記

8 FTPサーバー の設定

/etc/vsftpd/vsftpd.conf を開く

変更箇所

12 anonymous_enable=NO

82 ascii_upload_enable=YES

119 tcp_wrappers=YES

最終行に追加 use_localtime=YES


ファイルをアップしたいフォルダは、chmod 777 /var/www/...などで
属性変更してアップする

7 NTPサーバーの設定

メニューから「システム」→「管理」→「日付と時刻」→「ネットワークタイムプロトコル」
→「ネットワークタイムプロトコルを有効にする」というチェックボックスにチェック

「NTPサーバー」の内容を全て削除する

追加をクリック
「ntp1.jst.mfeed.ad.jp」
「ntp2.jst.mfeed.ad.jp」
「ntp3.jst.mfeed.ad.jp」
と入力する

ntpdサーバーを再起動 (自動起動の設定をしていなければ設定する)

ntpq -pとコマンド入力し、 remote refid ....などと表示され、
先ほど追加入力した内容の先頭に+マークなどの符号がついていたら成功

2010年7月29日木曜日

6 VNCサーバーの設定

Windowsから http://kp774.com/soft/uvnc_jp/ へアクセスし、
UltraVNC ビューア をインストールする

puttyのホスト名にローカルIPアドレス、ポート番号を入力して、
接続してログインする。

vncserver と入力してエンター

"You will require a pasword to access your desktops.""Password"と
表示されたら、ユーザー(root)のIDを入力する(Verifyで計2回)

New '__,__.com:1'と表示を確認し、その内容をUltraVNCのVNCサーバーの空欄に入力して
接続ボタンを押す。

パスワードの入力でユーザーパスワードを入力する

カラーのコマンドラインの画面が表示されたら一度接続を切る
そして vncserver -kill:1 でssh側でもサーバーを切る

ファイルブラウザのメニューの「表示」→「隠しファイルを表示する」
のチェックボックスにチェックを入れる
→vncサーバの設定ファイルが表示される

/home/user/.vnc/xstartup をクリックして表示 
(※rootでvncにアクセスしていた場合は、user名ではなくrootファイルに.vncフォルダが作成されている)

4~5行目
「unset」と「exec」
の先頭の「#」を削除してコメントアウトを解除する

それ以降の7~12行目までの文字の先頭に「#」をつけてコメントアウトする

保存してvncserverを再起動する

Ultra vncビューアを立ち上げてパスワードを入力して、CentOSのデスクトップが表示されれば成功

2010年7月26日月曜日

5 SSHサーバー セキュリティ対策

デフォルト の /etc/ssh/sshd_config の編集(クラック対策)

#Port 22 を変更する
→Port 設定したい番号


rootアカウントによるログインを一切禁止
#PermitRootLogin yes
PermitRootLogin no

AllowUsersの設定
→AllowUsers ユーザー名 を追記

変更後Rootにログインする場合は、設定したUser名でログインし、su - コマンドで Rootに切り替える

4 ダイナミックDNSのインストール

DiCE for Linux をダウンロード http://www.hi-ho.ne.jp/yoshihiro_e/dice/linux.html

圧縮ファイルを/usr/local/bin に解凍する

コマンドライン端末を開く

端末枠に、ファイルの中の diced ファイルをドラッグする
→パスが表示される

EUC-JPに文字コードを変更する
→文字化け対策

エンターを押す

add エンター

? エンター

MyDNA.JP と入力してエンター

ドメインの入力:取得した設定したいドメイン xxxxxx.com と入力してエンター

ホスト名を入力: * エンター

ログインユーザー名の入力:登録したユーザー名を入力 エンター

パスワードの入力: 登録したパスワードを入力 エンター

IPアドレス入力: そのままエンター→自動検出

名前設定:わかりやすい名前を適当に

スケジュールの設定: 5 エンター

スケジュールの設定: 0 エンター

イベントの有効と保存: 2回とも y(有効) エンター

:の表示 : setupと入力してエンター

IPアドレスの検出方法: n エンター

プライベートIPアドレスの検出: n エンター

IPアドレスの検出テスト : Y エンター
→グローバルIPアドレスが表示されることを確認する
確認したら2回目の検出は n  でエンター

IPアドレスのチェック間隔の設定 : n エンター

DNS更新の更新処理の保護設定: n(変更しない) でエンター

設定の保存: Y エンター

「設定を保存しました」 → quit


~サーバー起動時のDiCE自動起動の設定~

/etc/rc.local → 開く → 表示する

touch... の下の行に /usr/local/bin/DiCE/diced -d -l を追記して保存

再起動

/usr/local/bin/DiCE/
をクリックして、log/ events.log が生成されていることを確認

→ events.log を開き「デーモン操作を開始しました」と表示されていることを確認

2010年7月23日金曜日

3 インストール後の設定

ソフトウェアのアップロード パッケージアップローダー →更新を適用

・キーを取り込み →取り込みをクリック
・今すぐ再起動 →再起動をクリック

再起動後ブラウザの表示を確認

2 CentOS5.4 のインストール

CentOS のインストール

要マウス、キーボード、CD-ROMドライブ


・最初の画面でエンター

・Choose a Language でJapanease

・Keyboard Type でjp106

・Installation Methodで Local CDROM

・CD Found で問題なければ skip

GUI画面に遷移

・インストール で次

・カスタムレイアウトを作成します で次

・/dev/sda をクリックして 削除 (ハードディスクの削除)

・新規 マウントポイント /boot
他そのままの設定で OKボタン

新規 ファイルシステムタイプ swap
サイズ1024
他そのままの設定で OKボタン

・新規 マウントポイント /
追加容量オプション 最大許容量まで使用
他そのままの設定で OKボタン

・以上で次

・ブートローダーの設定 そのままで次


・ネットワークデバイス

編集 をクリック

→ マニュアルコンフィグレーション にチェック
 IPアドレス : サーバーのローカルアドレス(192.168.3.3 など)
 Prefix : 24

→ IPv6のチェックをはずす

OKをクリックして閉じ

手動設定 name.URL.com

その他の設定
ゲートウェイ : ルーターのIPアドレス (192.168.3.1 など)
1番目のDNS :プロバイダのDNS (218.xxx.xxx.xx など)
2番目のDNS :プロバイダのDNS (218.xxx.xxx.xx など)

※ ハブを介さずモデムからPCを直接つないで、モデム内蔵のルーターのDNSプロキシの機能を
解除した後、Windowsで ip config all で確認

・地区の設定 → アジア/東京で 次

・Rootパスワードの設定 → 入力して次

・インストールするソフトウェアのセットアップ

→ 今すぐカスタマイズする をチェックして 次

変更箇所
・「アプリケーション」 "エディタ""グラフィカルインターネット""テキストベースのインターネット"のみチェック

・「開発」 "Java開発" "Ruby""開発ツール","開発ライブラリ"のみチェック

・「サーバー」 "DNSネームサーバー" "FTPサーバー" " MySQL データベース" チェックする(オプションパッケージもすべて) "PostgreSQL データベース" チェックする(オプションパッケージもすべて)"
"Webサーバー" "Windowsファイルサーバー" "サーバー設定ツール""ネットワークサーバー""メールサーバー"(オプションで postfix、squirrelmailをチェック) "印刷サポート"

・ベースシステム "Java" "X Window System" "システムツール" "ベース" "管理ツール" 

上記をチェック 次

次 でインストール開始

終了後 再起動

ファイアーウォール 無効

SELinux 無効

ユーザーの作成 あとでも可能だがさしあたり作成 フルネームはなしでもOK

サウンドカード、追加のCDをそのまま進んで、再起動

1 ドメインの取得 とダイナミックDNS(MyDNS)の登録設定

この概要は表示できません。投稿を閲覧するには ここをクリック してください。