読者です 読者をやめる 読者になる 読者になる

Septeni Engineer's Blog

セプテーニエンジニアが綴る技術ブログ

ブラウザからサーバ時間を変更する

PHP

kakeyangです。こんにちは。


先日プレスリリースさせていただいた、「Smac」ですが、
デモアカウントを作成する際にハマってしまったのでエントリしておきます。


デモアカウント作成のルールは以下です。

  • 工数をかけない。
  • レポート画面の操作感がわかる最低限のデータを作成する。


で、以下のように作成する方針としました。
  • サーバ時間を変更しながら3ヶ月程度のクリック/CVデータをテストサイトで作成。
  • DBの集計データをupdateし、各データを数百〜数千倍に加工する。


この時、クリック/CVデータを作成→dateコマンドでサーバ時間変更→・・・(続く)
ではあまりにも効率が悪く、データの作成を企画屋さんにお願いできないため、
サーバ時間をブラウザから変更できるようにしておきました。


以下、その作業ログです。
こちらに大変お世話になりました。
http://hogehack.blog80.fc2.com/blog-entry-36.html

apacheユーザでもdateコマンドを実行出来るようにする

apacheユーザのパスワードを変更

$ sudo passwd apache

apacheユーザーがsudoできるようにsudoersファイルを編集

root権限で実行します。

$ visudo

以下の行をコメントアウト

Defaults    requiretty
#Defaults    requiretty

最下部に以下を追記

apache  ALL=(ALL)       ALL

PHPをブラウザからアクセスできるディレクトリに配置

$year = isset($_REQUEST['year'])?$_REQUEST['year']:'2010';
$date = isset($_REQUEST['date'])?$_REQUEST['date']:'01/01';
$str  = 'echo "password" | sudo -S date -s "'.$date.' 12:00 '.$year.'"';
system($str);



"password"はapacheユーザのパスワードです。


セキュリティ的にどうなの?という話もありますので、
終わったら元に戻しておきましょう。