最近弄到个阿里云主机,装的CentOS 6.2 64位系统。拿到手后发现这玩意儿什么软件都没装,询问客服后说不给装,不得不说,国内这些服务商的服务质量是真的远不如国外的,这也算天朝特色之一吧。
于是乎就开始自己摸索着配置LAMP环境了。
首先想到的是直接去下XAMPP,结果发现这个集成环境不支持64位系统,于是只好利用yum命令自己一个个装了。
首先是SSH工具,阿里推荐用XShell,这玩意儿确实还不错,免费,有中文版。
然后是安装apache,mysql和php
//安装apache // yum命令会自动去下载rpm包并安装。小玩玩就不去下源码自己编译了,怕搞不定。 // -y 参数的意思是对所有询问的自动回答yes yum -y install httpd httpd-devel //启动apache service httpd start //安装mysql yum -y install mysql mysql-devel mysql-server mysql-libs //启动mysql service mysqld start //安装php yum -y install php
不做任何rpm源配置的话,安装的版本分别的
Apache 2.2.15
MySQL 5.1.67
PHP 5.3.3
配置Apache
1. 配置PHP相关
然后在SSH中编辑/etc/httpd/conf/httpd.conf文件,修改
DirectoryIndex index.html index.html.var
为
DirectoryIndex index.php index.html index.html.var
DocumentRoot 默认为"/var/www/html",在此路径下放一个index.php测试文件,便可以被解析执行了。
2. 随机启动
chkconfig httpd on
配置MySQL
1. 设置mysq root用户l密码
/usr/bin/mysqladmin -u root password 'fayfox';2. 添加一个新用户
//首先进入mysql mysql -u root -p Enter password: //输入密码(linux下输入密码无任何提示,不想windows下会出现*,光标也不会移动) //添加一个叫fayfox的用户,密码为karma grant all on *.* to fayfox@'%' identified by 'karma'; //all表示所有权限(包括增 删 改 查等权限) //*.* 表示所有数据库 //fayfox为添加的用户名 //%为匹配的所有主机 //karma为密码 flush privileges; //刷新系统权限表
PS:这么配置后,在php中用localhost连接数据库并不能成功,还得再加一条
grant all on *.* to fayfox@'localhost' identified by 'karma';
又PS:我很迷茫为什么直接把root的Host列改为%依旧无法远程访问,所以只好新加了个用户。
3. 随机启动
chkconfig mysqld on
配置PHP
安装PHP扩展。这个就完全是看个人需要了,最常用的几个
yum -y install php-mysql php-gd php-pdo php-mbstring123
安装FTP服务
yum -y install vsftpd //添加用户 useradd fayfox -s /sbin/nologin //启动vsftpd service vsftpd start
若连接FTP时遇到这个错误:500 OOPS: cannot change directory:/home/karma
则运行setsebool -P ftp_home_dir on即可。(没看懂这参数干嘛用的)
配置防火墙
阿里云主机的防火墙默认是关闭的,可以通过service iptables status 查看防火墙状态。
先设置一些防火墙规则。
一下只是写例子而已,这个按实际情况来设置。
首先第一条就是先把22端口打开,一旦屏蔽掉这个端口,ssh就断开了,那就完了。
//接受所有来自22端口的数据 iptables -A INPUT -p tcp --dport 22 -j ACCEPT //接受所有从22端口出去的数据 iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
然后配置默认规则(当无匹配规则时执行的规则)
//除非设置了接受,否则屏蔽所有进来的数据 //注意-P为大写 iptables -P INPUT DROP //除非设置了屏蔽,否则放行所有出去的数据 iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP
继续写规则
//开放80端口,因为我是拿来做服务器的 iptables -A INPUT -p tcp --dport 80 -j ACCEPT //开放20,21端口,FTP iptables -A INPUT -p tcp --dport 20 -j ACCEPT iptables -A INPUT -p tcp --dport 21 -j ACCEPT //开放3306端口,MySQL iptables -A INPUT -p tcp --dport 3306 -j ACCEPT //允许ping iptables -A INPUT -p icmp -j ACCEPT
一般网上都会说,开启20,21端口,ftp就能正常工作了,实际上,仅仅按照上面添加防火墙规则的话,ftp基本上会卡到超时。
解决办法:再加一条规则
iptables -A INPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
最后保存以上配置(不保存的话重启一下这些规则就没了)
/etc/rc.d/init.d/iptables save