linux下的apache2 + mysql5 + php4 + gd2 源码完整安装详解

linux下的apache2 + mysql5 + php4 + gd2 源码完整安装详解

大家好,又见面了,我是全栈君。

1.安装mysql
 
小五注释:mysql的安装包实在是太多了,我在学习的时候,遇到最大的问题就是安装mysql的问题,后来才发现,原来是自己选择安装包不对,非常郁闷,为了避免其他朋友也遇到同样的问题,所以,我把本文所涉及的mysql安装包放到skydrive网盘上,这样,你就不会下载错了,希望对需要的朋友能有所帮组,下载地址
 
 
下载速度可能慢一些,但是绝对好用


shell> groupadd -g 500 mysql

shell> useradd -u500 -gmysql -M mysql

shell> tar -xzf mysql.**.tar.gz

shell> cd mysql.**

shell> ./configure –prefix=/usr/local/mysql –localstatedir=/usr/local/mysql/data –with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock

shell> make

shell> make install

shell> cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql //开机启动mysql

shell> cp support-files/my-medium.cnf /etc/my.cnf

shell> cd /usr/local/mysql

shell> bin/mysql_install_db –user=mysql

shell> chown -R root .

shell> chown -R mysql var

shell> chgrp -R mysql .

shell> bin/mysqld_safe –user=mysql & 

注意直接执行后会出现下面错误:

Starting mysqld daemon with databases from /usr/local/mysql/data STOPPING server from pid file /usr/local/mysql/data/localhost.localdomain.pid 070514 19:15:13 mysqld ended

需执行 shell> chown -R mysql.mysql data

修改root密码:

use mysql

update user set Password=password(“123456″) where User=”root”;

delete from user where User=””;

2.apache安装

shell> tar -xzf httpd-2.2.4.tar.gz

shell> cd httpd-2.2.4

shell> ./configure –prefix=/usr/local/apache2 –enable-rewrite=shared –enable-speling=shared –enable-module=so

shell> make

shell> make install

3.iconv安装

shell> ./configure –prefix=/usr/local/iconv

shell> make

shell> make install

4.gd部分安装

zlib包

shell> ./configure –prefix=/usr/local/zlib

shell> make check

shell> make install

libpng包(支持PNG)

shell> ./configure –prefix=/usr/local/libpng

shell> make

shell> make install

jpeg-6b包(支持jpg格式)

shell> ./configure –prefix=/usr/local/jpeg-6b –enable-share –enable-static

shell> make test

shell> make

shell> make install

shell> make install-lib

freetype包(字体支持)

shell> ./configure –prefix=/usr/local/freetype

shell> make

shell> make install

最后安装gd包

shell> ./configure –prefix=/usr/local/gd2 –with-jpeg=/usr/local/jpeg-6b –with-zlib-dir=/usr/local/zlib –with-png=/usr/local/libpng –with-freetype=/usr/local/freetype

shell> make

shell> make install

make时会出现

make[2]: *** [gd_png.lo] Error 1

make[2]: Leaving directory `/tmp/gd-2.0.26gif’

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory `/tmp/gd-2.0.26gif’

make: *** [all] Error 2

需要复制/usr/local/libpng/include/目录下的cp /usr/local/libpng/include/pngconf.h /home/jong/tmp/gd-2.0.34

cp /usr/local/libpng/include/png.h /home/jong/tmp/gd-2.0.34

5.安装php

shell> ./configure –prefix=/usr/local/php –with-apxs2=/usr/local/apache2/bin/apxs –with-gd=/usr/local/gd2 –with-jpeg-dir=/usr/local/jpeg-6b –with-zlib-dir=/usr/local/zlib –with-png-dir=/usr/local/libpng –with-freetype-dir=/usr/local/freetype –enable-trace-vars -with-mysql=/usr/local/mysql -with-iconv=/usr/local/iconv –enable-mbstring=all –with-curl –enable-track-vars –with-DBA –enable-mbstr-enc-trans –enable-mbregex –with-config-file-path=/usr/local/php –with-xml –with-gettext

shell> make

shell> make install

shell> cp php.ini-dist /usr/local/php/php.ini 

编辑apache配置档

shell> cd /usr/local/apache2/conf

shell> vi httpd.conf

在LoadModule php4_module modules/libphp4.so

添加AddType application/x-httpd-php .php

OK,基本的安装已经完成,如果重新起动APACHE出现:/usr/local/apache2/bin/apachectl start Syntax error . line 232 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/libphp4.so into server: /usr/local/apache2/modules/libphp4.so: cannot restore segment prot after reloc: Permission denied

那就要按照下面的方法解决:

编辑/etc/selinux/config,找到这段:

# This file controls the state of SELinux . the system.

# SELINUX= can take .e of these three values:

# enforcing – SELinux security policy is enforced.

# permissive – SELinux prints warnings instead of enforcing.

# disabled – SELinux is fully disabled.

SELINUX=enforcing 

把 SELINUX=enforcing 注释掉:#SELINUX=enforcing ,然后新加一行为:

SELINUX=disabled

保存,关闭。

编辑/etc/sysconfig/selinux,找到:

# This file controls the state of SELinux . the system.

# SELINUX= can take .e of these three values:

# enforcing – SELinux security policy is enforced.

# permissive – SELinux prints warnings instead of enforcing.

# disabled – SELinux is fully disabled.

SELINUX=enforcing 

如果SELINUX已经是 SELINUX=disabled,那么就不用改了,否则就把SELINUX=enforcing 注释掉,新加一行:

SELINUX=disabled

保存,退出。

如果你碰到其他类似提示:

cannot restore segment prot after reloc: Permission denied

哪应该是SELinux的问题,可以考虑把它关闭。




本文转自 Jhuster 51CTO博客,原文链接:http://blog.51cto.com/xwnet/124588,如需转载请自行联系原作者

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107878.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 微信定位精灵服务器或网络异常,为什么微信定位精灵定位不了怎么办?

    微信定位精灵服务器或网络异常,为什么微信定位精灵定位不了怎么办?方法如下:1、下载“微信定位精灵”软件,安装;2、按图示设置如下,然后缩小地图,把光标定位在大马或任意地方,点击左上角的圆形定位按键完成定位,点右上角的菜单栏,选择“启动微信”,接下来的正常操作就行了。3、打开手机网络,关掉手机的网络定位,GPS等等。打开精灵,看见地图中间有个十字架,那就是你将要定位的地方,比如你的朋友身边。5.点击左上角的定位按钮。一秒你就穿越了。6、打开右边的启动微信。找身边…

    2022年5月7日
    96
  • SPPnet详解

    SPPnet详解RCNN系列:RCNN,SPPNet,FastRCNN,FasterRCNN,R-FCN。作者是何凯明SPPNet出现的原因之前的网络,比如LeNet,AlexNet,ZF,VGG等,它们的输入都是固定大小的,为什么要固定大小呐?原因就在最后连接的全连接层上。全连接层的输入一定是固定大小的。这一点很容易理解,因为全连接层网络就是传统的神经网络,传统的神经网络的输入层必定是固定大小的。而卷积神经网络的conv层的输入并不需要固定大小,那么conv层不用固定大小,FC层的输入又要固定大小,那么在这两

    2022年6月8日
    46
  • 在pycharm中更新pip失败

    在pycharm中更新pip失败尝试了网上的各种方法 各种翻车删除虚拟环境中的这两个文件夹 包括 pip 有只删除 pip 21 1 2 dist info 这个个文件夹然后重新安装 pip 之后在更新 我试了没有用下载 get pip py 文件 转到 https bootstrap pypa io get pip py 后直接右键另存为到这个文件夹下 上面删除步骤打开的文件夹 在 pycharm 的终端 进入到虚拟环境文件夹下 输入 python mensurepipde pip 这时候在设置里能看到安装了更新的

    2025年10月10日
    3
  • multisim彻底卸载的方法

    multisim彻底卸载的方法

    2021年11月10日
    1.4K
  • java中random方法取值范围_Java Random.nextInt()方法,随机产生某个范围内的整数

    java中random方法取值范围_Java Random.nextInt()方法,随机产生某个范围内的整数首页>基础教程>常用类>常用Random类JavaRandom.nextInt()方法,随机产生某个范围内的整数Random.nextInt()方法,是生成一个随机的int值,该值介于[0,n)的区间,也就是0到n之间的随机int值,包含0而不包含n。语法intnextInt()//随机返回一个int型整数intnextInt(int…

    2022年7月22日
    13
  • 谷歌的技术_探究GNSS技术在

    谷歌的技术_探究GNSS技术在文章目录引言TrueTime事务读写事务快照读只读事务总结引言Spanner是一个全球分布式的数据库,从数据模型来看Spanner很像BigTable,都是类似于key对应着一行数据,但是却并不一样,Spanner中衍生出了“目录”的概念(把两张表合并存储)。这并不是重点,Spanner的重是它是第一个在全球范围内传递数据且保证外部一致的分布式事务的系统,且支持几种特定的事务,这显然是一个很困难的问题,我们会在文章中加以描述,这篇文章主要对Spanner的事务以及实现事务所使用的TrueTimeAP

    2025年6月2日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号