prototabs.jsの不具合?の為かfirefoxでタブ表示が出来なくなった

IEもサファリもちゃんと表示するようだ。
prototabs.jsが原因のようなのでとりあえず自力で直してみた


/* Prototabs
* (c) 2007 James Starmer
*
* Prototabs is freely distributable under the terms of an MIT-style license.
* For details, see the web site: http://www.jamesstarmer.com/prototabs
*
/*--------------------------------------------------------------------------*/

var ProtoTabs = Class.create();
ProtoTabs.prototype = {

initialize: function(element, options) {
this.options = Object.extend({
defaultPanel: '',
ajaxUrls: {},
ajaxLoadingText: 'Loading...'
}, options || {});

this.currentTab = '';

this.element = $(element);
this.listElements = $A(this.element.getElementsByTagName('LI'));
//loop over each list element
for(i = 0; i < this.listElements.length; i++) {

//get the tabs
tabLI = this.listElements[i];
var itemLinks = tabLI.getElementsByTagName('A');
var pItem = itemLinks[0].href.split("#")[1]; //!!
tabLI.itemId = pItem; //!!
tabLI.linkedPanel = $(pItem); //!!
//!! tabLI.itemId = itemLinks[0].href.split("#")[1];
//!! tabLI.linkedPanel = $(tabLI.itemId);
tabLI.linkedPanel.style.clear = "both"; //firefox hack

//check for the intially active tab
if( (this.options.defaultPanel != '') && (this.options.defaultPanel == pItem)){ //!!
//!! if( (this.options.defaultPanel != '') && (this.options.defaultPanel == tabLI.itemId)){
this.openPanel(tabLI);
}else{
$($(tabLI).linkedPanel).hide();
}

// watch for clicked
$(itemLinks[0]).observe('click', function(event){
element = Event.findElement(event, 'LI');
this.openPanel(element);
Event.stop(event); // like return false;
}.bind(this));
}

},

openPanel: function(tab){
tab = $(tab); // ie hack

if(this.currentTab != ''){
this.currentTab.linkedPanel.hide();
this.currentTab.removeClassName('selected');
}

//set the currently open panel to the new panel
this.currentTab = tab;

tab.linkedPanel.show();
tab.addClassName('selected');
var url = this.options.ajaxUrls[tab.itemId];

// if there is an ajax url defined update the panel with ajax
if(url != undefined){
tab.linkedPanel.update(this.options.ajaxLoadingText);
new Ajax.Request(url,{
onComplete: function(transport) {
tab.linkedPanel.update(transport.responseText);
}
});
}

}
};

sshに接続制限をかける

最近富にsshによる総当たり攻撃を受ける
ログやメールの量がハンパないので対応考えてみる

まぁ手っとり早そうなのが接続拒否設定のようで
sshd_configのMaxStartupsをいじる

MaxStartup 認証:確立:最大認証

の設定項目に従いいじってみる

MaxStartups 5:60:7

5回認証を試みた後6割の確率で拒否、7回より完全拒否
。。。とまぁこんな感じで設定した。
あとは

service sshd restart

これでよし。
さて、どうなることか

TSOの設定

どうも使っているVPSの転送速度が遅い気がする。
そんななか、TSOの設定をオフにすると早くなる場合があるという記事を発見
さっそくやってみる

rootにてログイン。
ethtoolというコマンドを使用

% ethtool -K eth0 tso off

これでいいらしい
確認

% ethtool -k eth0
Offload parameters for eth0:
Cannot get device rx csum settings: Operation not supported
Cannot get device udp large send offload settings: Operation not supported
rx-checksumming: off
tx-checksumming: on
scatter-gather: on
tcp segmentation offload: off
udp fragmentation offload: off
generic segmentation offload: off
generic-receive-offload: off

とりあえずtcp segmentation offloadはoffになっている
これでしばらく様子を見るとするか

CentOS5.5にsamba

CentOS5.5へsambaを導入して共有フォルダを設定して、さあ共有フォルダを開くぞ!
あ、ちょっとまって、ユーザ設定を以下で

useradd -m username
pdbedit -a -u username

で、こんどこそ開くぞと開いてみると以下のメッセージが!!!

「ネットワークリソースを使用するアクセス許可がない可能性ウンヌン」。。。
そんな時はあわてず以下のツールで、

system-config-securitylevel

SELinuxを無効にしてみたら開いた。。。
原因はこれのよう

wordpressで別サーバ名でアクセスした時にURIが消されてトップに戻ってしまう修正

例えばwww.aaa.co.jpというサーバの別名がwww2.aaa.co.jpだった時にwordpressのURL「http://www2.aaa.co.jp/product/aaa」へアクセスするとwordpressが勝手に「http://www.aaa.co.jp/」へリダイレクトし「/product/aaa」が消されてしまう件を修正した。

wordpressのインストールされているフォルダの「wp-includes/ms-settings.php」を開き、
98行目あたりの以下行を修正

修正前
header( 'Location: http://' . $current_site->domain . $current_site->path );
修正後
header( 'Location: http://' . $current_site->domain . $current_site->path.$_SERVER['REQUEST_URI'] ); 

「$_SERVER['REQUEST_URI']」を補うことによりリダイレクト後のURIもちゃんと移動することが出来た。

WindowsXP環境のxamppでsslを使用できるようにする

xamppにて初期状態ではPHPからsslが使えない状態なので、以下の手順にてSSL通信を有効化する。

1.「xampp\php\php.ini」の以下変更

;extension=php_openssl.dll
	↓
extension=php_openssl.dll

2.以下のサイトから「php_openssl.dll」をダウンロード
http://www.dll-download-jp.com/P/php_openssl.dll.html

3.ダウンロードしたzipを解凍して出来た「php_openssl.dll」を「C:\WINDOWS\SYSTEM32」以下へコピー

4.「コンパネ→管理ツール→サービス」でApache2.2を再起動する