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