FreeBSD 安装 Apache+PHP+MySQL+Tomcat
准备远程环境
默认已经安装了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"

文章评论(查看全部)