热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux系统下Apache+PHP+MySQL的安装配置

1.安装Apache以Apache使用PHP有两种方式:作为动态模块,其在运行状态时可载入到Web服务器;或者作为静态模块,其可直接编译到Web服务器代码中。我们着重于第一种方式。为了能以Apache模块使PHP动态载入,Apache服务器必须以动态共享对象(DSO,DynamicSh

1.安装Apache

  以Apache使用PHP有两种方式:

  作为动态模块,其在运行状态时可载入到Web服务器;

  或者作为静态模块,其可直接编译到Web服务器代码中。

  我们着重于第一种方式。

  为了能以Apache模块使PHP动态载入,Apache服务器必须以动态共享对象(DSO, Dynamic Shared Object)编译。可以通过传递--enable-so参数使这一特性生效。

  # cd /解压目录/httpd-2.2.2

  # ./configure --prefix=/usr/local/apache --enable-so

  # make

  # make install

  #cp /安装目录/bin/apachectl /etc/init.d/httpd   (创建启动脚本)

       #vi /etc/init.d/httpd (添加配置脚本)

" # chkconfig: 2345 50 90
  #
  # description: Activates/Deactivates Apache Web Server
  #  "

       将其加入Linux启动进程,仅在level 3, level 5级别下运行

       #chkconfig --add httpd

       #chkconfig --level 35 httpd on
       至此Apache编译安装成功.

2.安装mysql5.0.18(源码包)

  源码包可以在这个网址获得:

  http://dev.mysql.com/downloads/

  所有这些操作需要root权限

  安装开始:

  # groupadd mysql

  # useradd -g mysql mysql

  # tar zxvf XXX

  # cd XXX

  # ./configure --prefix=/usr/local/mysql --with-charset=gb2312

  说明一下编码,安装mysql的时候,默认使用latin1编码

  # make

  # make install

  # cp /解压源代码目录/support-files/my-medium.cnf /etc/my.cnf (复制默认全局启动参数配置文件到/etc目录)

源码方式安装需要手动复制配置文件,配置模板位于源码树的support-files目录,有my-small.cnf、my-medium.cnf、my-large.cnf、my-huge.cnf四个,选择跟你的环境相接近的一个复制到/etc目录,并做适当修改。关于mysql配置文件的详细信息请参阅笔者的其它文章或是mysql官方文档。

# cd /usr/local/mysql

  # chown -R root .

  # chown -R mysql .

  # chgrp -R mysql .

  如果要以mysql身份启动, 权限设置比较重要, 注意后面的" . "

  #./bin/mysql_install_db --user=mysql (初始化授权表, 有些版本是在scripts目录下)

       如果提示失败主要是默认的日志文件夹var权限设置问题, 或可用root用户初始化授权表.

       #cp /解压源代码目录/support-files/mysql.server /etc/rc.d/init.d/mysqld  (复制启动脚本到资源目录)

       #chmod +x /etc/rc.d/init.d/mysqld  (增加mysqld服务控制脚本执行权限)

       #chkconfig --add mysqld    (将mysqld服务加入到系统服务)

       #chkconfig mysqld off    (可关闭自启动)

       数据库启动测试-------------------------------------------

  # ./bin/mysqld_safe --user=mysql &     (用mysql用户启动很重要。)

  # ./bin/mysql -uroot -p

  (输入密码,默认密码为空,直接回车即可)

  Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

  如果出现上面的提示,说明mysql服务没有正常启动,因为mysql服务启动的话,会自动生成mysql.sock文件

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

       可将mysql的bin目录加入PATH环境变量
              编辑/etc/profile文件:
vi /etc/profile
              在文件最后添加如下两行:
PATH=$PATH:/usr/local/mysql/bin
              export PATH
执行下面的命令使所做的更改生效:
. /etc/profile
       OK. 现数据库也已编译安装成功了.

 3.安装php

  ./configure --prefix=/usr/local/php5 (配置php的参数)

  --with-apxs2=/usr/local/apache2/bin/apxs

  --with-libxml-dir=/usr/local/lib

  --with-zlib --with-zlib-dir=/usr/local/lib

  --with-mysql=/usr/local/mysql (mysql 的安装目录 就是那个解压后的目录)

  --enable-soap --enable-sockets

  # make

  # make install

  将安装目录下的php.ini-dist文件改为php.ini存放的/usr/local/lib下.

  4.编辑Apache配置文件,即/usr/local/apache/conf/httpd.conf,并添加以下一行:

  AddType application/x-httpd-php .php

  AddType application/x-httpd-php-source .phps

  并在 DirectoryIndex 一行加上 index.php

  然后保存文件并启动服务器


推荐阅读
  • 本文详细探讨了如何根据不同的应用场景选择合适的PHP版本,包括多版本切换技巧、稳定性分析及针对WordPress等特定平台的版本建议。 ... [详细]
  • 搭建个人博客:WordPress安装详解
    计划建立个人博客来分享生活与工作的见解和经验,选择WordPress是因为它专为博客设计,功能强大且易于使用。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • 实现Win10与Linux服务器的SSH无密码登录
    本文介绍了如何在Windows 10环境下使用Git工具,通过配置SSH密钥对,实现与Linux服务器的无密码登录。主要步骤包括生成本地公钥、上传至服务器以及配置服务器端的信任关系。 ... [详细]
  • PHP中Smarty模板引擎自定义函数详解
    本文详细介绍了如何在PHP的Smarty模板引擎中自定义函数,并通过具体示例演示了这些函数的使用方法和应用场景。适合PHP后端开发者学习。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • JavaScript 跨域解决方案详解
    本文详细介绍了JavaScript在不同域之间进行数据传输或通信的技术,包括使用JSONP、修改document.domain、利用window.name以及HTML5的postMessage方法等跨域解决方案。 ... [详细]
  • 本文详细介绍了在 CentOS 系统中如何创建和管理 SWAP 分区,包括临时创建交换文件、永久性增加交换空间的方法,以及如何手动释放内存缓存。 ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • egg实现登录鉴权(七):权限管理
    权限管理包含三部分:访问页面的权限,操作功能的权限和获取数据权限。页面权限:登录用户所属角色的可访问页面的权限功能权限:登录用户所属角色的可访问页面的操作权限数据权限:登录用户所属 ... [详细]
  • 本文由chszs撰写,详细介绍了Apache Mina框架的核心开发流程及自定义协议处理方法。文章涵盖从创建IoService实例到协议编解码的具体步骤,适合希望深入了解Mina框架应用的开发者。 ... [详细]
  • Java虚拟机及其发展历程
    Java虚拟机(JVM)是每个Java开发者日常工作中不可或缺的一部分,但其背后的运作机制却往往显得神秘莫测。本文将探讨Java及其虚拟机的发展历程,帮助读者深入了解这一关键技术。 ... [详细]
  • 对于初学者而言,搭建一个高效稳定的 Python 开发环境是入门的关键一步。本文将详细介绍如何利用 Anaconda 和 Jupyter Notebook 来构建一个既易于管理又功能强大的开发环境。 ... [详细]
author-avatar
泽旺多吉外_680
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有