ゲムキTOP > ブログTOP

ハルポップの徒然雑記

ためになる話、どうでもいい話など

中村光一のプログラム哲学

ハルポップ 2016-03-29 17:32:45 pv:287
ドラクエのプログラムを担当した中村光一へのインタビューでの言葉。

Q.プログラマーには綺麗なプログラムを書くことがすべてという美学を持っている人がいます。中村さんはどんなプログラマーですか?

A.私は逆ですね。文法や作法が間違っていても、結果としてちゃんと動いていたら、ゲームができたら、ゲームが面白かったら、それでOK。私がコンピュータ好きなところはそこです。プログラムが間違っていたら、絶対に動かない。けれども、結果的に合ってさえいれば、バカ正直なくらい動く。コンピュータのそういう哲学的なところがいいんです。私のプログラムは本当に自己流だし、きたないプログラムと人に言われたこともあります。でも、与えられたメモリの条件下で動けばいいんです。結果さえ正しければ、すべてが許される。そんなコンピュータの懐の広さこそが魅力なんです。

参考文献:ファミリーコンピュータ 1983-1994

備忘録3 サーバー移転

ハルポップ 2016-01-26 13:19:44 pv:567
4年半ぶりくらいにサーバー移転しました。
メンテナンス→元のサーバーの全ファイルをダウンロード→新しいサーバーに全ファイルをアップロード
という手順でしたのですが、全ファイル数が24万近くあり、ダウンロードだけで約8時間かかりました。
ダウンロード先を内蔵ハードディスクにしてしまったのが失敗で、SSDにしておけばもっと早かったと思います。

アップロードした後はパーミッションの設定です。
これはコマンドで一括で出来ました。コマンドが使えなかったら死亡です。

■CGIを一括で755
find パス -name \*.cgi -exec chmod 755 {} \;

■txtを一括で666
find パス -name \*.txt -exec chmod 666 {} \;

■userディレクトリ以下を777へ変更する
find user -type d -print | xargs chmod 777

---
次はメール設定。2つ目のドメインなのでどうするか調べたらバーチャルドメイン設定で出来るようです。
# vi /etc/postfix/virtual

aaa.com anything
koro@aaa.com koro

aaa.net anything
koro@aaa.net koro

# vi /etc/postfix/main.cf

virtual_alias_maps = hash:/etc/postfix/virtual

# postmap /etc/postfix/virtual
# /etc/init.d/postfix reload

---

その他したこと

■データベースのエクスポート
・DBごと
mysqldump -u ユーザー名 -h IPアドレス(ホストならエラーが出る場合も) -p DB名 > DB名.dump

・テーブル単位
mysqldump -u ユーザー名 -p -h IPアドレス -t DB名 テーブル名 > テーブル名.dump

■データベースのインポート
mysql -u ユーザー名 -p DB名 < dumpファイル

---

・Smartyのパスの変更
・cronの設定
・サブドメイン設定


あと、ネームサーバーが同じだったためか、新サーバーへのドメイン浸透はすぐでした。

備忘録2 メールサーバーの構築

ハルポップ 2016-01-20 11:46:42 pv:267
前回の続きです。
ネームサーバーの変更、DNSの浸透は2日程で終わり、サブドメインの確認が出来ました。
そして同時にメールも使えるようになるんじゃないかと思っていたら使えないままでした。
DNSレコード設定を確認。
ホスト名は「mail」、TYPEは「A」、値は「サーバーのIPアドレス」
もう一つは、ホスト名は「空白」、TYPEは「MX」、値は「mail.ドメイン名」

マニュアルの例通りだしこれで間違いないはず。。
次にポートの開放を確認。
iptables -A INPUT -p tcp --dport 110 -j ACCEPT
service iptables save
というように、110と25を開けていたが、587ポートにしてないせいかと思い、
/etc/postfix/master.cf ファイル内の
#submission inet n - n - - smtpd
という記述のコメントを外して対応。

それでもだめでした。
次にサーバー内でメール送信が出来るかsendmailコマンドでテスト。

sendmail メールアドレス
Subject:test

aaa

.

これだとメールが送れ、ユーザーのメールボックス(newフォルダ)にメールファイルが出来ていました。
sendmailはpostfixを使用しているので一応動いているという事です。

次にメールソフト側の設定をいろいろ試していたらPOP3をうちのサーバー、SMTPを外部サーバーに指定したらホストは見つかったとの表示が。
とりあえず受信だけは出来るかと思って「決定」としてもユーザー名かパスワードが間違っています、とのエラーが。

それで受信サーバーであるdovecotの設定を見直していたら、一か所設定が抜けていました。
[/etc/dovecot/conf.d/10-auth.conf]
disable_plaintext_auth = yes
となっていたところを
disable_plaintext_auth = no

に変更。これでエラーがなくなりPOP3サーバーからメールを受信する事が出来ました。

しかしまだ問題が。
外部から送ったメールが届きません。
メールログを以下のコマンドで確認。
tail -f /var/log/maillog

すると
「fatal: no SASL authentication mechanisms」
というようなエラーが出ていました。

対処法を調べたらcyrus関連が入っていないと起こるエラーのようです。
そして
「yum install cyrus-sasl-plain」
とこれをインストールしたら、エラーが無くなり、たまっていたメールが大量に届きました。


以上で終わりました。大変でした。
もうメールはGmailでいいっす。

備忘録 VPS契約からサーバー初期設定まで

ハルポップ 2016-01-13 18:38:00 pv:281
今の専用サーバーから、価格が安くて性能がそこそこ良いVPSに移転をしようと思い契約しました。
契約したらすぐコントロールパネルが使えるようになっていました。
VPSは基本全て自分でインストールしていくのですが、LAMPパックというのがあったのでこれをインストールしました。
LAMPパックは以下のものがインストールされています。
・Cent OS 6 64bit
・Apache 2.2.15
・MySQL 5.5.39
・PHP5.5.17
・perl 5.10.1
・python 2.6.6

SSHでのログインはログイン用認証キーを使うようです。
早速ログインしてドキュメントルートにテスト用のHTMLを作って表示が成功しました。

ここから初期設定がわんさかあったのでやった事と詰まった事を箇条書きにします。詰まったところは※にて。

・FTPのインストール
yum -y install vsftpd

・FTPユーザーの作成
useradd oooo
passwd oooo

・FTPユーザーのルートディレクトリの変更。上位階層へ行けないように。
[/etc/vsftpd/vsftpd.conf]
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

user_config_dir=/etc/vsftpd/userconf

chroot_listは空

※これがうまく反映されずに悩んでいたらFFFTPのバグで、再起動したら直っていました。

・ポート別の設定
# iptables -A INPUT -p tcp --dport 20 -j ACCEPT
# iptables -A INPUT -p tcp --sport 20 -j ACCEPT
# iptables -A INPUT -p tcp --dport 21 -j ACCEPT
# iptables -A INPUT -p tcp --sport 21 -j ACCEPT

・DirectoryIndexの設定
DirectoryIndex index.html index.php

・ShiftJisが文字化けしていたので、httpd.confの「AddDefaultCharset UTF-8」をコメントアウト

・REMOTE_HOST許可
[httpd.conf]
HostnameLookups On

・CGIの許可
Options -Indexes FollowSymLinks ExecCGI

・phpmyadminのインストール
wget https://files.phpmyadmin.net/phpMyAdmin/4.5.3.1/phpMyAdmin-4.5.3.1-all-languages.tar.gz

・mysqlの初期設定
etc/my.cnf

・mysqlが外部から繋がるように
[etc/my.cnf]
#bind-address = 127.0.0.1

iptables -I INPUT 6 -m state --state NEW -p tcp --dport 3306 -j ACCEPT

ログイン後
grant all privileges on データベース名.* to ユーザー名@"%" identified by 'パスワード' with grant option;

※データベース名のところをサンプルの名前を使っていてハマっていました。

・メールサーバーの構築
http://centossrv.com/postfix.shtml

・pearのMDB2のインストール
pear install MDB2_Driver_mysql
pear install MDB2_Driver_mysqli

※mysqliを使っていたのでmysqliも必要です。

・smarty
wget https://github.com/smarty-php/smarty/archive/v3.1.29.tar.gz
tar xvzf v3.1.29.tar.gz

・image magick
yum install ImageMagick
yum install ImageMagick-perl

※CGIで使う場合はImageMagick-perlが必要です。

・サブドメインを別サーバーに
ドメイン取得サービス会社のほうのDNS情報を変更。
サブドメイン名 A サーバーのIPアドレス

浸透にかなり時間がかかります。
Windowsでは反映していないのにMacでは反映されていたりしました。

どれにしようかな 天の神様の言う通り

ハルポップ 2016-01-11 19:13:38 pv:257
前回に続いて地域によって言い方違うシリーズです。

「どれにしようかな 天の神様の言う通り」この続きはうちの地域は「どれにしようかな天の神様の言う通り ぶっとこいてぶっとこいてぶっぶっぶ アブラムシ 柿の種」でした。
過去にアンケートをとってみたところ、すごくいろんな言い方があるようでした。
http://www.game-kids.net/enquete/?action=dsp_result&q=1381475090

うちの地域には無かった「鉄砲撃ってバンバンバン」の言葉が非常に多く、どう発音するのか気になるところです。
「柿の種」はかなりの確率でありますね。語呂がいいからでしょうか。


次に「じゃんけんで2つに分かれる時に何て言いますか?」のアンケート結果はこちらです。
http://www.game-kids.net/enquete/?action=dsp_result&q=1381550287

うちの地域は「ぐっぱーぐんでおこりなし」でしたが意味分からずに言ってましたね。
高学年になると「ぐっぱー」だけになりました。
隣の市ではグーとチーで「ぐちぐーちやでっすん」だったみたいです。

いろいろあるもんですね。
誰が最初に言い出して広まっていったのかも気になります。

また、現在これを何と呼ぶかのアンケートをとっているのでよろしくです。
http://www.game-kids.net/enquete/?action=look_q&q=1452332828