【備忘録】FTPサーバーをAWSで立てる
今回の目的
AWSでサーバーを作成し、HTMLファイルとかFTPで置けるようにしたい。
本来であれば、ftpuserというFTPを実施する専用のユーザーを作成して、きちんと権限与えてFTPを行うものだが、今回はそれが面倒でまた個人開発用としてFTPを使いたいだけなので、rootユーザーでできるように設定する。
EC2でポートのルールを設定する。
セキュリティグループで以下のポートを追加する。
※2つ追加する理由は、
「ポート21」はFTP通信でFTPサーバーに繋ぐ用のポートで、
「ポート60001-60010」はファイルを置く時に使用するポート。
分けている理由は、多くのファイルを置く時に重たくなるため、負荷を分散しているそうです。
「sudo su」で root ユーザーになっておく
sudo su
vsftpをインストールする
sudo su
※AWSにインストールするのであれば、ec2-userでログインしておく。
「サーバーという箱にApacheを入れるとWEBサーバーになる」と同じ考え方で、
「サーバーという箱にvsftpを入れるとFTPサーバーになる」というイメージです。
yum install vsftpd
vsftpd.confのバックアップをとっておく
編集する前に、オリジナルのものをコピーして別名で保存し残しておきましょう。
※.orgはオリジナルの略称で、「このファイルはオリジナルのものですよ」と表すために付けています。
※cpコマンドの「-a」は元ファイルの属性とディレクトリの構成を保持してコピーするために使うオプション。
cd /etc/vsftpd/
cp -a vsftpd.conf vsftpd.conf.org
vsftpd.confを編集する
以下のコマンドで編集画面に入る。
※「i」を入力するとINSERTモードになり、編集できる。
※「o」を入力するとINSERTモードになり、且つ改行してくれる。(これ結構使うらしい。)
※Shift + G で一番したの行に移動できる。
vi vsftpd.conf
以下の内容をvsftpd.confの一番下に追記する。
pasv_address=XX.XXX.XXX.XXX <!-- AWSのグローバルアドレスを入力 -->
pasv_enable=YES
pasv_addr_resolve=YES
pasv_min_port=60001 <!--60001~60010の中からランダムでこのPort番号を利用するという意味-->
pasv_max_port=60010
escキーでINSERTモードから戻れて、「:wq + enter」で保存する。
vsftpを再起動する
基本的に、configファイルを編集すると、再起動する。
編集したconfigファイルを読み込んでもらうため。
service vsftpd restart
「ftpuser」と「user_list」ファイルを編集する
vsftpd配下に「ftpuser」と「user_list」があるので編集する。
コマンドはそれぞれ
vi ftpusers
vi user_list
「root」と記載されている箇所があるので「#」でコメントアウトする。
root → #root
■管理ファイル「user_list」について
/etc/vsftpd/user_list の挙動は、userlist_deny の値によって変わります。
userlist_deny=YES もしくは記述が無い場合には、user_list は接続禁止リストとして機能します。つまり、「このリストに記述されているユーザーは FTP 接続ができない」ということになります。
→今回はrootユーザーでFTPを使いたいので、「root」をリストからコメントアウトする。
■管理ファイル「ftpusers」について
/etc/vsftpd/ftpusersもあります。
こちらはとにかくアクセスを禁止するためのリスト。
user_listよりも優先順位が高いので、user_listで許可されているユーザーであっても、このリストにユーザー名を書かれてしまうとアクセスできなくなります。
rootユーザーにパスワードを設定しておく
rootにパスワードが設定されていない場合、FTPでアクセスした時に拒否されるので、設定する。
passwd root
もしFTPユーザーを作成し、アクセスしたい場合
以下のコマンドでFTPでアクセスする専用のユーザー「ftpuser」を作成し、パスワードを設定する。
useradd ftpuser
passwd ftpuser
もしWebサーバーの「/var/www/html」にアクセスしたい場合、フォルダの所有者がApacheになっていると思われるので、Apacheユーザーと同じ所有者グループをftpuserに設定してあげないと、「/var/www/html」にアクセスできない。
Filezilaで確認する
ファイルがアップロードできれば完了!!
Author And Source
この問題について(【備忘録】FTPサーバーをAWSで立てる), 我々は、より多くの情報をここで見つけました https://qiita.com/moonbass630/items/5776f5e37c0de077dd35著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .