基於CWMP(TR069)協議ACS服務器的搭建

Linux上安裝openacsjava

Openacs的安裝分爲四大步:mysql

1.安裝jdklinux

2.安裝jbossgit

3.安裝mysqlgithub

4.部署openacssql

 

JDK簡介數據庫

Java DevelopmentKit(JDK)是由Sun公司發佈的針對Java開發人員發佈的免費軟件開發工具包(SDK, Software development kit)。自Java推出以來,JDK已經成爲使用最普遍的Java SDK。做爲java語言的SDK,普通用戶不須要安裝JDK來運行Java程序,只須要安裝JRE便可。而程序開發者必須安裝JDK來開發、編譯和調試程序。這裏由於Openacs是基於jdk-1.5.0_22開發的,所以選用1.5版本的JDK來做爲運行環境。centos

 

JBOSS簡介瀏覽器

JBoss是一個基於J2EE的開放源代碼的應用服務器。 由於JBoss代碼遵循LGPL許可,能夠在任何商業應用中無償使用它。在J2EE應用服務器領域,JBoss是發展最爲迅速的應用服務器。因爲JBoss遵循商業友好的LGPL受權分發,而且由開源社區開發,這使得JBoss廣爲流行。JBoss應用服務器還具備許多優秀的特質。bash

 

Openacs簡介

Openacs是一個用Java編寫的開源的ACS服務器,該項目於2007-09-06 由Audrius Valunas發起,通過四年的開發,Openacs已經擁有了很是完善的功能,不只僅能夠做爲CPE開發的輔助測試工具,並且徹底能夠勝任對必定數量的CPE進行遠程管理。Openacs採用B/S模式,能夠經過瀏覽器訪問ACS服務器,對CPE的遠程管理能夠經過編寫Java script來靈活實現。Openacs須要部署在JBoss應用程序服務器,Release的版本有bin(二進制)版本和src(源碼)版本的,其中源碼版本須要使用ant進行編譯。

 

一.安裝JDK1.5

1.從SUN公司的官網上下載二進制格式的JDK安裝包jdk-1_5_0_22-linux-i586.bin

 

2.運行該文件,安裝在/opt目錄下

Cd  /opt

Sh  ./ jdk-1_5_0_22-linux-i586.bin

以後選擇yes,安裝成功會在/opt目錄下生成jdk1.5.0_22目錄。

 

3.安裝成功後須要設置環境變量,在~/.bashrc文件里加入以下語句:

PATH=$PATH:/opt/jdk1.5.0_22/bin

JAVA_HOME=/opt/jdk1.5.0_22

CLASS_PATH=/opt/jdk1.5.0_22/lib/tools.jar

export PATH JAVA_HOME CLASS_PATH 

修改完成後使用source /etc/bashrc來更新環境變量。在終端裏使用java -version來查看環境變量是否設置正確。

 

 

二.安裝JBOSS4.2.2.2

1.下載JBoss的安裝包jboss-4.2.2.GA.zip

2.將安 裝包解壓到/opt文件夾下面,修改環境變量,在~/.bashrc加入以下語句:

PATH=$PATH:/opt/jboss-4.2.2.GA/bin 

JBOSS_HOME=/opt/jboss-4.2.2.GA 

 

3.部署完成後到/opt/jboss/bin目錄下,以./run.sh -b 0.0.0.0 來運行JBOSS,看是否能啓動成功,若是能夠正常瀏覽http://localhost:8080/,說明JBOSS安裝成功。(若是以localhost登錄不進去,就把localhost改成你的ip地址,注意是服務器的ip。)

 

4.若是jboss不能經過ip訪問,注意防火牆的問題

a.把要使用的8080端口打開,執行以下命令:

/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

b.把更改保存,執行以下命令:

/etc/rc.d/init.d/iptables save

c.重啓防火牆,使更改立馬生效,執行以下命令:

/etc/init.d/iptables restart

 

 

三.安裝mysql數據庫

1.由於mysql數據庫在Linux上實在是太流行了,因此目前下載的主流Linux系統版本基本上都集成了mysql數據庫在裏面,咱們能夠經過以下命令來查看咱們的操做系統上是否已經安裝了mysql數據庫

[weishusheng@centos opt]$rpm -qa | grep mysql

有的話,咱們就能夠用已經安裝好的。

 

2.我是經過yum的方式來進行 mysql 的數據庫安裝,首先咱們能夠輸入 yum list | grep mysql 來查看yum上提供的 mysql 數據庫可下載的版本:

[weishusheng@centos opt]$yum list | grep mysql            

 

3.安裝mysql

將mysql  ,mysql-server ,mysql-devel都安裝好(注意:安裝mysql時咱們並非安裝了mysql客戶端就至關於安裝好了mysql數據庫了,咱們還須要安裝mysql-server服務端才行)

[weishusheng@centos opt]$yum install -y mysql-server mysql mysql-deve

 

4.此時咱們能夠經過以下命令,查看剛安裝好的mysql-server的版本

[weishusheng@centos opt]$rpm -qi mysql-server

 

5.啓動mysql

咱們經過輸入 service mysqld star命令就能夠啓動咱們的mysql服務[weishusheng@centos opt]$service mysqld start

這時咱們會看到第一次啓動mysql服務器之後會提示很是多的信息,目的就是對mysql數據庫進行初始化操做,當咱們再次從新啓動mysql服務時,就不會提示這麼多信息了

 

6.咱們在使用mysql數據庫時,都得首先啓動mysqld服務,咱們能夠 經過  chkconfig --list | grep mysqld 命令來查看mysql服務是否是開機自動啓動,如:

[weishusheng@centos opt]$chkconfig mysqld on

 

7.mysql數據庫安裝完之後只會有一個root管理員帳號,可是此時的root帳號還並無爲其設置密碼,在第一次啓動mysql服務時,會進行數據庫的一些初始化工做,在輸出的一大串信息中,咱們看到有這樣一行信息 :

/usr/bin/mysqladmin -u root password 'new-password'  // 爲root帳號設置密碼 

因此咱們能夠經過 該命令來給咱們的root帳號設置密碼(注意:這個root帳號是mysql的root帳號,非Linux的root帳號)。

weishusheng@centos opt]$mysqladmin -u root password 'root'  // 經過該命令給root帳號設置密碼爲 root

 

8.此時咱們就能夠經過 mysql -u root -p 命令來登陸咱們的mysql數據庫了

[weishusheng@centos ~]$ mysql -u root -p

 

9.以root用戶再新建一個openacs用戶, 並設置密碼爲openacs,

mysql> insert into mysql.user (Host,User,Password) values ('localhost','openacs',password('openacs'));

 

10.刷新系統權限表

mysql>flush privileges;

 

11.退出後登陸一下

mysql>exit;

[weishusheng@centOS6 ~]$ mysql -u openacs –p

mysql>登陸成功

 

12.接下來爲openacs受權。我裏我以ROOT身份登陸。
mysql -u root -p
密碼

a.首先爲用戶建立一個數據庫(ACSDB),

mysql> create database ACS;

 

b.在mysql中建立用戶,使該用戶對該數據庫有徹底權限.
能夠用 GRANT命令,格式以下 : 

GRANT 許可權 ON 數據庫名.表名 TO 新用戶名@主機名 IDENTIFIED BY '密碼'; 

如:
mysql> GRANT ALL ON ACS.* TO openacs@localhost IDENTIFIED BY 'openacs';
注:每一句mysql語句後面都跟有「;」號,注意大小寫。

 

 c.查看、使用數據庫

maql -u openacs -p ### 登陸

use ACS;              ###使用/選中ACS數據庫

show tables;           ###查看錶

 

mysql一些經常使用命令

 

查看數據庫: show databases;
使用數據庫: use db_name;
查看錶: show tables;
查看錶結構: describe table_name;
刪除數據庫:drop database db_name;

退出mysql:exit

 

13.將下載到的數據庫驅動解壓,將mysql-connector-java-5.1.7-bin.jar拷貝到 $(JBOSS_HOME)/server/default/lib/下面。

[weishusheng@centOS6mysql]$cp mysql-connector-java-5.1.7-bin.jar ../jboss/jboss-4.2.2.GA/server/default/lib/

至此數據庫和驅動安裝完成。

 

 

四.部署openacs

1.將acs.ear拷貝到/opt/jboss-4.2.2.GA/server/default/deploy/下面。

 

2.修改openacs-ds.xml使其適合你的數據庫的配置:

<?xml version="1.0" encoding="UTF-8"?>

<datasources>

   <local-tx-datasource>

       <jndi-name>ACS</jndi-name>

       <connection-url>jdbc:mysql://localhost/ACS</connection-url>

       <driver-class>com.mysql.jdbc.Driver</driver-class>

       <user-name>openacs</user-name>

       <password>openacs</password>

       <min-pool-size>5</min-pool-size>

       <max-pool-size>20</max-pool-size>

       <idle-timeout-minutes>5</idle-timeout-minutes>

   </local-tx-datasource>

</datasources>

主要是修改user-name和password及connection-url 。

 

3.修改完成後將openacs-ds.xml拷貝到($JBOSS_HOME)/server/default/deploy/下面。

 

4.建立openacs-service.xml(已經有了就不用建立),並拷貝到($JBOSS_HOME)/server/default/deploy/jms下面,openacs-service.xml格式以下所示:

<?xml version="1.0" encoding="UTF-8"?>

<server>

    <mbeancode="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name=acsQueue">

        <dependsoptional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>

    </mbean>

</server>

至此Openacs的配置完成。

到這jboss啓動又失敗,提示信息爲:

17:24:34,951 INFO  [Server] Runtime shutdown hook called, forceHalt: true
17:24:34,951 INFO  [Server] JBoss SHUTDOWN: Undeploying all packages
17:24:34,969 INFO  [Server] Shutdown complete
Shutdown complete
Halting VM

 

個人解決過程:

1.禁用防火牆或者打開8080端口(問題依舊)。

2.在一篇博客看到說是JAVA_HOME路徑的問題,說路徑裏不要包含不常使用的字符,因而我把JAVA_HOME路徑裏的特殊字符去掉。(但仍是登錄不進去)。

3.最終的解決方法很簡單,但也頗費了我一番功夫,找來找去發現是機器重名形成的,直接hostname localhost,用這條命令修更名字。(終於登錄進去了)。

http://192.168.1.21:8080/openacs/

附圖一張

 

 在此給出幾個cwmp相關的服務器和客戶端下載連接

1. Perl CWMP Server

- https://github.com/dpavlin/perl-cwmp

 

2. mini-cwmp

- https://github.com/petersho/mini-cwmp

- http://mini-cwmp.sourceforge.net/

 

3. open-tr069

- http://code.google.com/p/open-tr069/

 

4. OpenACS

- http://sourceforge.net/projects/openacs/

 

5. jCPE

- http://code.google.com/p/jcpe/

 

6. netcwmp

- http://code.google.com/p/netcwmp/

 

7. jCWMPServer

- http://sourceforge.net/projects/jcwmpserver/

- http://ftp.heanet.ie/mirrors/sourceforge/j/project/jc/jcwmpserver/

 

8. cwmpclient

https://bitbucket.org/spapas/cwmpclient

 

目前 openacs的做者已經移除了相關的所有源代碼,再也不維護和更新,也有人建議他不要移除,繼續留在網上,不更新維護也不要緊(由於以前原做者申明openacs是開源的),很遺憾原做者沒贊成。

你們能夠到:http://sourceforge.net/projects/libreacs/去看一下,那裏有沒移除以前的源代碼。

 

 

 

 

 

 

 

              

 

 

 

 

 

                                                      2014.12.16

相關文章
相關標籤/搜索