FreeBSD5.3上的PostgreSQL8.0+Apache2.0+JDK1.4.2+Tomcat4.1构建
1 首先安装FreeBSD5.3: 1.1 选择sysinstall进行安装配置 可以从http://freebsd.org获得ISO安装文件(2CD)。可以直接选择“standard”步骤进行选择。在安装软件包的时候注意一并安装Ports和Linux binary compatibility。否则后面安装JDK将很麻烦。其他ports可以选中“all”。 1.2 参照官方安装手册进行安装 1.3 安装完成后配置 例如:网卡、网络服务、帐号、安全…… 2 进行安装开发环境前的准备工作: 2.1 升级ports树,保证ports最新 FreeBSD 5.3的ISO中Postgresql版本还只到
(编辑ports-supfile。
把*default host = 这一行修改为*default host = cvsup.freebsd.org)
2.2 调整内核参数 FreeBSD默认的共享内存和信号量和Postgresql 8.0要求的不一样。
#cp GENERIC pgsql #cat >> pgsql options SYSVSHM options SHMMAXPGS=4096 //**共享内存的最大尺寸是由选SHMMAXPGS以页计) options SHMSEG=256 //**每进程最大共享内存段数量 options SYSVSEM options SEMMNI=256 //**信号灯标识符的最小数量 options SEMMNS=512 //**系统范围的最大信号灯数量 options SEMMNU=256 options SEMMAP=256 //**这两个参数与 "semaphore undo信号灯恢复"有关 ^c (按下ctrl+c,结束编辑)
Kernel build directory is ../compile/pgsql Don't forget to do a “make depend” # cd ../compile/pgsql # make depend # make # make install # reboot 3 安装postgresql8.0: 3.1 安装步骤
# make install
3.2 初始化数据库
3.3 启动数据库服务器
# pg_ctl -D /usr/local/pgsql/data -l logfile 3.4 创建pgsql库
3.5 测试
pgsql-# /l //**显示所有数据库列表,和mysql的show databases功能等同; 默认连接pgsql库,如果前面不创建,这一步就会报错。 3.6 Tips 在pgsql-#的提示下,分两种命令格式,以"/"引导开头的是postgresql的管理命令,再一种就是SQL语句。 /? 显示第一种类型的帮助说明。 /h 显示SQL语言的语句列表 /h show 显示某条语句的说明和语法 /l 列所有数据库 /dt 显示当前数据库中表的信息,与mysql 中show table等同 /c <database name> 连接另外一库 /du 显示用户列表 /! 回到shell下执行操作,exit返回 /q 退出psql 4 安装Apache2:
# make install # make clean 编辑/etc/rc.conf: apache2_enable="YES" inetd_enable="YES" linux_enable="YES" 5 安装JDK1.4: 5.1 安装准备
# make install JDK的安装需要手动下载相关包,在这里ports回分别提示下载网址。以下是安装时候的提示: http://www.eyesbeyond.com/freebsddom/java/jdk14.html 下载bsd-jdk14-patches-7.tar.gz http://www.sun.com/software/communitysource/j2se/java2/download.xml 下载j2sdk-1_4_2-bin-scsl.zip j2sdk-1_4_2-src-scsl.zip http://javashoplm.sun.com/ECom/docs/Welcome.jsp?StoreId=22&PartDetailId=j2sdk-1.4.2_07-oth-JPR&SiteId=JSC&TransactionId=noreg 下载 j2sdk-1_4_2_07-linux-i586.bin 下载的文件放在 /usr/ports/distfiles/
# mount -t linprocfs linprocfs /compat/linux/proc (可以编辑/etc/fstab,使得该文件系统开机自动挂载,还要保证安装了zip包) 5.2 安装JDK 1.4
# make clean 5.3 设置环境变量 修改 /etc/profile添加: export JAVA_HOME="/usr/local/jdk
export CATALINA_HOME="/usr/local/jakarta-tomcat4.1" export CLASSPATH="$JAVA_HOME/lib" 在http://jdbc.postgresql.org/ 下载PostgreSQL数据库的JDBC JAR驱动包。同时在CLASSPATH变量中引用。 6 安装Tomcat4.1:
# make install # make clean 7 安装mod_jk:
# make install # make clean 不建议使用mod_jk2。从
8 Apache+Tomcat: 8.1 配置Apache的虚拟主机 修改 /usr/local/etc/apache2/httpd.conf 去掉注释 #LoadModule jk_module libexec/apache2/mod_jk.so 添加虚拟主机 用192.168.0.53作虚拟主机
ServerAdmin root@localhost DocumentRoot /home/rihua/www ServerName 192.168.0.53 ErrorLog /var/log/192.168.0.53-error_log CustomLog /var/log/192.168.0.53-access_log common <Directory "/home/rihua/www"> Options Indexes FollowSymLinks AllowOverride None Order Deny,Allow Allow from all
</VirtualHost> 添加一行Include etc/apache2/Includes/*.conf 8.2 配置Apache协同Tomcat处理JSP页面 8.2.1 编辑 mod_jk.conf 复制 /usr/local/etc/apache2/mod_jk.conf 到 /usr/local/etc/apache2/Includes/mod_jk.conf (模板文件/usr/local/etc/apache2/mod_jk.conf.sample) ? 将jsp-hostname修改成192.168.0.53 ? Includes路径为workers.properties的路径: /usr/local/etc/apache2/Includes/ ? #mkdir /usr/local/logs # mod_jk.conf 中的 logs 路径,不创建出错 8.2.2 编辑 workers.properties 复制 /usr/ports/www/mod_jk/files/workers.properties.sample 到 /usr/local/etc/apache2/Includes/workers.properties ? workers.properties中的jsp_hostname修改成 192.168.0.53 8.2.3 Tomcat添加虚拟主机 修改 /usr/local/jakarta-tomcat41/conf/server.xml </Host> 后面添加
<Contextpath=""docBase="." /> <Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="192.168.0.53_log." suffix=".txt" timestamp="true" /> </Host> 8.3 改变Tomcat根目录 创建目录/usr/local/jakarta-tomcat4.1/conf/Catalina/192.168.0.53 创建文件/usr/local/jakarta-tomcat4.1/conf/Catalina/192.168.0.53/ROOT.xml ROOT.xml文件内容:
<Logger className="org.apache.catalina.logger.FileLogger" prefix="192.168.0.53_log." suffix=".txt" timestamp="true"/> </Context> 配置完成 8.4 启动服务
#apachectl restart 在/home/rihua/www 创建一个 jsp 文件 http://192.168.0.53/index.jsp <% out.println("Successfully!"); %> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |