SERWEB的安裝備忘錄

對於SERWEB,我要說確實是一個好東西,SIP快速路由器的用戶接口,包括管理員和普通帳號的雙系統,基於LAMP平臺,使用了Smarty模板,並用了XMLRPC實現了點擊撥叫和SIP即時通信等,雖然功能還不完善,但確實是一個非常好的範例。支持多語言,模板化翻譯,本地化很方便。
 
遺憾的是雖然其文檔中號稱支持多數據庫,包括我最喜愛的Postgresql,但實驗下來發現圖有其表,真正要達到數據庫的遷移還需要自己來進行改寫,這是後話了,先把安裝記錄下來吧。安裝的部分參考了一些開源文檔,整理如下:
 
1、解壓serweb-0.9.6.tar.gz,並將解壓後的文件夾中的所有內容複製到你所想安裝serweb的文件夾下。
  譬如我的操作是:
  shell> tar -zxvf serweb-0.9.6.tar.gz
  shell> cp -r serweb-0.9.6/* /usr/local/seradmin
  shell> cd /usr/local/seradmin
 
2、修改serweb的配置文件
  (1)apache的httpd.conf配置文件
      DocumentRoot的值設爲"/usr/local".
 
  (2)打開/config下的config.php文件,
      $config->enable_dial_voicemail的值由false改爲true;
      $config->enable_loging的值由false改爲true.
      如果你希望能夠登錄,保證你安裝了PEAR安裝包LOG;保證你的網絡服務器擁有將文件寫入文件/var/log/serweb的權限,這可以使用下面的命令:
        shell> touch /var/log/serweb
        shell> chown apache /var/log/serweb
 
  (3)config_data_layer.php
      檢查資料庫相關的設定如db_type, db_host, db_name, db_user and db_pass等,是否符合你主機上的設定,如果不符請修改。
 
  (4)config_paths.php
      <1> $config->root_path的值"/serweb/",根據你的html所在位置的實際情況修改,比如我的就是"/seradmin/html/"。要注意的是值的頭尾都有"/",不論少了哪一個"/"都會使顯示的時候圖片和顏色不顯示在瀏覽器上。而前在"/seradmin"前不可以有"/usr/local"部分,因爲在apache的配置文件httpd.conf中已經將地址設爲了"/usr/local",如果在$config->root_path的值中在加上,就是畫蛇添足了。
      <2> fifo_server的預設值爲/tmp/ser_fifo,如果你在 config_paths.php 中沒有變更,這個部分常引起錯誤卻很難查出原因,重點在於必須去 /tmp目錄下將ser_fifo 這個檔案的擁有者改成web server的身份,以RH linux而言就是改變擁有者爲apache,這樣網頁服務器纔有寫入的權限。或者是在ser.cfg 中fifo="/tmp/ser_fifo" 之後增加fifo_mode=0666
      <3> 另一個要改權限的地方也在 /tmp 目錄,同樣是 config_paths.php 中的設定,/tmp/serweb/目錄也請將擁有者改爲apache。
          shell> chomd 777 /tmp/serweb
 
  (5)打開/usr/local/seradmin/html/domains/_default/config.php
      $config->default_timezone的值由America/New_York改爲Asia/Shanghai.
 
  (6)如果你的主機有多個domain name,請把 /home/serweb/html/domains/_default1此目錄複製成其他的domain name並修改內部的相關設定即可。----->這裏沒有驗證過

  (7)安裝pear和pecl
      shell> pear list
      shell> pear install DB
     
      // 還需要安裝的pear包有:XML_RPC,Log,HTML_Template_IT,HTTP,Mail,Net_SMTP,Net_Socket,Net_UserAgent_Detect,XML_Parser
      shell> pecl list
      shell> pecl install classkit-beta
      shell> pecl install runkit-beta
 
  (8)php的php.ini配置文件,php.ini文件在/usr/local/lib下
      確認你的php.ini檔案裏已經設定short_open_tag = on , register_globals = on .
      並加入以下幾行內容: 
      extension=classkit.so
      extension=runkit.so
      include_path = ".:/usr/local/lib/php"
      extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20050922/"
      // 所用的文件夾是classkit、runkit默認安裝.so文件所在的文件夾。
      // extension_dir是classkit.so、runkit.so的默認路徑
      如果擔心php.ini還有錯誤,可以用shell> php /usr/local/serweb/scripts/cron_job/read_ser_moni.php來測試.
 
  (9)/usr/local/serweb/html/page.php中修改:
      virtual(multidomain_get_file($config->html_prolog));       
      virtual(multidomain_get_file($config->html_separator));
      virtual(multidomain_get_file($config->html_epilog));
      這三句註釋掉.瀏覽器上顯示的時候就不會出現錯誤了.
 
  (10)可以使用serweb了.用[url=mailto:[email protected]][email protected][/url]ladmin和heslo作爲用戶名和密碼登錄serweb.
      localhost.localadmin是在數據庫ser的subscriber表格中的domain屬性.如果admin後不加上這個,就不能登錄.
      以管理者登入,打開瀏覽器,輸入[url]http://your_domain/seradmin/html/admin/index.php[/url]
      當然,路徑名稱請依照你的環境修改,照上面輸入是看不到任何東西的。
      如果一切正常的話,應該會看到登入的畫面。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章