カテゴリー別アーカイブ: 仕事

今更ながら、vagrantのメモ。

vagrantを使うようになって数年立った。
今まではWindows環境での開発が多かったが、macを新調したのでメモしておく。
そういえば、コンピューターを新調すると心が踊ります。

  • vagrant
  • VritualBox
  • Vagrant Manager

vagrantのプラグインもインストール。

vagrant plugin install vagrant-share vagrant-vbguest

作業ディレクトリを作ってvagrant initを実行すると、Vagrantファイルができるのでそのファイルを編集。
主に、SHELLで囲まれたヒアドキュメント的な部分が重要と思います。

sudo yum install -y tmux vim-enhanced wget epel-release yum-plugin-fastestmirror.noarch
#wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
#sudo rpm -Uvh remi-release-7.rpm
sudo yum install -y –enablerepo=remi,remi-php72 php php-cli php-devel php-mbstring php-pdo php-gd php-pecl-zlib php-pecl-bz2 php-xml php-mcrypt php-zip php-pdo php-mysqlnd php-pgsql
sudo yum install -y httpd tmux zsh zip unzip postgresql postgresql-server mariadb-server mariadb git
sudo yum install -y redis
sudo systemctl enable httpd
sudo systemctl start httpd

boxファイルは適当に探して。
と言うか、目的に合うboxファイルを探すのは非常に面倒なので、自分用に作っておくこともよいのかと思います。
今回は「CentOS-7-x86_64」を探し出して無事インストール完了。

毎度のようにSelinuxの設定を解除するのに手間取ったり、MySQLのパッケージを探すことに手間取ったりとしたけど、その形跡はVagrantファイルに書いています。
噂通り、MySQLという名称からMariaDBに変わっていたけど一応知っていたけど、拡張ライブラリが探しにくい。

意外なところでは、ログやセッションやキャッシュなどのディレクトリはゲスト側でなくホスト側で設定しないといけなかった。
現象的にはselinuxでハマるときと似ていたので、ちょっと時間がかかった。

WordPressとLaravelは動作したので、CakePHPやSymfony、その他Rubyとかも開発できると楽しそうなので、違いうち挑戦ということで。

略すと

職場で「IPアドレス」を「アイピー」と略して呼ぶことがあるが、何のことを指すのか毎度固まってしまう。

http://ja.wikipedia.org/wiki/Internet_Protocol

OSI参照ととか、聞いたことない人はそう言うのかも。
IPとポートを区別できないし。
そもそも、プロトコルの区別はしない人が周りに多い。
Web業界だとプロトコルとIPは理解できる人少ないし、区別する必要もない。

似たようなものに「アイパス」という呼称が世間で増えてるらしい。
私のような人は、「iPath」とわざと勘違いしてみる。

最新テクノロジーとかより、用語についていけない年齢になってきた気がする今日この頃。

input-alternate

さくらインターネットVPS(CentOS6)のPostfixをSPF対応させてみた

yum install python-pyspf python-pydns pypolicyd-spf
python-ipaddr

/etc/postfix/master.cf
policyd-spf unix – n n – 0 spawn
user=nobody argv=/usr/bin/python /usr/libexec/postfix/policyd-spf /etc/python-policyd-spf/policyd-spf.conf

/etc/postfix/main.cf
policyd-spf_time_limit = 3600
# check_policy_service unix:private/policyd-spf を追記
smtpd_recipient_restrictions =
permit_mynetworks,
reject_unauth_destination,
check_policy_service unix:private/policyd-spf

service postfix restart

間違いがあったので修正してみたり。
さくらインターネットVPSでUbuntuでの設定備忘録は結構見かけたが、CentOS6の場合はソースからインストールするものしか探せなかったので、ちょっとずつ見直してみたらようやく動いた。

GmailとかYahoo Mailなどのフリーのメアドで正常に届けばいいのかなと思う。

WordPressを高速化

Webシステムを高速化するには、以下の方法があげられる。
プログラム的な修正的なもの

  • ファイルキャッシュ
  • DBキャッシュ
  • DB分割(縦横分割、H/Aクラスタリング)

もう少し基盤的なもの

  • Webサーバーのチューニング
  • DBサーバーのチューニング
  • サーバーのIOチューニング
  • サーバーのチューニング(ディスク高速化、メモリ増設、CPU増設・交換)

ファイル系のもの

  • CDN(Contents Delivery Network)的に設置するサーバーを分散する
  • サムネイルのようなCSS Stripeに修正する

WPだと、DBキャッシュとファイルキャッシュがある。
今回の環境はnginxなので、CDN的な問題はないはずなのでいろいろ試してみる。

  • DB Cache Reloaded Fix
  • (Cloud Flareなんて無料のCDNもあるらしい)

チューニングは、EC-Cubeと比較するとかなり簡単かつ効率的な気がする。
DB Cache Reloaded Fixを入れてみた。
これだけでも結構速くなってしまうのがわかった。

nginx + WordPressの調整

WordPressにメディアを新規追加してみようとしたらうまくいかないのでブラウザアップローダーを使ってみたら「413 Request Entity Too Large」と出てくる。
PHP(fpm)の設定方法がわからなかったのでメモ。

該当する設定ファイルに以下の要領で設定してみる。

server {
    client_max_body_size 20M;
    location ~ \.php$ {
        fast_cgi_param PHP_VALUE "upload_max_filesize=10M
            post_max_size=20M"
    }
}

上手く行った。
めでたし。

sshdのListenポートを追加してみた。

セキュリティをちょっと気にすべきサーバーへのsshアクセスのために、ポートを追加・変更してみた。
案外簡単だが、iptablesとかでFWを組んでいるときは伸張に作業する必要がある。

/etc/ssh/sshd_configにPort 12345を追加してservice sshd reloadとかで反映される。
ただし、iptablesも同時にやっておかないと2度とsshでログインできなくなるので要注意。

幸いなことに「さくらインターネットVPS」では、仮想シリアルコンソールがあるので何とかなる。

噂だが、sshdへの攻撃の数が激減するとのこと。当然と言えば当然だが。