投稿

ラベル(PHP5)が付いた投稿を表示しています

メールサーバの移行

イメージ
 自前のメールサーバを停止 これまで、自ドメインのメールサーバはVPS上に構築していた。 ・Ubuntu Server ・Postfix ・Dovecot ・spamAssassinと、BlackListの利用 Spam対策を行ってきたし、サーバ上でメールをトリガーにして各種プログラムを動かしたりしてきた。 メールサーバのメンテナンスは結構面倒くさくて、  ・Disk容量のチェック  ・不正アクセスのチェック  ・各種セキュリティパッチの適用 など、手間がかかる。 そこで、外部のサーバを利用することに…。 結構安くて使い勝手の良さそうなのが、「さくらのメールボックス」 3年契約で、3070円とな…。  メールアドレスは自分のだけなので、20GBまで利用可能!  (Gmailより大きいねぇ) ということで、早速契約。 アカウント設定を行って、既存のDNSを書き換える。WHOISも書き換えて完了。 SMTPとIMAPが利用できればOK。 ちょうど、GoogleがSPF設定していないと受信しないし、DKIMおよびDMARCに対応していないメールを弾くようになったので、対応しているのを確認。 さくらサーバ自体は、これまでお客さんのサーバとして何件も利用しているので、利用方法も難しくはない。  Webメールにも対応しているので、いざという場合にもありがたい。 ということで、各メールソフトの設定を変更。  PC(常時使用する3台)とタブレット、スマートフォンと台数は多いがそれ程手間はかからない。 問題は、旧サーバで送受信したメールの履歴だけれど、これはThunderbrdを使ってローカルに保存することで回避。  本当は、サーバtoサーバでMailboxに残そうとも考えたんだけど、古いメールはそれ程必要ないし、ローカルにバックアップしてあれば凌げるので、良しとする。 移行時にDNSの反映で若干時間がかかったものの、問題なく送受信できるのを確認して、作業完了。  これでメンテナンスの手間が減るので、安いもんです。

PHP+sqliteでcoud not find driver

イメージ
前回からの検討内容… DBを使ったアプリを作成する依頼があったので、内容を検討。 ターゲットとなる環境が厳しいので、いろいろと検討し、そろそろ決めることにした。 クライアントが古めで、アプリを入れて動かすのは故障時のリスクが高すぎる。 何せ外部に接続していないXPマシンが1台含まれており、メモリが512MBと超遅め。 壊れるまで使いたいという希望。 3台のクライアントで利用するのだけれども、扱うデータは担当者別で同時に同じデータを触ることはない。 要はアプリは1種類で、データは3種類になるという縛りがある。 そのうちの1台が古いXPということなので、最低のマシンで動作するようにしないといけない。 そこで、当初LibreOffice上のBASE+マクロ(BASIC)で構築しようと思ったけれど、XPマシンに入れて快適に動きそうにない。 VB or VC# or etc.+SQLiteも検討したが、Microsoftに縛られたくない。 ということで、Linuxサーバ(内部向け)の上で、SQL+PHPで構築して、ブラウザで利用という事で進めることにした。 テスト環境を準備 通常なら、Virtualboxでサーバを構築して、その上で作業をするのだけれど、今回は14.04が出たばかりなので、検証を兼ねて14.04にUpgradeしたノートPC上を作業環境にしてみる。 まずは、apacheのインストール。 $ sudo apt-get install apache2 動作確認で、開いてみると「お!ぉぉ!!!」今までの殺風景な it worksではなく、洒落た画面になっていた。 ついでに、Firefoxも最新のものに更新したので、chromeみたいなタブになっていて、何だか違和感ww 一応スクリーンショットを撮ってみた。 ぱっと見た感じはchromeのようだけど…。確かにFirefoxなんだよね〜。 検索窓が別に用意されているけれど、アドレスバーの欄に入力しても検索してくれて変な感じ。 続いてphpのインストール $ sudo apt-get install php5  本当に、楽になったもんだ。依存する必要なモジュールは勝手に入れてくれるし…。

wordpressでFTP接続情報を求められた

イメージ
WordPressって便利にはなってるよね すでに最新バージョンは3.5に上がっていて、随分機能UPしたもんだ…。と感心しながらも、サイト構築を手軽に済ますためにお世話になっております。 さて、講義の都合上、各自にお手軽ではないインストールをさせる(といっても環境さえあれば5分もかからないんだけど)ために、事前にテストを行なっていたら、あんまり見たことのない画面に出会って手こずったので、まとめておこうと…。 条件 1台のサーバを共有しているので、ユーザ毎にインストールをする。 MySQLはすでに、ユーザ毎のDBは作成済み。 DBには、ユーザの作成と権限をある程度与えてある。 さて、この条件で設定を行なっていく。 まずは、wordpress本体のダウンロード。( 日本語版 ) でもって、public_html以下に保存&解凍。 wordpressというディレクトリに展開してくれるので、アクセスするときのディレクトリを変えたければ、この時点でrenameすればOKと…。 パーミッションをapacheに書き込み権限を与えておく。 ブラウザから、このディレクトリ(http://xxx.xx.xx.xx/~user/wordpress)をアクセスすれば、インストール画面に。 使用するDB名やらユーザ名、パスワードなど入れてやればOK。接頭辞はDBを共有する場合には変更が必要ですな。今回はwp_のままでOK。 これで、完了。 うまくいったように見えたが…。 管理者でログインしてやると、ダッシュボードが表示され、サンプルも存在する。テーマ関係も変更してみたが問題無さそう。 プラグインを確認。 AkismetとWP Multibyte Patchの更新があると言われたので、更新する。 おっと、FTPの接続画面が…。 このサーバはFTPが立ててなかったが、以前使った時、こんな画面を見た記憶が無い。 一応、vsftpdを入れて動作確認する。 すると、エラーが…。 「ディレクトリを作成できませんでした …/wp-content/upgrade」とな。 パーミッションを確認するが、問題はない…。謎だ。 一応、ググってみると、事例はいくつも上がっておりました。

久々のPHPでハマる…。

長いこと使ってますが… web系のスクリプトは、perlから始まりrubyとPHP4に手を出して、長いこと経ちます。もちろん、perl時代が長かったわけで、phpを経てrubyに慣れたものの、またphpに手を出したら、またperl文法に戻ってしまって…。行きつ戻りつを繰り返しているような錯覚を覚えてます。 で、今回は充分自宅環境でテストをして、動作確認をしたスクリプトを持っていったのはいいが、どうも動作しない。 どれだけ待ってもTIME OUTするじゃない…。 まあ、いつもは書かないけれど、デモンストレーションとして書いたものが…。 「fopenでURLを叩いても、ローカルファイルを叩いても、wrapperが同じように処理してくれるのよ〜」なんて説明をしたくて、用意したのに外部へ見に行くとタイムアウト。 仕方なく、ローカルネットワークで試すとOK。 そういうことですか…。外部はダメで、ローカルはOKとな…。もちろん自宅ではLocalhostと外部はテストしてありOKなんだけど…。 ちがいはproxyしかない。 proxy通してやるじぇ そこまで分かれば簡単や〜とばかりに、システムのproxy設定を見る。 「はて?設定されとる」そうか、環境変数に書かれてないんだな。 と思い、 $ set | grep proxy 確かに、何も設定されていない。そうかそうか…。いひひ…。 $ export http_proxy=http://172.…:3128 $  export  ftp_proxy=http://172.…:3128 いつもの奴や…。と思いつつついでにftp側も設定。wget叩いたりして、ええやん! 「これで、満足したやろ!phpめ〜」と声には出さずに叫びつつ、スクリプトをブラウザから叩く。 しょんぼり た、タイムアウト〜! 心のなかはアウト〜! なぜだ…。そか、php5の設定か?と思いつつ、ググってみる。 php5.iniを確認し、 allow_url_fopenをチェック。問題ない。 はぁ…と思ったら、fopenのwrapperはproxy非対応って…orz PHPのManualページの下の方に、proxy使う場合はfsockopenで叩けみたいに書いてあるじゃんか…。 そういう