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

Linux下编译安装apche+php+mysql

近些日子经常性的要在Linux下配置apache+php+mysql的环境。以前的时候我总是在centos下使用yum的

近些日子经常性的要在Linux下配置apache+php+mysql的环境。以前的时候我总是在centos下使用yum的方式直接安装。方便是很方便。但是总觉得少了什么。而且Centos下的默认的源对PHP只支持到5.1.6要Update必须要换源,前面也找了一些源发现很多都已经不能用了。很是麻烦。所以一狠心。直接使用编译的方式安装了。现在分享下我的安装过程。

首先安装GCC GCC-C++这两个编译器。这两个编译器无所谓版本高低。所以就直接使用yum的方式安装了。


yum install gcc gcc-c++

那么我们需要安装的那些个包我这里已经提供了下载。我们可以ba把bao包放在/usr/local/src下

然后我们开始安装MySQL

首先安装下Ncurese

tar -zxvf ncurese-5.9.tar.gz
cd ncurese-5.9
./configure
make && make install

安装完成后我们就可以开始安装MySQL了:

tar -zxvf mysql-5.1.68.tar.gz
./configure --prefix=/usr/local/mysql --syscOnfdir=/etc --datadir=/svr/mysqldata --with-charset=utf8 --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables --with-ssl --with-embedded-server --enable-local-infile --enable-assembler --with-plugins=innobase --with-plugins=partition
make && make install

安装wan完MySQL我们就可以开始配置MySQL了

配置MySQL

#1.新建mysql的用户和用户组
groupadd mysql
useradd -g mysql -s /sbin/nologin mysql
#2.配置路劲信息
chown -R mysql:mysql /usr/local/mysql/ 把MySQL目录的权限给MySQL用户和组
#3.创建配置文件
cp /usr/local/src/mysql-5.1.68/support-files/my-medium.cnf /etc/my.cnf
#然后编辑/etc/my.cnf
vi /etc/my.cnf
在[mysqld]下添加datadir = 一开始设置的目录/svr/mysqldata
#4.初始化数据库
/usr/local/mysql/bin/mysql_install_db --user=mysql
#5.将mysqldata的数据库目录权限给mysql用户
chown -R mysql:mysql /svr/mysqldata
#6.启动mysql
/usr/local/mysql/bin/mysqld_safe --user=mysql &
#7.将mysql加入service
cp /usr/local/src/mysql-5.1.68/support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
service mysqld restart
#8.给Root加上密码
/usr/local/mysql/bin/mysqladmin -uroot -p password 新密码

好,现在我们MySQL的安装就完成了。那么让我们开始Apache的安装

首先我们先安装下apr和apr-util

#apr的安装
tar -zxvf apr-1.4.6.tar.gz
cd apr-1.4.6
./configure
make && make install
#apr-util的安装
tar -zxvf apr-util-1.5.2.tar.gz
cd apr-util-1.5.2
./configure --with-apr=/usr/local/apr/
make && make install

OK然后我们下一步就可以开始安装apache了。

tar -zxvf httpd-2.2.24.tar.gz
cd httpd-2.2.24
./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite --enable-mods-shared=most --enable-dav --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --enable-modules=so --enable-maintainer-mode
make && make install

apachee安装完成后我们先不忙着配置。等PHP安装完成后一起配置。那么我们下一步开始安装PHP。

首先安装zlib

tar -zxvf zlib-1.2.7.tar.gz
cd zlib-1.2.7
./configure
make && make install

然后安装Libmcrypt

tar -zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make
make install
cd libltdl
./configure --enable-ltdl-install
make
make install

然后再来安装libpng

tar -zxvf libpng-1.6.1.tar.gz
cd libpng-1.6.1
./configure
make && make install

然后来安装jpeg6

tar -zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b
mkdir /usr/local/jpeg6
mkdir /usr/local/jpeg6/bin
mkdir /usr/local/jpeg6/lib
mkdir /usr/local/jpeg6/include
mkdir -p /usr/local/jpeg6/man/man1
./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
make
make install

再来安装freetype

tar -zxvf freetype-2.4.0.tar.gz
cd freetype-2.4.0
./configure --prefix=/usr/local/freetype/make
make install

然后安装gd库

tar -zxvf gd-2.0.35.tar.gz
cd gd-2.0.35
./configure --prefix=/usr/local/gd2/ --with-jpeg=/usr/local/jpeg6/ --with-freetype=/usr/local/freetype/
make
make install

再来安装libxml

tar -zxvf libxml2-2.7.3.tar.gz
cd libxml2-2.7.3
./configure
make
make install

最后来安装CURL

tar -zxvf curl-7.29.0.tar.gz
cd curl-7.29.0
./configure --prefix=/usr/local/curl/
make
make install

安装完成后我们就可以开始安装PHP了

tar -zxvf php-5.2.17.tar.gz
cd php-5.2.17
./configure --prefix=/usr/local/php/ --with-apxs2=/usr/local/apache2/bin/apxs --disable-debug --enable-safe-mode --enable-xml --with-mysql=/usr/local/mysql --with-gd=/usr/local/gd2 --with-zlib --with-zlib-dir=/usr/local/lib --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql-sock --disable-posix --with-config-file-path=/usr/local/lib --with-jpeg-dir=/usr/local/jpeg6 --with-curl=/usr/local/curl/ --enable-zip --enable-mbstring --enable-pdo --with-pdo_mysql=/usr/local/mysql/ --enable-soap --with-png-dir=/usr/local/lib --with-freetype-dir=/usr/local/freetype --enable-zip --enable-json --enable-sockets --with-iconv
make
make install

然后我们创建PHP的配置文件

cp php.ini-dist /usr/local/php/lib/php.ini

最后我们来配置Apache的配置文件

vi /usr/local/apache2/conf/httpd.conf
#添加:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
#注意将这两行添加在其它AddType后面
#确保文件中有下面一段,如果没有地话就添加在所有LoadModule之后
LoadModule php5_module        modules/libphp5.so
#由于我装地版本较高所以是php5,如果是LoadModule php4_module        #modules/libphp4.so地话也可以
#找到DirectoryIndex index.html index.html.var 这一行,在其后面写上index.php  一般在424行
#保存退出

然后ba把Apache加入系统服务

cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd
vi /etc/rc.d/init.d/httpd
#找到“#!/bin/sh”,另起一行,增加:
# chkconfig: 35 70 30
# description: Apache
#保存退出
chkconfig --add httpd
chkconfig httpd on
service httpd start
#这个时候如果报错。并且报错的信息如下
#Cannot load /usr/local/apache2/modules/libphp5.so into server: /usr/local/apache2/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied
#那么请执行
chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache2/modules/libphp5.so
#然后再
service httpd start
#成功开启后如果发现访问不了。请在防火墙中开启80端口和3306端口的访问

推荐阅读
  • Docker入门指南:初探容器化技术
    Docker入门指南:初探容器化技术摘要:Docker 是一个使用 Go 语言开发的开源容器平台,旨在实现应用程序的构建、分发和运行的标准化。通过将应用及其依赖打包成轻量级的容器,Docker 能够确保应用在任何环境中都能一致地运行,从而提高开发和部署的效率。本文将详细介绍 Docker 的基本概念、核心功能以及如何快速上手使用这一强大的容器化工具。 ... [详细]
  • JavaScript XML操作实用工具类:XmlUtilsJS技巧与应用 ... [详细]
  • Jeecg开源社区正式启动第12届架构技术培训班,现已开放报名。本次培训采用师徒制模式,深入探讨Java架构技术。类似于大学导师指导研究生的方式,特别适合在职人员。导师将为学员布置课题,提供丰富的视频资料,并进行一对一指导,帮助学员高效学习和完成任务。我们的教学方法注重实践与理论结合,旨在培养学员的综合技术能力。 ... [详细]
  • PHP与MySQL的Web应用开发技术深入解析
    PHP与MySQL的Web应用开发技术深入解析 ... [详细]
  • 利用树莓派畅享落网电台音乐体验
    最近重新拾起了闲置已久的树莓派,这台小巧的开发板已经沉寂了半年多。上个月闲暇时间较多,我决定将其重新启用。恰逢落网电台进行了改版,回忆起之前在树莓派论坛上看到有人用它来播放豆瓣音乐,便萌生了同样的想法。通过一番调试,终于实现了在树莓派上流畅播放落网电台音乐的功能,带来了全新的音乐享受体验。 ... [详细]
  • 【Linux】CentOS 7 远程连接指南:高效安全的远程管理方法
    在 CentOS 7 中实现高效且安全的远程管理,本文详细介绍了如何检查和安装配置 OpenSSH。首先,通过 `yum list installed` 命令检查系统是否已安装 OpenSSH,若未安装,则使用 `yum install openssh-server` 进行安装。随后,配置 SSH 服务以确保其安全性和稳定性,包括修改默认端口、禁用 root 登录等关键步骤。此外,还提供了常见问题的解决方案,帮助用户顺利进行远程连接。 ... [详细]
  • Hadoop 2.6 主要由 HDFS 和 YARN 两大部分组成,其中 YARN 包含了运行在 ResourceManager 的 JVM 中的组件以及在 NodeManager 中运行的部分。本文深入探讨了 Hadoop 2.6 日志文件的解析方法,并详细介绍了 MapReduce 日志管理的最佳实践,旨在帮助用户更好地理解和优化日志处理流程,提高系统运维效率。 ... [详细]
  • 《精通 jQuery》第六章:深入解析与实战应用
    《精通 jQuery》第六章:深入解析与实战应用本章详细探讨了 Ajax 技术的核心机制及其实际应用。Ajax 通过 XMLHttpRequest 对象实现客户端与服务器之间的异步数据交换,从而在不重新加载整个页面的情况下更新部分内容。这种技术不仅提升了用户体验,还提高了应用的响应速度和效率。此外,本章还介绍了如何利用 jQuery 简化 Ajax 操作,并提供了多个实战案例,帮助读者更好地理解和掌握这一重要技术。 ... [详细]
  • 大数据应用实例:电视收视率分析企业项目实操第二篇
    本文继续探讨大数据在电视收视率分析中的应用,详细介绍了如何在CentOS系统中进行防火墙管理。针对CentOS 6.5及更早版本,提供了具体的命令操作步骤,包括停止防火墙服务和禁用防火墙启动。此外,还深入讨论了这些操作对数据传输和系统安全的影响,为实际项目实施提供了宝贵的技术参考。 ... [详细]
  • 在Linux环境下,本文详细探讨了Apache服务器中CGI技术的应用与实现。首先,通过使用yum包管理器安装了必要的软件,如PHP。安装完成后,对Apache服务器进行了配置,确保CGI功能正常运行。此外,还介绍了如何编写和调试CGI脚本,以及如何在实际环境中部署这些脚本以提供动态网页内容。实验结果表明,通过合理的配置和优化,Apache服务器能够高效地支持CGI应用程序,为用户提供丰富的交互体验。 ... [详细]
  • 七款高效编辑器与笔记工具推荐:KindEditor自动换行功能解析
    本文推荐了七款高效的编辑器与笔记工具,并详细解析了KindEditor的自动换行功能。其中,轻笔记QingBiJi是一款完全免费的记事本软件,用户可以通过其简洁的界面和强大的功能轻松记录和管理日常事务。此外,该软件还支持多平台同步,确保用户在不同设备间无缝切换。 ... [详细]
  • 在遍历集合的过程中,若需根据特定条件对集合进行修改操作,如添加或删除元素,应特别注意避免引发 `ConcurrentModificationException` 异常。例如,在当前场景中,当集合中的对象ID与另一个集合中的对象ID不匹配时,需要向集合中添加新元素。为了避免这一异常,建议使用迭代器的 `remove` 方法或采用线程安全的集合类型,如 `CopyOnWriteArrayList`,以确保操作的安全性和一致性。 ... [详细]
  • 如何在PHP中嵌入JavaScript(2023年最新实践指南) ... [详细]
  • 利用Apache构建高效稳定的Web服务器环境
    本文详细介绍了如何利用Apache构建高效稳定的Web服务器环境。首先,概述了Apache服务器的基本概念及其安装步骤,并深入探讨了相关配置文件的设置方法。接着,通过具体的实验环境示例,展示了服务端(域名:zhangpp63.cn,IP地址:192.168.1.63)和客户端的配置过程,确保读者能够全面理解并实际应用这些技术。此外,还提供了一些优化建议,以提高服务器的性能和稳定性。 ... [详细]
  • 本文深入解析了 Apache 配置文件 `httpd.conf` 和 `.htaccess` 的优化方法,探讨了如何通过合理配置提升服务器性能和安全性。文章详细介绍了这两个文件的关键参数及其作用,并提供了实际应用中的最佳实践,帮助读者更好地理解和运用 Apache 配置。 ... [详细]
author-avatar
摩羯参议院1314
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有