この前 試験サーバより本番サーバにrsyncでファイルを反映しようとした際に 遭遇したのでメモ 昨日まではファイルを正常にシンクできたのですが、今日になってなんとエラーが・・・ssh_exchange_identification: Connection closed by remote hostえ、何これ?と思って調べてみると 試験サーバから本番サーバへsshでのアクセスが禁止されていました。 原因は誰かがIP制限を導入したそうなのですが、それに漏れがあったかららしいです。 原因はわかったので、直接本番サーバにssh接続し IPアクセス制限に試験サーバのIPを追加しました。 /etc/hosts.allow を vi で開き sshd という項目に試験サーバのIPを追加しました。sshd : 111.111.111.111複数指定する場合は、スペース区切り・またはsshd : 111.111.111.111 sshd : 222.222.222.222というように指定します。 終わり
2012/08/11
【Linux】sshのIPアクセス制限
2012/05/10
【サーバ】301リダイレクトを使う上での注意点
先程の記事で説明したWWWあり、なしを統一する際にハマったメモ 最初はFirefoxで301リダイレクトの確認をしていたのですが、設定をミスっていたらしく失敗していました。 その後何度か変更を加えてチェックしたのですが、最初に変更した設定から 何も変更されませんでした。 それで違うブラウザでやってみようということでIEで接続してみたところ現在の設定が反映されていました。 少し調べてみると301リダイレクトについての記述が見つかったので、それを探ってみるとビンゴ。301リダイレクトはリソースの恒久的な移動を意味する。「このURIはもうこっちのURIに変更されました。」というのをブラウザ等に通知するということらしく、 ブラウザ側でそのURIを記憶してしまうのだそうです。 なので、設定変更後にアクセスしたIEではきちんと反映されていたという訳です。 Firefoxの場合はキャッシュをクリアして再起動したら、きちんと反映されるようになりました。 ※IEの場合はキャッシュ削除ではダメらしく、ツールが必要なようです。 終わり 参考URL:.htaccessによるリダイレクトをやめてもIE9のみリダイレクトされ続ける
【サーバ】URLをWWWあり、なしに統一する
ということで本日やったメモ 僕が携わったサイトではないのですが、お客さんからURLのWWWを有りに変更して欲しいという 依頼があったらしくそれを投げられたので調べた時のメモ 今回は「mod_rewrite」を使用し、wwwなし(またはあり)のURLでアクセスがあった場合は 301リダイレクトを利用し、wwwあり(またはなし)にリダイレクトするという設定にしました。 設定は、「httpd.conf」または、「.htaccess」にて行います。 WWWあり統一RewriteEngine on RewriteCond %{HTTP_HOST} ^example\.com RewriteRule ^(.*)$ http://www.example.com/$1 [R=301, L]WWWなし統一RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.example\.com RewriteRule ^(.*)$ http://example.com/$1 [R=301, L]終わり
2012/04/24
【Linux】コマンドで.htpasswdを生成したりする
ということで、htpasswdのメモ。 普段「.htpasswd」ファイルは、ファイルを作成して アップロードなり、シンクなりすると思います。 でも今日コマンドでちゃっちゃと作れると聞いたのでメモ ・「.htpasswd」の作成%htpasswd -bc .htpasswd user01 passwordこれで、カレントディレクトリに「user01」というユーザで「password」という パスワードのユーザが作成されます。 ・ユーザの追加%htpasswd -b .htpasswd user02 passwordこれで、カレントディレクトリにある「.htpasswd」に 「user02」というユーザで「password」というパスワードのユーザが追加されます。 「bオプション」は、ユーザのほかにパスワードを指定して追加します。 「cオプション」は新規にファイルを作成します。 終わり
2012/03/16
【Linux】rsyncでSubversion管理のプロジェクトをシンクする
ということで「rsync」コマンドで プロジェクトを開発環境から本番環境へ移動する際のメモです。 ファイルを開発環境から本番環境へ移動する際は下記のコマンドを使用します。rsync -avz ./target1 ./target2target1 がシンク元で target2 がシンク先になります。 オプションは -a オプション がシンク元に設定されていたパーミッションなどを保持するオプション -v オプション がシンク中のファイル名を表示するオプション -z オプション がデータを圧縮してシンクするオプション になります。 これとは別に「-n オプション」を追加することにより コマンド実行時の操作結果を表示します。 実際にシンクはされませんのでテストに使用します。 ですが、試験環境はSubversionで管理されているため、 ディレクトリごとに 「.svn」 という名前のディレクトリが 作成されます。 これは、本番環境には必要無いのでシンクする必要はありません。 ですので、下記のオプションを追加してシンク対象より弾きます。rsync -avz --exclude ".svn" ./target1 ./target2「--exclude オプション」は、シンク対象より設定されたパターン に合致するものを弾きます。 つまり上記コマンドの場合は 「.svn」 をシンクしない様になります。 終わり
2012/02/20
【Linux】Apacheに設定変更を通知する際に使用するコマンド
今日のメモです。 Apacheの起動中にphp.iniなどを変更した場合、通常Apacheを再起動し 設定を再読み込みさせます。 ですが、サーバ上でWebサービスなどが稼働中の場合できるだけサービスを 停止しないようにしないといけません。 その際に使用するコマンド/etc/rc.d/init.d/httpd graceful親プロセスが設定ファイルを読み込み直し、 子プロセスはリクエスト終了まで動作します。 つまり親プロセスが設定ファイルを読み込んでいる間に子プロセスは 処理を行い、設定ファイルの読み込みが完了している場合には 新しい設定を反映した子プロセスがリクエストを処理します。 終わり
2011/12/02
【Linux】viエディターで開いているファイルの中を検索する
ということで今回はじめてviエディターで検索できることを知ったのでメモです。/検索文字列これで検索にヒットした行までジャンプしてくれます。 便利ですね、今まで行番号とか目視で追いかけてましたorz 終わり
2011/11/18
2011/11/02
【Linux】Crontabについてまとめ
今回Crontabを設定することになったのでメモしておきます。 まず、Crontabの実行とオプションですが下記になります。crontab [ -u ユーザ名 ] { -l | -r | -e }crontabにジョブをセットする際には下記のように指定します。crontab -eこのコマンドを実行するとデフォルトで設定されている?エディターでcrontabの 設定ファイルを開きます。 引数は全部で6つあります。 形式は下記のようなものです。* * * * * 実行するファイル前から順番に分 時 日 月 曜日 実行ファイルの順になります。 さて、ここまでまとめて試験に入ろうということで試験を行いました。 いざ1分後に設定してテスト!! あれ?動かない 5分後にセットして再テスト!! 動いた、あれ? ちょっと不思議だったので調べてみると答えがありました。 crontabは設定の1分後にcrontabの設定ファイルを読みなおし、その1分後から ジョブを実行するらしいです。 ですので、ジョブを設定してテストする際は2分以上先の時間をセットする必要があるそうです。 次から気をつけましょう。 終わり
2011/10/30
【Linux】テスト時にログ監視してリアルタイムにログファイルを見る方法
ということで試験中にログファイルをいちいち確認するのではなく、 監視をしてリアルタイムにどういう値が着ているのかなどを確認できる方法です。 使うコマンドは 「tail」 というコマンドです。 このコマンドは指定されたファイルの末尾から指定した行数を表示するコマンドです。 このコマンドにはオプションで「f」というオプションがあり このオプションを指定することによりファイルが更新されるたびに新たに追加されたものを 表示します。 つまりこのコマンドを実行中はログが追加されるとそれをリアルタイムに表示してくれる ということです。tail -f ファイル名このように指定します。 また、このコマンドを終了する際には「Ctrl + C」を使用します。 終わり
2011/10/21
【Linux】稼働中のプロセスについて
本日のmemo.txt Linux上でのプロセスについて 本日業務中にサーバのプロセスが暴走してログファイルがおかしくなったので その際のメモ Googleで検索するとプロセスは 「top」 というコマンドで確認できるらしい ということで実行topあれ?ログファイルを使用中のプロセスが見つからない・・・ よく調べてみると 「top」は優先順位の高いプロセスを 画面に収まる分しか表示しないらしい・・・ oh… ということで別にまた調べてみると「ps」という コマンドがあるらしい ただこれだけ実行してもどのプロセスがなんなのかわからない ということで 「ax」 をオプションとして実行しました。ps -axこれで目的のプロセスを発見できました。 ようやくプロセスを終了できます。 プロセスの終了には 「kill」 コマンドを使用します。killこれにて無事ログファイルを復旧することが出来ました。 終わり
登録:
投稿 (Atom)