2015年3月23日月曜日

ガラケー対応サイト開発に役立つリンク集

ktai_web-site今更ながらガラケーサイトを作ったときの覚書。

 

動作確認のための開発ツール

 

ガラケー用コーディングの参考サイト

 

WordPressプラグイン「Ktai Style」のコードがPHPで処理するときのノウハウが詰まってて参考になる。

 

ブラウザ(iモード)のバージョンや解像度などの情報を調べるのに便利なサイト。

 

 

 

< Related Posts >

2015年3月18日水曜日

カゴヤ・クラウドVPS(CentOS)の初期設定

kagoya-vps_settingsカゴヤ・クラウドVPSを借りて設定したときの覚書。

環境:CentOS 6 64bit(最小インストール)

参考

 

目次

  1. SSHで接続
  2. ホスト名変更
  3. ファイヤーウォール設定
  4. NTP(時刻同期サービス)をインストール
  5. Subversionをインストール
  6. nginx, MariaDB, phpMyAdminをインストール
  7. postfix + DKIM(送信ドメイン認証)をインストール
  8. vsftpdをインストール

 


1.SSHで接続

管理画面で「ログイン用認証キーを作成」しないとインスタンスを作成できない。最初から鍵認証を提供してくれるので手間が省けて便利。

秘密鍵をダウンロードして、Tera Termで鍵を指定するだけでログイン可能(パスフレーズなし)。

ログイン後は最新版にしておく。
# yum update

 


2.ホスト名変更

ホスト名は分かりやすい名前にする。
# vi /etc/sysconfig/network

HOSTNAME="webserver.com

 

hostsも変更
# /etc/hosts

127.0.0.1   webserver.com localhost localhost.localdomain
::1         webserver.com localhost localhost.localdomain

 

一応名前解決するときの検索ドメインも変更しておく。
# vi /etc/resolv.conf

search webserver.com

 

ここで再起動
# reboot

 


3.ファイヤーウォール設定

system-config-firewall-tuiがない。これを使うためにはmessagebusサービスも動かす必要がある。せっかく最小構成になっているので、iptablesを使って設定する。

まずは今の状態を確認。
# iptables -nvL

HTTP(80), HTTPS(443), FTP(21)を許可。直接設定ファイルに記述した方が簡単
# vi /etc/sysconfig/iptables

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
COMMIT

iptablesを再起動
# /etc/rc.d/init.d/iptables restart

他のサーバーからポートスキャンして試してみる。
# nmap 111.222.333.444

PORT    STATE  SERVICE
21/tcp  open   ftp
22/tcp  open   ssh
80/tcp  closed http
443/tcp closed https

 


4.NTP(時刻同期サービス)をインストール

時刻同期サービスをインストールして設定。日本のNTPサーバーを追記
# yum install ntp
# vi /etc/ntp.conf

server ntp.nict.jp iburst

再起動して自動起動登録
# /etc/rc.d/init.d/ntpd start
# chkconfig ntpd on

 


5.Subversionをインストール

YUM経由でインストールする。詳しくは前の記事参照。

インストールスクリプトを実行すると下記エラー

You do not have curl or wget installed. At least one of these is required to install WANdisco Subversion

ツールをインストールする必要があった。
# yum install which

あとは全自動で完了するので簡単。

 


6.nginx, MariaDB, phpMyAdminをインストール

これも基本前の記事と同じ

nginxの設定。CPUのコア数を設定。
# vi /etc/nginx/nginx.conf

user  nginx www;
worker_processes  12;

worker_rlimit_nofile 4096;

 

php-fpmの設定。
# vi /etc/php-fpm.d/www.conf

user = nginx
group = www

 

MariaDBの設定。後で調整予定。
# vi /etc/my.cnf.d/server.cnf

[server]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
default-storage-engine = InnoDB
thread_handling = pool-of-threads
max_connections = 400
table_open_cache = 10000

# Tuning
key_buffer_size = 128MB
sort_buffer_size = 8MB
join_buffer_size = 1MB
read_buffer_size = 1MB
read_rnd_buffer_size = 8MB

query_cache_size = 128M
query_cache_limit = 8M

# Profile
slow_query_log=ON
long_query_time=0.5
log_output=TABLE

 


7.postfix + DKIM(送信ドメイン認証)をインストール

メール送信するための設定。postfixをインストール。
# yum install postfix
# vi /etc/postfix/main.cf

myhostname = webserver.com
mydomain = webserver.com
myorigin = $mydomain
inet_interfaces = localhost
mydestination = localhost.$mydomain, localhost

起動と自動起動登録
# /etc/rc.d/init.d/postfix start
# chkconfig postfix on

DKIMは前の記事を参考に。

SPF(Sender Policy Framework)レコードの設定も忘れずに。

 

送信テスト。mailコマンドがないのでmailxをインストール。
# yum install mailx
# mail hoge@gmail.com

 

sendmailにpostfixが使われているか確認
# alternatives --config mta

1 プログラムがあり 'mta' を提供します。

  選択       コマンド
-----------------------------------------------
*+ 1           /usr/sbin/sendmail.postfix

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:

 

 


8.vsftpdをインストール

ファイルの更新は他の人にお願いするのでFTPを設定する。前の記事を参考に。

# yum install vsftpd
# vi /etc/vsftpd/vsftpd.conf

anonymous_enable=NO
chroot_local_user=YES
chroot_list_enable=YES

空のchroot_listを作成
# touch /etc/vsftpd/chroot_list

FTPユーザー作成してパスワード設定。
# useradd ftpuser
# passwd ftpuser

ログインしたときのデフォルトのディレクトリを変更する
# cd /etc/vsftpd/
# vi vsftpd.conf

#
# Config for each user
#
user_config_dir=/etc/vsftpd/vsftpd_user_conf

各ユーザーごとの設定ファイルを用意する。
# mkdir vsftpd_user_conf
# vi vsftpd_user_conf/ftpuser

local_root=/home/httpd/web

再起動
# /etc/rc.d/init.d/vsftpd restart

あとはFilezillaで接続できることを確認する。

 

 

< Related Posts >

2015年3月6日金曜日

IMAPでGmailを監視して、新着メールがあったらPHPを実行

gmail_watcherとあるシステムがqmailでメールサーバーを構成していて、新着メールをトリガーにPHPを実行していた。

このサーバーを移行するときにメールはGmail(Google Apps)で受け取るようにして、サーバーからはGmailを監視するように変更したときの覚書。

環境: CentOS 6.6, iojs-v1.4.2

ざっと調べた感じだとNode.jsで実装すると簡単そう。

 

inboxが内部で使っているencoding(のiconv-lite)がiso-2022-jpに対応してないので下記エラーが出る。

[Error: Encoding not recognized: 'ISO-2022-JP' (searched as: 'iso2022jp')]

プロジェクト直下にiconvをインストールすると直る
$ npm install iconv --save

 

メッセージ取得後はPHPにまるっとデータを渡したいので、child_process.spawnを使う。

 

作ったのをGitHubで公開した。

config.jsを編集すると新着メールがきたときに実行するコマンドを変更できる。

常駐するにはpm2とか使う。

 

< Related Posts >

Related Posts Plugin for WordPress, Blogger...

Blog Archives