曜日感覚がちょっとおかしくなったサトです。今日は木曜日なのね…
先日、Osukiniサーバーを申し込みされた方からサポートセンターに以下のようなお問い合わせがあった様子。
FTPの設定情報がありません。
FTPで利用するには、どうしたらいいのでしょうか?
私も今までは「接続情報を自分のFTPソフトに設定するだけ」でWEBにアップロードができる環境しか使ったことがなかったので、VPSの契約後は何をどうしたらいいのかわかりませんでした。
サポートセンターの回答はこんな感じ(一部抜粋)。
Osukiniサーバーでは、サービスご提供時の設定ではFTPでのアクセスはできない状態となっております。
FTPでのアクセスを行う場合は、事前に下記の設定が必要です。設定例については、以下のサポートサイトをご参照ください。
- ファイアウォールで、必要ポートへのアクセスの許可
- FTPサーバーサービス(プログラム)の起動
【vsftpdの設定方法】
http://cs.saases.jp/20120518/1838.html
※アクセス先として、ホスト名の欄にはご利用サーバーのIPアドレスをご入力ください。
FTPで使いたい方もたくさんいるよねえ。
ということで、サポートサイトの記事(上記URL)を参考にして私もやってみよう。
ここでは下記のような使い方を想定しての設定になります。
- FTPソフトを使って「/var/www/html」ディレクトリにファイルをアップロードする
- FTPへはユーザーアカウントでログインする(設定報告書のユーザー名)
FTPサーバー(vsftpd)を設定する
今まで私が使ったことのあるファイル転送ツール(FFFTPとかFileZillaとか)はクライアント用FTPソフトで、vsftpdはサーバー用。具体的に何がどう安全なのかはわからないけど、「セキュリティを重視した設計」らしいです。
iptablesを編集する
ここで初めて!Webminを使ってみます。Airの設定報告書にWebminアクセスのURLやユーザー名、パスワードが記載されているのでそれを参照。
ログイン後のトップページ。アップグレードの案内とか出てるけど後回しで。
左側のメニューの「ネットワーク」→「Linux ファイヤウォール」をクリックします。
iptablesの設定画面が出ます。これがsshのポート番号を変更したときにターミナルから設定変更したやつですね。
「ルールを追加する」をクリック。
サポートサイトの記事通りの設定にしてみます。
- 実行するアクション: 許可
- ネットワークプロトコル: 等しい、TCP
- 宛先のTCPまたはUDPポート: 等しい、ポート 21
項目を設定したら「作成」ボタンをクリック。ルールが追加されました。
もう1度「ルールを追加する」をクリックして、次のように設定します。
- 実行するアクション: 許可
- ネットワークプロトコル: 等しい、TCP
- 宛先のTCPまたはUDPポート: 等しい、ポート範囲 60000 から 60030
vsftpd.confを編集する
ここからはいつものターミナルを起動し、viエディタでvsftpd.confを開きます。$ su Password: # vi /etc/vsftpd/vsftpd.confファイルの中身は長いので省略しますが、サポートサイトで触れていた部分について。
pasv_address=IPアドレス pasv_min_port=60000 pasv_max_port=60030ファイルの最終行に上記を追加します。
pasv_addressは「パッシブモードの接続先IPアドレス」。パッシブモードとはFTPのデータ転送モードの1つだそうです。なんとなく把握したけど、ここでは説明は省きますね。
あとサポートサイトでは触れていませんが、「anonymous_enable」はデフォルトのYESからNOに変更しておこうと思います。
# # Allow anonymous FTP? (Beware - allowed by default if you comment this out). anonymous_enable=NO #これは匿名ユーザーのアクセスを許可するかどうかの設定なので、ソフトウェアやデータを万人に配布したりする場合はYESである必要があります。そうでなければNOのほうが安全かと。
:wqで保存終了したらvsftpdを起動。
# /etc/init.d/vsftpd start Starting vsftpd for vsftpd: [ OK ]このままではサーバーが再起動がするたびに(そんなことしょっちゅう起こって欲しくないけど)vsftpdが停止してしまうので、自動的に起動するように設定。
# /sbin/chkconfig vsftpd onそれから、上記までの設定を行えばFTPソフトでログインすることはできますが、「permission denied」というエラーが出て、肝心なファイルのアップロードができませんでした。
原因はこれ↓
SaaSesサポートセンター » FTPでファイルのアップロードができない[Osukiniサーバー]
WordPressのファイルが入っている「/var/www/html」ディレクトリへの書き込み権限がなかったからです。
rootしか権限がないので、これをユーザーアカウントに変更します。
# chown ユーザー名 /var/www/html
FTPソフトで接続する
ちゃんと接続できるかどうか動作確認してみます。サポートサイトの説明はvsftpdまでで終わっていたので、ここからの設定に結構悩みました(;´Д`A
公開鍵認証の設定もしていたから更に。
記事が長くなってきてしまったので複数回に分けます!↓↓
FTPソフトでファイル転送ができるようにする!目次
SFTP接続ができるFTPソフトについて、複数回に分けて紹介します。サポートサイトではFFFTPを勧めていますが、こちらはSFTP接続に対応していないので今回はナシで。
1. FTPサーバー(vsftpd)を設定する
2. FileZillaのSFTP接続設定
3. CyberduckのSFTP接続設定
4. TransmitのSFTP接続設定
5. FetchのSFTP接続設定
SFTP接続に使う秘密鍵(id_rsa)は事前に用意しておいてください。