最近工作之外接了一些项目,都是Linux下apache环境的,本来想直接跑nginx,无奈,都用了很多rewrite,apache和nginx在rewrite上有些语法不太一样,不太想去改这些规则,于是就在同一台服务器上再装了一套apache的环境。
最先想到的是偷懒的方式,让一套php同时支持apache和php-fpm,但在configure的时候会报错。报错的大体内容是说只能二选一。于是保留之前的nginx一套环境不去动她。
在 http://httpd.apache.org/ 下了httpd2.2,
./configure --prefix=/usr/local/httpd
make && make install
apr那些可以不装。
然后在到之前的php目录重新编译php。
php的版本还是之前nginx的那套版本,更多参考:http://www.webyang.net/Html/web/article_129.html
修改编译参数
./configure --prefix=/usr/local/php_httpd --with-config-file-path=/usr/local/php_httpd/etc --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-mbstring --with-mcrypt=/usr/local/mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap --with-pear --enable-pdo --with-pdo-mysql --with-gettext --enable-exif --enable-wddx --enable-calendar --enable-ftp --enable-dba --enable-sysvmsg --enable-sysvshm --enable-debug --enable-maintainer-zts --with-pcre-regex --enable-gd-jis-conv --enable-sockets
去掉 --enable-fpm --enable-embed --with-fpm-user=www --with-fpm-group=www
--enable-embed=TYPE 建立内嵌的SAPI库。参数为shared、static
make && make install
至此,apache的一套环境已经搭好。mysql共用nginx的那套。
/usr/local/httpd/bin/apachectl start
然后改端口,让apache跑起来。
ok,一切安好。centos。
不过本地centos却并不顺利。显示php文件没被解析。
添加下面三句:
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php .phtml .php3
LoadModule php5_module modules/libphp5.so
重启,报错libphp5.so找不到,find / -name 'libphp5.so'
cp 查找的so的路径 module/libphp5.so
再次重启报错。没有权限。
chcon -t textrel_shlib_t libphp5.so
selinux引起的,可以直接关闭selinux。
再次重启,ok。如果设置端口号过大,也会报错。
还是selinux引起的。设置81吧,如果selinux开启的。
结果发现apache没有mod_rewrite模块。
find / -name mod_rewrite.c //在apache的源码安装目录中寻找mod_rewrite.c文件
cd PATH/to/mod_rewrite.c //进入包含mod_rewrite.c文件的目录
/usr/local/httpd/bin/apxs -c mod_rewrite.c //apxs应指定绝对路径,在你当前正在使用apache的bin目录里
/usr/local/httpd/bin/apxs -i -a -n mod_rewrite mod_rewrite.la
如果没有什么错误的话,应该在你的apache的modules目录中编译出一个mod_rewrite.so文件。
编辑httpd.conf文件,确认httpd.conf中已经包含mod_rewrite.so的加载语句,
LoadModule mod_rewrite_module modules/mod_rewrite.so
修改为:
LoadModule rewrite_module modules/mod_rewrite.so
这时,你的apache应该已经支持rewrite了。
不修改会报错:
Can't locate API module structure 'mod_rewrite_module' in file /usr/local/apache2/modules/mod_rewrite.so: Undefined symbol "mod_rewrite_module"
问题总是千奇百态,给有需要的人提供帮助。
相关推荐
在Linux环境下离线安装Apache服务器涉及多个步骤,包括但不限于安装必要的开发工具如GCC、G++等,以及配置相关的库文件如PCRE、OpenSSL等。本文将详细介绍整个流程,并针对特定的操作步骤提供指导。 #### 二、准备...
### Linux下安装并配置Apache+PHP+MySQL #### 一、前言 本文将详细介绍如何在Linux环境下安装和配置Apache Web服务器、PHP解释器以及MySQL数据库管理系统,搭建一个完整的LAMP(Linux Apache MySQL PHP)环境。该...
本教程将详细介绍在Linux上安装Apache的过程,以及如何解决可能出现的问题。我们将主要关注httpd-2.2和httpd-2.4两个版本,这两个版本都是Apache的常见版本。 **1. 确认Linux发行版** 在开始安装Apache之前,你需要...
本文旨在针对Apache在Mac及Linux平台上的安装过程中可能遇到的问题进行详细解析,并提供有效的解决方案,帮助用户顺利完成Apache服务器的搭建与运行。 #### Apache配置测试命令详解 - **`apachectl configtest`**...
### Linux环境下Apache HTTP Server的安装步骤与注意事项 #### 核心知识点概述: 1. **APR(Apache Portable Runtime)**:APR为Apache提供了一个跨平台的API,它支持多种操作系统,包括Linux、Windows等。它是...
在Linux环境下搭建Web服务,通常涉及Apache(HTTP服务器)、MySQL(数据库服务器)和PHP(脚本解释器)的安装与配置。以下将详细介绍如何在Linux系统中安装这三款软件,以及解决可能出现的问题。 首先,我们来看...
本文将详细介绍如何在Linux环境下安装Apache,并解决安装过程中可能遇到的一些常见问题。 #### 二、安装准备工作 在开始安装Apache之前,我们需要准备一些必要的工具和库文件。这些工具和库文件对于Apache的成功...
本安装手册将指导你如何在Linux环境下编译和安装Apache。以下是详细的步骤和注意事项: 1. **获取Apache源码**: 首先,你需要从Apache官方网站下载最新的稳定版本。可以使用`lynx`或`wget`命令来下载源码包。例如...
在`linux安装bugfree.txt`文件中,应包含了安装过程中可能遇到的问题及解决方案。常见问题可能包括: - PHP扩展缺失:检查是否安装了`php-gd`, `php-xml`, `php-curl`等必要扩展。 - MySQL连接失败:检查数据库...
总的来说,Linux下的Subversion安装配置涉及多个步骤,包括环境准备、软件安装、目录结构规划、Apache和Subversion的配置以及权限管理。过程中可能会遇到各种问题,如依赖库缺失、配置错误或权限问题等,解决这些...
《Linux Apache + Tomcat 负载均衡安装与调试详解》 在当今互联网环境中,高可用性和可扩展性是服务器架构的重要考量因素。Linux、Apache 和 Tomcat 的组合是搭建高性能 Web 应用服务器的常见选择,而通过负载均衡...
在实际操作过程中,可能还会遇到依赖性问题、权限问题等,需要根据具体错误提示进行解决。配置过程中务必注意版本兼容性和正确的编译选项,以确保所有组件能够正常工作。此外,定期更新和维护这些软件,以保证系统的...
在Linux环境下,构建Apache、MySQL和PHP(通常称为LAMP环境)的应用是非常常见的需求,尤其对于开发者和系统管理员来说。...如果在编译过程中遇到问题,应具备解决编译错误的能力,或者参考官方文档和社区支持。
### Linux下使用POI读取Word文件出现空指针异常问题解决方案 #### 问题背景 在使用Apache POI处理Word文档时,在Linux环境下遇到了`java.lang.NullPointerException`异常。异常的具体位置出现在`org.apache.poi....
在Linux系统中配置Apache以支持ASP页面访问涉及多个步骤,包括Apache服务器的安装、InstantASP的安装与配置以及必要的环境变量调整等。以下将详细解析这一过程中的关键技术点。 #### 一、环境准备 **操作系统:** ...
在Linux系统上搭建LAMP(Linux、Apache、MySQL、PHP)环境是开发Web应用程序的基础步骤。...在这个过程中,遇到任何问题,都可以查阅相关文档或社区,寻找解决方案。希望这篇详尽的指南对初学者有所帮助。
### 在Linux上安装Apache+ApacheJServ+JSP #### 安装背景及意义 ...当然,实际操作过程中还可能遇到各种问题,例如权限问题、依赖问题等,这些都需要根据具体情况来解决。希望本文能帮助您顺利完成搭建过程。
在Linux环境下,部署WebLogic与Apache服务器是一项关键的任务,这对于构建高效、稳定的企业级Web应用程序至关重要。WebLogic是由Oracle公司提供的一个Java应用服务器,而Apache则是一款广泛应用的开源HTTP服务器。接...
以上步骤详细介绍了如何在Linux环境下手动安装Apache 2.4,包括关闭防火墙、安装基础工具、编译安装Apache所需的各种依赖库等。这种手动安装方式虽然相对繁琐,但具有较高的可扩展性和定制性,能够更好地满足特定...
总结来说,解决Linux下MySQL版本冲突的问题主要步骤包括查找并卸载旧版本MySQL,删除遗留的配置和数据文件,然后安装新版本的MySQL Server和Client。在整个过程中,理解`rpm`命令的使用以及如何检查服务状态是至关...