您的位置主页 > 服务器专区 > unix > FreeBSD 安装 Apache+PHP+MySQL+Tomcat

FreeBSD 安装 Apache+PHP+MySQL+Tomcat

2009-05-11    文章来源:互联网    浏览次数:2055     分享文章

准备远程环境

默认已经安装了SSH,我们只需要开启就可以了,在rc.conf中加入ssh_enable="YES"
(如果不记得怎么写可以查看/etc/defaults/rc.conf)

注意:系统的软件配置文件在/etc/下 自己安装的在/usr/local/etc/下

1.MySQL

找到了/usr/ports/databases/mysql50-server

cd /usr/ports/databases/mysql50-server

make install clean(make WITH_CHARSET=utf8 WITH_XCHARSET=all WITH_PROC_SCOPE_PTH=yes BUILD_OPTIMIZED=yes BUILD_STATIC=yes SKIP_DNS_CHECK=yes install clean)     #clean会在安装完后把软件包删除,如果以后还要进行配置,可以不加上clean


之后的数据库并没有生成

id mysql #如果提示no such user

则需要添加用户mysql:mysql

运行mysql_install_db #超级管理员即可

就会发现在/var/db下生成了mysql目录,里面就是mysql的数据库文件了

chown -R mysql:mysql /var/db/mysql     # -R是循环,注意,不能用小写 r

在/etc/rc.conf中加入mysql_enable="YES" (echo “mysql_enable="YES"”>> /etc/rc.conf)

/usr/local/etc/rc.d/mysql-server start

如果没有错误的话mysql就运行了

测试:mysql 直接回车,进入mysql操作则说明安装成功。

2.Apache

cd /usr/ports/www/apache22/

make config #设置配置文件,这一步可以省,在make install 的时候也会有配置的

make install clean  #不需要选mysql,在安装php的时候再选就可以
(make WITH_MPM=worker WITHOUT_IPV6=yes WITH_THREADS=yes WITHOUT_SSL=yes install clean)

安装成功

修改一下配置文件httpd.conf (vi /usr/local/etc/apache22/httpd.conf)

在/etc/rc.conf中加入apache22_enable="YES" (echo “apache22_enable="YES"”>> /etc/rc.conf)

/usr/local/etc/rc.d/apache22 start  或  apachectl start

启动成功的话也就可以了

注意:你有可能碰到如下提示
httpd: apr_sockaddr_info_get() failed for linux
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

说明apache的conf目录下的配置文件httpd.conf中关于ServerName的设置和HOSTNAME设置不统一,修改成统一的主机名即可解决该问题。
vi /usr/local/etc/apache22/httpd.conf
把 #ServerName www.exampe.com:80 改为ServerName 127.0.0.1:80 或者你自己的主机

注意:apache22有个bug,不能启动FreeBSD自带的一个基于http端口过滤的模块。这个模块的作用很不错——检查HTTP请求是否完整,符合规则accpt一个Http进程,否则就扔掉。你会遇到如下提示
[Sat Jan 23 22:47:29 2010] [warn] (2)No such file or directory: Failed to enable the 'httpready' Accept Filter

解决方法是:
#kldload accf_http

3.PHP

cd /usr/ports/lang/php5

make install clean (make WITHOUT_X11="YES" WITH_APACHE22=yes install clean)

安装的时候选中那个with apache什么的就可以了

安装后将httpd.conf中的LoadModule 最后一个刚加进去的php的#去掉 (我装的时候它自动去了)

AddType 行加入.php .phps

pkg_info | grep php            #查看软件包信息中的php信息,得到具体版本
pkg_info -D php5-5.2.10   #根据所安装的php版本得到下来两句,加到httpd.conf里面去就可以了

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

加默认首页:

    DirectoryIndex index.html index.htm index.php



测试php:vi test.php,随便写个echo,然后执行php test.php

如果提示插件错误,可vi /usr/local/etc/php/extensions.ini,在这里禁止

测试apache+php:写一个phpinfo()

注意:如果你安装的时候漏了选apache,那就必须重新编译php5了,不过也很快,因为之前编译的不需要再次编译,只需编译apache就可以了,方法如下:
cd /usr/ports/lang/php5

make deinstall

make rmconfig

make install clean (重新选择安装)

4.PHP+MySQL

装mod_php5的时候没有加入mysql支持

cd /usr/ports/lang/php5-extensions/

make install clean ; rehash

选中mysql、gd、imap、calendar、iconv、mbstring、zip、zlib这些常用的一起装上就可以了

注:make instll 的时候会首先运行 make config 让你选择参数,但是经常 make config 是坏的,那他就直接按默认安装了,这时如果还想加上 mysql、gd。。。这些东西,就只能后期加上,直接 make WITH_MYSQL WITH_GD install 即可,其余的类同

到此就架好了Apache+PHP+MySQL

5.安装Tomcat

以前装好了jdk-1.4.2 装Tomcat之前unset JAVA_HOME

cd /usr/ports/www/jakarta-tomcat5

make install clean就可以了

/usr/local/bin/tomcat50ctl start

http://127.0.0.1:8180/

测试通过

6.Tomcat+MySQL

到mysql的官方网站下一个联接器,将相应的jar文件放到

tomcat相应目录下

7.Apache + Tomcat

我刚开始的时候装了mod_jk2-apache2

结果没有成功,又装mod_jk-apache2,也没有成功啊

后来想起在windows下成功过,去看了看,发现用的是mod_jk2

没办法,又回去装了mod_jk2-apache2

将httpd.conf中加载mod_jk2的行启用

之后我将windows下的workers2.properties文件拷到了

/usr/local/etc/apache2下,只做了一处修改

以下是修改后的:

[shm]

info=Scoreboard. Requried for reconfiguration and

status with multiprocess servers.

file=/var/log/shm.file

size=1048576

# Defines a load balancer named lb.

Use even if you only have one machine.

[lb]

# Example socket channel, override port and host.

[channel.socket]

port=8009

host=localhost

# define the worker

[ajp13]

channel=channel.socket:localhost:8009

group=lb

# Map the Tomcat examples webapp to the Web server uri space

[uri:/examples/*]

group=lb

[uri:/admin/*]

group=lb

[status:]

info=Status worker, displays runtime information

[uri:/jkstatus/*]

info=The Tomcat /jkstatus handler

group=status:

[uri:/*.jsp]

worker=ajp13:localhost:8009

之后touch /var/log/shm.file创建shm.file

chown -R www:www var/log/shm.file

之后重启Apache和Tomcat

测试:http://127.0.0.1/index.jsp

 

并将/boot/defaults/loader.conf中,以便下次启动系统自动装载模块
accf_data_load="YES"
accf_http_load="YES"

 

文章评论(查看全部)

昵 称 *
电子邮箱 *
网 址      2 + 7 = ?