[TortoiseSVN]Unable to write to standard output (stderr)

linux上で動いているsubversionのサーバに、TortoiseSVNを使ってssh経由で接続してファイルをチェックアウトしようとしたら、

Unable to write to standard output (stderr

というエラーが出てはまったのでメモ。
エラーメッセージでぐぐると、
色々日記(ざ・めも) | subversionが上手く動かなかったのは?
がでてきて、これによると、.cshrcの末尾にsetenv LANG Cしましょう、ということになっているのだけれど。結論から言うと、自分の場合はこれではなかった。
でも、この人のお話を参考に、linuxからssh経由で自分のリポジトリにつないでみると、

[daisuke@snares ~/tmp] $ svn co svn+ssh://snares/var/svn/repos/hogehoge ./hogehoge
stty: standard input: Invalid argument
stty: standard input: Invalid argument
A hogehoge/conf

なんかあやしげな警告が。
ググってみると、この人と同じ症状。

[linux-users:29383] rcp, xon error(stty: standard input: Invalid argument)
2台のマシン間で、rcp しようとすると、
 ̄ stty: standard input: Invalid argument
とエラーがでてしまいます

対応としては

sttyコマンドが .bashrc とかに
かいてあると思うので
.bash_profile に移動させてみては
駄目でしょうか。
([linux-users:29385] Re: rcp, xon error)

とのこと。
実際調べてみたら、.bashrcに

stty stop undef

の一行が。
これを.bash_profileに移動させたら解決しました。
.bashrcは、ssh経由で接続するコマンドでも起動されるので、ここに何か出力するコマンド(stty とか、profileとか)を書いてはいけない、ということか。
.bash_profileと.bashrcの違いはとか読んでも、この辺は今一つ読み取れないんだよなぁ。

携帯絵文字変換スクリプトをデバッグしてみた。

今月の流行は携帯サイトとPHPのもぎゃです。こんにちは。
携帯絵文字変換スクリプトをPHPで作ってみた。 携帯ホームページを作ろう! -ちょっと詳しいモバイルサイトの作り方-というのがあって、フリーで使えるのはすばらしい!と思ったのですが。
これどうも、ドコモの絵文字が正しく出ません。すくなくとも手元の環境では出ない。

  • サーバ:Apache/2.0.52
  • PHP:PHP 5.1.6 (cli) (built: Oct 26 2007 13:49:00)
  • 携帯:F705i。あと、i-mode HTML Simulator II ver5.1も試したけど出なかった。

 しょうがないのでデバッグしました。

結論

 emoji.csvをこっちに差し替えると出るみたいです。
emoji.csv
元のファイルとの違いは、iモード絵文字をダブルクオーテーションでくくっただけです。

問題だったこと

 作ろうiモードコンテンツ:基本絵文字一覧 | サービス・機能 | NTTドコモを参考に、べたにphpファイルに文字列を貼り付けたら、これは表示できました。
 Wiresharkでパケットを拾ってのぞいてみると、データが化けているとかじゃなくて、そもそもデータが出ていません。
 さかのぼっていくと、そもそも$emoji_array[1]が空っぽのままみたいです。
fgetcsvでググってみると、どうもこの関数は結構危険らしく。
テレパス・ラボ : fgetcsv()で日本語が読み込めない
iモード絵文字も、SJIS範囲外とはいえ日本語っぽい文字なのは同じなので、環境によって空っぽになってしまうんじゃないでしょうか。上記サイトで言われているように、問題の文字列をダブルクオーテーションでくくってみたら動いたので、とりあえずご報告まで。

postfixでメールアプリケーションを扱うときの注意事項

いいめものように、メールを受け取ってアレコレするメールアプリケーションを書くことはよくあるかと思います。

メールサーバとしてpostfixを使うと、こんな具合で実現できます。

#cat /etc/aliases
:
test:"|/var/mailApp/test.rb"

test@example.comでメールを受け取ったら/var/mailApp/test.rbを起動する、という具合です。

それはいいのですけど、この状態でtest.rbでエラーが起きると、メール送信者宛にバウンスメッセージというのが送付されます。

This is the Postfix program at host snares.example.com.
:
The Postfix program
>test@example.com< : Command died with
status 1: "/var/MailApp/mailserver/test.rb". Command output:
/usr/lib/ruby/1.8/logger.rb:518:in `initialize': Permission denied -
/var/MailApp/mailserver/../log/MailServer.log (Errno::EACCES)
from /usr/lib/ruby/1.8/logger.rb:518:in `open'  from
/usr/lib/ruby/1.8/logger.rb:518:in `open_logfile'  from
/usr/lib/ruby/1.8/logger.rb:487:in `initialize'  from
/usr/lib/ruby/1.8/logger.rb:263:in `new'  from
/usr/lib/ruby/1.8/logger.rb:263:in `initialize'  from
/var/MailApp/mailserver/../common.rb:42:in `new'  from
/var/MailApp/mailserver/../common.rb:42  from

!!!エンジニアにとっては背筋の凍り付くような内容です。メールアプリケーションのファイル構成から使っているモジュール、自分がどんなミスをしたかまで送信者に筒抜けになってしまいます。

とりあえず、test.rbの内容をこうしましょう。

begin
 元のコード
rescue => e
exit(-1)
end

これで、test.rbがエラーを外にはくことはなくなるので、バウンスメールの内容も、ずいぶん穏当なものになります。

>test@example.com< : Command died with
status 255: "/var/MailApp/mailserver/test.rb"
Action: failed
Status: 5.0.0
Diagnostic-Code: X-Postfix; Command died with status 255:
"/var/MailApp/mailserver/test.rb"

ちなみに、posfix 2.3から、バウンスメールの内容をカスタマイズできるようになるらしいです。

Postfix manual – bounce(8)



メールサーバのバージョンアップが待ち遠しいなんて、久しく味わっていない感覚です。

[EE]日本語ランゲージパック

expressionEngine、ツールとしてはいいのだけれど、UIが英語なのでそのうち訳さないとね、と思っていたら、日本語ランゲージパックを作ってくださった方がおられました。



Expression Engine Japanese language pack (日本語版)



早速インストール…

EE_JP.png


すばらしいです。これはありがたい。ビールでもコーヒーでもおごりますよ!



#といったってどこに住んでいる方かもわからないので^^; とりあえずpaypal donateしておきました。



一応インストールのやり方を説明させて頂くと。



 ダウンロードしてきて。

[daisuke@snares ~/tmp] $ wget http://expression-engine.jp/uploads/files/ee_strings_jp.tgz

–10:51:24– http://expression-engine.jp/uploads/files/ee_strings_jp.tgz

=> `ee_strings_jp.tgz’

Resolving expression-engine.jp… 72.51.37.167

Connecting to expression-engine.jp|72.51.37.167|:80… connected.

HTTP request sent, awaiting response… 200 OK

Length: 77,973 (76K) [application/x-gzip]



0% [ ] 0 –.–K/s

12% [====> ] 9,851 39.92K/s

57% [=========================> ] 44,603 90.37K/s

100%[=============================================>] 77,973 149.24K/s



10:51:25 (148.85 KB/s) – `ee_strings_jp.tgz’ saved [77973/77973]

[daisuke@snares ~/tmp] $ tar xzf ee_strings_jp.tgz

[daisuke@snares ~/tmp] $ ls

ee_strings_jp.tgz japanese

 expressionEngineをインストールしたディレクトリにあるlanguageディレクトリにコピーします。

[daisuke@snares ~/tmp] $ cp -r japanese /var/www/html/ee/language/

[daisuke@snares ~/tmp] $ ls /var/www/root/html/ee/language/

english index.html japanese

この状態で、EEにログインしてCP Home › My Account › Localization Settings を見ると、Japaneseが選択できるようになっていますので、これを選択してupdateすればできあがりです。



EE_JP_install.png

[linux]なんでもsvnで管理する

サーバをさわるときは、常に信用できない人間が約一名(自分だ!)いるので、どんな作業でも取り返しがつくようにするのが大切です。

ssh上で行った作業のログをとる – もぎゃろぐ

という具合にしてログをとることで、いざというとき何をしていたか振り返ることができるようになるのですが、設定ファイルに変なことを書いた場合、emacsの修正内容はログに残らないので、まだ若干不安が残ります。

そういえば、masuidriveさんは、「コマンドも含め全てのファイルはSubversionで管理」しているのだそうで。



masuidrive on rails » Blog Archive » masuidrive的プロジェクトの方針



こうしておけば、ファイルに変なこと書いても最悪ロールバックできますので、これは大変いいアイデアだと思います。

具体的にどうやるのか今ひとつわからなかったので躊躇していたのですが、今やってみたら簡単にできたので、ご紹介を。

svnは普通に使いこなせる方が対象ですので、そうでない方は勉強してから試してくださいませ。

Subversionの基礎練習

前提:自分の場合、/usr/local/bin/に自作のミニスクリプトをおいています。ファイル名の後ろに日付をつけたバックアップを用意するbkとか、複数ファイルをいっぺんにcatできるcatsとか。

とりあえず、ホームディレクトリあたりにそういうファイルを一式用意してsvnにインポートします。

[daisuke@snares ~/tmp/mogyalet] $ ls
bk  cats  ddiff
[daisuke@snares ~/tmp/mogyalet]$ svn import file:///var/svn/repos/mogyalet -m "initial import"
Adding         cats
Adding         bk
Adding         ddiff

で、/usr/local/bin/に移動してチェックアウトします。

[daisuke@snares ~/tmp] $ cd /usr/local/bin/
[daisuke@snares /usr/local/bin] $ sudo svn co file:///var/svn/repos/mogyalet ./
A  cats
A  bk
A  ddiff
Checked out revision 2.
[daisuke@snares /usr/local/bin] $ ls
addcr  cats   delcr    http@        rblsmtpd  tcpclient      tcpserver
argv0  date@  finger@  mconnect     recordio  tcprules       who@
bk     ddiff  fixcrio  mconnect-io  tcpcat    tcprulescheck

できあがり。bkコマンドをアップデートしたいときには、適当な位置で修正したものをチェックインしたあと、/usr/local/bin/でsudo svn updateとしてやればいいわけです。

以前この話を聞いたときには

疑問なのは、全部のファイルを1モジュールにぶっこむのでしょうか?1コマンド1モジュール?
前者だと取ってくる人がエライことになるので、後者かと思うのですが。そうするとものすごい数のモジュールを 登録することになりますよね。構わないのかなぁ。
あと、適当に名前をつけているとあとで何物かわからないモジュールがたくさんでてきそう。
Re:プロジェクトの始まりはTracから - もぎゃんだいあり。

と思ったのですが、今考えると、リポジトリのパスなんて意識するのはチェックアウトするときだけで。

普段はsvn update しかしないのだから、そんなこと気にする必要がないんですよね。

わからなくなったら、既存のディレクトリに移行してsvn infoで見ることができます。

というわけで、リポジトリ名なんて、file:///var/svn/repos/etc/httpd/conf/とかでいいような気がしてきました。

おまけ:



 実行ファイルをsvnに入れるときは、下記を参考に実行ビットつけておくと便利です。

【CGI・Perl】実行可能な属性をファイルに付加する(svn:executable)

[daisuke@snares ~/tmp/mogyalet]$ svn propset svn:executable ON bk cats ddiff
property 'svn:executable' set on 'bk'
property 'svn:executable' set on 'cats'
property 'svn:executable' set on 'ddiff'
[daisuke@snares ~/tmp/mogyalet]$ svn commit -m "set executable bits"
Sending        bk
Sending        cats
Sending        ddiff
Committed revision 2.

2008-05-10 18:44:44追記
 設定ファイルも管理する方法は、こちらをご覧くださいませ。



[linux]なんでもsvnで管理する2 – もぎゃろぐ

[EE]カテゴリの扱いに関するまとめ

 他のブログツール同様、EEも、カテゴリに属する記事を書いたら勝手にカテゴリページを生成してくれます。

で、これ一応カスタマイズできるみたいなのですが、その挙動がどうもわかりにくいので、まとめてみました。



カテゴリへのリンクの生成



 トップページのサイドバーあたりでカテゴリへのリンクを出したいときは、

{exp:weblog:categories weblog=”test” style=”linear” }

<a href=”{path=main/test}”>{category_name}</a>

{/exp:weblog:categories}

という具合にすれば、カテゴリごとに <a href=”{path=main/test}”>{category_name}</a>


を呼び出してくれます。

Weblog Categories Tag – ExpressionEngine Documentation



通常、これで生成されるリンクは、

http://www.example.com/index.php/main/C1

という具合に、URLの後ろにテンプレートIDがついた物になりますが、

CP Home › Admin › Weblog Administration › Global Weblog Preferences

にある Use Category URL Titles In Links?

をYesにすると、

http://www.example.com//index.php/main/category/Blogging/

というような、カテゴリ名を使ったURLを生成してくれるようになります。



カテゴリページの内容



 上記URLで表示されるページはどういう内容になっているのでしょう?

別に特別なテンプレートがあるわけではなくて、

http://www.example.com/index.php/main/

用のテンプレートで生成されます。



ただ、

{exp:weblog:entries}

で取得できるブログの記事は、該当カテゴリの物だけに制限されます。

結果として、{exp:weblog:entries}を使って普通にindexページを生成しておけば、該当カテゴリの記事だけが表示される、というわけです。



一見便利そうなこの仕組みですが、普通のブログツールを使い慣れたデザイナさんが、「カテゴリページのデザインです♪」とか言ってトップページと異なるデザインを持ってきたとたん、破綻します。

つまりトップページと同じテンプレートがカテゴリページにも適応されちゃうので、両方に対応したテンプレートを書かないといけなくなるわけです。



べつにデザイナーさんが悪いわけではなくて、カテゴリーページにはそのカテゴリの概要を書きたいとか、ごく普通の要望だと思います。



{if segment_2 == “category”}

を使って切り分けながら書いていけば、同じテンプレートを使い分けることも不可能ではないですが、本来全然別のページとしてデザインしている物を同じテンプレートにつっこむのはかなり大変です。



で、どうするかというと、いっそindexテンプレートをこんな内容にしてしまいます。


{if segment_2 == “category”}

{embed=”main/.category”}

{if:else}

{embed=”main/.top”}

{/if}

カテゴリページの時は.categoryを呼び出す、そうでないときは.topページを呼び出します。



こうすれば、カテゴリページ用の内容は.categoryに、トップページ用の内容は.topに書くことができて、シンプルなテンプレートにすることができます。

[EE]タイトルの長さの上限を変更する

expressionEngineのweblogでは、タイトルの長さ上限が100byteとなっています。

This field contains the title of your weblog entry. Titles can be up to 100 characters in length.

Publish Page – ExpressionEngine Documentation

実際には、日本語35文字を超えたあたりからおかしなことになるようです。

WS000.JPG

英語圏では十分なのでしょうけど、一文字に2byte3byteを消費するマルチバイト圏を考えると、ちょっと微妙な数字です。

実際、movabletypeでは255byte確保していますし、こんなところケチったって仕方なかろうと思うのですけど。

EEフォーラムを探してみると、同じことを考えている人がいました。

Change title maxlength | ExpressionEngine Community Forums

詳しいやり方を教えて頂いたので、ここでご紹介しておきます。

Be Like Water : Changing the Title Maxlength in Expression Engine

ExpressionEngineのテーブル定義を変更します。

[daisuke@snares /var/www/root/html] $ mysql -u expressionengine -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 193 to server version: 4.1.20



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



mysql> use expressionengine

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A



Database changed



mysql> show tables;

+—————————-+

| Tables_in_expressionengine |

+—————————-+

| exp_actions |

:

| exp_weblog_member_groups |

| exp_weblog_titles |

| exp_weblogs |

+—————————-+

68 rows in set (0.00 sec)



mysql> show create table exp_weblog_titles;

:

`ip_address` varchar(16) NOT NULL default ”,

`title` varchar(100) NOT NULL default ”,

`url_title` varchar(75) NOT NULL default ”,

:

1 row in set (0.00 sec)



mysql> alter table exp_weblog_titles modify title varchar(255);

Query OK, 4 rows affected (0.00 sec)

Records: 4 Duplicates: 0 Warnings: 0



mysql> show create table exp_weblog_titles;

:

`ip_address` varchar(16) NOT NULL default ”,

`title` varchar(255) default NULL,

`url_title` varchar(75) NOT NULL default ”,

:



mysql> exit

Bye

[daisuke@snares /var/www/root/html] $

で、ソースコード側も変更。

[daisuke@snares /var/www/root/html] $ emacs ee/cp/cp.publish.php

[daisuke@snares /var/www/root/html] $ diff ee/cp/cp.publish.php ee/cp/cp.publish.php~

670c670

input_text(‘title’, $title, ’20’, ‘256’, ‘input’, ‘100%’, ($which == ‘new’ OR $which == ‘preview’) ? ‘onkeyup=”liveUrlTitle();”‘ : ”, $convert_ascii)



> $DSP->input_text(‘title’, $title, ’20’, ‘100’, ‘input’, ‘100%’, ($which == ‘new’ OR $which == ‘preview’) ? ‘onkeyup=”liveUrlTitle();”‘ : ”, $convert_ascii)

以上。とくに再起動とか不要です。

WS002.JPG

動作中のシステムを変更しても大丈夫(変更後は256byteまでの長さが使えるようになります)が、非公式なやり方ですので、どうしても必要なときだけにするのがよいかと思います。

それにしても。

For example, one of my client wanted to write an article in Lao, but it turns out that they needed more than 100 characters for their title.



世界にはラオス語のブログを作る需要なんて存在するんですねぇ。

ExpressionEngineのアップグレード&アップデート

*expressionEngineのアップグレード
 無償のCore版だと、EメールモジュールやQueryモジュールが使えないので、ビジネス用途であればCommercial Licenseにアップグレードしたくなるかもしれません。
というわけで、自分がアップグレードしたときの作業記録です。
英語版の手順はこちら。
-[[Upgrading from ExpressionEngine Core to Full Version – ExpressionEngine Documentation:http://expressionengine.com/docs/installation/update_from_core.html]]
-[[Updating to New Version of ExpressionEngine – ExpressionEngine Documentation:http://expressionengine.com/docs/installation/update.html]]
自分の場合、1.6.1Coreを使っていたのですが、1.6.2FullVersionを上書きしました。
この場合、ヘルプにも書かれているとおり、upgrade→updateという手順をとります。
**やり方
ライセンスを購入すると、ExpressionEngine Receipt というメールが送られてきます。
これが届いたら、https://secure.expressionengine.com/download.phpから、ExpressionEngine Commercial Licenseがダウンロードできます。
ということで、適当なディレクトリに、ダウンロードしたExpressionEngine Full Versionを配置します。
[furukawa@www tmp]$ unzip ExpressionEngine1.6.2.zip
Archive: ExpressionEngine1.6.2.zip
creating: ExpressionEngine1.6.2/
inflating: ExpressionEngine1.6.2/build_log.txt

inflating: ExpressionEngine1.6.2/themes/wiki_themes/default/images/bg_page_topbar.jpg
inflating: ExpressionEngine1.6.2/themes/wiki_themes/index.html
[furukawa@www tmp]$ cd ExpressionEngine1.6.2
[furukawa@www ExpressionEngine1.6.2]$ ls
READ_THIS_FIRST.txt images install.php path.php themes
build_log.txt index.php license.txt system
 念のため、古いファイルをバックアップ
[furukawa@www ExpressionEngine1.6.2]$ pushd /var/www/
/var/www ~/tmp/ExpressionEngine1.6.2
[furukawa@www www]$ sudo tar czf html_080303.tgz html
Password:
[furukawa@www www]$ ls
cgi-bin error html html_080303.tgz icons manual usage
[furukawa@www www]$ popd
~/tmp/ExpressionEngine1.6.2
ヘルプに書かれているとおり、ファイルを上書きします。
[furukawa@www ExpressionEngine1.6.2]$ sudo cp -rf system/language/* /var/www/html/ee/language/
[furukawa@www ExpressionEngine1.6.2]$ sudo cp -rf system/modules/* /var/www/html/ee/modules/
[furukawa@www ExpressionEngine1.6.2]$ sudo cp -rf themes/profile_themes/* /var/www/html/themes/profile_themes/
[furukawa@www ExpressionEngine1.6.2]$ sudo cp -rf themes/wiki_themes/* /var/www/html/themes/wiki_themes/
[furukawa@www ExpressionEngine1.6.2]$ sudo cp -rf images/member_photos/* /var/www/html/images/member_photos/
[furukawa@www ExpressionEngine1.6.2]$ sudo cp -rf images/pm_attachments/* /var/www/html/images/pm_attachments/
[furukawa@www ExpressionEngine1.6.2]$ sudo cp -rf images/signature_attachments/* /var/www/html/images/signature_attachments/
systemディレクトリの名前を変えている人は、コピー先も名前を変えないといけないところに注意です。
これでファイルのアップグレードは完了。
ブラウザからexpressionEngineのsystemにアクセスして、P Home › Admin › System Preferences › General Configuration にあるLicense Numberを入力したらできあがりです。
*システムのupdate
 ファイルをコピーして..
[furukawa@www ExpressionEngine1.6.2]$ sudo cp -rf system/core/* /var/www/html/ee/core/
[furukawa@www ExpressionEngine1.6.2]$ sudo cp -rf system/cp/* /var/www/html/ee/cp/
[furukawa@www ExpressionEngine1.6.2]$ sudo cp -rf system/db/* /var/www/html/ee/db/
[furukawa@www ExpressionEngine1.6.2]$ sudo cp -rf system/language/* /var/www/html/ee/language/
[furukawa@www ExpressionEngine1.6.2]$ sudo cp -rf system/lib/* /var/www/html/ee/lib/
[furukawa@www ExpressionEngine1.6.2]$ sudo cp -rf system/modules/* /var/www/html/ee/modules/
[furukawa@www ExpressionEngine1.6.2]$ sudo cp -rf system/plugins/* /var/www/html/ee/plugins/
[furukawa@www ExpressionEngine1.6.2]$ sudo cp -rf system/updates /var/www/html/ee/
[furukawa@www ExpressionEngine1.6.2]$ sudo cp -rf system/update.php* /var/www/html/ee/update.php
[furukawa@www ExpressionEngine1.6.2]$ sudo cp -rf system/utilities/* /var/www/html/ee/utilities/
ブラウザでupdate.phpにアクセスします。http://www.example.com/system/update.php というようなパスになるはずです。
サイトの指示に従ってアップデートしたら、update用のファイルを削除してできあがりです。
[furukawa@www ExpressionEngine1.6.2]$ rm /var/www/html/ee/update.php
rm: remove write-protected regular file /var/www/html/ee/update.php'? y
rm: cannot remove
/var/www/html/ee/update.php’: Permission denied
[furukawa@www ExpressionEngine1.6.2]$ sudo rm /var/www/html/ee/update.php
[furukawa@www ExpressionEngine1.6.2]$ sudo rm -rf /var/www/html/ee/updates/

expressionEngineのインストール

ExpressionEngineのインストール方法、最新版。とっても気に入ったのでCommercial licenseを購入しちゃいました。mogya.comも乗り換えに向けて作業中。

インストール手順は公式マニュアルがしっかりしているので、これを読めば大丈夫、なはずなのですが、やはり日本語版がないとなかなか大変だと思うので、自分のやり方を説明します。ApacheとmysqlがインストールされたCentOS 4を想定しています。



wizardによる環境チェック

RequirementsにあるWizardをサーバにおいて、ブラウザからアクセスします。
WS000007.png

そうすると、足りないものを教えてくれます。自分の場合は全部OKでした。「Supported」にxがつくのはOKの意味なので注意。

DBを作成

[daisuke@macaroni ExpressionEngine]$ mysqladmin -u root -p create expressionengine

Enter password:

[daisuke@macaroni ExpressionEngine]$ mysql -u root -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 388 to server version: 4.0.25-standard



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



mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE

-> TEMPORARY TABLES, LOCK TABLES

-> ON expressionengine.*

-> TO ‘expressionengine’@’localhost’ IDENTIFIED BY ‘*****’;

Query OK, 0 rows affected (0.00 sec)

mysql>
mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.01 sec)



mysql> exit

Bye



DBの準備が出来たら、Wizardの「check your MySQL settings now.」に進みます。
WS000008.png

DBのデータを入力して「Click Here to Check MySQL Compatiblity!」を押すと、DBへの接続がチェックされます。


WS000016.png

「Congratulations! Your Server is Ready for ExpressionEngine!」が出てきたら準備OKです。



expressionEngineのインストール

Downloads & Support | ExpressionEngine Storeのページから、「ExpressionEngine Core」をダウンロード。

<

h3>アップロードする。

[daisuke@macaroni EECore1.6.1]$ sudo mkdir /home/httpd/html/ee/

Password:

[daisuke@macaroni EECore1.6.1]$ sudo cp -r ./* /home/httpd/html/ee/

[daisuke@macaroni EECore1.6.1]$ cd /home/httpd/html/ee/

[daisuke@macaroni ee]$ ls

READ_THIS_FIRST.txt build_log.txt index.php license.txt themes

system images install.php path.php

[daisuke@macaroni ee]$ sudo rm *.txt

[daisuke@macaroni ee]$ sudo rm -rf system/update*

パーミッションの設定

[daisuke@macaroni ee]$ sudo chmod 666 path.php

[daisuke@macaroni ee]$ sudo chmod 666 system/config.php

[daisuke@macaroni ee]$ sudo chmod 666 system/config_bak.php

[daisuke@macaroni ee]$ sudo chmod 777 images/avatars/uploads/

[daisuke@macaroni ee]$ sudo chmod 777 images/captchas/

[daisuke@macaroni ee]$ sudo chmod 777 images/member_photos/

[daisuke@macaroni ee]$ sudo chmod 777 images/pm_attachments/

[daisuke@macaroni ee]$ sudo chmod 777 images/signature_attachments/

[daisuke@macaroni ee]$ sudo chmod 777 images/uploads/

[daisuke@macaroni ee]$ sudo chmod 777 system/cache/



ExpressionEngineをインストールしたディレクトリにあるinstall.phpにブラウザでアクセス
WS000017.png





設定作業


Are you ready to install ExpressionEngine? Click Here to begin! のところをクリックしてインストールを開始します。


WS000018.png

ライセンス。読んで同意したら、「I agree to abide…」にチェックを入れて、submitを押します。
WS000019.png

systemフォルダの名前。これは何かというと、expressionEngineを使って記事を書くときは、コントロールパネルというので記事を書くのですが、そのフォルダの名前です。べつにsystemのままでもかまわないのですが、「あ、こいつexpressionEngine使ってるぜ。ということはwww.example.com/systemにいって….」というようなイタズラを防ぐためには、適当な名前に変えておくのがよいようです。今回の説明では、そのままにして「submit」を押すことにします。


Enter Your Settings で各パラメーターを入れます。
WS000009.png

サーバの設定。自分のWEBサイトのドメイン名とかです。


WS000010.png

DBの設定。ここはさっきwizardで入れたのと同じで大丈夫。


WS000011.png

EncryptionSetting。そのままで大丈夫なはず。


WS000012.png

adminアカウント。自分のアカウントはあとで作ればいいので、ここはadminとかrootとか、そんな名前をオススメです。name of your siteも一応書いておかないとinstall.phpは文句言うみたいですので、適当に書いておきましょう。


WS000013.png

Localization Setting と、Thema。timezoneは utc+9、あとはそのままで大丈夫なはずです。


ExpressionEngine has been successfully installed!


WS000014.png

できあがり~。おつかれさまでした。


install.phpはもう使わないので削除してしまいましょう。


Click here to access your control panelでコントロールパネルが見えます。

ssh上で行った作業のログをとる

 linuxサーバにログインしていろいろしたとき、翌日になって何かまずいことをしでかした事に気づく(でもログがないから何をしたかわからない)ということがままある。というわけでlinuxサーバにsshでログインして何かしたとき、すべてログに残すノウハウ。もうあちこちで紹介されているけど、自分用メモということで。



~/.bash_profileに下記を追加


# .bash_profile



# Get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi



# User specific environment and startup programs



PATH=$PATH:$HOME/bin



export PATH

unset USERNAME




# keep everything in the log.

P_PROC=`ps aux | grep $PPID | grep sshd | awk ‘{ print $11 }’`

if [ “$P_PROC” = sshd: ]; then

script ~/log/`date +%Y%m%d-%H%M%S.log`

exit

fi



ログを保存するディレクトリを作成しておく。



mkdir ~/log



ログは、ホームディレクトリのlogフォルダに生成される。



以上。



ちなみに、~/.bash_profileに書くところ、間違って~/.bashrcに書くと、sshではつながるのにscpで接続するとき失敗する謎の怪現象を引き起こす。

Received too large (1581276736 B) SFTP packet. Max supported packet size is 102400 B.

The error is typically caused by message printed from startup script (like .profile). The message may start with “^@^@”.



また、この設定を全員に適用したいのであれば、以下のようにする。




[root@localhost ~]# mkdir /etc/skel/log



~/.bash_profileの代わりに/etc/profileに上記内容を追加。


# .bash_profile



# Get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi



# User specific environment and startup programs



PATH=$PATH:$HOME/bin



export PATH

unset USERNAME




# keep everything in the log.

P_PROC=`ps aux | grep $PPID | grep sshd | awk ‘{ print $11 }’`

if [ “$P_PROC” = sshd: ]; then

script ~/log/`date +%Y%m%d-%H%M%S.log`

exit

fi



参考: