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

MyController

WEB業界素人の僕がまた見返しそうなことのメモです。

ntpサーバの設定

OSにより下記参照。 サーバーの時刻を自動同期させる。 www.server-world.info www.unix-power.net 補足 vim /etc/sysconfig/iptables -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT udpで123ポートを許可。 再起動 ser…

CSVデータに異常があればアラートメールを飛ばす監視バッチ

とりまつくったやつ #!/bin/bashcd /var/www/html/catalog/products/ #JANコード検査#13桁数字 or 7桁-6桁のみ正常な仕様。2行目移行取得jancodelist=`awk -F, 'NR > 1 {print $6}' data.csv` #商品カタログは2行目以降取得しているので行番号を設定i=1for j…

さくらのレンタルサーバーでの特殊なリダイレクトの書き方

なんでかさくらのレンタルサーバだと特殊な書き方をするらしい。 あんま読み解いてないけどとりあえず下記でリダイレクト出来ることは確認した。 <IfModule mod_rewrite.c>RewriteEngine OnRewriteCond %{ENV:HTTPS} !^on$RewriteCond %{HTTP:X-SAKURA-FORWARDED-FOR} ^$RewriteRule </ifmodule>…

PHPで外部ファイルから読み込んで保存

PHP

問い合わせフォームを作ってて、 受付番号をつけることになった。 仕様は 日付+0001 ってなって連番にする。 日付が変わったらまたカウント1からスタートする。 実はWordpressのコンタクトフォームの話で、mail.phpに書いた内容。 すげーみづらいかも…

さくらVPSで設定中にSSLがきかない(80,443ポートの共存virtualhostの書き方も)

基本はapachectl configtestしたときのエラー文を調べたらわかるけども。 可能性1 mod_sslがインストールされてないかも。 # yum -y install mod_sslで、apache再起動すればおk。 可能性2 Listen 443が2つ読み込まれてるとか。 自分で書く必要ない んで一…

指定したDBをmysqldumpで日時バックアップして15日たったら削除するシェルとクーロン

こぴぺでおけ #!/bin/sh # バックアップファイルのパーミッション設定。他のユーザからバックアップを読み込めないようにするumask 077 # バックアップファイルを何日分残しておくか(15日分)period=15# バックアップファイルを保存するディレクトリdirpath…

apr_sockaddr_info_get() failed for なんちゃらが出たときの対処

hostnameって大体変えるけど、 変えた後にapacheを再起動したりすると再起動自体出来るけどエラーが出るようになった。 そんなときは下記。 /etc/httpd/conf/httpd.conf にある #ServerName www.example.com:80 をコメントアウト外してこうする。 ServerName…

Gitでプッシュすると[rejected]されてしまう時はcloneし直そう

Git

プッシュしたらこんなのが出てできなかった。 git.exe push --progress "origin" ブランチ名:ブランチ名 Everything up-to-dateTo ssh://user@IPアドレス:22/var/www/html/hoge/hogehogegit! [rejected] ブランチ名 -> ブランチ名 (fetch first)error: faile…

良く使うエクセルの関数とかマクロとか

■指定したデータがリスト上に存在するかどうか =IF(COUNTIF(範囲,検索条件),"真の場合に表示する値","偽の場合に表示する値") データを集計するときに便利。なのに忘れるのでメモ。

JavaScriptにおけるバリデーションチェック

wordpressで問い合わせフォームを作った時にハイフンなしのバリデーションチェックをしたかったので。ハイフンなしなら下記でおけ。 $('.wpcf7-validates-as-tel').each( function () { if ( jQuery.trim( $(this).val() ) != '' && !$(this).val().match( /…

広告用語などの知識

とりあえずブックマーク的な感じで。 用語忘れないようにしよ。 www.opt.ne.jp これわかりやすい! www.web-marketing.blue

Postfixによるメールサーバ構築

ここが良い感じ centossrv.com

rsyncについて

とりあえずここがわかりやすそう hollyなblog:rsyncで特定のファイルだけ転送する パスなしでrsync nosa.cocolog-nifty.com

Twitter APIをつかってツイートが1時間後に自動で削除されるようにする

API

参考になった↓ www.tryphp.net

ページ速度とかモバイルフレンドリーとか計測、判定してくれるサイト

■速度測定 PageSpeed Insights やっぱグーグル。URLを貼るだけ。 ■モバイルフレンドリー度合い Search Console Mobile-Friendly Test まだスマホで消耗してるの?

WordPressでやるべき設定

■存在しないURLをたたいた時にデフォルトだと検索バーやらいろいろでるのでリダイレクト。 テーマの編集で404.phpに下記を記載。ない場合は新規作成。 ■xmlrpc.phpの無効化 .htaccessに下記の追加 <IfModule mod_rewrite.c>RewriteEngine OnRewriteBase /RewriteRule ^xmlrpc\.php$ </ifmodule>…

最新のrpmとかremiリポジトリとか

いつも分からなくなるので分かったことメモ CentOSにPHPとMySQLの最新バージョンをYUMでインストールする – kumonchu.com →ここ役立ちそう。 多分こういうところからおとしてきてインストール。 https://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-rele…

障害対応時に役立つコマンド一覧

動いてるプロセスを確認 ps -ef | grep httpd プロセスをKILL kill -9 1000 ディスクの空き容量、使用量を確認 $ df -hFilesystem Size Used Avail Use% Mounted on/dev/vda3 28G 4.7G 22G 19% /tmpfs 499M 0 499M 0% /dev/shm/dev/vda1 239M 58M 168M 26% /…

Basic認証 特定ディレクトリ以下を無効にする

htaccessに下記を入れる。 Satisfy anyorder allow,denyallow from all 公開時はコメントアウトすればOK ローカルで開発しててアップした時上書きするのが怖いのでWriteを外しておいた方がいいかも。 chown 444とか。

Instagram APIから投稿日時を調べて指定時間を過ぎていたらメールでお知らせする方法

やりたかったこと。 本当はInstagramの投稿をして1時間後に自動削除をさせたかった。 だが公式マニュアルを読むとどうもコメントとかはできるけど投稿削除はできないっぽいのでとりあえずメールで自分に送ることにした。 最初の設定とかはここを見たら大体分…

CSSでハマったこと

CSS

どうしてもwidthが合わないとき(スマホ) ヘッダーに下記をいれる。 <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"> あとたまにやるから忘れるはず。 overflow:hiddenを親要素につけたら幸せになれる。 floatって浮いてるから多様すると大体親要素の高さ自動で認識しない。 つまりはブロックになってる下</meta>…

Mysqlでインデックスをつけたときのメモ

ページが落ちた時に原因を調べたらどうもページが開かれるたびにクエリが実行されていた。DBでselectされるときだけの話なのでこれをしたからといって消費者には特に関係ないが、アクセスが集中したときにページが重くなって落ちることは多分なくなる。 やる…

【CentOS】文字コード調整

nkf コマンドで! 文字コード確認 nkf --guess foo.txt EUC-JP を UTF-8 に変換 nkf -Ew ファイル名 ※以下のオプションで、大文字が入力の文字コード、小文字が出力の文字コードを表す。 -J, -jISO-2022-JP (ISO-2022-JP の J と覚える)-S, -sShift-JIS (Shi…

【Dreamweaver】画像の一部にリンクをつける。自動的に座標計算できるクリッカブルマップ

ある程度サイト出来ている前提 1.Dreamweaverひらいてindex.htmlひらく 2.たとえばロゴが一番上に画像としてあるとき、その画像をマップからドラッグするのみ。 ※ウィンドウ>プロパティでウィンドウが出てくる。 ※出てきたらデザインモードに変えて。ラ…

【AWS】同期コマンドrsyncの設定方法

AWSの場合はプライベートアドレスとかVPCの指定をしたりするみたい。 普通のrsyncは設定やったことないけど多分ちょっと違うんだろう。 意外と簡単で とりまこれやって qiita.com これやればいける nosa.cocolog-nifty.com なんかエラーでるけど同期は出来て…

誰が何のコマンドを使ってるかログに残す。ログローテートの設定

ここにかいてあった。 www.denet.ad.jp ログローテの設定と確認 logrotate によるログのローテーション 設定。 ログを何世代残すかとか。 vi /etc/logrotate.conf weekly rotate 4 初期だと多分こうなってる。この場合4週間分残しておくってこと。

clamAVを定期実行させる

定期実行させてメールで通知させる。 メアドは下記にいれてる。 vi /etc/cron.daily/clamscan.sh /root/bin/clam-full.sh clamscan / \ --infected \--recursive \--move=/var/log/clamav/virus \--log=/var/log/clamav/clamav_`date +%Y-%m-%d`.log \--excl…

【clamd,clamAV】centOSにアンチウイルスソフトをインストール

とりまここ CentOS 7 Clam AntiVirusインストール | 自宅サーバー構築メモ(CentOS) あとここ Amazon LinuxにClamAVを導入する | Developers.IO 途中で vi /etc/clamd.conf がなかったので下記で解決。 メランジ雑記帳 » clamav + spamassassin + sendmailの…

Githubにプッシュしたら自動的に指定のサーバーにも反映させる方法【Gittortoise,centos】

Git

すごく時間かかったが冷静に下記サイト通りやればいけるはず。 めちゃ助かった。 qiita.com 環境:さくらのVPSで借りてるCentosとGithub 既にgithubは登録してあって、プッシュするとGithubにはちゃんと反映されてる状態。 ローカルはWindows,ソフトはGittor…

テスト仕様書の概要と作成方法

とても大事なこと。 ・誰がテストをしても同じ結果になること。 ・正常に→×、具体的に何がどうなればOKかを記載。 概要 ・機能テスト 最も一般的なテスト。機能を確認する ・性能テスト テスト対象に入力を与えたり,動作させたりしたときに,正しい実行結果…

AWS S3のアクセスログをEC2にマウントしてログをGrepして出力

AWS

基本調べながら出来るけど若干の注意点と備忘録を。ちょっとメモ過ぎてまとまってないので暇な時整理したいかも。 やりたいことEC2とS3を連携してログを吐き出したい。 理由一応AWS上でELBのアクセスログを有効にしていればログはAWS上で見れる。ただファイ…

リダイレクトのやり方(.htaccess、apache、php、html)

.htaccessでリダイレクト 例 http://hogehoge.com/aaa にアクセスしたら、http://google.comにリダイレクト。 スラッシュのつけすぎとかに注意。 Redirect permanent /aaa http://google.com/ rewriteのLoadModuleがhttp.confにない場合は書いてからじゃない…

AWSでVirtualhost設定(httpでアクセスされてもhttpsに統一)

AWS

大前提 これがないとrewriteできないのでコメントアウトを削除するか、無いなら追記。 httpd.conf LoadModule rewrite_module modules/mod_rewrite.so 多分下記の太字のとこが重要かと。 なんか条件増やしてた時は上手くいかなかった。 やっぱりなんかやると…

AWSでSSL導入

AWS

普通にSSLは導入する。大体apache2.xだからこの辺で簡単にできる。 www.toritonssl.com 証明書はサーバー2つ冗長化してて2台に入れるのかと思ったけど違った。 →セッションが違うかららしい。 ハマったこと① 注意点はSSL証明書、秘密鍵をLBのリスナーのとこ…

初めてのMySQL最新版のインストール、コマンド一覧

webkaru.net ■Mysql centos6.7 apache2.2 最新のDLとインストールについて順次読み替えるが、基本の考え方は同じはずで、サイトにいってリポジトリ→rpmを5つ落とす。その後shared以外インスト→sharedインストで終わり。wget ●●http://dev.mysql.com/get/Down…

Centosに最新版のPHPインストール、php.ini環境設定

PHP

最新版のPHPインストール とりあえずリポジトリからのインストールをする。 なんか前にメモしたのは下記にずらずら書いてあるけど もしかしたら下記リンク先みればいけるかも。 非常にメンドクサイのは、yum phpみたいな感じだと足りないパッケージが超ある…

サルでもわかるGit入門読んでサル以下だと思ったけどこれだけは分かったこと

Git

メモがひどすぎるので順次追記していこうと思う。。 とりあえずGittortortoiseとかおとしてきて、やりたいことは下記。 1.クローン2.ブランチを作成3.developと入力4.プルこれで最新版がローカルに落ちてくるはず 次にMysqlをローカルに入れて、DB作…

SSL証明書を初めて取得して導入した時のメモ

ちょっと仕事で使ったときのメモなのでローカルな話はご愛嬌。 アルファSSL使うけど、CSR作ってからアルファSSLにアクセスするべき。 HTTPSにしたい!Port:443 こんな流れ↓ 1 秘密鍵2 CSR3 SSL証明書(.crt)4 中間証明書(.cer) 1をもとに2をつくって…

はじめてのAWSサーバ設定

知識的なメモ ・Web1とかEC2のサーバーはpublic IPフル必要がある・サーバー再起動するとIP変わってしまうため固定IPにする(Elastic) ・LBのAレコードは下記のようになる。これをドメイン側でCNAME設定する lb-XXXX-XXXXX220.ap-northeast-1.elb.amazonaws…

セキュリティ(PerfectPHP 9章 後編)

HTTPヘッダインジェクション(HTTPレスポンス分割攻撃) ブラウザに対して不正なHTTPレスポンスヘッダを送りつけること。 任意のURLにリダイレクトさせたり不正なクッキーをセットさせたりする攻撃方法。 ※ただしPHP側で4.4.2、5.1.2で対応済み。つまり古いP…

Nginxで初めてサーバ設定(centos)

とりあえずググればなんとかなったけどいちいちググるのもめんどくさいのでここに集約。 Nginx使うことはしばらくなさそうだし。 バーチャルホスト view /etc/nginx/conf.d/default.conf server { listen 80; server_name 127.0.0.1; #charset koi8-r; #acce…

cronコマンド

定期実行させるやつ。 編集する(保存すると自動的にリロードするぽい) vi /etc/crontab ログ tail /var/log/crontab CronでPHPファイルを実行 実行する日時を指定して、実行するphpファイルのパスを絶対パスで指定します。phpを実行するには「/usr/bin/php…

脆弱コード(XSS)

このコード、公開はダメ絶対! 自分のローカル環境で実行して下記をURLにつけるとリダイレクトされるよ。 ※chromeだとブラウザが自動で無効化してるみたいなのでIEとかで。 ?username=%3cscript%3ewindow%2elocation%2ehref%3d%22http%3a%2f%2fgihyo%2ejp%2f…

脆弱コード(スクリプト挿入攻撃)

下記は危険なコードなので絶対に公開しないように! URL末尾に?id=2をつけると攻撃されたと表示。 対策:htmlspecialchars() '1件目の投稿です。特に問題ありません。', 2 => '2件目の投稿です。<script>alert("攻撃をうけた");</script>', ); if(isset($post_data[$id])===t…

GET、POST、COOKIE、SESSIONなどの基礎ーWebアプリケーション概要(PerfectPHP第6章)

PHP

■GETメソッド 書式 urlの後ろに?名前=値&名前&値・・・ 長さに制限があるため大量のデータは向かない。 目的→データの取得 ※つまりデータの投稿などには向かない。ブックマークされて開いたらその度に投稿されちゃう。 ■POSTメソッド GETメソッドを併用…

AMP

AMPとは、「Accelerated Mobile Pages (アクセラレイティッド・モバイル・ページ)」の略で、GoogleやTwitterが主導して開発したプロジェクト。2016年2月24日より検索結果でのAMP対応ページの表示が開始。 どういうものか? モバイル端末におけるWebサイト…

git上には変更が反映されているが、テストサーバに反映されないときの対処法

Git

当然だけどgitで管理しているわけだからテストにFTPで直接あげたりしたら当然ダメ。 でも誰もテストにFTPであげたりしていない。 で、 gitのログをみるとちゃんとコミットされてファイルもいっぱいアップはされてる。 なのに一部のファイルだけがアップされ…

セキュリティ_基本、攻撃手法など(PerfectPHP 9章 前編)

なぜセキュリティなのか。 例えば 弱いサイト作る→悪人がサイト改ざん→閲覧→勝手にリダイレクトされて攻撃される。 結果 損害賠償なんてことも。 ■基礎知識 妥当性チェック(バリデーション) →想定外の値が渡されたら処理中断、エラー表示をさせる。 例 必…

シェルについて

■重要なこと バッチは、コマンドをたたけば何度でも同じ動きをするようにしておかないと意味がないというかそうするべき。 ■参考 blog.sunone.me シェルを作成するvi helloworld.sh↓ #!/bin/bash echo "Hello World !" exit 0 シェルスクリプトに実行権を設…

クラスとオブジェクト(PerfectPHP5章の勉強)

■クラスの定義 class MyModule_Controller{} ■インスタンスの生成と使い方 class Employee { public function work(){ echo '書類を整理しています'; } } $yamada = new Employee(); $yamada->work(); //書類を整理しています と表示される。 ※メソッドの呼…