pure-ftpd rpmbuild rpm file

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:
 
  1. Name:           pure-ftpd 
  2. Version:        1.0.36 
  3. Release:        1%{?dist} 
  4. Summary:        Pure-FTPd 
  5.  
  6. Group:          System Environment/Daemons 
  7. License:        BSD 
  8. URL:            http://www.pureftpd.org 
  9. Source0:        ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.36.tar.bz2 
  10. Source1:        http://machiel.generaal.net/files/pureftpd/ftp_v2.1.tar.gz 
  11. BuildRoot:      %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) 
  12. Vendor:         itnihao@qq.com 
  13.  
  14. BuildRequires: gcc 
  15. Requires:      shadow-utils 
  16.  
  17. %description 
  18. Pure-FTPd is a free (BSD), secure, production-quality and standard-conformant FTP server. It doesn't provide useless bells and whistles, but focuses on efficiency and ease of use. It provides simple answers to common needs, plus unique useful features for personal users as well as hosting providers. 
  19.  
  20.  
  21. %prep 
  22. %setup -q 
  23.  
  24.  
  25. %build 
  26. ./configure --prefix=/usr/local/pureftpd \ 
  27. --with-mysql \ 
  28. --with-pam \ 
  29. --with-shadow \ 
  30. --with-welcomemsg \ 
  31. --with-uploadscript \ 
  32. --with-cookie \ 
  33. --with-virtualchroot \ 
  34. --with-virtualhosts \ 
  35. --with-diraliases \ 
  36. --with-quotas \ 
  37. --with-puredb \ 
  38. --with-sysquotas \ 
  39. --with-ratios \ 
  40. --with-ftpwho \ 
  41. --with-throttling \ 
  42. --with-language=simplified-chinese  
  43. make %{?_smp_mflags} 
  44.  
  45. %install 
  46. rm -rf %{buildroot} 
  47. make install DESTDIR=%{buildroot} 
  48. %{__install} -d %{buildroot}%{_sysconfdir}/pureftpd 
  49. %{__install} -d %{_datadir} 
  50. %{__install} -d %{buildroot}%{_initrddir} 
  51. #%{__install} -d %{buildroot}%{_sbindir} 
  52. %{__install} -d %{buildroot}%{_mandir}/man8/ 
  53. %{__install} -m 755 configuration-file/pure-config.pl %{buildroot}/usr/local/pureftpd/sbin/pure-config.pl 
  54. %{__install} -m 755 configuration-file/pure-ftpd.conf %{buildroot}%{_sysconfdir}/default.pure-ftpd.conf 
  55. %{__install} -m 755 configuration-file/pure-ftpd.conf %{buildroot}%{_sysconfdir}/pure-ftpd.conf 
  56. %{__install} -m 755 pureftpd-mysql.conf %{buildroot}%{_sysconfdir}/default.pureftpd-mysql.conf 
  57. cat >> %{buildroot}%{_sysconfdir}/pureftpd/pureftpd-mysql.conf << EOF 
  58. MYSQLSocket     /var/lib/mysql/mysql.sock 
  59. MYSQLServer     127.0.0.1 
  60. MYSQLPort       3306 
  61. MYSQLUser       pureftpuser 
  62. MYSQLPassword   pureftpuser 
  63. MYSQLDatabase   pureftp 
  64. MYSQLCrypt      md5 
  65. MYSQLGetPW      SELECT Password FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R") 
  66. MYSQLGetUID     SELECT Uid FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R") 
  67. MYSQLGetGID     SELECT Gid FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R") 
  68. MYSQLGetDir     SELECT Dir FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R") 
  69. MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R") 
  70. MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R") 
  71. EOF 
  72.  
  73. %{__install} -m 755 contrib/redhat.init %{buildroot}%{_initrddir}/pureftpd 
  74. sed -i\ 
  75.     -e  "s|usr/local|usr/local/pureftpd|g" \ 
  76.     -e  "s|etc/pure-ftpd.conf|etc/pureftpd/pure-ftpd.conf|g" \ 
  77. %{buildroot}%{_initrddir}/pureftpd 
  78. sed -i \ 
  79.     -e "s|NoAnonymous                 no|NoAnonymous                 yes|g" \ 
  80.     -e "s|# MySQLConfigFile               /etc/pureftpd-mysql.conf|MySQLConfigFile               /etc/pureftpd/pureftpd-mysql.conf|g" \ 
  81.     -e "s|# Bind                      127.0.0.1,21| Bind                      127.0.0.1,21|g" \ 
  82.     -e "s|AllowUserFXP                no|AllowUserFXP                yes|g" \ 
  83.     -e "s|AnonymousCantUpload         no|AnonymousCantUpload         yes|g" \ 
  84.     -e "s|#CreateHomeDir               yes|CreateHomeDir               yes|g" \ 
  85.     %{buildroot}%{_sysconfdir}/pure-ftpd.conf 
  86.  
  87.  
  88. #cp conf/pureftpd-mysql.conf %{buildroot}%{_sysconfdir}/pureftpd 
  89. #cp conf/pure-ftpd.conf %{buildroot}%{_sysconfdir}/pureftpd 
  90. install -m 0644 -p man/pure-authd.8          $RPM_BUILD_ROOT%{_mandir}/man8/pure-authd.8 
  91. install -m 0644 -p man/pure-ftpd.8           $RPM_BUILD_ROOT%{_mandir}/man8/pure-ftpd.8 
  92. install -m 0644 -p man/pure-ftpwho.8         $RPM_BUILD_ROOT%{_mandir}/man8/pure-ftpwho.8 
  93. install -m 0644 -p man/pure-mrtginfo.8       $RPM_BUILD_ROOT%{_mandir}/man8/pure-mrtginfo.8 
  94. install -m 0644 -p man/pure-pw.8             $RPM_BUILD_ROOT%{_mandir}/man8/pure-pw.8 
  95. install -m 0644 -p man/pure-pwconvert.8      $RPM_BUILD_ROOT%{_mandir}/man8/pure-pwconvert.8 
  96. install -m 0644 -p man/pure-quotacheck.8     $RPM_BUILD_ROOT%{_mandir}/man8/pure-quotacheck.8 
  97. install -m 0644 -p man/pure-statsdecode.8    $RPM_BUILD_ROOT%{_mandir}/man8/pure-statsdecode.8 
  98. install -m 0644 -p man/pure-uploadscript.8   $RPM_BUILD_ROOT%{_mandir}/man8/pure-uploadscript.8 
  99.  
  100. %{__tar} xf %{SOURCE1} -C $RPM_BUILD_ROOT/%{_datadir} 
  101. %clean 
  102. rm -rf %{buildroot} 
  103.  
  104.  
  105. %files 
  106. %defattr(-,root,root,-) 
  107. %doc 
  108. /usr/local/pureftpd/bin/pure-pw 
  109. /usr/local/pureftpd/bin/pure-pwconvert 
  110. /usr/local/pureftpd/bin/pure-statsdecode 
  111.  
  112. /usr/local/pureftpd/sbin/pure-authd 
  113. /usr/local/pureftpd/sbin/pure-config.pl 
  114. /usr/local/pureftpd/sbin/pure-ftpd 
  115. /usr/local/pureftpd/sbin/pure-ftpwho 
  116. /usr/local/pureftpd/sbin/pure-mrtginfo 
  117. /usr/local/pureftpd/sbin/pure-quotacheck 
  118. /usr/local/pureftpd/sbin/pure-uploadscript 
  119. %{_initrddir}/pureftpd 
  120. %{_sysconfdir}/pureftpd/* 
  121. %{_mandir}/man8/pure* 
  122. %{_datadir}/ftp 
  123. %post 
  124. getent group pureftpuser >/dev/null || groupadd -r  pureftpuser 
  125. getent passwd pureftpuser >/dev/null || useradd -r -g pureftpuser -s   /sbin/nologin  -c "pureftp user" pureftpuser 
  126. sed -i \ 
  127.     -e "s|DBLogin = "ftp";|DBLogin = "pureftpuser";|g"  \ 
  128.     -e "s|DBPassword = "tmppasswd";|DBPassword = "pureftpuser";|g"   \ 
  129.     -e "s|FTPAddress = "myipaddress.com:21";|FTPAddress = "127.0.0.1:21";|g" \ 
  130.     -e "s|DBDatabase = "ftpusers"|DBDatabase = "pureftp"|g" \ 
  131.     -e "s|DEFUserID = "65534"|DEFUserID = "$ftpuid"|g" \ 
  132.     -e "s|DEFGroupID = "31"|DEFGroupID = "$ftpgid"|g" /usr/share/ftp/config.php 
  133. /sbin/chkconfig pureftpd on 
  134. cat <<EOF 
  135. create pureftp database like this: 
  136. ==================================================================================== 
  137. mysql>create database pureftp; 
  138. mysql>grant all on pureftp.* to pureftpuser@'127.0.0.1' identified by 'pureftpuser'; 
  139. mysql>grant privileges; 
  140. ==================================================================================== 
  141. if you want to use pdb to store password : 
  142. you should change /etc/pureftpd/pure-ftpd.conf 
  143. sed -i  "s|MySQLConfigFile               /etc/pureftpd-mysql.conf|# MySQLConfigFile               /etc/pureftpd/pureftpd-mysql.conf|g"  /etc/pureftpd/pure-ftpd.conf 
  144. sed -i  "s|# PureDB                        /etc/pureftpd.pdb|PureDB                        /etc/pureftpd/pureftpd.pdb|g" /etc/pureftpd/pure-ftpd.conf 
  145. #adduser 
  146. /usr/local/pureftpd/bin/pure-pw useradd virtualftp -f /usr/local/pureftpd/etc/pureftpd.passwd -u 500 -g 500 -d /ftproot 
  147. #make it into effect 
  148. /usr/local/pureftpd/bin/pure-pw mkdb /usr/local/pureftpd/etc/pureftpd.pdb -f /usr/local/pureftpd/etc/pureftpd.passwd 
  149. #modify user password 
  150. /usr/local/pureftpd/bin/pure-pw passwd virtualftp -f /usr/local/pureftpd/etc/pureftpd.passwd -m 
  151. EOF 
  152. %changelog 

 


本文转自it你好 51CTO博客,原文链接:http://blog.51cto.com/itnihao/1148570,如需转载请自行联系原作者

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
6月前
|
XML JSON Linux
Reqable:跨平台HTTP开发与调试工具
Reqable是一款功能强大且易于使用的跨平台HTTP开发与调试工具,具有多平台支持、全面的HTTP请求构建与解析、请求历史记录和环境管理等功能。它简化了HTTP请求的构建、发送和响应分析过程,为开发者提供了极大的便利。通过Reqable,开发者可以更高效地进行HTTP开发和调试,提高工作效率和代码质量。
510 26
|
6月前
|
存储 人工智能 数据可视化
ModelScope魔搭25年3月发布月报
在这个春天里,小鲸鱼的DeepSeek-R1系列在模型社区掀起的巨大浪潮尚未平息,我们又迎来了千问的QwQ-32B正式版本,社区在Reasoning模型上的热情还在升温。除此之外,业界其他模型在过去一
174 1
|
机器学习/深度学习 人工智能 安全
探索操作系统的未来:智能化与安全性的双轮驱动
在数字化时代的浪潮中,操作系统作为计算机系统的核心,其发展趋势备受关注。本文深入探讨了未来操作系统发展的两大主轴——智能化与安全性,分析了这两者如何相互影响并共同塑造操作系统的进化路径。文章首先概述了智能化操作系统的概念及其对用户体验的潜在改变,接着详细讨论了安全性在未来操作系统设计中的重要性,并提出了相应的策略和措施。最后,通过案例分析,展示了智能化和安全性如何在实际操作系统中得以实现和优化,为读者提供了对操作系统未来发展的深刻洞察。
145 29
|
12月前
|
数据采集
豆瓣图书TOP250爬取
豆瓣图书TOP250爬取
206 0
|
11月前
|
IDE API 开发工具
沉浸式集成阿里云 OpenAPI|Alibaba Cloud API Toolkit for VS Code
Alibaba Cloud API Toolkit for VSCode 是集成了 OpenAPI 开发者门户多项功能的 VSCode 插件,开发者可以通过这个插件方便地查找API文档、进行API调试、插入SDK代码,并配置基础环境设置。我们的目标是缩短开发者在门户和IDE之间的频繁切换,实现API信息和开发流程的无缝结合,让开发者的工作变得更加高效和紧密。
沉浸式集成阿里云 OpenAPI|Alibaba Cloud API Toolkit for VS Code
|
机器学习/深度学习 索引 Python
。这不仅可以减少过拟合的风险,还可以提高模型的准确性、降低计算成本,并帮助理解数据背后的真正含义。`sklearn.feature_selection`模块提供了多种特征选择方法,其中`SelectKBest`是一个元变换器,可以与任何评分函数一起使用来选择数据集中K个最好的特征。
。这不仅可以减少过拟合的风险,还可以提高模型的准确性、降低计算成本,并帮助理解数据背后的真正含义。`sklearn.feature_selection`模块提供了多种特征选择方法,其中`SelectKBest`是一个元变换器,可以与任何评分函数一起使用来选择数据集中K个最好的特征。
|
机器学习/深度学习 人工智能 监控
如何利用AI实现银行存量客户的营销?
金融行业是当今大数据、人工智能应用最广、最深的领域之一。随着数据仓库和数据科学的发展,以银行为代表的金融行业企业拥有了海量数据,应运而生了金融领域的大数据分析、智能营销等大数据和人工智能的应用。其中针对存量客户的智能营销成为银行业的一项重要策略。
|
数据挖掘 API 开发者
​Email API有哪些,最好的3个API接口有哪些
Email API如SendGrid、Mailgun和AOKSend是企业自动化邮件通信的关键工具。它们提供邮件发送、接收和管理功能,提升效率,优化客户体验。SendGrid以其高可靠性、强大分析和易于集成备受青睐;Mailgun以灵活性和高发送率著称;而AOKSend则以其高效、详细分析和易用性脱颖而出。通过使用这些API,企业能实现定制化邮件服务,跟踪性能,提升邮件营销效果。
|
前端开发 JavaScript
炫酷的流动爱心最近很火 来吧 代码已奉上
炫酷的流动爱心最近很火 来吧 代码已奉上
591 2
|
存储 Java API
阿里云oss简介和使用流程
本文档介绍了如何准备阿里云OSS(对象存储服务)并开始使用它。首先,需要注册阿里云账号并进行实名认证,然后购买OSS资源包。在阿里云控制台中,可以创建和管理OSS存储空间(称为“Bucket”)。接着,文章简要介绍了阿里云OSS,它是一个基于云端的对象存储服务,提供高可靠性、高性能、低成本和易于使用的特性。 在阿里云OSS控制台,用户可以进行文件的上传和下载操作。通过API,开发者可以使用各种编程语言(如Java)来创建、删除Bucket以及上传、下载和删除文件。例如,Java代码示例展示了如何创建Bucket、上传文件、删除文件以及下载文件到本地的操作。