Run OFBiz with MySQL

本文详细介绍了使用MySQL运行OFBiz的步骤,包括用SVN下载OFBiz源码、创建数据库和用户、设置OFBiz环境、修改配置文件、从SVN构建项目,还提供了快速简易的安装设置方法,涉及Java、MySQL、SVN、Ant等技术。

**************************************************
*** How to run OFBiz with MySQL                ***
**************************************************

##################################################
### Download ofbiz source with svn
##################################################
Anonymous (Guest) Access
To connect to the OFBiz SVN Respository for anonymous checkout use your SVN client command line tool:
$ svn co http://svn.ofbiz.org/svn/ofbiz/trunk ofbiz

##################################################
### Create Database&User for OFBiz
##################################################
mysql>create database ofbiz_mysql;
mysql>grant all on *.* to ofbiz_mysql@localhost identified by 'ofbiz_mysql' with grant option;
mysql>create database ofbiz_odbc_mysql;
mysql>grant all on *.* to ofbiz_odbc_mysql@localhost identified by 'ofbiz_odbc_mysql' with grant option;

##################################################
### Set OFBiz Environment
##################################################
----------------------------------------------------------------------------------------------------
set JAVA_HOME=C:/j2sdk1.4.2_04
set CLASSPATH=C:/j2sdk1.4.2_04/lib/dt.jar;C:/j2sdk1.4.2_04/lib/tools.jar;.
----------------------------------------------------------------------------------------------------

#############################################################################
### Modify the [%OFBIZ_HOME%/framework/entity/config/entityengine.xml] file
#############################################################################
----------------------------------------------------------------------------------------------------
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
modify the follow segment:
    <delegator name="default" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main" distributed-cache-clear-enabled="false">
        <group-map group-name="org.ofbiz" datasource-name="localderby"/>
        <group-map group-name="org.ofbiz.odbc" datasource-name="localderbyodbc"/>
    </delegator>
to:
    <delegator name="default" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main" distributed-cache-clear-enabled="false">
        <group-map group-name="org.ofbiz" datasource-name="localmysql"/>
        <group-map group-name="org.ofbiz.odbc" datasource-name="odbcmysql"/>
    </delegator>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
addition,modify the follow segment:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    <datasource name="localmysql"
            helper-class="org.ofbiz.entity.datasource.GenericHelperDAO"
            field-type-name="mysql"
            check-on-start="true"
            add-missing-on-start="true"
            check-pks-on-start="false"
            use-foreign-keys="true"
            join-style="ansi-no-parenthesis"
            alias-view-columns="true"
            drop-fk-use-foreign-key-keyword="true"
            table-type="InnoDB"
            character-set="latin1"
            collate="latin1_general_cs">
        <read-data reader-name="seed"/>
        <read-data reader-name="demo"/>
        <read-data reader-name="ext"/>
        <inline-jdbc
                jdbc-driver="com.mysql.jdbc.Driver"
                jdbc-uri="jdbc:mysql://127.0.0.1/ofbiz?autoReconnect=true"
                jdbc-username="ofbiz"
                jdbc-password="ofbiz"
                isolation-level="ReadCommitted"
                pool-minsize="2"
                pool-maxsize="20"/>
        <!-- <jndi-jdbc jndi-server-name="localjndi" jndi-name="java:/MySqlDataSource" isolation-level="Serializable"/> -->
    </datasource>
to:
    <datasource name="localmysql"
            helper-class="org.ofbiz.entity.datasource.GenericHelperDAO"
            field-type-name="mysql"
            check-on-start="true"
            add-missing-on-start="true"
            check-pks-on-start="false"
            use-foreign-keys="true"
            join-style="ansi-no-parenthesis"
            alias-view-columns="true"
            drop-fk-use-foreign-key-keyword="true"
            table-type="InnoDB"
            character-set="latin1"
            collate="latin1_general_cs">
        <read-data reader-name="seed"/>
        <read-data reader-name="demo"/>
        <read-data reader-name="ext"/>
        <inline-jdbc
                jdbc-driver="com.mysql.jdbc.Driver"
                jdbc-uri="jdbc:mysql://localhost/ofbiz_mysql?autoReconnect=true"
                jdbc-username="ofbiz_mysql"
                jdbc-password="ofbiz_mysql"
                isolation-level="ReadCommitted"
                pool-minsize="2"
                pool-maxsize="20"/>
        <!-- <jndi-jdbc jndi-server-name="localjndi" jndi-name="java:/MySqlDataSource" isolation-level="Serializable"/> -->
    </datasource>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
another,modify the follow segment:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    <datasource name="odbcmysql"
            helper-class="org.ofbiz.entity.datasource.GenericHelperDAO"
            field-type-name="mysql"
            check-on-start="true"
            add-missing-on-start="true"
            check-pks-on-start="false"
            use-foreign-keys="true"
            join-style="ansi-no-parenthesis"
            alias-view-columns="true"
            drop-fk-use-foreign-key-keyword="true"
            table-type="InnoDB"
            character-set="latin1"
            collate="latin1_general_cs">
        <read-data reader-name="seed"/>
        <inline-jdbc
                jdbc-driver="com.mysql.jdbc.Driver"
                jdbc-uri="jdbc:mysql://127.0.0.1/ofbiz_odbc?autoReconnect=true"
                jdbc-username="ofbiz"
                jdbc-password="ofbiz"
                isolation-level="ReadCommitted"
                pool-minsize="2"
                pool-maxsize="20"/>
        <!-- <jndi-jdbc jndi-server-name="localjndi" jndi-name="java:/MySqlDataSource" isolation-level="Serializable"/> -->
    </datasource>
to:
    <datasource name="odbcmysql"
            helper-class="org.ofbiz.entity.datasource.GenericHelperDAO"
            field-type-name="mysql"
            check-on-start="true"
            add-missing-on-start="true"
            check-pks-on-start="false"
            use-foreign-keys="true"
            join-style="ansi-no-parenthesis"
            alias-view-columns="true"
            drop-fk-use-foreign-key-keyword="true"
            table-type="InnoDB"
            character-set="latin1"
            collate="latin1_general_cs">
        <read-data reader-name="seed"/>
        <inline-jdbc
                jdbc-driver="com.mysql.jdbc.Driver"
                jdbc-uri="jdbc:mysql://localhost/ofbiz_odbc_mysql?autoReconnect=true"
                jdbc-username="ofbiz_odbc_mysql"
                jdbc-password="ofbiz_odbc_mysql"
                isolation-level="ReadCommitted"
                pool-minsize="2"
                pool-maxsize="20"/>
        <!-- <jndi-jdbc jndi-server-name="localjndi" jndi-name="java:/MySqlDataSource" isolation-level="Serializable"/> -->
    </datasource>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
----------------------------------------------------------------------------------------------------

##################################################
### Building From SVN
##################################################
----------------------------------------------------------------------------------------------------
1、When building from SVN you will need to have Ant 1.5 or later (see http://ant.apache.org) installed
and setup properly in addition to a Java 1.4 or newer J2SDK (NOT just the JRE, need to full SDK) as
mentioned above.

2、In the directory where you want OFBiz to be, do a SVN checkout of the ofbiz module on the java.net
servers. For example:
svn co http://svn.ofbiz.org/svn/ofbiz/trunk ofbiz
For information on connecting to SVN click here (svn.ofbiz.org).

3、Now go into the "ofbiz" directory and run "ant". It will compile all modules and leave you an executable
jar (ofbiz.jar) in the "ofbiz" directory.

4、To load the seed data, run "ant run-install", or "$JAVA_HOME/bin/java -jar ofbiz.jar install",
or "%JAVA_HOME%/bin/java -jar ofbiz.jar install"

5、To start the server run "ant run", or "$JAVA_HOME/bin/java -jar ofbiz.jar",
or "%JAVA_HOME%/bin/java -jar ofbiz.jar"

6、Another build option in the Ant build script that is useful is "ant clean". That will clean out all built
classes allowing you to run "ant" again to get a clean build. If you are running into funny errors after
updating from SVN in the future, give this clean build process a try first.
----------------------------------------------------------------------------------------------------

##################################################
### Quick & Easy Setup
##################################################
----------------------------------------------------------------------------------------------------
You can get up and running quickly by downloading the OFBiz Complete distribution and following some
simple instructions. For more options and explanations, see the rest of this document.

1、Download and install the Java 2 v1.4 or later JDK/J2SDK (not the JRE, need the full SDK) from Sun's
Java site, and make sure your JAVA_HOME environment variable is set to this JDK after installation
(NOTE that for Mac OS X no JVM setup is needed, just make sure you are up to date with the Java 1.4 series
with the OS X Software Update facility).

2、Download the OFBiz Apps archive and unzip it in the directory of your choice. This should create one
sub-directory: ofbiz. This will be the OFBIZ_HOME location.
 
3、Start OFBiz with embedded Jetty by going into the ofbiz directory and then running "startofbiz.bat" (or
"%JAVA_HOME%/bin/java -jar ofbiz.jar") for Windows, or "./startofbiz.sh" (or "$JAVA_HOME/bin/java -jar ofbiz.jar")
for Linux/Unix. For OS X you can just run "java -jar ofbiz.jar" and you don't need to setup the JAVA_HOME
or anything because it is already there.

4、Open a browser and go to http://127.0.0.1:8080/ecommerce for the ecommerce application or
https://127.0.0.1:8443/webtools for the WebTools application or https://127.0.0.1:8443/catalog
for the Catalog Manager application.

5、The default administrative account is username: "admin", password: "ofbiz".

6、Have fun with it! You are running on a Java database. For more discussion of databases, read the section below
on that topic.

7、For more detailed options and configuration information, read on!
----------------------------------------------------------------------------------------------------

参考网址:

http://svn.ofbiz.org/

http://www.supcode.com/Article/html/4/50/2005/03/07/038245534451.shtml (OFBIZ安装与配置)

import nmap import socket import requests import paramiko import threading import argparse from datetime import datetime from bs4 import BeautifulSoup from urllib.parse import urljoin class VulnerabilityScanner: def __init__(self, target, ports=None, threads=10): """ 初始化漏洞扫描器 参数: target (str): 目标IP或域名 ports (str): 要扫描的端口范围,如 '1-1000' threads (int): 线程数 """ self.target = target self.ports = ports or '1-1000' self.threads = threads self.results = { 'target': target, 'start_time': datetime.now().isoformat(), 'open_ports': [], 'services': {}, 'vulnerabilities': [] } self.lock = threading.Lock() def validate_target(self): """验证目标地址是否有效""" try: socket.gethostbyname(self.target) return True except socket.gaierror: print(f"[!] 无法解析目标: {self.target}") return False def port_scan(self): """使用nmap进行端口扫描""" if not self.validate_target(): return False print(f"[*] 开始扫描 {self.target} 的端口 {self.ports}...") try: nm = nmap.PortScanner() nm.scan(hosts=self.target, ports=self.ports, arguments=f'-T4 --min-parallelism {self.threads}') for host in nm.all_hosts(): for proto in nm[host].all_protocols(): ports = nm[host][proto].keys() for port in sorted(ports): service = nm[host][proto][port]['name'] state = nm[host][proto][port]['state'] if state == 'open': with self.lock: self.results['open_ports'].append(port) self.results['services'][port] = { 'protocol': proto, 'service': service, 'product': nm[host][proto][port].get('product', ''), 'version': nm[host][proto][port].get('version', '') } print(f"[+] 发现开放端口: {port}/{proto} - {service}") return True except nmap.PortScannerError as e: print(f"[!] Nmap扫描错误: {e}") return False except Exception as e: print(f"[!] 扫描过程中发生错误: {e}") return False def check_weak_passwords(self, port, service): """检测常见服务的弱口令""" common_credentials = { 'ssh': [('root', 'root'), ('admin', 'admin'), ('root', 'password')], 'ftp': [('anonymous', ''), ('admin', 'admin')], 'telnet': [('root', 'root'), ('admin', 'admin')], 'mysql': [('root', ''), ('root', 'root')] } if service not in common_credentials: return print(f"[*] 正在检测 {service.upper()} 弱口令...") if service == 'ssh': ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) for username, password in common_credentials[service]: try: ssh.connect(self.target, port=port, username=username, password=password, timeout=5) ssh.close() with self.lock: self.results['vulnerabilities'].append({ 'type': 'weak_password', 'port': port, 'service': service, 'credentials': f"{username}:{password}", 'severity': 'high' }) print(f"[!] 发现弱口令: {service} - {username}:{password}") break except: continue # 可以添加其他服务的弱口令检测逻辑 def check_sql_injection(self, url): """检测SQL注入漏洞""" if not url.startswith(('http://', 'https://')): url = f"http://{url}" print(f"[*] 正在检测 {url} 的SQL注入漏洞...") test_payloads = [ "'", "\"", "' OR '1'='1", "\" OR \"1\"=\"1", "' OR 1=1--", ] 怎么使用
最新发布
06-18
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值