阿里云服务器CentOS 5.7(64位)安装配置LAMP服务器(Apache+PHP5+MySQL)


 


 


 


一、快速安装Apache+PHP5+MySql


-----------------------------------------------------


补充:由于163的yum源上只有php5.1.6 mysql 5.0.95 版本较低,请直接看最后面的《八、卸载php5.1,mysql5.0 重新安装php5.4,mysql5.5》


 


安装163的yum源(参看我的别一篇文章)


 


ssh登录上服务器,先更新:


[root@AY1207241 /]# yum update


 


然后安装LAMP环境:(163的yum源上只有php5.1.6 mysql 5.0.95 版本较低)


[root@AY1207241 /]# yum -y install httpd php mysql mysql-server php-mysql httpd-manual mod_ssl mod_perl mod_auth_mysql php-mcrypt php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc mysql-connector-odbc mysql-devel libdbi-dbd-mysql


 


启动apache和mysql:


[root@AY1207241 /]# service httpd start   (重启是restart)


[root@AY1207241 /]# service mysqld start    (重启是restart)


 


设置为开机启动


chkconfig httpd on   #Apache设为开机启动


chkconfig mysqld on   #mysql设为开机启动


 


/etc/init.d/httpd start  #启动Apache


/etc/init.d/httpd restart  #重启Apache


 


---------


备注:Apache启动之后会提示错误:正在启动 httpd:httpd: Could not reliably determine the server's fully qualif domain name, using ::1 for ServerName      


解决办法:


vi /etc/httpd/conf/httpd.conf   #编辑


找到  #ServerName www.example.com:80


修改为 ServerName localhost:80


:wq!    #保存退出


 


Apache的配置文件:vi /etc/httpd/conf/httpd.conf


 


其中有:表示apache运行的用户


User apache
Group apache


 


二、测试PHP,输出php信息


-----------------------------------------------------


修改以下文件:


[root@AY1207241 /]# vi /var/www/html/index.php


输入测试PHP代码如下:



phpinfo();


?> 


浏览器访问服务器IP地址,正常应该可以访问了。


 


三、Apache配置


-----------------------------------------------------


vi /etc/httpd/conf/httpd.conf 编辑文件


   Options Indexes FollowSymLinks        在331行 修改为:Options Includes ExecCGI FollowSymLinks(允许服务器执行CGI及SSI)


   #AddHandler cgi-script .cgi        在796行 修改为:AddHandler cgi-script .cgi .pl (允许扩展名为.pl的CGI脚本运行)


   AllowOverride None          在338行 修改为:AllowOverride All (允许.htaccess)


   AddDefaultCharset UTF-8         在759行 修改为:AddDefaultCharset GB2312 (添加GB2312为默认编码)


 Options Indexes MultiViews          找到这一行,将“Indexes”删除 ,变为此状态 Options MultiViews (不在浏览器上显示树状目录结构)


   DirectoryIndex index.html index.html.var          在 402行 修改为:DirectoryIndex index.html index.htm Default.html Default.htm index.php Default.php index.html.var  (设置默认首页文件,增加index.php)


   KeepAlive Off           在76行 修改为:KeepAlive On (允许程序性联机)


   MaxKeepAliveRequests 100          在83行 修改为:MaxKeepAliveRequests 1000 (增加同时连接数)  


:wq!  #保存退出


   /etc/init.d/httpd restart 重启


   DocumentRoot "/var/www/html"  修改为你的目录   "/data0/www/xxxxxxxxx"  (这个目录就是挂载的数据盘)


   rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html    #删除默认测试页


 


Apache的日志文件   
    ErrorLog  /etc/httpd/logs/error_log   (php的错误日志也输出到这里)
    CustomLog  /etc/httpd/logs/access_log combined


 


 


四、php配置


-----------------------------------------------------


vi  /etc/php.ini   #编辑


date.timezone = PRC     #在946行 把前面的分号去掉,改为date.timezone = PRC


magic_quotes_gpc = On   #在745行 打开magic_quotes_gpc来防止SQL注入  (php5.4开始不支持magic_quotes_gpc(防SQL流入))


log_errors = On         #记录错误日志


 


:wq!  #保存退出


/etc/init.d/httpd restart   #重启Apche , php


 


 


五、挂载数据盘


-----------------------------------------------------


阿里云服务器的硬盘由两块组成,一块是系统盘,一块是数据盘,默认数据盘是没有挂载的,如果要用到数据盘就需要自己手动挂载。


通过命令fdisk -l,可以看到设备名为/dev/xvdb。


另外在挂载前要对硬盘(/dev/xvdb)分区和格式化。


分区使用命令fdisk,格式化命令为mkfs.ext3。


如何操作可以参照官方文档【Linux 系统挂载数据盘 】http://help.aliyun.com/manual?helpId=271  


数据盘最多可以挂4块,挂在/data0,以后其它的可以挂在/data1,/data2,/data3


数据盘的作用,阿里云服务器控制台提供“重置”功能,可选重置系统盘,还是数据盘,如何操作系统坏了,你可以只重置系统盘,保留网站数据在数据盘。


 


六、配置MySql数据库--设置初始密码,建库,建表,导入数据


-----------------------------------------------------


请看这里:MySql备份与恢复,远程访问MySql服务器


 


 


七、把mysql的数据文件,移动到“数据盘”上,防止系统坏了重做系统时数据没有了。


-----------------------------------------------------


主要参考这篇文章:linux下MySQL安装配置及操作  


我再移mysql的数据文件后,使用mysql -u用户名 -p  登录时,遇到了错误 :ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)


主要是修改my.cnf文件时有几步与上文不一样,这里说明一下。操作方法如下 :


1、停止mysql进程


 


2、把/var/lib/mysql整个目录移到/data0/db


mv /var/lib/mysql /home/data/


这样就把MySQL的数据文件移动到了/data0/db/mysql下


 


3、修改my.cnf配置文件


不要直接使用/etc/my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个(我是my-medium.cnf)到/etc/并改名为my.cnf)中。命令如下:


[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf


 


4、编辑MySQL的配置文件/etc/my.cnf<