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

LAMP:LinuxApacheMysqlPHP经典配置

Linux系统的安装我就不讲了,这是基础功,实在这篇文章在类似Redhat的其他linux也应当通用,大家只要把握我供给的方法就行。记得安装Redhat9。0的时候不要安装系统默认的apache,mysql和php以及相干的软件。已经安装的请用rpm-e*删除已经安装的包。

调试环境:Redhat9.0 Apache1.3.29 Mysql3.23.58 PHP4.3.4

Linux系统的安装我就不讲了,这是基础功,实在这篇文章在类似Redhat的其他linux也应当通用,大家只要把握我供给的方法就行。记得安装Redhat9。0的时候不要安装系统默认的apache,mysql和php以及相干的软件。已经安装的请用rpm -e * 删除已经安装的包。

1.安装Mysql3.23.58

实在诚实说直接安装Mysql官方网站供给的rpm包也是一个比拟可行的措施,他的官方网站的rpm包的供给基础跟tar包发行是同步的,这点我比拟爱好,至少安装rpm包的在后面的调试中不会呈现mysql库文件找不到的情况。但这里还是有必要讲一下自定义安装的步骤,毕竟网友自定义安装的还说挺多的。

软件获取:http://www.mysql.com/downloads/index.html

安装步骤:

tar zxvf mysql-3.23.58.tar.gz

cd mysql-3.23.58

./configure --prefix=/usr/local/mysql --syscOnfdir=/etc --localstatedir=/var/lib/mysql

make

make install

#prefix=/usr/local/mysql mysql安装的目标目录

#syscOnfdir=/etc my.ini配置文件的路径

#localstatedir=/var/lib/mysql 数据库存放的路径

安装完以后要初始化数据库,当然你是升级的话不用做这步;

/usr/local/mysql/bin/mysql_install_db

假如系统没有mysql这个用户的话,最好做以下这步:

useradd -M -o -r -d /var/lib/mysql -s /bin/bash -c 'MySQL Server' -u 27 mysql

然后我启动mysql

/usr/local/mysql/bin/safe_mysqld &

ok,先看看mysql能否正常工作

mysql -uroot mysql

一般情况下都是不能正常链接数据库,错误提示一般为:

ERROR 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

 

实在网上大家问的最多的都是全部标题,说什么链接不到mysqld.sock,实在大家不妨看看mysql的错误日志就明白怎么回事,我这里的错误日志是在

/var/lib/mysql/*.err 你会发明mysql只所以不能启动,是由于/var/lib/mysql的权限不答应mysql服务拜访,英文mysql默认是调用mysql用户来启动服务的,好了,既然知道是什么原因找到不能启动,那就简略了。我们只要

chown -R mysql:mysql /var/lib/mysql 就行,假如还是启动不了,再慢慢调试权限,反正一般启动不了都是权限的标题。

假如大家还是不能启动不了的话,那就用我的比拟繁琐的权限的设置,反正我每次都是这么做的,一般不会有标题,见下:

chown -R root /usr/local/mysql

chgrp -R mysql /usr/local/mysql

chown -R root /usr/local/mysql/bin

chgrp -R mysql /usr/local/mysql/bin

chgrp -R mysql /var/lib/mysql

chmod 777 /var/lib/mysql

chown -R root /var/lib/mysql/mysql

chgrp -R mysql /var/lib/mysql/mysql

chmod 777 /var/lib/mysql/mysql

chown -R root /var/lib/mysql/mysql/*

chgrp -R mysql /var/lib/mysql/mysql/*

chmod 777 /var/lib/mysql/mysql/*

chmod 777 /usr/local/mysql/lib/mysql/libmysqlclient.a

做完上面的步骤,然后把你编译目录的一个脚本COPY过往

cp support-files/mysql.server /etc/rc.d/init.d/mysqld

chkconfig --add mysqld

用ntsysv设置使mysql每次启动都能主动运行。

好了,至此mysql安装完毕,你可以这样起动你的mysql服务

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

下面这步比拟要害,

ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql

ln -s /usr/local/mysql/include/mysql /usr/include/mysql

大家可以不做这步,大可以在编译其他软件的时候自定义myslq的库文件路径,但我还是爱好把库文件链接到默认的地位,这样你在编译类似PHP,Vpopmail等软件时可以不用指定mysql的库文件地址。

 

2.安装Apache1.3.29。我没有选择安装Apache2.0是我对他还是不放心,由于网上最新颁布的apache的漏洞基础上是针对2.0,当然大家可以自己选择安装相应的版本。我这里讲的都是采用DSO动态编译的方法编译Apache.

至于有关apache的编译方法,可以参考我以前的文章《apache的静态/动态编译在apache php mysql的利用》 http://www.5ilinux.com/apache01.html

软件获取:http://httpd.apache.org/

tar zvxf apache_1.3.29.tar.gz

cd apache_1.3.29

修正src/include/httpd.h 增大最大线程数

#define HARD_SERVER_LIMIT 256

改成

#define HARD_SERVER_LIMIT 2560

保留退出编译apache

./configure --prefix=/usr/local/apache --enable-module=so --enable-module=rewrite --enable-shared=max --htdocsdir=/var/www &&

make &&

make install

#这里我们通过enable-module参数告诉设置脚本,我们需要启动so和rewrite模块,so模块是用来提DSO支撑的apache核心模块,而rewrite模块则是用意实现地址重写的模块,由于rewrite模块需要DBM支撑,假如在初次安装时没有编译进apache,以后需要用到时需要重新编译全部apache才可以实现。为此除非你可以断定以后不会用到rewrite模块,否则还是建议你在第一次编译的时候把rewrite模块编译好。

enable-shared=max 这个参数的作用时编译apache时,把除了so以外的所有apache的尺度模块都编译成DSO模块。而不是编译进apache核心内。

好了安装apache很简略的哦,启动apache看看

/usr/local/apache/bin/apachectl start

然后用ie看http://你的服务器地址。应当能看到熟悉的apache羽毛标记。

3.安装PHP4.3.4

软件获取:http://www.php.net/downloads.php

tar zvxf php-4.3.4.tar.gz

cd php-4.3.4

./configure \

--prefix=/usr/local/php \

 

--with-mysql=/usr/local/mysql \

--enable-force-cgi-redirect \

--with-freetype-dir=/usr \

--with-png-dir=/usr \

--with-gd --enable-gd-native-ttf \

--with-ttf \

--with-gdbm \

--with-gettext \

--with-iconv \

--with-jpeg-dir=/usr \

--with-png \

--with-zlib \

--with-xml \

--enable-calendar \

--with-apxs=/usr/local/apache/bin/apxs

make

make install

#我这里由于服务器需要用到GD库,所以加了一些支撑GD的编译参数 ,GD直接用了redhat自带的GD库,大家没有安装的话可以从安装盘安装,留心除了安装GD以外,还要安装libjpeg,libpng等库文件。另外--with-mysql=/usr/local/mysql指向你安装mysql的路径。--with-apxs指向apache的apxs文件的路径。

vi /usr/local/apache/conf/httpd.conf

查找;

在此范畴添加

AddType application/x-httpd-php .php

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

然CPOPY PHP的配置文件

cp ../php4.3.4/php.ini.dist /usr/local/php/lib/php.ini

修正php.ini文件

register_globals = On

ok!重新启动一下apache服务器

/usr/local/apache/bin/apachectl restart

然后写个php测试页info.php:内容如下

phpinfo();

?>;

正常的话,应当能看到php的信息了,恭喜你的Apche Mysql PHP安装成功。

好了写了这么多,盼看对大家有所帮助!!!

参看文档:

 

apache的静态/动态编译在apache php mysql的利用

 

 

 

 


推荐阅读
  • 如何利用Apache与Nginx高效实现动静态内容分离
    如何利用Apache与Nginx高效实现动静态内容分离 ... [详细]
  • 如何将PHP文件上传至服务器及正确配置服务器地址 ... [详细]
  • 在Linux环境下,本文详细探讨了Apache服务器中CGI技术的应用与实现。首先,通过使用yum包管理器安装了必要的软件,如PHP。安装完成后,对Apache服务器进行了配置,确保CGI功能正常运行。此外,还介绍了如何编写和调试CGI脚本,以及如何在实际环境中部署这些脚本以提供动态网页内容。实验结果表明,通过合理的配置和优化,Apache服务器能够高效地支持CGI应用程序,为用户提供丰富的交互体验。 ... [详细]
  • 构建顶级PHP博客系统:实践与洞见
    构建顶级PHP博客系统不仅需要扎实的技术基础,还需深入理解实际应用需求。本文以Zend Studio为开发环境,MySQL作为数据存储,Apache服务器为运行平台,结合jQuery脚本语言,详细阐述了从环境搭建到功能实现的全过程,分享了开发PHP博客管理系统的宝贵经验和实用技巧。 ... [详细]
  • Linux学习精华:程序管理、终端种类与命令帮助获取方法综述 ... [详细]
  • 在《PHP应用性能优化实战指南:从理论到实践的全面解析》一文中,作者分享了一次实际的PHP应用优化经验。文章回顾了先前进行的一次优化项目,指出即使系统运行时间较长后出现的各种问题和性能瓶颈,通过采用一些通用的优化策略仍然能够有效解决。文中不仅详细阐述了优化的具体步骤和方法,还结合实例分析了优化前后的性能对比,为读者提供了宝贵的参考和借鉴。 ... [详细]
  • 作为140字符的开创者,Twitter看似简单却异常复杂。其简洁之处在于仅用140个字符就能实现信息的高效传播,甚至在多次全球性事件中超越传统媒体的速度。然而,为了支持2亿用户的高效使用,其背后的技术架构和系统设计则极为复杂,涉及高并发处理、数据存储和实时传输等多个技术挑战。 ... [详细]
  • 当前,众多初创企业对全栈工程师的需求日益增长,但市场中却存在大量所谓的“伪全栈工程师”,尤其是那些仅掌握了Node.js技能的前端开发人员。本文旨在深入探讨全栈工程师在现代技术生态中的真实角色与价值,澄清对这一角色的误解,并强调真正的全栈工程师应具备全面的技术栈和综合解决问题的能力。 ... [详细]
  • 深入解析Tomcat:开发者的实用指南
    深入解析Tomcat:开发者的实用指南 ... [详细]
  • MySQL性能优化与调参指南【数据库管理】
    本文详细探讨了MySQL数据库的性能优化与参数调整技巧,旨在帮助数据库管理员和开发人员提升系统的运行效率。内容涵盖索引优化、查询优化、配置参数调整等方面,结合实际案例进行深入分析,提供实用的操作建议。此外,还介绍了常见的性能监控工具和方法,助力读者全面掌握MySQL性能优化的核心技能。 ... [详细]
  • SQLmap自动化注入工具命令详解(第28-29天 实战演练)
    SQL注入工具如SQLMap等在网络安全测试中广泛应用。SQLMap是一款开源的自动化SQL注入工具,支持12种不同的数据库,具体支持的数据库类型可在其插件目录中查看。作为当前最强大的注入工具之一,SQLMap在实际应用中具有极高的效率和准确性。 ... [详细]
  • 本文深入探讨了IO复用技术的原理与实现,重点分析了其在解决C10K问题中的关键作用。IO复用技术允许单个进程同时管理多个IO对象,如文件、套接字和管道等,通过系统调用如`select`、`poll`和`epoll`,高效地处理大量并发连接。文章详细介绍了这些技术的工作机制,并结合实际案例,展示了它们在高并发场景下的应用效果。 ... [详细]
  • 深入解析Wget CVE-2016-4971漏洞的利用方法与安全防范措施
    ### 摘要Wget 是一个广泛使用的命令行工具,用于从 Web 服务器下载文件。CVE-2016-4971 漏洞涉及 Wget 在处理特定 HTTP 响应头时的缺陷,可能导致远程代码执行。本文详细分析了该漏洞的成因、利用方法以及相应的安全防范措施,包括更新 Wget 版本、配置防火墙规则和使用安全的 HTTP 头。通过这些措施,可以有效防止潜在的安全威胁。 ... [详细]
  • NoSQL数据库,即非关系型数据库,有时也被称作Not Only SQL,是一种区别于传统关系型数据库的管理系统。这类数据库设计用于处理大规模、高并发的数据存储与查询需求,特别适用于需要快速读写大量非结构化或半结构化数据的应用场景。NoSQL数据库通过牺牲部分一致性来换取更高的可扩展性和性能,支持分布式部署,能够有效应对互联网时代的海量数据挑战。 ... [详细]
  • 如何在Linux系统中实施网络流量监测与分析
    本文详细介绍了在Linux系统中实施网络流量监测与分析的方法。通过使用专业的工具和技术,读者可以有效地监控和分析网络流量,从而提高系统的安全性和性能。希望本文能为读者提供有价值的参考和实践指导。 ... [详细]
author-avatar
shzq110_113
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有