在CentOS上集成FTP服务器与Web服务器可以通过多种方式实现,以下是几种常见的方法:
sudo yum install vsftpd
/etc/vsftpd.conf
文件,启用SSL:ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
sudo systemctl restart vsftpd
from ftplib import FTP_TLS
ftps = FTP_TLS('ftp.example.com')
ftps.login('username', 'password')
ftps.prot_p() # 切换到安全数据连接
ftps.cwd('/path/to/directory')
ftps.storbinary('STOR filename.txt', open('local_filename.txt', 'rb'))
ftps.quit()
sudo yum install httpd
sudo a2enmod dav
sudo a2enmod dav_fs
配置WebDAV目录:
编辑 /etc/apache2/sites-available/000-default.conf
文件,添加以下内容:
<Directory /var/www/html/webdav>
Dav on
AuthType Basic
AuthName "WebDAV"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Directory>
sudo mkdir /var/www/html/webdav
sudo chown -R www-data:www-data /var/www/html/webdav
sudo htpasswd -c /etc/apache2/.htpasswd username
sudo systemctl restart apache2
以上方法可以根据具体需求和环境选择使用。如果需要高度的安全性和灵活性,FTPS和WebDAV可能是更好的选择。如果需要简单的文件同步,第三方集成工具可能更合适。