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


Linux上安裝openacs

Openacs的安裝分為四大步:

1.安裝jdk

2.安裝jboss

3.安裝mysql

4.部署openacs

 

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來作為運行環境。

 

JBOSS簡介

JBoss是一個基於J2EE的開放源代碼的應用服務器。 因為JBoss代碼遵循LGPL許可,可以在任何商業應用中免費使用它。在J2EE應用服務器領域,JBoss是發展最為迅速的應用服務器。由於JBoss遵循商業友好的LGPL授權分發,並且由開源社區開發,這使得JBoss廣為流行。JBoss應用服務器還具有許多優秀的特質。

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM