• 阿里云服务器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  

    数据盘最多可以挂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代码  收藏代码
    1. # The following options will be passed to all MySQL clients  
    2. [client]  
    3. #password   = your_password  
    4. port        = 3306  
    5. #socket     = /var/lib/mysql/mysql.sock  #注释了  
    6. socket=/data0/db/mysql/mysql.sock            #新加的内容  
    7. # Here follows entries for some specific programs  
    8.   
    9. # The MySQL server  
    10. [mysqld]  
    11. port        = 3306  
    12. #socket     = /var/lib/mysql/mysql.sock  #注释了  
    13. datadir=/data0/db/mysql                      #新加的内容  
    14. 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代码  收藏代码
    1. Discuz! Database Error  
    2. (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

  • 相关阅读:
    php学习【1】
    网页项目源码笔记
    python学习笔记
    php集成开发环境xampp的搭建
    ubuntu18.04.1LTS系统远程工具secureCRT
    关于IT人的一些消遣区
    linux系统的启动过程简要分析
    【shell脚本学习-1】
    Linux命令总结--cat命令
    Linux命令总结--vi/vim命令
  • 原文地址:https://www.cnblogs.com/linuxOS/p/3373305.html
Copyright © 2020-2023  润新知