设为首页 收藏本站
查看: 583|回复: 0

LAMP+Proftpd+数据迁移

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-8-19 11:43:10 | 显示全部楼层 |阅读模式
  
on Centos 6.5 64bit minimal
安装mysql
[iyunv@ftp ~]# yum install -y mysql mysql-server mysql-devel  --安装
[iyunv@ftp ~]# /etc/init.d/mysqld start  --启动
[iyunv@ftp ~]#/usr/bin/mysql_secure_installation   --初始化
[iyunv@ftp ~]# chkconfig --levels 235 mysqld on  --235level启动
[iyunv@ftp ~]# chkconfig --list |grep mysqld  --look look
mysqld          0:off   1:off   2:on    3:on    4:off   5:on    6:off
安装apache
[iyunv@ftp ~]# yum install -y httpd --安装
[iyunv@ftp ~]# /etc/init.d/httpd start --启动
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name... ...  --在/etc/httpd/conf/httpd.conf 加入"ServerName localhost:80"或本地域名解析
[iyunv@ftp ~]# chkconfig --levels 235 httpd on  --启动
[iyunv@ftp ~]# chkconfig --list |grep httpd --look look
httpd           0:off   1:off   2:on    3:on    4:off   5:on    6:off
[iyunv@ftp html]# pwd
/var/www/html        --这是www根目录
安装PHP
[iyunv@ftp ~]# yum install -y php  --安装
[iyunv@ftp ~]# yum install -y php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc    --mysql关联
[iyunv@ftp ~]# service httpd restart   --重启httpd服务使php生效,验证php安装是否正确http://localhost/info.php(需建立info.php文件)
[iyunv@ftp ~]# vi /var/www/html/info.php  #建立php文件内容如下
<?
phpphpinfo();
?>
安装第三方源
http://pkgs.repoforge.org/rpmforge-release/   --Ctrl+F找到Centos6的对应rpm包
[iyunv@ftp tmp]# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-1.el6.rf.x86_64.rpm   --下载它
[iyunv@ftp tmp]# wget http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt  --下载验证(可以了解下GPG)
[iyunv@ftp tmp]# rpm --import RPM-GPG-KEY.dag.txt  --导入验证文件
[iyunv@ftp tmp]# rpm -ivh rpmforge-release-0.5.2-1.el6.rf.x86_64.rpm   --安装它
安装proftpd(一定要编译安装,并安装mysql支持)
[iyunv@ftp ~]# yum install -y gcc make  --安装编译所需要的工具
[iyunv@ftp ~]# whereis mysql
mysql: /usr/bin/mysql /usr/lib64/mysql /usr/include/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz
[iyunv@ftp ~]# which mysql
/usr/bin/mysql
[iyunv@ftp home]# gunzip -c proftpd-1.3.5.tar.gz | tar xf -
[iyunv@ftp home]# cd proftpd-1.3.5
[iyunv@ftp proftpd-1.3.5]# ./configure --with-modules=mod_sql:mod_sql_mysql:mod_quotatab:mod_quotatab_sql \
> --enable-nls \
> --with-includes=/usr/include/mysql \
> --with-libraries=/usr/bin/mysql \
> --prefix=/usr/local/proftpd
[iyunv@ftp proftpd-1.3.5]# make
[iyunv@ftp proftpd-1.3.5]# make install
[iyunv@ftp ~]# vim /usr/local/proftpd/etc/proftpd.conf   --配置
  1 # This is a basic ProFTPD configuration file (rename it to
  2 # 'proftpd.conf' for actual use.  It establishes a single server
  3 # and a single anonymous login.  It assumes that you have a user/group
  4 # "nobody" and "ftp" for normal operation and anon.
  5
  6 ServerName                      "ProFTPD Default Installation"
  7 ServerType                      standalone
  8 DefaultServer                   on
  9
10 # Port 21 is the standard FTP port.
11 Port                            21
12
13 # Don't use IPv6 support by default.
14 UseIPv6                         off
15
16 # Umask 022 is a good standard umask to prevent new dirs and files
17 # from being group and world writable.
18 Umask                           002
19
20 # To prevent DoS attacks, set the maximum number of child processes
21 # to 30.  If you need to allow more than 30 concurrent connections
22 # at once, simply increase this value.  Note that this ONLY works
23 # in standalone mode, in inetd mode you should use an inetd server
24 # that allows you to limit maximum number of processes per service
25 # (such as xinetd).
26 MaxInstances                    30
27
28 # Set the user and group under which the server will run.
29 User                            nobody
30 Group                           nobody
31
32 # To cause every FTP user to be "jailed" (chrooted) into their home
33 # directory, uncomment this line.
34 DefaultRoot ~
35
36 # Normally, we want files to be overwriteable.
37 AllowOverwrite          on
38
39 # Bar use of SITE CHMOD by default
40 <Limit SITE_CHMOD>
41   DenyAll
42 </Limit>
43
44 # A basic anonymous configuration, no upload directories.  If you do not
45 # want anonymous users, simply delete this entire <Anonymous> section.
46 #<Anonymous ~ftp>
47 #  User                         ftp
48 #  Group                                ftp
49
50   # We want clients to be able to login with "anonymous" as well as "ftp"
51 #  UserAlias                    anonymous ftp
52
53   # Limit the maximum number of anonymous logins
54 #  MaxClients                   10
55
56   # We want 'welcome.msg' displayed at login, and '.message' displayed
57   # in each newly chdired directory.
58 #  DisplayLogin                 welcome.msg
59 #  DisplayChdir                 .message
60
61   # Limit WRITE everywhere in the anonymous chroot
62 #  <Limit WRITE>
63 #    DenyAll
64 #  </Limit>
65 #</Anonymous>
66
67
68 #数据库连接
69 SQLBackend mysql
70 # The passwords in MySQL are encrypted using CRYPT
71 SQLAuthTypes Plaintext Crypt
72 SQLAuthenticate users groups
73
74 # used to connect to the database
75 # databasename@host database_user user_password
76 SQLConnectInfo ftp@localhost proftpd your_password
77
78 # Here we tell ProFTPd the names of the database columns in the "usertable"
79 # we want it to interact with. Match the names with those in the db
80 SQLUserInfo ftpuser userid passwd uid gid homedir shell
81
82 # Here we tell ProFTPd the names of the database columns in the "grouptable"
83 # we want it to interact with. Again the names match with those in the db
84 SQLGroupInfo ftpgroup groupname gid members
85
86
87 # set min UID and GID - otherwise these are 999 each
88 SQLMinID 500
89
90 # create a user's home directory on demand if it doesn't exist
91 CreateHome on
92
93 # Update count every time user logs in
94 SQLLog PASS updatecount
95 SQLNamedQuery updatecount UPDATE "count=count+1, accessed=now() WHERE userid='%u'" ftpuser
96
97 # Update modified everytime user uploads or deletes a file
98 SQLLog STOR,DELE modified
99 SQLNamedQuery modified UPDATE "modified=now() WHERE userid='%u'" ftpuser
100
101 RootLogin off
102 RequireValidShell off
103 #UseEncoding UTF-8 CP936
104 #禁止删除文件,可删除空文件夹。
105 <Directory /home/ftp/*>
106 <Limit DELE >
107 DenyUser rdd1,rdd2,rdd3,amd,fd,wsd,csd,std,asd,ftp
108 </Limit>
109 </Directory>
数据库(ftp)的表结构
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| ftp                |
+--------------------+
2 rows in set (0.00 sec)
mysql> use ftp;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+---------------+
| Tables_in_ftp |
+---------------+
| ftpgroup      |
| ftpuser       |
+---------------+
2 rows in set (0.00 sec)
mysql> desc ftpgroup;
+-----------+-------------+------+-----+---------+-------+
| Field     | Type        | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| groupname | varchar(16) | NO   | MUL |         |       |
| gid       | smallint(6) | NO   |     | 5500    |       |
| members   | varchar(16) | NO   |     |         |       |
+-----------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
mysql> desc ftpuser;
+----------+------------------+------+-----+---------------------+----------------+
| Field    | Type             | Null | Key | Default             | Extra          |
+----------+------------------+------+-----+---------------------+----------------+
| id       | int(10) unsigned | NO   | PRI | NULL                | auto_increment |
| userid   | varchar(32)      | NO   | UNI |                     |                |
| passwd   | varchar(32)      | NO   |     |                     |                |
| uid      | smallint(6)      | NO   |     | 5500                |                |
| gid      | smallint(6)      | NO   |     | 2001                |                |
| homedir  | varchar(255)     | NO   |     |                     |                |
| shell    | varchar(16)      | NO   |     | /sbin/nologin       |                |
| count    | int(11)          | NO   |     | 0                   |                |
| accessed | datetime         | NO   |     | 0000-00-00 00:00:00 |                |
| modified | datetime         | NO   |     | 0000-00-00 00:00:00 |                |
+----------+------------------+------+-----+---------------------+----------------+
10 rows in set (0.00 sec)

mysql数据库的备份与恢复
[iyunv@amd240 ~]# mysqldump -u root -p --all-databases > all.sql   --备份全部数据库
Enter password:
-- Warning: Skipping the data of table mysql.event. Specify the --events option explicitly.   --提示这个是因为mysql默认是不备份事件表的。加上--events --ignore-table=mysql.events参数即可;
/usr/local/mysql/bin/mysqldump -uroot -p --events --ignore-table=mysql.events --all-databases > all.sql
[iyunv@ftp ~]# mysql -u root -p < /home/all.sql  --恢复备份数据(恢复时数据库要开启,完成后需要重启生效)
加用户和组
[iyunv@ftp ~]# groupadd -g 2001 ftpgroup
[iyunv@ftp ~]# useradd -u 2001 -s /bin/false -d /bin/null -c "proftpd user" -g ftpgroup ftpuser
[iyunv@ftp ~]# cat /etc/passwd |grep ftpuser
ftpuser:x:2001:2001:proftpd user:/bin/null:/bin/false
[iyunv@ftp ~]# cat /etc/group |grep ftpgroup
ftpgroup:x:2001:
copy原ftp目录到新服务器(注意带属性copy及目录的权限和属组信息等)
# scp -prv /home/ftp root@yourhostname_or_IPaddr:/home/
必要时,需要手动修改各目录的属组
启动proftpd
[iyunv@ftp ~]# /usr/local/proftpd/sbin/proftpd
[iyunv@ftp ~]# pgrep proftpd
10573                       --有进程号说明服务起来了
proftpd -nd6 --启动可以查看错误信息
proftpd -l   --查看当前支持的模块 如是否支持mysql
以下是扩展的知识
一般使用mysqldump来备份和恢复,常用的几种常法:
(1)导出整个数据库(包括数据库中的数据)
    mysqldump -u username -p dbname > dbname.sql   
(2)导出数据库结构(不含数据)
    mysqldump -u username -p -d dbname > dbname.sql   
(3)导出数据库中的某张数据表(包含数据)
    mysqldump -u username -p dbname tablename > tablename.sql   
(4)导出数据库中的某张数据表的表结构(不含数据)
    mysqldump -u username -p -d dbname tablename > tablename.sql
   
(5)如要对数据进行还原,可执行如下命令:
    mysql -u username -p test_db < test_db.sql



参考资料
http://blog.xuite.net/tunedgr01/knowledge/6378500-RedHat+-+Proftpd+%2B+MySQL+authentication+%2B+Quotas++

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-101098-1-1.html 上篇帖子: CentOS6.5安装LAMP环境的前期准备 下篇帖子: CentOS 7.0 安装配置LAMP服务器方法(Apache+PHP+MariaDB)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表