Archive for the ‘アプリ(ワードプレス他)’ Category

ワードプレスのプラグインがメモリーを占有した場合の対処法/備忘録

金曜日, 12月 14th, 2012


ワードプレスには多くのプラグインがありますが、中にはサーバーのメモリーを占有してどんどん重くなっていくものがあるようです。今回専用サーバーでこのような事態が発生しましたので、対処方法を備忘録として記載しておきます。

1. プラグインは放置せずにアップデートする。
2. ワードプレスのバージョンに適合していないプラグインを使用しない。意外と使用できたりするのですよ、これが。
3. アドミン側の作業としては、メモリーの占有率が高くなってアクセス速度に問題が出たり再起動が頻繁に起きるようになったら、下記の対策。

キャシュを開放するコマンドの実行

ルートより、sync; echo 3 > /proc/sys/vm/drop_caches を実行してキャシュをクリアする。

free -m
でメモリー状態を確認。通常はこれで、free memoryが増えるはずです。

毎回手動でやるのが面倒な場合は、クローンジョブにします。

シェルより
crontab -e
で下記のエントリーを追加します。0**** の部分は実行したいタイミングによって変更します。
0 * * * * /root/clearcache.sh

/root に、clearcache.sh というファイルを作成して下記のように記述します。

#!/bin/sh
sync; echo 3 > /proc/sys/vm/drop_caches

実行権を付与します。
chmod u+x clearcache.sh

これで毎分キャシュがクリアされますので、メモリーを占有して開放しないプラグインからサーバーのレスポンスを守ることができます。ただし1分ごとに実行するとプラグインが機能しなくなる可能性もありますので、時間は様子を見ながら調整すると良いと思います。

WordPressを3.4.2にアップデート

金曜日, 11月 30th, 2012


3.0.4-jaから一気にアップデートしてみました。多分トラブルと思ってデータベースとファイルを全てパックアップして慎重に行ったのですが、見た目は問題なくアップデートできたようです。

1. mysqldumpかphpMyAdminでデータベースをバックアップする。

2. 管理画面より全てのプラグインを停止させる。

3. 今回はFTPで3.4.2.の全ファイルを上書きアップロード

4. /wp-admin/ にアクセスしてデータベースを再読み込み

以上ですんなりとアップデートできました。

3.4.2.対応と書いてないプラグインもアップデートしてみましたが特に問題がないようです。

一息付いているともう3.5とか始まってるので、利用者は追いつくのが大変ですね。

それにしてもFirefoxでアクセスしたら「ご使用のプラウザは古すぎます」って、きっとYour Browser is TOO old. とかを翻訳したんだと思うけど、なんかすみませんって感じになりました(笑)。

Plesk 9.2.1でphpを5.2.17にアップデート

水曜日, 11月 28th, 2012


専用サーバーの1つで2013年6月に正式サポートが終了するPlesk9で稼動しているサーバーがありますが、ハードウェアファイアーウォールを接続しているということで当分使用することになりました。セキュリィティ的には安定しているのですが、php5.1.6だったためそろそろワードプレスのプラグインが5.2以上でないと対応しない状態になってきて、今回アップデートしました。

普通にアップデートしますとPlesk9.2.1が作動しなくなりますので、いくつかの作業が必用になります。先入観でものすごく難しいはずだと思っていたのですがネット上に先駆者がいまして、それでも不安なので技術に頼んだら1人は無理だぜ..この際Plesk11にしてデータ移行しようよっ..て勝手なこと言って、さてどうしたものかと困っていたらもう一人の技術がなぜか詳しくて、できるよ..だめだったら5.1.6に戻せばいいからやってみると許可も取らずにさっさとアップデート。

だけどうんぬんと話していたら、終わったけどどう?...@@….

相談してから5分もたってないのに、さっさとアップデート。しかもPlesk9.2.1も動いていて、ワードプレスも特に問題なさそう。

技術もそれぞれ得意分野があるみたいで、最初から無理って決め付けてはいけないと反省しました。でもお客さんのサーバーだとどうしても慎重になってしまうんですよね。

ここに関連トピックスがあります。やりかたは私に質問されても分かりませんので、あしからずです。

ほとんど休眠状態のこのブログですが、会社はちゃんと生きていますのでクラウドサーバーならびに専用サーバーのお問い合わせお待ち申し上げております。

12月にラスペガスに新データセンターをオープンします。地震などのリスク分散のためにも海外サーバーにミラーサイトを持ちましょう。

OpenPNE3をもう少し簡単にインストールしてみる

土曜日, 2月 11th, 2012


http://www.surfweb.net/blog/archives/712

で、OpenPNE3をサブドメインにインストールする方法を記載しましたが、ちょっとやややこしくやってますので、もう少し手順をすっきりとまとめてみました。sns.mydomain.com というサブドメインへのインストールを行ないます。

手順修正版

– 最初にCpanelにログインして、サブドメイン”sns.mydomain.com”を作成します。

cPanelにログインしたら、ドメイン -> サブドメイン をクリックします。

サブドメイン : sns

と入力します。次に文書ルートとして、”public_html/sns/web”と指定します。何も指定しないと”public_html/sns”となってしまい、インストール後正しく表示されません。cPanelは文書ルートを指定できますので、煩わしい.htaccessやシンボリックリンクの設定は不要です。

FTPまたはSSHでサーバーに接続します。

ここで一旦作成された、”public_html/sns/web”をsnsフォルダごと削除します。削除は、FTP/SSHいずれからでも構いません。cPanelからの削除ではありませんので注意してください。削除後はFTP/SSHでpublic_htmlを見ても、snsフォルダは見えませんが、cPanelで設定したsnsの文書ルートはバックエンドで生きています。

– cPanelから、OpenPNE3用のMySQLデータベースを作成します。データベースの作成方法はオンラインマニュアルを参照してください。

– OpenPNEサイトからOpenPNE3をダウンロードします。ファイルはzip形式です。2012.2.11時点で配布されている最新版は、3.6.2です。

http://www.openpne.jp/pne-downloads/

ここから変更

FTPでダウンロードしたzipファイルを/public_html直下にアップロードします。転送モードは自動を指定。

SSHより、

cd public_html/

で、public_htmlディレクトリへ移動

unzip openpne-OpenPNE3-OpenPNE-xxxx.zip

を実行してファイルを解凍します。xxxxはバージョンによって変わります。

/public_html/openpne-OpenPNE3-xxxx

というフォルダが作成されてこの中に、OpenPNE3の中身が入ります。

この、”openpne-OpenPNE3-xxxx”というフォルダ名をそっくりそのまま”sns”に変更します。xxxxはバージョンによって異なります。

mv openpne-OpenPNE3-xxxx sns

※この時snsフォルダが存在すると、、public_html/sns/openpne-OpenPNE3-xxxx というようにフォルダがsnsの下に行ってしまいますので、必ずsnsフォルダは事前に削除しておいてからリネームします。

ディレクトリ構造確認

ls -aFl

public_html/openpne-OpenPNE3-xxxx というフォルダがなくなって、snsフォルダにリネームされその中に全てのフォルダ、ファイルが移動していれば成功です。

後はこの前の記事と同じ手順です。必用な作業の後、インストールコマンドを実行すればインストールされます。

リネームしたらsnsフォルダの下にOpenPNEの解凍後フォルダが行ってしまった場合は、リネーム前にsnsフォルダを削除し忘れている可能性があります。確認してください。

これで、サーフウェブカンパニーのサーバーにOpenPNE3.6.2がインストールされました。
http://sns.surfweb.net/

OpenPNE3.6をサブドメインにインストールする方法

木曜日, 2月 9th, 2012


http://www.surfweb.net/blog/archives/735
こちらに修正少し簡単インストール方法を記載しました。ご参考ください。

当社サーバーのサブドメインで、OpenPNE3.6をインストールする方法を記載いたします。当社サーバーご利用のお客様には無料でインストールさせていただきます。

– OpenPNEのインストールはSSHで行なう仕様となっていますので、ご自分でトライされるお客様はSSHアカウントの有効化を当社までご要請ください。

今回は、sns.mydomain.com というサブドメインにインストールしてみます。

手順

– 最初にCpanelにログインして、サブドメイン”sns.mydomain.com”を作成します。
cPanelにログインしたら、ドメイン -> サブドメイン をクリックします。

サブドメイン : sns
と入力します。次に文書ルートとして、”public_html/sns/web”と指定します。何も指定しないと”public_html/sns”となってしまい、インストール後正しく表示されません。cPanelは文書ルートを指定できますので、煩わしい.htaccessによる設定は不要です。

次に作成された、”public_html/sns/web”へ行き、webフォルダーの中身を空にしておきます。具体的にはここに作成されている、”public_html/sns/web/cgi-bin/”を削除して、”public_html/sns/webの中身を空にします。webフォルダーには後で、OpenPNEのwebフォルダーの中身が入ります。FTP/SSHどちらを使用しても構いません。

– cPanelから、OpenPNE3用のMySQLデータベースを作成します。データベースの作成方法はオンラインマニュアルを参照してください。

– OpenPNEサイトから2012.2.9時点で配布されている最新版、OpenPNE3.6.2をダウンロードします。ファイルは、zip形式です。
http://www.openpne.jp/pne-downloads/

– ダウンロードした、openpne-OpenPNE3-OpenPNE-3.6.2-0-gd0cac07.zipファイルを、public_html/sns フォルダーにアップロードします。転送モードは自動を選択します(FFFTP推奨)

– SSHにサーバーにログインします。

– cd public_html/sns を実行して、snsフォルダーに移動します。

– unzip openpne-OpenPNE3-OpenPNE-3.6.2-0-gd0cac07.zip を実行してファイルを解凍します。
解凍が終わると下記のようにsnsフォルダ下に/openpne-OpenPNE3-d0cac07 フォルダが作成されます。
public_html/sns/openpne-OpenPNE3-d0cac07
*openpne-OpenPNE3-d0cac07の中にプログラム本体が入っています。

– cd openpne-OpenPNE3-d0cac07/
で一つ下に降り、”openpne-OpenPNE3-d0cac07″にある全てのフォルダ、ファイルを一つ上の、/sns/フォルダに移動させます。

mv * */ ../
ここでwebフォルダに/cgi-bin/が残っていますと、OpenPNEのwebフォルダの中身が移動されませんので、必ずpublic_html/sns/webの中身は事前に空にしておいてください。

.gitignoreも移動させます。
mv .gitignore ../

これで、openpne-OpenPNE3-d0cac07フォルダは空になりますので、
rmdir openpne-OpenPNE3-d0cac07/
で削除します。FTPから削除しても構いません。

下記のようなフォルダ構成になっていることを確認します。



– cd config/
で一つ下の/configフォルダに降ります。

copyコマンドで
OpenPNE.yml.sample -> OpenPNE.yml
ProjectConfiguration.class.php.sample -> ProjectConfiguration.class.php
に名前を変更します。

cp OpenPNE.yml.sample OpenPNE.yml
cp ProjectConfiguration.class.php.sample ProjectConfiguration.class.php

mvコマンドで書き換えしますと当社サーバーでは、言語切替プルダウンメニューが出なくなります。

– vi OpenPNE.yml
でファイルを開いて下記のように必要な記載を記入します。

# SNS の URL
# URL of the SNS
base_url: “http://sns.mydomain.com” <- アクセスするURLを記入します。

# SNS からのメール送信に使うドメイン
# Domain to use for sending e-mail from the SNS
mail_domain: “mail.mydomain.com” <- ご自分のメールサーバー名を記入します。

記入が終わったら、:wq で保存します。この作業は、FTPでOpenPNE.ymlをダウンロードし、TeraPadのようなUTF-8(N)(T)をサポートするエディタで記入して、アップロードしても構いません。フォーマットはutf-8です。notepadのようなテキストエディタは使用しないでください。

これでインストールの準備がとといました。

ここまでの確認

1. cPanelで”sns.mydomain.com”というサブドメインが、文書ルート”/public_html/sns/web” を指定して作成されている。webフォルダの中身は空になっている。
2. “/public_html/sns/”の中にOpenPNEの中身が全部入っている。
3. “OpenPNE.yml”の、base_urlとmail_domainが正しく記載されている。

それでは、snsフォルダに移動します。
cd cd ~/public_html/sns

インストールコマンドを実行します。
php5 ./symfony openpne:install

データベースの種類を聞かれますので、
Choose DBMS: mysql
と入力

データベースのUsername – Type database usernameを聞かれますので、作成時に指定したユーザーネームを入力
データベースのPassword – Type database password(optional)を聞かれますので、作成時に指定したパスワードを入力
データベースのHostname – Type database hostnameを聞かれますので、localhost と入力
Type database port number(optional) はそのままリターンしてスキップ
データベースの名前 – Type database nameを聞かれますので、作成時に指定したデータベース名を入力

確認画面が表示されますので間違いが無ければ「y」キーを入力しEnterキーを押下します。
インストールが開始されますので、完了するまでしばし待ちます。
間違いがある場合は「n」キーを入力し、Enterキーを押下するとchooseからやり直しができます。

イントールにはかなり時間がかかりますので、しばらく待ちましょう。また回線が混雑していたりするとエラーが発生することがありますが、その場合には時間を変更して試してみましょう。

installer installation is completed! と表示されれば完了です。

– ログイン画面

http://sns.mydomain.com/
にアクセスするとログイン画面が表示されます。



メールアドレスに「sns@example.com」パスワードに「password」と入力し、ログインボタンを押下しますと、OpenPNEにログインできます。

– 管理画面へのログイン

http://sns.mydomain.com/pc_backend.php
にアクセスすると管理画面が表示されます。



アカウント名に「admin」、パスワードに「password」と入力し、ログインボタンを押下しますとOpenPNEの管理画面にログインできます。

左の管理画面設定をクリックし、中央上のChange Passwordをクリックするとパスワードを変更できます。



以上でインスールは完了です。サーフウェブカンパニーのサーバーに、OpenPNE3がインストールされました。

cPanelサーバーはサブドメインの文書ディレクトリをコントロールパネルから指定できますから、.htaccessでアクセスサイトを指定したり、シンボリックリンクを作成しなくてもOpenPNE3をインストールできます。