一、快速安装 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 代码如下:

浏览器访问服务器 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

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

Java 代码

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 文件。

报错信息如下:

Java 代码

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

本文地址 https://shaoshilei.com/2014-02/ali-cloud-server-centos-5-7-64-bit-installation-and-configuration-apache-php5-mysql.html