ディレクトリが存在しなければ
ディレクトリを作成する
mkdirの第3引数に[true]を設定すると
中間のディレクトリも作成!
1 2 3 4 |
if (!file_exists($dir)) { mkdir($dir, 0777, true); chmod($dir, 0777); } |
mkdirで権限指定してるのに
なぜか反映されないのがナゾ。。
ディレクトリが存在しなければ
ディレクトリを作成する
mkdirの第3引数に[true]を設定すると
中間のディレクトリも作成!
1 2 3 4 |
if (!file_exists($dir)) { mkdir($dir, 0777, true); chmod($dir, 0777); } |
mkdirで権限指定してるのに
なぜか反映されないのがナゾ。。
なにかと出てくる
ライブラリ管理のComposer
インストール手順をメモメモ
PHPのバージョンは5.3以降必須!
1 2 3 4 |
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('sha384', 'composer-setup.php') === 'baf1608c33254d00611ac1705c1d9958c817a1a33bce370c0595974b342601bd80b92a3f46067da89e3b06bff421f182') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" php composer-setup.php php -r "unlink('composer-setup.php');" |
参照:https://getcomposer.org/download/
「composer」コマンドをたたいて下記の表示がでればOK!
1 2 3 4 5 6 7 8 9 10 |
$ curl -sS https://getcomposer.org/installer | php # mv composer.phar /usr/local/bin/composer # composer ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ |
composerをアップデートする場合は
1 |
composer self-update |
PHPから画面のキャプチャをとりたいなぁ~
って思ってたら、なんかよさそうなのを発見!
スクロールして、全画面のキャプチャもでけた!!
今回使ったのは、wkhtmltopdf
名前がhtml to pdf だから
htmlファイルをpdfに変換できるらしいんだけれど
イメージファイルにもいけるらしい
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
// まずは、wkhtmltopdfのrpmファイルをゲット! # wget http://download.gna.org/wkhtmltopdf/0.12/0.12.2.1/wkhtmltox-0.12.2.1_linux-centos7-amd64.rpm --2015-10-28 17:08:39-- http://download.gna.org/wkhtmltopdf/0.12/0.12.2.1/wkhtmltox-0.12.2.1_linux-centos7-amd64.rpm download.gna.org (download.gna.org) をDNSに問いあわせています... 78.40.125.79 download.gna.org (download.gna.org)|78.40.125.79|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 14104896 (13M) [application/x-redhat-package-manager] `wkhtmltox-0.12.2.1_linux-centos7-amd64.rpm' に保存中 100%[======================================================================================================================================================================================================>] 14,104,896 1.39MB/s 時間 11s 2015-10-28 17:08:50 (1.21 MB/s) - `wkhtmltox-0.12.2.1_linux-centos7-amd64.rpm' へ保存完了 [14104896/14104896] // 続いて、インストール # rpm -ivh wkhtmltox-0.12.2.1_linux-centos7-amd64.rpm エラー: 依存性の欠如: xorg-x11-fonts-75dpi は wkhtmltox-1:0.12.2.1-1.x86_64 に必要とされています // 必要らしいので、いわれるがままインストール # yum install xorg-x11-fonts-75dpi // 再チャレンジ # rpm -ivh wkhtmltox-0.12.2.1_linux-centos7-amd64.rpm 準備しています... ################################# [100%] 更新中 / インストール中... 1:wkhtmltox-1:0.12.2.1-1 ################################# [100%] |
いけたー!
早速、コマンドラインからテストしてみる
1 |
wkhtmltoimage http://yahoo.co.jp test.png |
おっ、画像ができちょる
。。。
あれっ、日本語がまったく表示されていない。。。
ということで、フォントを入れてやる
1 2 3 4 5 6 7 |
$ mkdir ~/.fonts $ cd ~/.fonts $ wget http://dl.ipafont.ipa.go.jp/IPAexfont/IPAexfont00301.zip $ unzip IPAexfont00301.zip $ mv ipaexm00301/ /usr/share/fonts // キャッシュを更新 $ fc-cache -fv |
でけた
いまどき、とりあえず
ソーシャルボタンくらい
付けておけってことで
下記の3ステップで簡単設置!
1.ここを開く
2.使いたいボタンとかを選択し、HTMLコードをコピー
3.自分のサイトに、コピーしたコードを貼り付け!
おなじく簡単設置!
1.ここを開く
2.使いたいボタンとかを選択し、HTMLコードをコピー
3.自分のサイトに、コピーしたコードを貼り付け!
なぜだかわからんが、レイアウトとかのプルダウン(?)らしきものが
変更できなかったので、ソースを直接変更してみた。。。
こちらを参照
あとは、WordPressならプラグインがいろいろあるようで!
このツールで計測したら、点数が悪かったので
ページの表示速度を改善しようかな~っと
とりあえずは、cssやjsファイルの圧縮を対応したのでメモメモ
Apacheなら、mod_deflateを使えば、簡単にできるらしい
設定ファイル(/etc/httpd/conf.d/配下にあるファイル)
に下記の1行を追加してあげるだけでできました!
1 |
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript text/css |
レスポンスヘッダーに
こちらのデータが追加されてればOK!
Content-Encoding:gzip
AWSでWordPressを使ってサイトを構築してたんだけど
ec2-userとapacheのグループが違うので、
なにかと不便かなぁと思い、
グループを新しく作成して、そこにec2-userとapacheの
ユーザを追加したときの手順をメモメモ
実際には、WordPressでプラグインをインストールしたときに
「ディレクトリを作成できませんでした。」
って、権限エラーで怒られたのでした。。
なので、ec2-userとapacheのユーザを同じグループに登録して
/wp-content/pluginsのディレクトリの権限を775に
そして、所有グループを変更してあげれば解決!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
// ec2-userが所属してるグループを確認 $ id ec2-user uid=500(ec2-user) gid=500(ec2-user) groups=500(ec2-user),10(wheel) // apacheが所属してるグループを確認 $ id apache uid=48(apache) gid=48(apache) groups=48(apache) // developerグループを作成 # groupadd developer // 作成したdeveloperグループの確認 # cat /etc/group | grep developer developer:x:10002: // developerグループにec2-userユーザを追加 # gpasswd -a ec2-user developer Adding user ec2-user to group developer // developerグループにapacheユーザを追加 # gpasswd -a apache developer Adding user apache to group developer // developerグループにユーザが紐づいているか確認 $ cat /etc/group | grep developer developer:x:10002:ec2-user,apache // ec2-userが所属してるグループを確認 $ id ec2-user uid=500(ec2-user) gid=500(ec2-user) groups=500(ec2-user),10(wheel),10002(developer) // apacheが所属してるグループを確認 $ id apache uid=48(apache) gid=48(apache) groups=48(apache),10002(developer) |
WordPressで作ってあったサイトなんだけど
なんか重いなぁ~と思って原因を探っていたら、
アバター画像の周辺がどうもあやしい。。
/wp/wp-content/plugins/wp-user-avatar/includes/class-wp-user-avatar-functions.php
↑このファイルの中にある
「wpua_get_avatar_filter」って関数が原因みたいじゃ
192行目の条件文を下記に変更したら、
今まで表示に3秒以上かかっていたのが
なんと1秒未満に!!!!
1 2 |
// } elseif((bool) $wpua_disable_gravatar != 1 && $wpua_functions->wpua_has_gravatar($id_or_email)) { } elseif((bool) $wpua_disable_gravatar != 1) { |
どうやら、キャッシュをみて、なければセットしてるようなんだけど
とりあえず、修正しても動いてるみたいだし
なにより遅すぎるので、まぁいっかw
あくまで自己責任でやりましょう!
試しにサイトをSSL化したのだけれど
面白そうだから、下記のサイトでサイト評価を
してみたのだけれど。。。
まさかの「C」判定。。。
とりあえず、赤色の緊急のやつだけでも対応しておくか
This server is vulnerable to the POODLE attack. If possible, disable SSL 3 to mitigate. Grade capped to C.
こんなメッセージ
POODLE対策のために、SSL 3.0 を無効にしなさいと言っているようだ。
環境は、
Apache/2.4.16
/etc/httpd/conf.d/ssl.conf
を修正すればよい
デフォルトの設定では
All (全許可)してから「SSL 2.0」のみを無効にしてたので
「SSL 3.0」も無効にしてあげる
1 2 3 4 5 |
// 修正前 SSLProtocol all -SSLv2 // 修正後 SSLProtocol all -SSLv2 -SSLv3 |
ただ、デフォルトでは、この設定は
の中にあるので、バーチャルホスト運用している場合は要注意w
反映されねぇ~って悩んでしまった。。
たまたま、でかい画像ファイルでテストしたくて
探すときに使ったコマンドをメモメモ
画像ファイルじゃなくても、容量じゃなくても
いろいろ応用できますな
1 |
$ find . -name *\.jpg | xargs ls -alS | head |
「find」でファイル名が’xxxx.jpg’のものを検索して
「| xargs」で、結果を次のコマンド(ls)に渡し
「ls」で、サイズ順に並び替え
「head」結果がたくさんありすぎる場合は制御
ひとつのサーバで、サイトを複数運用した時に
ログファイルを/var/log/httpd/配下に、もうひとつ
サイトごとにディレクトリ作って管理したときのメモ
環境は、Amazon Linux AMI release 2015.09
(CentOSでもきっと一緒)
例えば、サイトAのaccess_logを
/var/log/httpd/a/access_log
みたいな感じで管理したい
httpdのログローテーションの設定が
/etc/logrotate.d/httpd
に書かれている
特に、ルールを変える必要もなかったので
1行目に「/var/log/httpd//log 」を追加してあげた
・変更前
/var/log/httpd/*log {
・変更後
/var/log/httpd/log /var/log/httpd//*log {
1 2 3 4 5 6 7 8 9 |
/var/log/httpd/*log /var/log/httpd/*/*log { missingok notifempty sharedscripts delaycompress postrotate /etc/init.d/httpd reload > /dev/null 2>/dev/null || true endscript } |
後は、下記のコマンドで、念のためデバックモードで
動かしてみる
1 |
logrotate -dv /etc/logrotate.d/httpd |
問題なさそうなので、あとは実際に動いてからもっかい確認!