`

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

 
阅读更多

 

阿里云服务器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代码如下:

<?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  

1、使用 “df -h”命令,是无法看到数据盘的,可以使用“fdisk -l”命令查看。

友情提示:若您执行fdisk -l命令,发现没有 /dev/xvdb 表明您的云服务无数据盘,那么您无需进行挂载,此时该教程对您不适用

 

2、 对数据盘进行分区

执行“fdisk -S 56 /dev/xvdb”命令,对数据盘进行分区;

根据提示,依次输入“n”,“p”“1”,两次回车,“wq”,分区就开始了,很快就会完成。

 

3、 查看新的分区

使用“fdisk -l”命令可以看到,新的分区xvdb1已经建立完成了。

 

4、格式化新分区

以ext3为例:使用“mkfs.ext3 /dev/xvdb1”命令对新分区进行格式化,格式化的时间根据硬盘大小有所不同。

(也可自主决定选用其它文件格式,如ext4等)

 

5、添加分区信息

使用“echo '/dev/xvdb1  /data0 ext3    defaults    0  0' >> /etc/fstab”(不含引号)命令写入新分区信息。

然后使用“cat /etc/fstab”命令查看,出现以下信息就表示写入成功。

注:ubuntu12.04不支持barrier,所以正确写法是:echo '/dev/xvdb1  /mnt ext3    barrier=0  0  0' >> /etc/fstab

*  如果需要把数据盘单独挂载到某个文件夹,比如单独用来存放网页,可以修改以上命令中的/mnt部分

 

6、挂载新分区

 

使用“mount -a”命令挂载新分区,然后用“df -h”命令查看,出现以下信息就说明挂载成功,可以开始使用新的分区了。

 

数据盘最多可以挂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

为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。

 

# The following options will be passed to all MySQL clients
[client]
#password	= your_password
port		= 3306
#socket		= /var/lib/mysql/mysql.sock  #注释了
socket=/data0/db/mysql/mysql.sock            #新加的内容
# Here follows entries for some specific programs

# The MySQL server
[mysqld]
port		= 3306
#socket		= /var/lib/mysql/mysql.sock  #注释了
datadir=/data0/db/mysql                      #新加的内容
socket=/data0/db/mysql/mysql.sock            #新加的内容

 

5、MySQL启动脚本/etc/rc.d/init.d/mysqld 不用做任何修改

我的版本是Server version: 5.0.95,其它版要不要改不知道 。

 

6、重新启动MySQL服务

/etc/rc.d/init.d/mysqld start

如果工作正常移动就成功了,否则对照前面的7步再检查一下。

 

 

移动完MySql之后,PHP连接不上Mysql数据库了

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

经过上面的的操作,把MySql的数据文件移到其它目录后,PHP连接不上MySql数据库了,是因为找不mysql.sock文件。

报错信息如下:

 

Discuz! Database Error
(2002) notconnect

解决方法一:

建一个软连接

cd /var/lib

mkdir mysql

ln -s  /data0/db/mysql/mysql.sock  /var/lib/mysql/mysql.sock

 

解决方案二:

修改/etc/php.ini文件

找到  mysql.default_socket =   一行,这个值一开始是空的,php将会使用内建在mysql中的默认值。

修改为以下内容:

mysql.default_socket = /data0/db/mysql/mysql.sock

mysql.sock的文件位置请跟据你的实际情况填写。

还有一处mysqli.default_socket =,要不要修改视情况吧,我没有修改。

 

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

参考文章:

阿里云社区

linux下MySQL安装配置及操作  (修改密码,常用目录,修改数据文件位置)

CentOS 6.1安装配置LAMP服务器(Apache+PHP5+MySQL)

阿里云服务器搭建LAMP环境

云知识

 

 

 

 

八、卸载php5.1,mysql5.0 重新安装php5.4,mysql5.5

-----------CentOS 5.7 卸载php,mysql 重新安装php5.4,mysql5.5-----

前提,原来mysql是5.0,要保留数据,升级到5.5

查看php版本   php -v 

查看mysql版本  mysql -V

 

卸载mysql

rpm -qa |grep mysql  

rpm -e --nodeps  加上:每一个包名用空格隔开

 

卸载php

rpm -qa |grep php

rpm -e --nodeps  加上:每一个包名用空格隔开

提示: /etc/php.ini saved as /etc/php.ini.rpmsave

 

安装配置新的yum源

wget http://centos.ustc.edu.cn/epel/5/x86_64/epel-release-5-4.noarch.rpm

wget http://rpms.famillecollet.com/enterprise/5/remi/x86_64/remi-release-5-8.el5.remi.noarch.rpm

rpm -ivh *.rpm

 

查看可用的MySQL版本

# yum --enablerepo=remi list mysql mysql-server php

 

使用新yum源安装php5.4,mysql5.5

yum --enablerepo=remi -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

 

按以前安装的方法,再次修mysql , php 配置文件 

vi /etc/my.cnf     (主要是修改mysql的数据文件的路径 )

vi  /etc/php.ini    php5.4不支持magic_quotes_gpc(防SQL流入)

 

重启MySQL

# service mysqld start

 

升级MySQL

# mysql_upgrade -u root -p

 

-----------CentOS 5.7 MySQL 5.0.95如何升级成5.5---------------------

1.安装配置yum源

wget http://centos.ustc.edu.cn/epel/5/x86_64/epel-release-5-4.noarch.rpm

wget http://rpms.famillecollet.com/enterprise/5/remi/x86_64/remi-release-5-8.el5.remi.noarch.rpm

rpm -ivh *.rpm

 

查看可用的MySQL版本

# yum --enablerepo=remi list mysql mysql-server

 

更新或者安装MySQL(如果没有的话)

# yum --enablerepo=remi update mysql mysql-server

 

重启MySQL

# service mysqld start

 

升级MySQL

# mysql_upgrade -u root -p

 

---------CentOS 5.7 PHP5.1.6升级到5.3.23-------------------

rpm --import http://repo.webtatic.com/yum/RPM-GPG-KEY-webtatic-andy

wget -P /etc/yum.repos.d/ http://repo.webtatic.com/yum/webtatic.repo

yum --enablerepo=webtatic list php

发现有php5.2 和 php5.3可以升级。

我直接升级到5.3,执行:yum --enablerepo=webtatic  update -y php

如果想升级到5.2,执行:yum --enablerepo=webtatic --exclude=php*5.3* update -y php

参考:http://www.cnblogs.com/fangbo/archive/2010/04/16/1713600.html

 

分享到:
评论
1 楼 lpdream 2014-10-12  
不错,我也这样弄的,后来发现已经有人弄了 集成安装包或者面板,比自己配置方便很多。
阿里云服务器的稳定很可靠!

相关推荐

    LINUX下的LAMP编译安装(apache+php+mysql)文.pdf

    本文档详细介绍了如何在CentOS 5.7 64位系统上通过源码编译的方式安装这四个组件。以下是具体步骤: 1. **移除系统自带的软件包** 在开始编译安装前,需要先移除系统中已有的Apache、MySQL和PHP的RPM包,以避免...

    LINUX下的LAMP编译安装(apache+php+mysql)归类.pdf

    本文档详细介绍了如何在CentOS 5.7 64位系统上通过源码编译的方式安装这四个组件。以下是具体步骤: 1. **移除系统自带的软件包** 在开始编译安装前,需要先移除系统中已有的Apache、MySQL、PHP相关的RPM包,以...

    LINUX下的LAMP编译安装(apache+php+mysql)借鉴.pdf

    本文档详细介绍了如何在CentOS 5.7 64位系统上通过源码编译的方式安装这四个组件。以下是具体步骤: 1. **移除系统自带的包** 在开始编译安装前,首先需要移除系统中已经存在的Apache、MySQL和PHP的RPM包,以避免...

    LINUX下的LAMP编译安装(apache+php+mysql).pdf

    本文将详细讲解如何在CentOS 5.7 64位环境下,通过源码包编译安装LAMP平台。 首先,为了确保一个干净的环境,我们需要移除系统自带的相关软件包,包括Apache、MySQL和PHP。这可以通过运行以下命令完成: ```bash ...

    CentOS7+apache+php7+mysql5.7配置教程详解

    在本教程中,我们将深入探讨如何在CentOS7操作系统上配置一个完整的Web服务器环境,包括Apache Web服务器、PHP7和MySQL5.7数据库。这个环境是许多网站和应用程序的基础,对于开发者和系统管理员来说,了解如何正确...

    LINUX下的LAMP编译安装(apache+php+mysql)[参照].pdf

    本教程将详细讲解如何在CentOS 5.7 64位系统上通过源代码编译安装这四个组件。首先,我们需要做一些准备工作,包括移除系统自带的包、安装必要的开发包以及配置用户权限。 1. **移除系统自带的包** 在开始编译安装...

    centos7下部署apache2.4+mysql5.7.13+php5.6.pdf

    这是一个常见的Web开发环境配置,适用于搭建LAMP(Linux、Apache、MySQL、PHP)服务器。下面我们将按照步骤详细解释每个组件的安装和配置。 一、安装基础工具 在开始安装Apache、MySQL和PHP之前,我们需要确保系统...

    centos7 + php7 lamp全套最新版本配置及mongodb和redis教程详解

    在本文中,我们将深入探讨如何在CentOS 7操作系统上配置LAMP(Linux、Apache、MySQL、PHP)环境,以及如何添加MongoDB和Redis这两个流行的数据存储系统。首先,确保你的CentOS 7是最新的,并且正确设置了SWAP分区。...

    mallbuilder开发文档

    MallBuilder 基于LAMP(Linux, Apache, MySQL, PHP)架构,同时也支持Nginx环境。常见的部署方案有: - squid + Apache + PHP + eAccelerator:通过 squid 作为反向代理,加速静态内容的分发,Apache 处理动态请求,...

    强烈推荐 Linux运维从入门到高级全套案例教程

    **5.9 Squid缓存服务器配置** 配置Squid作为缓存服务器,提高访问速度。 #### Linux下高并发系统内核优化 针对高并发场景下的Linux系统内核进行优化,以提高系统的吞吐量和响应速度。 #### Nginx负载均衡机制及...

Global site tag (gtag.js) - Google Analytics