分享

(重啟服務器)Cannot load /etc/apache2/modules/mod_rewrite.so

 Alkaid2015 2012-12-16

lamp(linux+apache+mysql+php)安装

1、系统是ubuntu11.04 64位版本

2、从新里德中找到lamp安装选项直接安装(系统-系统管理-新里德软件包管理器-编辑-使用任务分级软件标记软件包-LAMP SERVER);

3、如果找不到也没关系,安装tasksel(sudo apt-get install tasksel),运行sudo tasksel,选择lamp安装也可。

4、分别安装这几个软件的方法在本博客的其它文章中已经存在(http://hi.baidu.com/folk113/blog/item/52f4110fe05c4198d0581b34.html)

zend framework框架

1、framework是一个比较优秀的MVC框架,它可以加快php程序开发,减少重复性工作;

2、framework框架代码运行时候只需要结合apache2进行一些配置即可

以下是服务器运行环境配置过程

1、从www.下载zendstudio8.0 (http://www./en/products/studio/downloads)

2、再从其网站下载最新版的framework库(服务器运行时候需要http://framework./download/current/)

3、 然后有三个地方比较重要,一个就是配置/etc/apache2/httpd.conf文件,在其中添加如下内容;我的项目名称为 zendframework,你要把下面出现这个词的地方换成你的项目名称,这里自由度比较大,ServerName 可以随便改,注意修改/etc/hosts 添加内容 127.0.0.1   zendframework.local此处的名称要与这个ServerName相对应

LoadModule rewrite_module modules/mod_rewrite.so
<VirtualHost *:80>
ServerName zendframework.local
DocumentRoot /var/www/zendframework/public  
SetEnv APPLICATION_ENV "development"
<Directory  /var/www/zendframework/public>
    DirectoryIndex index.php
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

</VirtualHost>

然后在web服务器的主目录中(我的是/var/www)添加.htaccess这个文件

内容如下

RewriteEngine On
RewriteCond %{HTTPS} off

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

重启一下apache2服务器(运行命令 service apache2 restart )出现错误

apache2: Syntax error on line 207 of /etc/apache2/apache2.conf: Syntax error on line 1 of /etc/apache2/httpd.conf: Cannot load /etc/apache2/modules/mod_rewrite.so into server: /etc/apache2/modules/mod_rewrite.so: cannot open shared object file: No such file or directory
Action 'configtest' failed.
The Apache error log may have more information.
   ...fail!

意思就是这个库不存在或者位置不对下面我们从系统里面找一下

使用locate命令发现其存在位置/usr/lib/apache2/modules/mod_rewrite.so

下面把它直接复制过去
先建立目录sudo mkdir /etc/apache2/modules

执行sudo cp /usr/lib/apache2/modules/mod_rewrite.so /etc/apache2/modules

重启服务器成功

最后就是查看apache2运行错误报告发现zendframework库没有添加到library下

把下载的最新版的库解压放到程序的library下即可成功运行了!

在浏览器中输入刚才命名的ServiceName (http://zendframework.local)如果没有问题的话,会出现一个Welcome to the Zend Framework!的界面!自此编程环境和运行环境搭建成功。

如果还有错误可以查看apache2的错误文件,根据系统不同保存的位置也不同,名字是error.log,你可以locate一下

我的获取位置为/var/log/apache2/error.log查看相关错误信息,相信一定能够解决你的问题!

运行环境搭建最重要的三点

1、运行时候所需要的zendframework库

2、服务器下的.htaccess文件

3、apache2服务器httpd.conf文件内容配置

这三点是最重要的,其它都没太大问题。

找出 Apache 設定檔

Posted on April 29th, 2007 Sam Tang 2 comments

各個 Linux Distro 及 control panels 會將 Apache 的設定檔放到不同位置,另外自行編譯及安裝 Apache,預設值會將設定檔放在 /etc/httpd,但編譯時可以指定到其他的位置及檔案名稱。(預設的設定檔名為 httpd.conf)

以下是幾個找出 Apache 設定檔的方法:

1. httpd 指令:

httpd -v | grep HTTPD_ROOT

2. find 及 locate 指令:

因為用 find 要等一段時間,所以建議在使用 find 指令前先試試用 locate 指令:

locate httpd.conf

如果找不到的話,便要用 find 指令來找:

find / -name 'httpd.conf’ -print

3. cPanel 或 Plesk Control Panel

如果是使用 cPanel 或 Plesk Control Panel,會放到 /home/username/ 或 /var/www/vhosts/ 目錄。

[Linux] Apache2的httpd.conf跑哪去了?

by ryan on 十一月.03, 2010, under 系統維護

大多數剛安裝Apache2的人應該會有共同的問題,我的Apache設定檔跑哪去了?許多教學文章敘述的路徑為/etc/apache2/httpd.conf,但無論你怎麼改都是無效,Apache重複啟動N次還是不甩你,這個時候要怎麼辦?哭著跟主管說,因為伺服器設定檔沒辦法修改,所以功能做不到…這個時候遇到腦殘上司還沒關係,隨便呼嚨一下就沒事了;萬一上司是個經驗豐富的高手怎麼辦?不被劈死才怪!為了解決許這個困擾,Ryan決定將這個設定檔公諸於世,讓受苦受難的新手網管能早日解脫…
Apache2的httpd.conf設定擋到底在哪?請參考下方解答…
/etc/apache2/sites-available/default <–就是這個檔案,別懷疑!檔案名稱就叫做default
看完這篇文章後,記得以後要修改設定檔可千萬別又改apache2目錄下的httpd.conf,任憑你改了N次、存了N次的結果都是一樣,毫無效果可言…

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多