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,如需转载请自行联系原作者

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Django(23)Django限制请求装饰器

    Django(23)Django限制请求装饰器前言有时候,我们想要限制访问的请求方法,比如我们希望用户只能通过get方式请求,post不允许,那么我们可以采用装饰器的方式,django已经为我们提供了内置的装饰器限制请求装饰器Django内

  • 详解贝叶斯学派与频率学派的区别和联系

    详解贝叶斯学派与频率学派的区别和联系大家好,我是东哥。要说贝叶斯和频率学派,那简直太有意思了。为什么这么说呢?因为两个学派的理解对于我来说真的是一场持久战。我是在学习机器学习的时候接触到的这两个学派,此前并不知道,当时就被深深吸引了,于是找了各种资料学习下来,说实话感觉有点懂了,但又感觉没理解透。后面我一直是带着这种似懂非懂的状态继续肝机器学习。但随着不断深入学习我发现很多理论其实都有出现两个学派的身影,而且在模型算法层面结合两派不断琢磨对我的理解有了很大帮助,经常有茅塞顿开的感觉(那段日子真的进步的飞起)。虽说我有点笨,但好在经过时间

  • SpringBoot2.x系列教程汇总-从入门到精通「建议收藏」

    SpringBoot2.x系列教程汇总-从入门到精通「建议收藏」因为CSDN没有分类归纳博客的功能,所以特写本帖汇总SpringBoot2.x系列教程,方便大家查阅!SpringBoot2.x系列教程01–史前文明之Spring简介SpringBoot2.x系列教程02–史前文明之Spring发展史SpringBoot2.x系列教程03–新纪元之SpringBoot初相见SpringBoot系列教程04–新纪元之SpringBoot环境……

  • 500-内部服务器错误_显示内部服务器错误怎么办

    500-内部服务器错误_显示内部服务器错误怎么办其他相关HTTP500内部服务器错误”解决方法-苦涩的茶-博客园HTTP500内部服务器错误的提示,无法法查看错误的详细信息,用户也没办法根据具体的问题来解决,这对很多新用户确实是一件很麻烦的事情,遇来源:www.mingqicha.comHTTP500内部服务器错误”提示该怎么办-百度经验HTTP500内部服务器错误”的情况,当我们遇到了,怎么解决,学下:出现“HTTP500内部服务器错…

  • 笔记17-Map「建议收藏」

    笔记17-Map「建议收藏」1.Map集合1.1Map集合概述和特点【理解】Map集合概述interfaceMap<K,V>K:键的类型;V:值的类型Map集合的特点键值对映射关系一个键对应一个值键不能重复,值可以重复元素存取无序Map集合的基本使用publicclassMapDemo01{publicstaticvoidmain(String[]args){//创建集合对象Map<String,String&g

  • struts2于validate要使用

    struts2于validate要使用

发表回复

您的电子邮箱地址不会被公开。

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