pure-ftpd rpmbuild rpm file

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
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,如需转载请自行联系原作者

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
69
分享
相关文章
/usr/bin/cmake: /usr/local/lib/libcurl.so.4: no version information available
/usr/bin/cmake: /usr/local/lib/libcurl.so.4: no version information available
|
7月前
|
python 升级后 yum 无法使用 File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: `/usr/libexec/urlgrabber-ext-down`
python 升级后 yum 无法使用 File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: `/usr/libexec/urlgrabber-ext-down`
89 0
|
9月前
|
ubuntu php libzip安装 ./configure报错 checking for libzip... not found configure
ubuntu php libzip安装 ./configure报错 checking for libzip... not found configure
152 1
|
9月前
|
PHP
php 使用phpize报错Cannot find config.m4. Make sure that you run ‘/usr/bin/phpize‘ in the top l
php 使用phpize报错Cannot find config.m4. Make sure that you run ‘/usr/bin/phpize‘ in the top l
388 1
|
10月前
|
yum 安装报错 File "/usr/bin/yum", line 30
yum 安装报错 File "/usr/bin/yum", line 30
195 0
[root@CentOS7 bin]# ./startup.sh -p 3333 which: no javac in (/usr/local/sbin:/usr/local/bin:/usr/sbi
[root@CentOS7 bin]# ./startup.sh -p 3333 which: no javac in (/usr/local/sbin:/usr/local/bin:/usr/sbi
/usr/bin/sed: No such file or directory
/usr/bin/sed: No such file or directory
214 0
编译问题解决:mkdir: 无法创建目录"/usr/local/share/man/man1": 文件已存在
编译问题解决:mkdir: 无法创建目录"/usr/local/share/man/man1": 文件已存在
336 0
ls -al /usr/lib | grep libevent --- 查看libevent是否已安装
ls -al /usr/lib | grep libevent --- 查看libevent是否已安装
272 0