在CentOS上搭建LAMP+vsftpd环境的简单指南
VPS可以看成是一台只有你一个人使用的服务器(事实上它是一个虚拟机),你可以在上面安装任何软件,拥有最大的权限。正所谓权限越大,责任越大,你需要自行安装Web服务器,数据库,PHP,还有其它一些维护工作都要自行处理。
现在大多数VPS提供的操作系统都是Linux,而且是没有图形界面的的,只提SSH命令行接口,所以需要会一些简单的Linux命令行。Linux又有众多的发行版,最好的发行版可能是Redhat,但它是商业软件,不能免费使用,不过好在它还有一个社区版本CentOS,完全采用Redhat的源代码,去掉Redhat的LOGO,替换成自己的,另外去掉一些闭源软件,所以系统功能、性能及稳定性几乎等同于Redhat,就选它了。
安装Linux
对于Linux的安装而言,你可以选择你所熟悉的发行版如Ubuntu、Debian、Fedora等,服务商会以最小化安装方式默认装好,我选择的版本是CentOS6.3,考虑到VPS内存较小,安装的是32位版本。
安装好以后以以root用户登陆上去,并且让系统进行一些必要的更新。Linux和Mac都自带了Terminal,如果是Windows,建议使用PuTTY来进行SSH连接。
#以root用户登陆服务器 sshroot@198.xxx.xxx.xxx ... #系统更新 yumupdate ...
安装Apache
Apache是一款Linux平台上老牌的免费开源Web服务器,据说全世界超过一半的网站都是跑在Apache上的。要安装Apache,在命令行下输入以下命令:
yuminstallhttpd
默认安装的Apache可能不是最新版,但确是在此Linux版本上经过测试的最稳定版本,如果你一定需要安装最新版,则需从Apache官网上去下载最新版。
安装好后,执行以下命令启动Apache服务:
servicehttpdstart
默认的网页存放目录位于/var/www/html/,然后在浏览器中访问http://198.xxx.xxx.xxx,如果可以出现Apache的一个测试页面,那么说明Apache已安装成功。
安装MySQL
MySQL是一款非常流行的数据库软件,最初由瑞典MySQLAB公司所开发,后被Sun公司收购,目前为Oracle公司旗下产品,安装MySQL的命令如下:
yuminstallmysql-server
启动MySQL服务:
servicemysqldstart
然后需要为MySQL的root用户设置一个密码,可输入一下命令:
/usr/bin/mysql_secure_installation
执行以上命令的话,MySQL会要求你提供现在root用户的密码,因为我们刚刚装好,所以密码是空的,直接回车,然后设置新的root用户密码。
紧接着还会有一些安全选项要你选择Y还是N。例如,是否移除匿名登陆,是否阻止root用户从远程登陆,如果选择y,那么root只能以localhost方式登陆,另外还有是否移除test数据库、立即刷新权限表等,大概情况如下:
[root@CentOS6~]#/usr/bin/mysql_secure_installation
NOTE:RUNNINGALLPARTSOFTHISSCRIPTISRECOMMENDEDFORALLMySQL SERVERSINPRODUCTIONUSE!PLEASEREADEACHSTEPCAREFULLY! InordertologintoMySQLtosecureit,we'llneedthecurrent passwordfortherootuser.Ifyou'vejustinstalledMySQL,and youhaven'tsettherootpasswordyet,thepasswordwillbeblank, soyoushouldjustpressenterhere. Entercurrentpasswordforroot(enterfornone): OK,successfullyusedpassword,movingon... SettingtherootpasswordensuresthatnobodycanlogintotheMySQL rootuserwithouttheproperauthorisation. Setrootpassword?[Y/n]y Newpassword: Re-enternewpassword: Passwordupdatedsuccessfully! Reloadingprivilegetables.. ...Success! Bydefault,aMySQLinstallationhasananonymoususer,allowinganyone tologintoMySQLwithouthavingtohaveauseraccountcreatedfor them.Thisisintendedonlyfortesting,andtomaketheinstallation goabitsmoother.Youshouldremovethembeforemovingintoa productionenvironment. Removeanonymoususers?[Y/n]y ...Success! Normally,rootshouldonlybeallowedtoconnectfrom'localhost'.This ensuresthatsomeonecannotguessattherootpasswordfromthenetwork. Disallowrootloginremotely?[Y/n]y ...Success! Bydefault,MySQLcomeswithadatabasenamed'test'thatanyonecan access.Thisisalsointendedonlyfortesting,andshouldberemoved beforemovingintoaproductionenvironment. Removetestdatabaseandaccesstoit?[Y/n]y -Droppingtestdatabase... ...Success! -Removingprivilegesontestdatabase... ...Success! Reloadingtheprivilegetableswillensurethatallchangesmadesofar willtakeeffectimmediately. Reloadprivilegetablesnow?[Y/n]y ...Success! Cleaningup... Alldone!Ifyou'vecompletedalloftheabovesteps,yourMySQL installationshouldnowbesecure. ThanksforusingMySQL!
安装PHP
PHP是一个被广泛使用的开源动态脚本语言,要安装PHP,并使其与MySQL协同工作,需执行以下命令:
yuminstallphpphp-mysql
此时需要测试PHP是否能正常工作,可以建一个测试页。
#切换到Apache默认网页目录 cd/var/www/html #创建一个php脚本文件 touchphpinfo.php #向文件写入一小段php脚本,测试用 echo'<?phpphpinfo();?>'>phpinfo.php#因为刚刚安装了PHP,所以别忘了重启一下Apache,否则PHP不能正常工作
servicehttpdrestart
然后浏览器中访问http://198.xxx.xxx.xxx/phpinfo.php>http://198.xxx.xxx.xxx/phpinfo.php<\/a>,看PHP是否已经正常工作。
如果该页面能正常显示服务器相关环境信息,说明LAMP环境已经可以正常工作了。
安装vsftpd
要安全地上传文件到服务器,或者从服务器上下载文件,最简便的方式是用FTP,这里我们选择Linux下非常流行的“VerySecureFTPD”,即非常安全的FTP:
yuminstallvsftpd
安装好后,还要进行一些简单的配置:
#编辑vsftpd配置文件 vi/etc/vsftpd/vsftpd.conf ... #不允许匿名登陆 anonymous_enable=NO #本地账户可以登陆 local_enable=YES #可以写入 write_enable=YES #所有用户只能访问其home目录 chroot_local_user=YES ... #重启vsftpd以上设置才能生效 servicevsftpdrestart
如何以FTP协议访问服务器呢,这里推荐FileZilla这个FTP客户端工具,有Windows版本、Linux版本以及MacOS版本。
登陆vsftpd一般用Linux用户区登陆,但是不允许用root用户登陆,所以,需要另外新建一个Linux用户:
#添加用户lichao adduserlichao #为lichao设置密码 passwdlichao #如果出于安全考虑,这个用户你只想它能登陆vsftpd, #而不能以ssh方式登陆服务器,可以禁止其ssh登陆 usermod-s/sbin/nologinlichao
至此,就可以用任何FTP工具如FileZilla,以lichao这个用户及对应的密码来来登陆vsftpd了,默认的目录是/home/lichao
设置Apache、MySQL和vsftpd服务开机启动
设置它们开机启动的命令如下:
chkconfighttpdon chkconfigmysqldon chkconfigvsftpdon
PHP会随Apache一起启动。
至此,一个基本完整的动态网页服务器、数据库服务器、FTP服务器安装完成。