Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName的解决方法

今天我在pcDuino的Ubuntu上安装Apache,重启的时候出现错误提示:Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName。后来找到了解决方法,你需要修改 httpd.conf 文件,在命令行中输入以下命令:

vim /etc/apache2/httpd.conf

打开的是一个空文件,在文件中加入以下内容:

ServerName localhost

保存文件退出,重启apache,问题就解决了。

Windows下使用apache的jk_mod连接WAMP和Tomcat

最近在网上看到很多关于使用jk_mod连接Apache和Tomcat的教程,因为本人主攻PHP,用的都是WAMP作为服务器,它内嵌了Apache、MySQL以及PHP。使用网上的很多的教程都是把Tomcat放在D:\Tomcat,Apache放在在D:\Apache,类似这样的位置,就是两个东西是分开的,这样的情况下,假设Tomcat中有一个名字叫home的目录,而Apache下没有,想要使用localhost(和localhost:8080区分)访问Tomcat的东西,那么我们得在Apache的httpd.ini中加上一句:

JkMount /home/* ajp13

告诉Apache我访问home这个目录的时候使用ajp协议连接到Tomcat。如果我们有很多这样的文件,我们每次都要添加这句话是不是显得特别麻烦?所以我的想法是让Apache原本的localhost的目录和Tomcat的webapps目录放到一起,即把Tomcat中的basedoc的路径指向到Apache的网站根目录,这样就可以不用在httpd.ini中添加东西了。

下面说下步骤:

下载安装WAMP

下载地址为:http://www.wampserver.com/en/ 或者直接点击:http://sourceforge.net/projects/wampserver/files/WampServer%202/WampServer%202.2/wampserver2.2e/wampserver2.2e-php5.4.3-httpd2.2.22-mysql5.5.24-32b.exe/download 下载,本人安装的是32位的,大家如果没有特殊的需要建议安装32位的,这样后面很多东西不会混乱,下载完成就是傻瓜式的安装,启动之后只要WAMP的图标是绿色的就表示成功了,访问localhost基本上就可以看到本地的网站目录了,如果不行可以查下是不是80端口被占用了。

下载 安装Java JDK

这个东西的安装这里就不赘述了,自己谷歌去。涉及到环境变量等等。

下载并解压Tomcat

下载地址为:http://tomcat.apache.org/download-70.cgi 或者直接点击:http://apache.fayea.com/apache-mirror/tomcat/tomcat-7/v7.0.39/bin/apache-tomcat-7.0.39.zip 下载,解压之后,进入到Tomcat的目录,将里面的所有文件包括bin、conf、lib等等全部拷到WAMP的目录下,让这些文件和WAMP的www文件夹并列就行了。为了等下验证的方便,把Tomcat的带来的webapps这个目录下的examples等文件夹拷贝到www里面,然后把webapps删掉。

下载并配置jk_mod模块

下载地址为:http://mirror.bit.edu.cn/apache//tomcat/tomcat-connectors/jk/binaries/windows/ ,这里要注意的是你得先看看你的WAMP里的Apache是什么版本左击任务栏的WAMP图标,选中Apache->Version,看看哪个版本前面打了个勾,Apache的版本就是那个了。我这离的2.2.22,额,这么多二。我们刚刚下载的WAMP是32位的,所以在这个下载地址里也选择32位的
tomcat-connectors-1.2.37-windows-i386-httpd-2.2.x.zip 下载。下载完成解压之后,在目录里有一个jk_mod.so,把这个东西拷到WAMP下的 bin->apache->apache2.2.22->modules中。然后打开Apache的httpd.ini,在一大堆的LoadModule中,加入一句话:

LoadModule jk_module modules/mod_jk.so

最好按照字母的顺序放置,jk_module写在isapi_module的下面:

20130429144935

这样方便以后在WAMP中选择开启关闭哪些Apache模块。

接下来到WAMP的conf文件夹(其实是Tomcat那里拷过来的)下,添加一个名为workers.properties的文件,在里面添加内容:

#让mod_jk模块知道Tomcat的位置
workers.tomcat_home="F:/tomcat"

#让mod_jk模块知道jre的位置
workers.java_home="C:/Program Files (x86)/Java/jdk1.7.0_01" 

#模块版本
worker.list=ajp13

#工作端口,若没占用则不用修改
worker.ajp13.port=8009

#本机,若上面的Apache主机不为localhost,作相应修改
worker.ajp13.host=localhost

#类型
worker.ajp13.type=ajp13

#代理数,不用修改
worker.ajp13.lbfactor=1

然后打开这个目录下的server.xml,找到Host这个标签,把appBase改成WAMP的www目录,我这离使用的是相对路径:

<Host name="localhost" appBase="www" unpackWARs="true" autoDeploy="true">

接下来在httpd.ini的最后面加入下面这段:

JkWorkersFile "F:/wamp/conf/workers.properties"
JkLogFile "F:/wamp/bin/apache/apache2.2.22/logs/mod_jk.log" 
JkLogLevel warn  
JkMount /*.jsp ajp13
JkMount /*.do ajp13

上面的JkWorkersFile 就是刚刚那个workers.properties文件的路径,JkMount后面的ajp13跟workers.properties里写的worker.list=ajp13的ajp13要相同。

在httpd.ini中找到:

<IfModule dir_module>
    DirectoryIndex index.php index.php3 index.html index.htm
</IfModule>

在后面加上index.jsp,这样index.jsp就成了默认首页了。

打开服务器

接下来将WAMP重启,然后到WAMP目录的bin下面,双击startup.bat这个批处理程序,打开Tomcat,如果Tomcat没有正常打开很可能是第二步安装Java JDK的时候失败了。现在我假设你的安装正常,然后在浏览器中打开:http://localhost/examples/jsp/ ,如果看到正常的页面:

20130429152042

说明jk_mod连接WAMP和Tomcat的配置成功了!

Zend Framework 2.0在Windows上的安装配置

所有人都知道IT行业里技术更新速度非常快,Zend Framework 1还用得意犹未尽,Zend Framework 2又发布了。尽管如此,我们还是要学习Zend Framework 2,并开始使用它。今天讲讲Zend Framework 2在windows的上的安装,安装步骤如下:

1. 到https://github.com/zendframework/ZendSkeletonApplication下载zip包,解压到你服务器的根目录。

2. 打开windows的cmd,cd到刚刚解压的ZendSkeletonApplication的目录下,执行:D:\wamp\bin\php\php5.3.10\php.exe composer.phar self-update(这里的PHP可执行文件的路径修安排替换成你电脑上的路径),提示:

Updating to version ***********************************************************.
Downloading: 100%
表示更新完成。

3. 在cmd中输入D:\wamp\bin\php\php5.3.10\php.exe composer.phar install,这时候在下载Zend的类库文件等,需要耐心等待。

4. 下载完成之后,你要配置下虚拟主机了,要保证你的服务器rewrite的功能打开。以apache为例,在httpd.ini中加入:

<VirtualHost *:80>
   DocumentRoot "D:/wamp/www/Zend2/public"
   ServerName .local
   # This should be omitted in the production environment
   SetEnv APPLICATION_ENV development
   <Directory "D:/wamp/www/Zend2/public">
       Options Indexes MultiViews FollowSymLinks
       AllowOverride All
       Order allow,deny
       Allow from all
   </Directory>
</VirtualHost>

5.浏览器的地址栏中输入localhost,你就会看到以下页面,就表示Zend Framework 2安装成功了:

20130308215830

Zend Framework无法开启Apache服务器的mod_rewrite模块的解决办法

        Zend Framework的原理是把所有文件的访问都引向单一入口程序index.php,然后再由Zend_Controller_Router_Route进行路由转发,如果使用使用Apache服务器的.htaccess重写规则就必须打开Apache的服务器的mod_rewrite模块,但是很多的服务器是没有打开这个模块的,比如你买了一个空间,结果空间没有打开这个模块,那你又必须使用,怎么办呢?Zend Framework就不可以使用了吗?有的人说不可以,巧妇难为无米之炊。但是我想想觉得如果这个问题都没有解决Zend Framework怎么能在PHP界立足呢?
        后来我找到了解决的方法。方法其实很简单,就是在访问的时候加上index.php就可以了,例如:正常情况下的URL:http://www.youdomain.com/controller/action。现在我们只需把URL改成:http://www.youdomain.com/index.php/controller/action,并把.htaccess删除掉就可以了。

httpd: Syntax error on line 57 of /etc/httpd/httpd.conf: Can

在完成PHP的安装之后,输入/usr/local/apache2/bin/apachectl stop之后出现了如下报错:

httpd: Syntax error on line 57 of /etc/httpd/httpd.conf: Cannot load /usr/local/apache2/modules/libphp5.so into server: /usr/local/apache2/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied

 
尽管系统提示在httpd.conf文件中某一行出了问题,但其实这不是httpd.conf文件的语法错误。其实这个问题是在操作系统被安装的时候选择的SELinux安全设置,为了解决这个问题,使得PHP安装成功,下面我们只要输入:
setenforce 0
这样之后就可以解决我们遇到的这个问题了。

Tonitech版权所有 | 转载请注明出处: http://www.tonitech.com/?p=863