GNU/Linux >> Linux の 問題 >  >> Cent OS

Centos8にMysqlを使用してPureFTPdをインストールおよび構成する

Pure FTPdは、オープンソースで安全なFTPサーバーです。これは、セキュリティ、使いやすさ、データベースへの接続機能で広く使用されているFTPサーバーの1つです。

この記事では、CentOS8にFTPdをインストールして構成します。

CentOS 8のEPELリポジトリを取得します:

dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

次のコマンドを使用してFTPdをインストールします。

dnf install pure-ftpd

次に、FTPdサーバーのユーザーとグループを作成します。

nano /etc/pure-ftpd/pure-ftpd.conf

次の変更を行います:

   ChrootEveryone              yes
   MaxClientsNumber            50
   MaxClientsPerIP             2
   VerboseLog                  yes
   AnonymousOnly               no
   NoAnonymous                 yes
   MaxIdleTime                 15
   MySQLConfigFile             /etc/pure-ftpd/pureftpd-mysql.conf
   PAMAuthentication    	no
   UnixAuthentication     	no

次に、pure-ftpdmysql構成ファイルを編集します。

nano /etc/pure-ftpd/pureftpd-mysql.conf

次の行のコメントを解除します:

# Optional : MySQL server name or IP. Don't define this for unix sockets.

 MYSQLServer     127.0.0.1


# Optional : MySQL port. Don't define this if a local unix socket is used.

 MYSQLPort       3306

次の値を更新します:

MYSQLUser       pureftpd
MYSQLPassword   password
MYSQLDatabase   pureftpd
MYSQLCrypt      md5

ファイアウォールを介したftpサービスを許可します。

firewall-cmd --permanent --zone=public --add-service=ftp
firewall-cmd --reload

純粋なFTPdサービスを有効にして開始します。

systemctl enable pure-ftpd.service
systemctl start pure-ftpd.service
systemctl status pure-ftpd.service

インストール後、mariaDB用に構成します。

次のコマンドを使用してMariaDBをインストールします。

dnf install @mariadb

MariaDBサービスを開始して有効にします。

systemctl enable --now mariadb
systemctl status mariadb

ルートパスワードが設定されていないため、MariaDBおよびその他のセキュリティチェックにルートパスワードを設定します。次のコマンドを使用します。

mysql_secure_installation

MariaDBのrootパスワードを設定するように求めるプロンプトが表示されます。これを行うと、スクリプトは匿名ユーザーを削除し、rootユーザーのアクセスを制限し、テストデータベースを削除するように要求します。すべてのオプションに「Y」(はい)と答える必要があります。

次に、mariaDBにログインして、データベース、テーブル、ユーザーを作成し、それに応じて情報を保存します。

mysql -u root -p

次に、次のコマンドを入力します。

CREATE DATABASE pureftpd;
GRANT ALL ON pureftpd.* to 'pureftpd'@'localhost' IDENTIFIED BY '_password_';
FLUSH PRIVILEGES;
use pureftpd;
CREATE TABLE `users` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `User` varchar(32) NOT NULL DEFAULT '',
  `Password` varchar(64) NOT NULL DEFAULT '',
  `Uid` int(3) NOT NULL DEFAULT '500',
  `Gid` int(3) NOT NULL DEFAULT '500',
  `Dir` varchar(255) NOT NULL DEFAULT '',
  `QuotaSize` int(4) NOT NULL DEFAULT '50',
  `Status` enum('0','1') NOT NULL DEFAULT '1',
  `ULBandwidth` int(2) NOT NULL DEFAULT '100',
  `DLBandwidth` int(2) NOT NULL DEFAULT '100',
  `Date` date NOT NULL DEFAULT '0000-00-00',
  `LastModif` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY (`ID`),
  UNIQUE KEY `User` (`User`),
  KEY `Uid` (`Uid`),
  KEY `Gid` (`Gid`),
  KEY `Dir` (`Dir`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

quit;

pure-ftpdのセットアップが完了しました。次に、最初のftpアカウントを作成してセットアップをテストする必要があります。セットアップをテストするには、最初にLinuxシステムでユーザーを作成する必要があります。その後、そのユーザーのUIDとGIDを使用して仮想ftpアカウントを作成します。

useradd ftp1
passwd ftp1

次のコマンドを実行して、このアカウントのUIDとGIDを取得します。

cat /etc/passwd | grep ftp1

上記のコマンドの出力によると、このユーザーのUIDとGIDは1000です。

次に、mariaDBにログインして、アカウントを作成します。

mysql -u root -p

次のコマンドを実行します:

use pureftpd;
INSERT INTO `users` (`User`, `Password`, `Uid`, `Gid`, `Dir`, `QuotaSize`,
`Status`, `ULBandwidth`, `DLBandwidth`, `Date`, `LastModif`)
VALUES ('ftpuser1', md5('_password_'), '1000', '1000', '/home/ftp1',
'20', 2, '10', '10', now(), '');
quit

これで、ftpアカウントにログインできます。

これで、FTPを使用してファイルとディレクトリを作成できます。純粋なFTPdを使用してtestという名前のディレクトリを作成します。

これで、必要に応じてPureFTPdを使用できます。


Cent OS
  1. CentOS7にNginxをインストールして構成する方法

  2. CentOS7にRedisをインストールして設定する方法

  3. CentOS7にGitLabをインストールして構成する方法

  1. CentOS7でApacheを使用してNextcloudをインストールおよび構成する方法

  2. CentOS7にZabbixをインストールして設定する方法

  3. CentOS7にRedmineをインストールして設定する方法

  1. CentOS8にRedisをインストールして設定する方法

  2. CentOS8にSambaをインストールして設定する方法

  3. CentOS8でPHP7.4を使用してOpenLiteSpeedをインストールおよび構成する方法