pure-ftpd rpmbuild rpm file

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS MySQL,高可用系列 2核4GB
简介:
 
  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;
相关文章
|
数据采集
豆瓣图书TOP250爬取
豆瓣图书TOP250爬取
305 0
|
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
|
前端开发 算法 JavaScript
React项目input输入框输入自动失去焦点
本文讨论了在React项目中如何处理input输入框自动失去焦点的问题,特别是在移动端开发中。文章提供了一个使用React Native的TouchableWithoutFeedback组件来监听点击事件,并在事件处理函数中通过调用Keyboard.dismiss()方法使输入框失去焦点的示例代码。这种方法可以确保在用户点击页面其他区域时,键盘能够收起,输入框失去焦点。
471 1
React项目input输入框输入自动失去焦点
|
机器学习/深度学习 索引 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,企业能实现定制化邮件服务,跟踪性能,提升邮件营销效果。
|
机器学习/深度学习 自然语言处理 人机交互
|
存储 Java API
阿里云oss简介和使用流程
本文档介绍了如何准备阿里云OSS(对象存储服务)并开始使用它。首先,需要注册阿里云账号并进行实名认证,然后购买OSS资源包。在阿里云控制台中,可以创建和管理OSS存储空间(称为“Bucket”)。接着,文章简要介绍了阿里云OSS,它是一个基于云端的对象存储服务,提供高可靠性、高性能、低成本和易于使用的特性。 在阿里云OSS控制台,用户可以进行文件的上传和下载操作。通过API,开发者可以使用各种编程语言(如Java)来创建、删除Bucket以及上传、下载和删除文件。例如,Java代码示例展示了如何创建Bucket、上传文件、删除文件以及下载文件到本地的操作。
|
Web App开发 JSON JavaScript
JSON转换方法总结
将JavaScript的jQuery库中表单转化为JSON对象的方法 Jquery中有serialize方法,可以将表单序列化为一个“&”连接的字符串,但却没有提供序列化为Json的方法。不过,我们可以写一个插件实现
6791 0
|
数据采集 机器学习/深度学习
GRACE重力卫星缺失值插补及深度学习重构数据(三)-- 三次样条插值
三次样条插值通过使用三次多项式对每个小区间进行拟合,再通过选取适当的边界条件对插值函数的一阶和二阶导数进行约束,从而使得插值函数在插值节点处的一阶和二阶导数与原函数相等。三次样条插值方法得到的插值函数较为平滑,逼近精度较高,可以避免插值多项式过度拟合和震荡的问题。
518 0