Organizations

amazonconnect amazonpolly appflow aws books camp childcare client vpn cloudfront cloudwatch codebuild daily datadog docker ec2 ecs eventbridge fargate gas homeserver iot jamf lambda life hack linux mac movie music php program python rds ruby running s3 tech terraform vpc windows wordpress 10km 2016 2018 2ブロック alfred amazonconnect amazones amazonpolly ansible apache api atcoder aws aws認定資格 backlog balmuda band bind boss box brew cakephp centos centos6 chef-solo ci circleci circlecijp cloud cloud sql cloud storage command crkbd cron css database diet digdag disney dlna dns docker docker-compose dockerfile dockertokyo ecr ecs edy eks elasticcloud elasticsearch em embulk ena evernote ezmlm fabric fargate fluentd font found fuzz galeracluster garageband gce gcp geek gem git github goo google google map googlemap gr-citrus gsuite happynewyear hatenatech helix homebrew html ikea infrataster iphone itamae iterm jamf k8s kinesis kintone knife-solo knowledge kpt kubernetes l2tp lancers lenovo let'ssplit linux live lolipop mac macos macアドレス mail mariadb mediatomb memory mfa midi mint60 ml mta mysql namazu nas nginx notion onedrive openssl peco pepabo perl php pixar pmf post python qiita qmail raspberrypi raycast redmine roland route53 rsync ruby ruby on rails salesforce sendgrid_jp sfdc sha2 shakeshack slack so-01j sony split sql sre srelounge srenext ssd ssh ssml stationery team terastation terminal terraform typescript ubuntu22.04 unix vagrant virtualbox visualstudiocode vm vpc vpn vpngate vscode vuls windows windows10 windows8 windowsserver2012 wordpress xperia xtechjaws xtechjaws07 zsh おサイフケータイ たからばこセッティング としまえん はてな アイアムアヒーロー アイアンマン アウトドアアンバサダー アプリ アレクサ インスタンスタイプ インターン インフラ ウィンドウズ ウェディング エフェクター エヴァ オープンソース カンバン キス キーキャップ キーボード ギター コキア コマンドプロンプト コンタクトセンター コース サーバーオペレーション サーバー移行 シェイクシャック シェルスクリプト スクラム スタジオ ステラタウン ストレージ スマホ セキュリティ タスク管理 ターミナル ダイエット チャリティー テックカンファレンス デスクトップ トライダガー ノートpc ハイレゾ ハゼ ハワイ ハンバーガー バイク バックアップ バンド バージョン管理 パスワード管理 パソコン パパ ピアノ ピクサー ピック ファン プロトレックスマート プロビジョニング ペイジェント ペパボ ポストモーテム ミニ四駆 メンタリング メンター メーリングリスト メール ヤフオク ヤマダ電機 ヤマダ電機モバイルドリーム館 ライブ ランニング リモートワーク レアジョブ レジン レツプリ レビュー ログ ロジカルシンキング 上尾 二段階認証 伊那市 会社 保育園 優しい世界 入門 全文検索 分割キーボード 初心者 勉強会 名前解決 外苑前 天キー 太陽 子供 学習リモコン 実写映画 家具 家族 家計簿 家電 小松菜奈 引っ越し 息子 成人式 技術書典 振り返り 新年 新幹線 新海誠 新米 旅行 日帰り旅行 映画 書評 東京湾 東京都知事 東野圭吾 桜台 検証 気分転換 水タバコ 池上彰 海釣り 温泉 漫画 炭酸泉 生産性 登山 監視 目標 確定申告 福島 立会川駅 組立て 経済学 結婚 練習音源 練馬 考える 育児 脆弱性 自作 自作エフェクター 自作キーボード 自宅サーバー 自宅鯖 花見 蕎麦 言葉 誕生日 読書 豊島園 貸し切り 赤外線 趣味プログラマー 転職 退職 選挙 釣り 釣り堀 銭湯 録音 長野県 障害報告 電動アシスト自転車 電動自転車 電子工作 電気工事士 電気工事士2種 電気風呂 露天風呂 養命酒 1歳
  • 会社の主たるサービスがCakePHPの2系で動いている。 私が所属するSREチームではCakePHPのバージョンアップも担当しており、しばらく新規サービスのインフラ周りをやっていたとはいえ、そろそろ最低限のことは覚えようとCakePHPのチュートリアルをやることにした。 私がやったのはこちら。 CakePHPブログチュートリアル ブログなので、記事を投稿、表示、編集、削除までの極々簡単な内容が学べる。 CakePHPの公式サイトは日本語化されており、基本的なことを学ぶ事ができるのでとても有り難い。 各CakePHPのバージョンに応じてチュートリアルの内容も異なっている。 昔準備はじめて放置していたリポジトリに手を付け、先週頭くらいに環境をセットアップしはじめて、今日一通り終えた。 と言っても先述の通り、とても簡単な内容なので、まだCakePHPの触りも触りと言った所。 これから他のチュートリアルもやって自分で簡単なアプリ作るまでやっていきたい。 とりあえず、大したものではないけど下記にやったことを公開している。 https://github.com/inamuu/cakephp_practice/ こうやってDockerで作っておくと、他の環境でも使い回せるなと思うし、こういったナレッジコードを貯めておくと良さそうに思った。 CakePHP 超入門 <p style='padding: 5px;'>
    cakephp Created Mon, 15 Apr 2019 15:17:06 +0000
  • 概要 mainwpというWordPressがあり、そのディレクトリ配下に /subwp という階層に別のWordPressが存在したとする。 WordPressはデフォルトではDocumentRoot直下の階層、またはDocumentRootの一つ上の階層のwp-config.phpを読むようになっており、wp-config.phpをDocumentRoot配下に保存したくない場合は、通常は一つ上の階層にwp-config.phpを移動させるだけでWordPressが読みこんでくれる。 しかし、上記の環境のように、mainwp/subwp という階層だと、一つ上にはすでに別のWordPressが存在してしまい、それぞれ一つ上においても、DocumentRoot直下のwp-config.phpを先に読み込んでしまい、おかしなことになる。 解決方法 subwpのwp-configを保存したいディレクトリ(2階層上とか)にコピーする [root@test.inamuu.com subwp]# ll /home/hogeuser/mainwp/subwp_config/ 合計 16 -r--r----- 1 hogeuser www 4342 8月 30 23:46 wp-config.php 2.wp-load.phpを編集する [root@test.inamuu.com subwp]# diff -u wp-load.php{.bak,} --- wp-load.php.bak 2018-08-31 00:02:08.147884691 +0900 +++ wp-load.php 2018-08-31 00:03:07.828911588 +0900 @@ -31,10 +31,13 @@ * * If neither set of conditions is true, initiate loading the setup process. */ -if ( file_exists( ABSPATH . 'wp-config.php') ) { +if ( file_exists( '/home/hogeuser/mainwp/subwp_config/wp-config.
    Created Thu, 30 Aug 2018 15:48:28 +0000
  • 経緯 ECCUBEを利用しているサーバーでペイジェントモジュールを利用していたところ、ペイジェントより、12月からモジュールサーバーのSHA2対応をするという通知が送られてきました。 素のCentOS6系でyumでPHPやらOpenSSLをインストールしている場合は、ペイジェントモジュールの証明書ファイルの差し替えのみでOKのようですが、CentOS5系でOpenSSLやPHPをyumでインストールした場合はソースからコンパイルが必要になります。 理由としては、CentOS5系のPHPにはすでにOpenSSLのモジュールが組み込まれており、yumでインストールされたOpenSSLをいくらアップデートしても、PHPの方には影響が無いという理由があります。 また、OpenSSLはCentOS5系の標準だと、openssl-0.9.8eまでしかアップデートできません。 なお、openssl-0.9.8e-18で下記のような記述がありますが、 * Thu Mar 10 2011 Tomas Mraz <tmraz@redhat.com> 0.9.8e-18 <pre> - add SHA-2 hashes in SSL_library_init() (#676384)</pre> デフォルトでは有効ではないようで、sha2がデフォルトで使用できるようになっているのはopenssl-0.9.8o以降からのようです。 なので、OpenSSLを0.9.8o以降でコンパイルし、それを指定する形でPHPもコンパイルが必要です。 その手順を下記に記載しますので、参考になると嬉しいです。 ※慣れていない場合はVagrantなどを活用して、何度か手順を確認しつつ、ご自身のサーバーに合った方法に書き換えていただけると良いかと思います。 バックアップ # cd /etc/ # cp -p php.ini php.ini.`date +%Y%m%d` # cp -rp php.d php.d.`date +%Y%m%d` # cp -rp /usr /usr.`date +%Y%m%d` 事前にインストール # yum install bzip2* libcurl* curl-devel pcre* db4-devel libjpeg* libpng* freetype* gmp* libc-client-devel openldap-devel mysql-devel ncurses-devel unixODBC-devel postgresql-devel sqlite-devel aspell-devel libxslt libxslt-devel net-snmp net-snmp-devel flex krb5-devel httpd-devel
    openssl SHA2 ペイジェント Created Tue, 24 Nov 2015 15:00:17 +0000
  • はじめてのプログラミングと言えば、イメージ的にはお問い合わせフォームかと勝手に思い、早速作ってみることにしました。 入力をformで作り、submitでメールを送信させるPHPファイルに渡すという極シンプルなものでしたが、一つ問題が。 完了画面&メール送信PHPファイルにアクセスした段階で、ブラウザを更新すると更新しただけメールが送られてしまいます。 対応方法はいろんな方法があるようですが、最も簡単なPHPのheader関数で処理することにしました。 要はリダイレクトさせる処理なのですが、処理が正常にいったら、完了ページHTMLへリダイレクトさせるというもの。 以下のようにしてあげれば、勝手にリダイレクトしてくれます。 if ($mailsend) { header(“Location:./complete.html”); exit(); } 最後にexit()でエラーが発生した場合にPHPの処理を停止させるのがポイントのようです。 こうゆうとこインフラエンジニアとしてはちゃんと抑えていきたい所ですね。 とりあえず公開する予定の無いお問い合わせフォームはこの程度で良いとして、処理を実行するPHPファイルを攻撃されたら一緒やん?と思っているのですが、どうなんでしょうか。 その辺はセッションを持ったりするとかしないとかっていう話なんかと思うので、またいずれ。 今日はここまで。 おしまい。   
    POST 趣味プログラマー Created Tue, 26 May 2015 15:18:48 +0000
  • PHPをいざさわり始めると、あれやりたりけど、どうしたらいんだろう? なんていう疑問がたくさん生まれてきます。 つい最近だと入力フォームの日付入力欄で、HTML5から?かdate入力ができるようになりました。 そしてデフォルト値を「value=””」というオプションで指定することが可能です。 例えば、 <p style="padding-left: 30px;"> <input type="date" name="mondate" value="2015-05-20" title="日付を入力をしてください。" required> </p> こんな感じにで値が決められます。 しかし、日付入力なんか、今日とか近い日付入力したい(させたい)だろうに、決め打ちの場合の用途では困る状況があります。 そんな時みんなどうしているのかなぁとネットで調べてみましたが、基本的すぎるからなのかJavaScriptでやる方法しか見つからず、困りました。 なぜならJavaScriptこそもっと触ったことがなかったからです。 勉強にJavaScriptでやっても良いのですが、日付入力なんかPHPでできるんじゃないかなぁ?と思い、思いつくままに書いてみたら、うまくいったので残しておきます。 <p style="padding-left: 30px;"> <input type="date" name="mondate" value="<?php echo date('Y-m-j');?>" title="日付を入力をしてください。" required> </p> たったこれだけでOKです。 要はvalueにPHPの関数を埋め込んだだけ。 一昔まえはJavaScriptでクライアント側で処理させるのが当たり前だったのかと思いますが、今となってはPHP使えないレンタルサーバーなんて殆どありませんから、PHPでデフォルト値を決められるのはありがたいですね。 以上です。おしまい。 よくわかるPHPの教科書 【PHP7対応版】
    PHP Created Wed, 20 May 2015 15:07:11 +0000