CentOS 6.7下安装vsftpd FTP服务器经验

最近Wordpress从虚拟主机迁移到了VPS上,原来虚拟主机服务商有提供FTP,现在VPS需要自己安装一个FTP服务器来支持Wordpress的插件和主题升级。vsftpd是Linux下比较著名的FTP服务器,我选择它搭建FTP服务器。

 

第一步:安装vsftpd

查看你的服务器是否已经安装vsftpd

rpm -qa | grep vsftpd

如果已经安装就略过下一步yum安装。如果没有安装过就执行以下命令:

yum -y install vsftpd

 

第二步:基于虚拟用户的配置

所谓虚拟用户就是没有使用真实的帐户,只是通过映射到真实帐户和设置权限的目的。虚拟用户不能登录CentOS系统。

1. 修改配置文件

打开/etc/vsftpd/vsftpd.conf,修改该文件原来的配置,如下(这里需要一个一个项目在编辑器里查找并修改,注意YES或NO等配置项后面不要在复制过程中多出不必要的空格):

#设定不允许匿名访问
anonymous_enable=NO

#设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问
local_enable=YES

#使用户不能离开主目录
chroot_list_enable=YES

ascii_upload_enable=YES

#设定支持ASCII模式的上传和下载功能
ascii_download_enable=YES

#PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证
pam_service_name=vsftpd

以下这些是关于vsftpd虚拟用户支持的重要配置项,默认vsftpd.conf中不包含这些设定项目,需要自己手动添加到/etc/vsftpd/vsftpd.conf中:

#设定启用虚拟用户功能
guest_enable=YES

#指定虚拟用户的宿主用户,CentOS中已经有内置的ftp用户了
guest_username=ftp

#设定虚拟用户个人vsftp的CentOS FTP服务文件存放路径。存放虚拟用户个性的CentOS FTP服务文件(配置文件名=虚拟用户名
user_config_dir=/etc/vsftpd/vuser_conf

 

2. 进行认证

首先,安装Berkeley DB工具,很多人找不到db_load的问题就是没有安装这个包。

yum install db4 db4-utils

然后,创建用户密码文本/etc/vsftpd/vuser_passwd.txt ,注意奇行是用户名,偶行是密码:

wordpress
123456

接着,生成虚拟用户认证的db文件:

db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db

随后,编辑认证文件/etc/pam.d/vsftpd,全部注释掉原来语句,再增加以下两句:

auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd

最后,创建虚拟用户配置文件:

mkdir /etc/vsftpd/vuser_conf/
vi /etc/vsftpd/vuser_conf/wordpress  //文件名等于vuser_passwd.txt里面的账户名,否则下面设置无效

内容如下(这里需要注意YES或NO等配置项后面不要在复制过程中多出不必要的空格):

local_root=/home/wwwroot
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

 

3. 设置Selinux(可省略)

setsebool -P ftp_home_dir=1   //设置ftp可以使用home目录
setsebool -P allow_ftpd_full_access=1   //设置ftp用户可以有所有权限

 

4. 设置FTP根目录权限

mkdir /home/wwwroot   //创建目录,如果目录已存在请省略
chmod a-w /home
chmod -R 777 /home/wwwroot

最新的vsftpd要求对主目录不能有写的权限所以/home为a-w,主目录下面的子目录再设置777权限。

 

5. 设置防火墙

打开/etc/sysconfig/iptables,添加一句:

-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT

然后保存,并关闭该文件,在终端内运行下面的命令,刷新防火墙配置:

service iptables restart

启动FTP服务器:

service vsftpd start

 

6. 连接FTP服务器

现在你就可以使用FTP工具连接服务器了,建议使用FileZilla工具连接,连接的过程中如果出现报错,你只需要去搜索报错的内容调整服务器的配置就好了。

 

参考文章:http://www.cnblogs.com/xiongpq/p/3384759.html

CentOS下编译安装LAMP环境(Tony大作)

引子

CentOS下编译安装LAMP环境是博主Tony一段难忘的时光,谨以此文献给奋战在潜龙班的新人们。

 

说明

首先要感谢《完美应用红帽企业版Linux》一书,博主在参阅了此书之后,经过二十几次的严格实验和修改写下此文,希望广大网友尊重作者的劳动,转载请注明出处。

 

LAMP介绍

Linux+Apache+Mysql+PHP一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。

 

准备源码包

curl-7.15.0.tar.gz

freetype-2.4.2.tar.gz

gd-2.0.35.tar.gz

httpd-2.2.16.tar.gz

jpegsrc.v8b.tar.gz

libiconv-1.13.tar.gz

libmcrypt-2.5.8.tar.gz

libpng-1.2.44.tar.gz

libxml2-2.6.30.tar.gz

mysql-5.1.60.tar.gz

php-5.3.10.tar.gz

phpMyAdmin-3.4.10.1-all-languages.tar.gz

zlib-1.2.5.tar.gz

一共有12个软件源码包,大家只要去百度一下这个包的名字,都有下载资源。如果不想下载,而且时间不急,可以发电子邮件给我,索要这一些包,我会发送给你们的。下载完这些源代码包之后,全部存放在系统(http://www.tonitech.com/?p=280 这篇文章讲述如何在虚拟机中安装CentOS)的/usr/local/src/目录下备用(用Filezilla将源码包上传到虚拟机的这个目录下)。

 

安装编译环境

在命令行中输入如下指令:

yum install gcc gcc-c++ gcc-g77 flex autoconfig automake bison zlib-devel bzip2-devel ncurses-devel libtool libtool-ltdl openssl openssl-devel pam-devel libtermcap-devel curl-devel libxml2-devel libevent libevent-devel gettext-devel

 

LAMP编译和安装

 

安装iconv库

具体操作如下:

1.进入准备的源码包所在的目录/usr/local/src/下:

cd /usr/local/src/

2.解压libiconv-1.13.tar.gz文件到默认目录libiconv-1.13下:

tar zxvf libiconv-1.13.tar.gz

3.然后进入libiconv-1.13目录:

cd libiconv-1.13

4.配置、编译和安装libiconv库

./configure –prefix=/usr && make && make install

 

安装libxml2库

具体操作如下:

1.进入准备的源码包所在的目录/usr/local/src/下:

cd /usr/local/src/

2.解压libxml2-2.6.30.tar.gz文件到默认目录libxml2-2.6.30下:

tar zxvf libxml2-2.6.30.tar.gz

3.然后进入libxml2-2.6.30目录:

cd libxml2-2.6.30

4.配置、编译和安装libxml库:

./configure –prefix=/usr && make && make install

 

安装curl库文件

具体操作如下:

1.进入准备的源码包所在的目录/usr/local/src/下:

cd /usr/local/src/

2.解压curl-7.15.0.tar.gz文件到默认目录curl-7.15.0下:

tar zxvf curl-7.15.0.tar.gz

3.然后进入curl-7.15.0目录:

cd curl-7.15.0

4.配置、编译和安装curl库:

./configure –prefix=/usr && make && make install

 

安装libmcrypt库

具体操作如下:

1.进入准备的源码包所在的目录/usr/local/src/下:

cd /usr/local/src/

2.解压libmcrypt-2.5.8.tar.gz文件到默认目录libmcrypt-2.5.8下:

tar zxvf libmcrypt-2.5.8.tar.gz

3.然后进入libmcrypt-2.5.8目录:

cd libmcrypt-2.5.8

4.配置、编译和安装libmcrypt库:

./configure –prefix=/usr && make && make install

 

安装zlib库文件

具体操作如下:

1.进入准备的源码包所在的目录/usr/local/src/下:

cd /usr/local/src/

2.解压zlib-1.2.5.tar.gz文件到默认目录zlib-1.2.5下:

tar zxvf zlib-1.2.5.tar.gz

3.然后进入zlib-1.2.5目录:

cd zlib-1.2.5

4.配置、编译和安装zlib库:

./configure –prefix=/usr && make && make install

 

安装libpng库文件

具体操作如下:

1.进入准备的源码包所在的目录/usr/local/src/下:

cd /usr/local/src/

2.解压libpng-1.2.44.tar.gz文件到默认目录libpng-1.2.44下:

tar zxvf libpng-1.2.44.tar.gz

3.然后进入libpng-1.2.44目录:

cd libpng-1.2.44

4.配置、编译和安装libpng库:

./configure –prefix=/usr && make && make install

 

安装JPEG库

具体操作如下:

1.进入准备的源码包所在的目录/usr/local/src/下:

cd /usr/local/src/

2.解压jpegsrc.v8b.tar.gz文件到默认目录jpeg-8b下:

tar zxvf jpegsrc.v8b.tar.gz

3.然后进入jpeg-8b目录:

cd jpeg-8b

4.配置jpeg库:

./configure –prefix=/usr –enable-shared –enable-static

5.编译和安装jpeg库:

make && make install

 

安装freetype库文件

具体操作如下:

1.进入准备的源码包所在的目录/usr/local/src/下:

cd /usr/local/src/

2.解压freetype-2.4.2.tar.gz文件到默认目录freetype-2.4.2下:

tar zxvf freetype-2.4.2.tar.gz

3.然后进入freetype-2.4.2目录

cd freetype-2.4.2

4.配置、编译和安装freetype库

./configure –prefix=/usr && make && make install

 

安装GD库文件

具体操作如下:

1.进入准备的源码包所在的目录/usr/local/src/下:

cd /usr/local/src/

2.解压gd-2.0.35.tar.gz文件到默认目录gd-2.0.35下:

tar zxvf gd-2.0.35.tar.gz

3.然后进入gd-2.0.35目录:

cd gd-2.0.35

4.配置gd库:

./configure –prefix=/usr/local/gd2/ –with-jpeg –with-png –with-freetype

5.编译和安装gd库:

make && make install

 

安装Apache服务器

具体操作如下:

1.进入准备的源码包所在的目录/usr/local/src/下:

cd /usr/local/src/

2.解压httpd-2.2.16.tar.gz文件到默认目录httpd-2.2.16下:

tar zxvf httpd-2.2.16.tar.gz

3.然后进入httpd-2.2.16目录:

cd httpd-2.2.16

4.配置Apache:

./configure \
--prefix=/usr/local/apache2 \
--sysconfdir=/etc/httpd \
--with-z \
--with-included-apr \
--disable-userdir \
--enable-so \
--enable-deflate=shared \
--enable-expires=shared \
--enable-rewrite=shared \
--enable-static-support

5.编译和安装Apache:

make && make install

6.安装成功后,检查所有安装的文件,进入/usr/local/apache2/目录下:

cd /usr/local/apache2/

输入:

ls

确认是否有以下目录:

7.启动Apache服务器:

/usr/local/apache2/bin/apachectl start

8.查看80端口是否开启:

netstat -tnl|grep 80

确认是否显示如下:

9.最后在命令行中输入:

curl localhost

如果出现如下内容,说明Apache已经工作了:

 

安装MySQL数据库管理系统

具体操作如下:

1.首先要位mysqld增加一个登陆用户和用户组,用户名和组名都为“mysql”。指令如下:

groupadd mysql

useradd -g mysql mysql

2.进入准备的源码包所在的目录/usr/local/src/下:

cd /usr/local/src/

3.解压mysql-5.1.60.tar.gz文件到默认目录mysql-5.1.60下:

tar zxvf mysql-5.1.60.tar.gz

4.然后进入mysql-5.1.60目录:

cd mysql-5.1.60

5.配置mysql:

./configure \
--prefix=/usr/local/mysql \
--with-extra-charsets=all \
--with-client-ldflags=-all-static \
--with-mysqld-ldflags=-all-static \
--with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock

6.编译和安装mysql:

make && make install

7.创建MySQL数据库服务器的配置文件:

cp support-files/my-medium.cnf /etc/my.cnf

8.进入mysql的安装目录:

cd /usr/local/mysql

9.初始化MySQL数据库授权表:

bin/mysql_install_db –user=mysql

10.将程序二进制的所有权改为root用户,数据目录的所有权改为运行mysqld程序的mysql用户:

chown -R root .

chown -R mysql var

chgrp -R mysql .

11.使用service脚本管理MySQL服务并启动MySQL:

cp share/mysql/mysql.server /etc/init.d/mysql

cp share/mysql/mysql.server /etc/init.d/mysqld

chmod 755 /etc/init.d/mysqld

chkconfig –add mysqld

chkconfig mysqld on

service mysqld start

12.查看3306端口是否开启:

netstat -anptu|grep :3306

确认是否显示如下:

13.设置MySQL管理员密码(我设置的是123456):

bin/mysqladmin -u root -p password ‘123456’

14.清空命令历史,防止密码泄露:

history -c

 

安装PHP

1.进入准备的源码包所在的目录/usr/local/src/下:

cd /usr/local/src/

2.解压php-5.3.10.tar.gz文件到默认目录php-5.3.10下:

tar zxvf php-5.3.10.tar.gz

3.然后进入php-5.3.10目录:

cd php-5.3.10

4.配置PHP:

./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-libxml-dir --with-curl \
--with-png-dir \
--with-jpeg-dir \
--with-freetype-dir \
--with-gd=/usr/local/gd2 \
--with-zlib-dir \
--with-mcrypt \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--enable-soap \
--enable-mbstring \
--enable-sockets

5.更新动态链接库缓存:

ldconfig

6.编译和安装PHP:

make && make install

7.建立PHP配置文件:

cp php.ini-development /usr/local/php/etc/php.ini

8.编辑apache配置文件:

vim /etc/httpd/httpd.conf

在编辑器中:

AddType application/x-compress .Z

AddType application/x-gzip .gz .tgz  //在这一行下面添加

AddType application/x-httpd-php .php .phtml  //添加这一条

DirectoryIndex index.php  //添加php格式首页

9.修改完成之后重新启动Apache服务器:

/usr/local/apache2/bin/apachectl stop

/usr/local/apache2/bin/apachectl start

10.在/usr/local/apache2/htdocs目录下建一个test.php文件:

vi test.php

在编辑器中:

<?php

phpinfo();

?>

11.在浏览器中输入localhost/test.php,看看是否有下面的页面:

安装phpMyAdmin

1.进入准备的源码包所在的目录/usr/local/src/下:

cd /usr/local/src/

2.解压phpMyAdmin-3.4.10.1-all-languages.tar.gz文件:

tar zxvf phpMyAdmin-3.4.10.1-all-languages.tar.gz

3.复制目录到/usr/local/apache2/htdocs/下的phpmyadmin目录中,可以再浏览器中输入localhost/phpmyadmin,输入MySQL的用户名和密码即可访问:

cp -a phpMyAdmin-3.4.10.1-all-languages /usr/local/apache2/htdocs/ phpmyadmin

 

让Apache和MySQL随系统启动

1.编辑rc.local启动脚本:

vim /etc/rc.d/rc.local

在编辑器中添加:/usr/local/apache2/bin/apachectl start

虚拟机下安装CentOS(Tony原创)

CentOS简介

CentOS(Community ENTerprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS并不包含封闭源代码软件。

CentOS下载

下载CentOS 6.2,地址:

http://mirrors.163.com/centos/6.2/isos/i386/CentOS-6.2-i386-bin-DVD1.iso

http://mirrors.163.com/centos/6.2/isos/i386/CentOS-6.2-i386-bin-DVD2.iso

这个DVD2可以不用下载

虚拟机下载安装

大家可以去百度下载vmware workstation 8虚拟机,或者使用virtualbox虚拟机,前者有400多MB,后者只有80MB,都可以使用。这两个下载完成之后都是傻瓜式安装,很简单。

CentOS安装

本人使用vmware虚拟机,File->New Virtual Machine

 

开出来一个窗口,一直Next到下面这个界面停下。

 

选择Linux,在下面的菜单中选择CentOS,因为i386是32位的意思,所以不要选择64位的“CentOS 64-bit”。然后点击Next,下面是设置虚拟机的名字和路径的界面,你依照自己的情况设置。

 

 

下一步是配置处理器的个数,一个就够了,Linux的效率比较高。

 

接下来是设置内存的大小,建议设置512MB以上,视自己电脑内存情况而定。

 

接下来的部分都可以Next下去,知道Finish结束了。完成之后可以看到这样的一个界面:

点击CD/DVD这个地方

 

点击之后会出现以下的界面,在Use ISO image file中选择装载刚刚下载的CentOS镜像文件,点击OK:

 

接下来点击Power on this virtual machine:

 

启动之后会出现这个安装界面,选择第一个敲回车:

 

接下来是是否对安装镜像进行测试,直接跳过,选skip:

接下来就是配置CentOS的一些东西,语言键盘选择、设置密码等等,随个人偏好即可。选择安装(分区)方式,手动设置挂载分区,不要选Create Custom Layout这样要自定义分区,建议选Replace Existing Linux System 替换现有的最快最简单。

最后选择安装的类型,本人选择桌面系统,有GUI界面的,这是最大化安装,如果想使用命令行也是可以的,用Ctrl+Alt+F几切换就行了。

 

点击Next等待安装结束,点击Reboot,重新启动系统,设置一下用户和时间,输入用户名和密码就进入了CentOS了。

 

 

 

 

需要上网只需点击右上角的小电脑,选择System eth0就能够上网了。系统安装算是大功告成。

 

Tonitech版权所有 | 转载请注明出处: http://www.tonitech.com/?p=280