勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

OpenLiteSpeedにvsftpdを導入しFTPクライアントソフトから接続する方法

  OpenLiteSpeed サーバー

先日Almalinux8系に1-Click InstallでOpenLiteSpeed / MySQL / PHP8.2をインストールした環境にvsftpd(Very Secure FTP Daemon)をインストールしFTPクライアントソフトからファイルのアップロード・ダウンロードを行いたい。以下に対応方法をメモ。

 

環境について

VPSに関して

今回はKAGOYA CLOUD VPSのCPU1コア / メモリ1GBプランで作業した。SSH接続は公式案内の通り以下でログインできる。

  • 接続ポート -> 22
  • ユーザ名 -> root
  • パスワード or 秘密鍵 -> インスタンス作成時に選択したもの

AlmaLinuxについて

バージョン8.9になる。

 

(必要に応じて)スワップ領域の作成

必須では無いが必要に応じてスワップ領域を作成する。尚、当方の環境でスワップ領域を作成せずにvsftpdをインストールしようとすると「Out of memory allocating xxxxx bytes!」のエラーが発生しインストールできなかった(タイミングの問題かも?)。以下の通りスワップ領域を作成する。

#swap設定
dd if=/dev/zero of=/swapfile bs=1M count=1024
mkswap /swapfile
 
#設定ファイルを開く
vi /etc/fstab
 
#再起動時にswap領域が認識されるよう以下を追記
/swapfile               swap                   swap    defaults        0 0
 
#再起動
reboot
 
#認識されているか確認
top

 

(必要に応じて)selinuxの停止

WebARENA IndigoのVPSだとデフォルトでselinuxが有効になっていた。今回使用したKAGOYA CLOUD VPSだと無効になっている。そのため必要に応じて以下でselinuxを停止させる。

#selinuxの状態を確認
getenforce

#以下が表示されていると有効状態
Enforcing

#設定ファイルを書き換え
vi /etc/selinux/config

#変更前
SELINUX=enforcing

#変更後
SELINUX=disabled

#再起動
reboot

 

vsftpdインストール及び設定

#FTPサーバのインストール
yum -y install vsftpd

#設定ファイルを開く
vi /etc/vsftpd/vsftpd.conf

設定ファイルの変更内容は以下の通り。

#以下を追記もしくはコメントアウトを外す
chroot_local_user=YES
chroot_list_enable=YES
allow_writeable_chroot=YES

#コメントアウトを外す
chroot_list_file=/etc/vsftpd/chroot_list
ls_recurse_enable=YES 

#以下を追記し:wqで上書き保存
local_root=public_html
use_localtime=YES
local_root=/var/www/html
force_dot_files=YES

上書き保存後は以下の通り進める。

#ユーザー作成(ユーザー名は適宜変更)
useradd lsws_user

#パスワードを設定(ユーザー名は適宜変更)
passwd lsws_user
 
#ユーザーのグループを変更
usermod -g nobody lsws_user

#パーミッション設定
chmod 775 /usr/local/lsws

#上層へのcdを許可するユーザーを設定する
vi /etc/vsftpd/chroot_list 

#ファイルが開くのでユーザー名を追記して:wqで上書き保存(ユーザー名は適宜変更)
lsws_user

#FTPサーバの起動
systemctl start vsftpd

#ステータス確認
systemctl status vsftpd

#自動起動設定
systemctl enable vsftpd

#自動起動確認
systemctl list-unit-files -t service | grep vsftpd

#(必要に応じて)ポート開放とファイアウォール再起動
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload

この時点でFFFTP等のクライアントソフトで接続できる筈。尚、正常に接続できない場合は以下の点を確認すること。

  1. selinuxが停止しているか
  2. ポートが解放されているか

 

所感

OpenLiteSpeed / MySQL / PHPがインストールされHTTPS接続もでき、FTPでのファイル操作ができる状態まで環境構築できれば実運用でも使っていけそう。

 - OpenLiteSpeed サーバー

  関連記事

OpenLiteSpeedで任意のディレクトリに対してBasic認証をかける方法

OpenLiteSpeedで任意のディレクトリ以下へのアクセスに対してBasic ...

第4のWebサーバLiteSpeed(有料版)とOpenLightSpeed(無料版)について

あるサイトをWappalyzerで調査していた際にWebサーバがApacheやN ...

OpenLiteSpeedにSSL証明書(Let's Encrypt)を導入しHTTPS接続する方法

昨日Almalinux8系に1-Click InstallでOpenLiteSp ...

OpenLiteSpeedにて同一サーバ内で複数のドメインを運用する方法(バーチャルホスト設定)

OpenLiteSpeedにて同一サーバ内にて別ドメインやサブドメイン等、複数の ...

AlmaLinux8系に1-Click InstallでOpenLiteSpeedをインストールする方法

以前AlmaLinux8にOpenLiteSpeedをインストールする記事を書い ...