広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog

2015年03月27日

FTPで特定のファイルがダウンロードできない

今回は恥ずかしい内容です。
以前にここでFTPサーバーの設定を書きました。

そのサーバーから特定のファイルがダウンロードできないという現象が発生。
以下、エラー内容
550 Failed to open file.
CentOS のデフォルト設定で SELinux の ftpd_full_access が off になっていると
「550 Failed to open file.」エラーが表示されると記載されている方がいましたが、
こちらはSELinuxを無効にしているので違う。

エラーになるファイルサイズは10Mあるのでサイズが関係しているのかなぁと
思いつつディレクトリ見直し。

-rw-r--r-- 1 user1 user1 39891 12月 11 12:05 2014 fileA
-rw-r--r-- 1 user1 user1 234 12月 11 12:05 2014 fileB
-rw------- 1 root root 10877560 1月 2 16:57 2015 fileC
-rw-r--r-- 1 user1 user1 2 12月 11 12:05 2014 fileD


えっ? 所有者とグループがroot… そしてFTPで接続しているユーザーはuser1… orz

所有者をuser1に変更したらダウンロードができましたという
おバカなお話でした。

【このカテゴリーの最新記事】

2015年03月25日

windows server 2008 R2 でDNSサーバー設定

DNSサーバーの設定の備忘録です。

DNSサーバーのインストールに関しては こちら
設定に関してはここを参考にしました。

特に難しいことはなく設定はできますが、 サーバーからもクライアントからもping、nslookup等のコマンドでうまくいかない。 orz

色々ぐぐってもピンポイントな答えは見つからず。

悩んでいたらふとあることに気付いた。
プロトコルの設定でDNSサーバーの設定をしていないのでは?

まずサーバー自身のTCP/IPv4の設定を確認。
デフォルトゲートウェイと同じアドレスが優先DNSに設定されていた。

これを自身に設定するために"127.0.0.1"を設定。
(クライアントPCの場合はサーバーのIPアドレスを設定)

DNSでホストレコードの設定をしたホスト名にping…
おぉ通った!

でも、DNSでは単一のホスト設定しかしてないからひょっとして他サイトのページは見ることができないのでは?
と思ってたら普通に見れました。

何故?(°д°)ハァ?

理由はルートヒントというものがあり、これが解決してくれているみたいです。
以下、文言抜粋
”ルートヒントは、ローカルDNSサーバー上に存在しないゾーンに対するクエリを解決します。
ルートヒントは、フォワダーが構成されていないか、応答しない場合にのみしようされます。”


なるほど、ではフォワダーって何?
以下、文言抜粋
”フォワダーとは、このサーバーで解決できないレコードに対するDNSクエリを解決するために
使用されるDNSサーバーのことです。”

ふむふむ、ではフォワダーにルータのアドレスを設定したら
いいのでは?と思って設定。

<解決できません> orz…

いままで優先DNS設定で指定していたアドレスなのに (! ̄д ̄)えぇぇぇ ?
んーよくわからないけど、「フォワーダーが利用できない場合にルートヒントを使用する」
にチェックが入っているし、問題なくnslookupもできるので一旦OKとして・・ おきます。
(;・∀・)ダ、ダイジョウブ…?

DNS設定についてはもっと勉強してみたいと思いました。

実践DNS DNSSEC時代のDNSの設定と運用 (アスキー書籍)

2015年03月24日

jqGrid オブジェクトデータ取得

jqGridでカラムに格納したオブジェクトデータの取得がうまくいかなかったのでメモします。

datatypeがlocalで 'objdata'カラムにオブジェクトデータを格納した場合、

var coldata = $('#list1').jqGrid('getCell', id , 'objdata');

でオブジェクトデータも取得できると思ってました。

実際は[object object]となって肝心の中身が取得でず、オブジェクトデータは無理なのかなーと
思って色々試した結果、"getLocalRow"でオブジェクトデータが取得できました。

var coldata = $('#list1').jqGrid('getLocalRow', id);
consle.log(coldata.objdata);

ただ、wikiにあるように
datatypeがlocalだから取得できたと思いますが、サーバーから取得した場合は"getCell"でいけるのかな?
試していないのでわかりませんが、分かり次第追記しようと思います。

Instant jqGrid

posted by こりー at 13:34| Comment(0) | TrackBack(0) | jqGrid

2015年02月06日

cakephp2.x系 fieldsに別名をつける

cakephpでcase when などを使って別名を付けたいときがあったので
その方法を書き留めてときます。

たとえばモデル名が"Test"だった場合は
        $options = array(
                       'fields' => array(
                                       '(CASE WHEN hoge = 0 THEN 'A'  ELSE 'B' END) AS "Test__hogehoge"',

                                   ),
                       'order' => array('hogehoge asc')
                   );

SQL出力結果は以下の通り

'SELECT "Test"."id" AS "Test__id",
  '(CASE WHEN hoge = '0' THEN 'A'  ELSE 'B' END) AS hogehoge
FROM "public"."tests" AS "Test"  ORDER BY "hogehoge" asc'


ポイントは別名をダブルコーテーションで括る。
括らない場合はTestではなくtestとなり、Testの配列には入らない。

以下、それぞれのfindの戻り値

ダブルコーテーションで括った場合
array(
    [0] => array(
               ['Test'] => array(
                               ['id'] => 1
                               ['hogehoge'] => 'A'

                           )
           )
)

ダブルコーテーションで括らなかった場合
array(
    [0] => array(
               ['Test'] => array(
                               ['id'] => 1
                               ['hogehoge'] => 'A'

                           )
               ['test'] => array(
                               ['hogehoge'] => 'A'
                           )
		  )
)

以上です。

はじめてのCakePHP―日本でも人気!無料で使えるPHP用フレームワーク (I・O BOOKS)

新品価格
¥2,484から
(2015/2/6 08:21時点)

posted by こりー at 07:27| Comment(0) | TrackBack(0) | cakephp

2015年01月08日

redmineのメール設定

redmineのメール運用はできていたのですが、メールサーバーを変更したので 再設定が必要となり、単純にできると思ったら引っかかったので載せておきます。

前回設定して、問題なく運用できていたconfiguration.yml

-------------------------------------------------------------------------------------
production:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      address: "mail.example.com"   # メールサーバー
      port: 587  # 送信ポート
      authentication: :cram_md5 
      domain: "redmine.example.com"  # ドメイン
      user_name: "hoge@example.com"  # mail アカウント
      password: "hogehoge"  # mail パスワード
-------------------------------------------------------------------------------------


今回メールサーバー変更で単純に
addressとdomain、user_name、passwordだけと思っていたけどダメでした。

最初のredmineのメール送信テストエラーが
"redmine hostname does not match the server certificate"
原因はサーバーの証明書からみで、starttlsをfalseにすればOKらしいのですが見当たらない。

ということで以下を追加
"enable_starttls_auto: false"

apacheを再起動し、再メール送信テストをすると次は以下のエラー
"authentication failed: Invalid authentication"

以前は認証方法が「暗号化されたパスワード認証」だったので
cram_md5でOKだったけど、今回は「通常のパスワード認証」に変わったので
loginに変更。

再々メール送信テストで確認したところ
正常に送信できました。

補足: 
それでも認証に失敗のエラーが出た場合はuser_name:にユーザーアカウントだけ入力すればできるかも。

Redmine超入門 (日経BPムック)

新品価格
¥1,944から
(2015/1/8 16:49時点)

posted by こりー at 16:14| Comment(0) | TrackBack(0) | redmine

2014年11月17日

少数点の正規表現

今回は小数点の正規表現を書き留めます。
あまり詳しくないので色々ググりながら調べたものです。

整数3桁、少数第2までの正規表現は
'/^\d{1,3}(\.\d{1,2})?$/'
これでいけました。

細かい正規表現の説明は他のサイトを参考してください。

別パターンとして整数2桁、少数第3までの場合は
'/^\d{1,2}(\.\d{1,3})?$/'とすればOK
{}の中の桁を変えるだけです。

詳説 正規表現 第3版

新品価格
¥5,184から
(2014/11/18 00:00時点)

posted by こりー at 23:46| Comment(0) | TrackBack(0) | その他

2014年11月04日

文字エンコーディング

cakephpである画面を作成していたのですが、どうも画面上部が空いている感じがして ソース表示したところの前に空白?があった。

そんな空白はどこを見ても見当たらないので
firefoxのアドインfirebugを使ってみたら、"&#65279;"という表記が・・

何なんでしょうか?これは?

早速、ググってみました。
ここを参考にしてみました。

「UTF-8でBOMを付けて保存するな」ということらしいです。
BOMについてはこちら

しかし、変わらず・・・。 UTF8でBOMなしで保存したはずなんだけど。

因みに私が使っているエディタはxyzzyなのですが
名前を付けて保存する際にUnicode(UTF-8)を指定していてました。

これが原因なのですが、なぜなら他のエンコーディングの種類に”xxx-BOM”が表示されているので
表示されていないのはBOMなしだと勝手に思ってました orz。

UTF8でBOMなしエンコーディングはUnicode(UTF-8N)です。

UTF-8とUTF-8Nの詳細はこちらを参考にしました。

posted by こりー at 20:44| Comment(0) | TrackBack(0) | cakephp

2014年10月27日

ログインしたユーザーリスト

Linuxは全然詳しくないのでコマンドを色々調べていたら
「last」,「lastb」ってコマンドを最近知りました。

調べてみると
last => ログイン履歴を表示する
lastb => ユーザのログイン失敗履歴を表示する
とのこと。

では、早速
# last

するとずらーっと今までのログイン履歴が表示された。
へぇーと思いながら次の
# lastb

( ̄△ ̄;)エッ・・?

すんごいたくさんログでましたけど・・・
andy ssh:notty xxx.xxx.xxx.xxx Mon Oct 20 07:39 - 07:39 (00:00)
1秒間に30行のログの嵐。

ユーザーにandy、jack、paulとか
いませんからーーーー。

sshのポートを22にしているのがやはりだめなのでしょうね。

しかし、ここ2,3日はログがないのでひょっとして大丈夫?とか思って
ポートを変更してませんが、
次に大量アクセスが来たら間髪いれずにポート番号変えますとも。

Linuxコマンドブック ビギナーズ 第3版

新品価格
¥2,052から
(2014/10/27 23:24時点)

posted by こりー at 23:02| Comment(0) | TrackBack(0) | Linux

2014年10月22日

cakephpでパスを取得する

cakephpのサイトルートパスなどを取得できることを知りましたので書きとめます。

// viewに記述する場合は以下の通りです
Router::url();              // 現在のパス
Router::url('/');           // サイトルートパス
Router::url(null,false));   // 絶対パス
Router::url(null,true));    // URLパス

Router::url('/controller/action/', true);  // こんなかんじ=> http://xxxxxx/controller/action
Router::url('/controller/action/', false); // こんなかんじ => /controller/action/

// コントローラー、モデルに記述する場合はHtmlヘルパーのurlメソッドを使用します
// それ以外は上記の設定と変わりません
$this->Html->url('/controller/action/', true);


Webアプリ開発を加速する CakePHP2定番レシピ119

新品価格
¥2,592から
(2014/10/22 00:11時点)

posted by こりー at 00:00| Comment(0) | TrackBack(0) | cakephp

2014年10月15日

さくらVPSでFTPサーバー導入

vsftpdのインストール


まずインストール済みかを確認します。

# rpm -qa vsftpd

何も出力されなければインストールされていないのでインストールを行います。

yumからインストール

# sudo yum -y install vsftpd


自動起動するように設定

# chkconfig vsftpd on



vsftpd.confの設定


次にvsftpdの設定を行います。
場所は /etc/vsftpd/vsftpd.conf
vsftpd.conf内を検索して以下の設定がなければ追加し、既にあれば編集を行います。

#匿名アクセスを禁止にする

anonymous_enable=NO


#ファイルのパーミッショングループを書きこみ可能にする

local_umask=002


#アスキーモードを有効にする

ascii_upload_enable=YES

ascii_download_enable=YES


#バナー表示 (なくてもよい)

ftpd_banner=Welcome to blah FTP service.


#ユーザホームディレクトリより上位のディレクトリへの移動をさせない

chroot_local_user=YES


#ユーザホームディレクトリより上位のディレクトリへの参照可能なユーザー設定

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list


#サブフォルダを含む一括アップロード/ダウンロードを可能にする

#ls_recurse_enable=YES


#/etc/vsftpd/user_listのユーザーだけを許可する

userlist_deny=NO


#タイムスタンプ時間をローカル時間にする

use_localtime=YES


#ユーザーの初期アクセスディレクトリ (未設定でユーザーのホームディレクトリ)
#下記の場合は/home/ユーザー名/public_htmlがルートディレクトリ
#ディレクトリがない場合は接続に失敗する

local_root=public_html


#.ファイルをアップ可能にする

force_dot_files=YES


設定後はvsftpd.confを保存します。

FTPユーザーの追加


場所は /etc/vsftpd/user_list
user1とuser2を追加し、保存すると
user1とuser2がftp接続可能となります。

上位ディレクトリ移動可能なユーザーの追加


chroot_listのファイルを作成します。

# echo > /etc/vsftpd/chroot_list


ここにホームディレクトリより上位のディレクトリへ移動できるユーザーを追記します。
user1を追加し、保存すると
user1だけがホームディレクトリより上位へ移動できます。

※注意
上記はvsftpd.confの設定で
chroot_local_user=YESの場合です。

chroot_local_userの記述がなかったりNOの場合はになります。

chroot_listに記述したユーザーが上位にアクセスできなくなり、
記述していないユーザーは上位へアクセスできます。

ログインを拒否するユーザーは以下のファイルに追記します。
場所は /etc/vsftpd/ftpusers
user2を追加し、保存すると
user2はftp接続ができなくなります。

vsftpdを起動


vsftpdを起動します。 既に起動済みの場合はrestart

# service vsftpd start


fptポートの開放


ftpのポートを許可します。

# iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT

# service iptables save

# service iptables restart


ftp接続で確認


ffftpなどのツールで接続で確認できればOKです。

参考サイト さくらVPSにFTPサーバー(vsftpd)を1時間で導入

クラウドVPS入門 運用・構築から高度な利用まで (静岡学術出版理工学ブックス)

新品価格
¥1,296から
(2014/10/15 19:21時点)

検索
<< 2015年03月 >>
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
最新記事
ファン
最新コメント
カテゴリアーカイブ
プロフィール
こりーさんの画像
こりー
個人事業主として活動しています。 以前はC,C++をメインに制御系に携わっていましたが、 現在はWEBの方へシフトし、日々勉強してます。
ブログの内容はあくまで個人の備忘録なので、 間違っている内容もあるかもしれません。 (´(・)`)クマッタ・・
ブログ
プロフィール
×

この広告は30日以上新しい記事の更新がないブログに表示されております。