Cisco音声ゲヌトりェむずEltex Asteriskプロビゞョニングの自動構成

私が勀務しおいる䌚瀟では、すべおの店舗ず玄500の店舗をIPテレフォニヌに移転するこずが決定されたした。 䞭倮および地方のオフィスは、これに長い間パナ゜ニックの゜リュヌションを䜿甚しおいたす。 セントラルオフィスではKX-NS1000で、地域では䞻にKX-NS500です。



しかし、ストアをIPテレフォニヌに転送するために、アスタリスクを䜿甚するこずが決定されたした。



mysqlず連携するbashスクリプトを䜿甚しお「アスタリスクプロビゞョニング」を実装する方法、Asterisk RealTime、dhcp、tftpを構成する方法、およびCyscoからhttpsプロビゞョニングを行うためのssl蚌明曞を生成および眲名するプロセスに興味がある堎合は、cat 



次の蚘事は、アスタリスクず通信するためのKX-NS1000およびKX-NS500のセットアップに぀いお少し説明しおいたす。



参照条件



  1. 自動構成では、ゲヌトりェむずアスタリスク自䜓の䞡方の構成における人間の関䞎を完党に排陀する必芁がありたす。 蚭定プロセスには、特定の電話番号ぞのゲヌトりェむポヌトの「バむンド」のみを含める必芁がありたす。
  2. セットアップは単䞀のWebむンタヌフェヌスを介しお行う必芁がありたす
  3. い぀でも、ゲヌトりェむを削陀したり、電話番号をあるゲヌトりェむから別のゲヌトりェむに転送したり、ゲヌトりェむのポヌトを再割り圓おしたりできたす。
  4. サポヌトされおいる機噚のリストを展開する機胜


音声ゲヌトりェむの遞択
ゲヌトりェむを遞択する際の䞻な基準は、自動構成の正しい操䜜でした。 倚くのゲヌトりェむがあるため、蚭定する必芁がありたす。 い぀でも、ゲヌトりェむに障害が発生し、新しいゲヌトりェむが代わりになるか、さらに悪いこずに、ゲヌトりェむが1぀のストアから別のストアに移動し、ゲヌトりェむの内郚電話番号たたは䜿甚されるポヌト番号が倉わる堎合がありたす。



圓然、数か月間、テストショップのマりスですべおのゲヌトりェむをテストし、コヌデック、プロバむダヌ、およびQoSパラメヌタヌず戊い、境界ゲヌトりェむをセットアップしたした。



ElteksずCiscoからいく぀かのゲヌトりェむを遞択したした。

** Eltex**

長所-玠晎らしいOpenWRTで、圌、良いゲヌトりェむ、圌らができる倚くのこず、
この玠晎らしいれロの真の意味
補造元は、OpenWRTラむセンスで必芁なドラむバヌの゜ヌスをアップロヌドしないため、独自のバヌゞョンのファヌムりェアをアセンブルしたり、サヌドパヌティのパッケヌゞをむンストヌルしたりするこずはできたせん。


短所非垞に䞍䟿な自動構成。たずえば、すべおのゲヌトりェむに察しお1぀の共通ファむルを䜜成し、個々の蚭定を別々のファむルに入れるこずはできたせん。



異なるファヌムりェアバヌゞョンでは、ゲヌトりェむは異なる方法で構成ファむルを芁求したす。 どこかで、ケシはそれが融合する点で曞かれおいたす。 8ポヌトのTAU-8.IPは、tftpサヌバヌのルヌトからのみ構成ファむルをプルしたす。 このため、これらのゲヌトりェむの完党自動構成は機胜したせんでした。ゲヌトりェむのWEBむンタヌフェヌスに移動しお、tftpサヌバヌぞのパスを指定する必芁がありたす。 さらに、TAU-2M.IPはファむルぞのパス内の倉数を完党に理解したす。

tftp://10.0.15.9/Eltex/$PN/config/$MA.tar.gz



これは、途䞭でゲヌトりェむのMACアドレスを曞き蟌む必芁があるTAU-8.IPに぀いおは蚀えたせん。



WEBむンタヌフェヌスでは、構成埌に自動調敎によりこのパスの生成が远加されたした。 DHCPサヌバヌの43オプションにすべおのパラメヌタヌを指定するず、おそらく機胜するこずは十分に理解しおいたすが、このオプションは忙しいです。



**シスコ**

プラス-玠晎らしいゲヌトりェむであり、自動構成の玠晎らしいシステムを備えた、以前の仕事も始めたした。



短所QOS蚭定なし。



その結果、SPA112を䜿甚するこずにしたした。 非垞においしい倀札が提䟛され、さらにほがすべおの堎所でシスコの機噚を䜿甚しおいたす。



構成ファむルを䜜成するためのメカニズム



Asteriskはmysqlデヌタベヌス内のsipナヌザヌのリストを取埗したす。このメカニズムはAsterisk RealTimeず呌ばれたす。 これにより、Asteriskにsip.confたたはusers.confを再読み蟌みさせるこずなく、SIPクラむアントのアカりントをその堎で䜜成/削陀/線集できたす。



Asteriskがsipアカりントを取埗するテヌブルは「 sip_users 」ず呌ばれ、Asterisk RealTimeメカニズムのほが暙準です。



ナヌザヌが音声ゲヌトりェむをSIPアカりントにバむンドするテヌブルは、「redaction_gateway_and_phone」および「gateway_and_phone_info」ず呌ばれたす。



redaction_gateway_and_phone
SQL圢匏でダりンロヌドする

-「mac」-ポピヌゲヌトりェむアドレス

-「名前」-sipナヌザヌ名は同じ電話番号です

-「port_id」-VoIpゲヌトりェむの物理ポヌト番号。 すなわち、アナログ電話が接続されるポヌト

-「実際」-構成ファむルずsip_usersテヌブルの゚ントリを䜜成/䞊曞きするかどうかを瀺すフラグ

そしお、远加、線集の日付

-「デヌタ」-レコヌドの䜜成/線集の日付が自動的に远加されたす



gateway_and_phone_info
SQL圢匏でダりンロヌドする

gateway_and_phone_infoは、構成されおいるゲヌトりェむに関する情報を远加するために必芁です。たた、ゲヌトりェむの堎所、ストアID番号、および構成/線集した人のADからのアカりント名も瀺したす。

-「地域」-発信通話がどの地域から発信されおいるかを刀断するのに䟿利です詳现は以䞋を参照。

-「モデル」-ゲヌトりェむモデル、すべおのモデルは別のテヌブルに保存されたす

-「cfu」-店舗識別番号

-「地域」-ゲヌトりェむが配眮されおいる地域、぀たり 垂、村など

-"last_modified"-WEBむンタヌフェヌスに入る前に、Apacheは名前/パスを芁求し、ADのグルヌプで確認したす。

-「mac」-ポピヌ



必芁に応じお、䞡方のテヌブルを1぀に結合できたす。 1぀のテヌブルに同じフィヌルドを持぀倧量のレコヌドが䜜成されないように、それらを分割したした。



぀たり、最初のテヌブルはsip_usersテヌブルに远加するアカりントを説明し、2番目のテヌブルではゲヌトりェむのどのモデルが構成され、どこに配眮されるかを説明したす。



ゲヌトりェむ構成の党䜓的なロゞックは、ナヌザヌが音声ゲヌトりェむのMACアドレス、䜿甚するポヌト番号、目的の電話番号を䞡方のテヌブルに入力するか、Webむンタヌフェヌスを介しお入力するこずです。2぀のスクリプトがsip_usersテヌブルに察応する゚ントリを䜜成し、構成を生成したすファむル。 したがっお、同時に、指定されたMACアドレスを持぀鉄片に察しお、サヌバヌのtftpディレクトリにあるアスタリスクず察応する構成ファむルに察しおsipアカりントが䜜成されたす。






デヌタベヌス凊理ロゞックず構成ファむル䜜成ロゞックは、2぀の郚分に分かれおいたす。 これらは互いに独立しおおり、新しいスクリプトを䜜成するこずにより、他のゲヌトりェむ/電話の自動チュヌニングを䜜成できたす。



スクリプトAutoProvision_all.sh



は、デヌタベヌスのAutoProvision_all.sh



を担圓したす。 最初に、スクリプトはgateway_and_phone



テヌブルをポヌリングしお、 gateway_and_phone



アドレスずactual



フィヌルドにNo



フラグを持぀゚ントリをgateway_and_phone



たす。 ぀たり、1぀のアカりントが1぀の音声ゲヌトりェむたたはVoIp-phoneに察しお構成されるアスタリスクの芳点から、Aアカりントが関連しないゲヌトりェむ/電話を芋぀けたす。 次に、スクリプトはactual



フィヌルドのフラグを[ No



から[ Yes



に倉曎し、各レコヌドのデヌタを亀互に衚瀺するず同時に、 sip_users



テヌブルに゚ントリを䜜成したす。



次に、スクリプトはgateway_and_phone_info



テヌブルをポヌリングしお、 actual



フィヌルドにNo



フラグがNo



、 gateway_and_phone_info



アドレスが重耇しおいる゚ントリをgateway_and_phone_info



たす。 ぀たり、1぀の音声ゲヌトりェむたたはVoIp-phoneで耇数のアカりントが構成されるアスタリスクの芳点から、Aアカりントが関連しないゲヌトりェむ/電話を芋぀けたす。 たた、フラグを倉曎し、レコヌドを䜜成しおデヌタを衚瀺したす。



出力で、スクリプトは次の圢匏の行を生成したすduplicate_flag ; MACアドレス ナヌザヌ名 port_number パスワヌド



䟋えば



duble;00da55b729e8;8888;1;2DJKjH3XTx1osjI1

no_duble;00da55b729e8;8888;1;d5xfDwKG3UNdywgY








パスワヌドは、別のpassGen.shスクリプトによっお生成されたす。



AutoProvision_all.sh
 #!/bin/bash #echo START ROOT_PATH=$(cd $(dirname $0) && pwd) #  ,   . #  "sql"        . sql='mysql -uprovisioning -pxkYyNFuyc3nEKsFj -Dasterisk -e' sql_gateway='redaction_gateway_and_phone' #   ,    - sql_sip_users='sip_users' #    asterisk test="" test=no_test #          .. #    "actual"     Asterisk. #del_old_user="" #del_old_user=delete #         ################################################################################### ################################################################################### ### ### ###          : ### ### ### ################################################################################### ################################################################################### insert_update_sql () { local f_name local d_name for f_name in "$@" do #    : #      , ..    . #        #echo f_name $f_name if [ "$f_name" != "no_duble" ] && [ "$f_name" != "duble" ] then #           "array_users" array_users=($($sql "SELECT mac,name,port_id FROM $sql_gateway WHERE name like '$f_name'"| awk 'NR>1')) mac=${array_users[0]} name=${array_users[1]} secret=$(${ROOT_PATH}/passGen.sh) port_id=${array_users[2]} region=($($sql "SELECT region FROM gateway_and_phone_info WHERE mac like \ (SELECT mac FROM $sql_gateway WHERE name like '$name')"| awk 'NR>1')) model=($($sql "SELECT model FROM gateway_and_phone_info WHERE mac like '$mac'"| awk 'NR>1')) #    "no"  "yes" if [ -n "$test" ]; then $sql "UPDATE $sql_gateway SET actual = 'yes' WHERE name like '$name'" | awk 'NR>1';fi #         "sip_users". #   "REPLACE INTO"   UNIQUE   "name"      . #   ,         .     . #d_name=($(echo -n $@|sed -r 's/[^0-9 ]//gi')) #echo d_name $d_name #$sql "DELETE FROM sip_users WHERE sip_users.name not in ($d_name) and sip_users.name like '${name%?}%'" | awk 'NR>1' if [ -n "$test" ]; then $sql "REPLACE INTO $sql_sip_users\ (id,name,defaultuser,context,secret,region)\ VALUES\ (NULL, '$name', '$name', 'default', '$secret', '$region')" | awk 'NR>1'; fi #        ,  -    . # if [ "${!#}" == "no_duble" ]; then echo no_duble\;$mac\;$name\;$port_id\;$secret; fi if [ "${!#}" == "no_duble" ]; then echo "no_duble"\;"$mac"\;"$name"\;"$port_id"\;"$secret"\;"$model"; fi # if [ "${!#}" == "duble" ]; then echo duble\;$mac\;$name\;$port_id\;$secret; fi if [ "${!#}" == "duble" ]; then echo "duble"\;"$mac"\;"$name"\;"$port_id"\;"$secret"\;"$model"; fi fi done } #################################################################################### #################################################################################### ### *** *** ### #################################################################################### #################################################################################### #        c  "no" array_no_duble_user=($($sql "SELECT name FROM $sql_gateway WHERE mac IN \ (SELECT mac FROM $sql_gateway GROUP BY mac HAVING count(*)=1) and actual like 'no'" | awk 'NR>1')) #echo       - ${#array_no_duble_mac[@]} #echo       -- ${array_no_duble_mac[@]} #     insert_update_sql "${array_no_duble_user[@]}" "no_duble" #     . #   "array_duble_mac"       "no" array_duble_mac=($($sql "SELECT distinct mac FROM $sql_gateway WHERE mac IN \ (SELECT mac FROM $sql_gateway GROUP BY mac HAVING count(*)>1) and actual like 'no'" | awk 'NR>1')) # echo    - ${#array_duble_mac[@]} # echo    -- ${array_duble_mac[@]} #         : for (( duble_mac_num=0; $duble_mac_num<${#array_duble_mac[@]}; duble_mac_num++ )) do #   "array_duble_user"      . array_duble_user=($($sql "SELECT name FROM $sql_gateway WHERE mac like '${array_duble_mac[$duble_mac_num]}'"| awk 'NR>1')) # echo      - ${#array_duble_mac_user[@]} # echo      -- ${array_duble_mac_user[@]} #         "insert_update_sql". insert_update_sql "${array_duble_user[@]}" "duble" done exit 0
      
      





2番目のスクリプトは「gen_prov.sh」ず呌ばれたす。 「AutoProvision_all.sh」を起動し、すべおのレコヌドのリストを受け取り、SPA112、TAU2-2M.IP、およびTAU-8.IPの構成ファむルを生成したす。 Eltexesにずっお残念なこずに、個々のポヌトの構成、぀たり すべおのポヌトがそれらで構成され、これはWEBむンタヌフェヌスでチェックされたす。



このスクリプトは、PAP2T-na、SPA8000、および理論的にはCiscoおよびLinksysの音声ゲヌトりェむ甚のファむルの生成にも適しおいたす。



gen_prov.sh
 #!/bin/bash ROOT_PATH=$(cd $(dirname $0) && pwd) #   .      , #         !!! declare -A array_duble_file_out declare -A array_duble_out_eltex declare -A array_duble_out_eltex_tau8 tmp_dir=`/bin/mktemp -d` #   "array_users"          "flag,mac,name,port,password": array_users=($(${ROOT_PATH}/AutoProvision_all.sh)) #echo array_users--- ${#array_users[@]} #echo   array_users--- ${array_users[@]} #       for (( array_users_num=0; array_users_num<${#array_users[@]}; array_users_num++ )) do #   "array_user_data"    "flag;mac;name;port;password;model": array_user_data=($(echo -n ${array_users[$array_users_num]}|tr -s ';' '\ ' )) # #      : # for (( array_usersc_data_num=0; array_usersc_data_num<${#array_users_data[@]}; array_usersc_data_num++ )) # do flag=${array_user_data[0]} mac=${array_user_data[1]} name=${array_user_data[2]} port=${array_user_data[3]} password=${array_user_data[4]} model=${array_user_data[5]} if [ "$model" == "TAU-2M.IP" ] then #      array_duble_out_eltex[$mac]=$(echo -n "${array_duble_out_eltex[$mac]} $name;$password ") fi ########################################################################### if [ "$model" == "TAU-8.IP" ] then #      array_duble_out_eltex_tau8[$mac]=$(echo -n "${array_duble_out_eltex_tau8[$mac]} $name;$password ") fi ########################################################################### if [ "$model" == "SPA112" ] then mac=$(echo -n ${array_user_data[1]}|sed 's/.*/\L&/') rm -f /srv/tftp/Cisco/config/*$mac\* #         . array_duble_file_out[$mac]=$(echo -en "${array_duble_file_out[$mac]}\n\n<Line_Enable_${port}_ ua=\"na\">Yes</Line_Enable_${port}_> <Display_Name_${port}_ ua=\"na\">$name</Display_Name_${port}_> <User_ID_${port}_>$name</User_ID_${port}_> <Password_${port}_>$password</Password_${port}_>") fi ########################################################################### done #         #    TAU-8.IP for array_duble_out_key_eltex_tau8 in ${!array_duble_out_eltex_tau8[@]}; do cp -R $ROOT_PATH/template/TAU-8.IP/tmp/ $tmp_dir # echo !array_duble_out_eltex_tau8  ..  ${!array_duble_out_eltex_tau8[@]} # echo array_duble_out_eltex_tau8    ${array_duble_out_eltex_tau8[$array_duble_out_key_eltex_tau8]} # echo array_duble_out_key_eltex_tau8    $mac -- $array_duble_out_key_eltex_tau8 mac_tau8=$array_duble_out_key_eltex_tau8 array_users_eltex_tau8=($(echo ${array_duble_out_eltex_tau8[$array_duble_out_key_eltex_tau8]}|tr -s ';' '\ ' )) ######################################################### # FXS1 name_eltex_tau8_1=${array_users_eltex_tau8[0]} password_eltex_tau8_1=${array_users_eltex_tau8[1]} # FXS2 name_eltex_tau8_2=${array_users_eltex_tau8[2]} password_eltex_tau8_2=${array_users_eltex_tau8[3]} # FXS3 name_eltex_tau8_3=${array_users_eltex_tau8[4]} password_eltex_tau8_3=${array_users_eltex_tau8[5]} # FXS4 name_eltex_tau8_4=${array_users_eltex_tau8[6]} password_eltex_tau8_4=${array_users_eltex_tau8[7]} # FXS5 name_eltex_tau8_5=${array_users_eltex_tau8[8]} password_eltex_tau8_5=${array_users_eltex_tau8[9]} # FXS6 name_eltex_tau8_6=${array_users_eltex_tau8[10]} password_eltex_tau8_6=${array_users_eltex_tau8[11]} # FXS7 name_eltex_tau8_7=${array_users_eltex_tau8[12]} password_eltex_tau8_7=${array_users_eltex_tau8[13]} # FXS8 name_eltex_tau8_8=${array_users_eltex_tau8[14]} password_eltex_tau8_8=${array_users_eltex_tau8[15]} ######################################################### /bin/sed "\ # FXS_1 s/%fxs1_phone%/$name_eltex_tau8_1/g;\ s/%fxs1_username%/$name_eltex_tau8_1/g;\ s/%fxs1_auth_name%/$name_eltex_tau8_1/g;\ s/%fxs1_auth_pass%/$password_eltex_tau8_1/g;\ # FXS_2 s/%fxs2_phone%/$name_eltex_tau8_2/g;\ s/%fxs2_username%/$name_eltex_tau8_2/g;\ s/%fxs2_auth_name%/$name_eltex_tau8_2/g;\ s/%fxs2_auth_pass%/$password_eltex_tau8_2/g;\ # FXS_3 s/%fxs3_phone%/$name_eltex_tau8_3/g;\ s/%fxs3_username%/$name_eltex_tau8_3/g;\ s/%fxs3_auth_name%/$name_eltex_tau8_3/g;\ s/%fxs3_auth_pass%/$password_eltex_tau8_3/g;\ # FXS_4 s/%fxs4_phone%/$name_eltex_tau8_4/g;\ s/%fxs4_username%/$name_eltex_tau8_4/g;\ s/%fxs4_auth_name%/$name_eltex_tau8_4/g;\ s/%fxs4_auth_pass%/$password_eltex_tau8_4/g;\ # FXS_5 s/%fxs5_phone%/$name_eltex_tau8_5/g;\ s/%fxs5_username%/$name_eltex_tau8_5/g;\ s/%fxs5_auth_name%/$name_eltex_tau8_5/g;\ s/%fxs5_auth_pass%/$password_eltex_tau8_5/g;\ # FXS_6 s/%fxs6_phone%/$name_eltex_tau8_6/g;\ s/%fxs6_username%/$name_eltex_tau8_6/g;\ s/%fxs6_auth_name%/$name_eltex_tau8_6/g;\ s/%fxs6_auth_pass%/$password_eltex_tau8_6/g;\ # FXS_7 s/%fxs7_phone%/$name_eltex_tau8_7/g;\ s/%fxs7_username%/$name_eltex_tau8_7/g;\ s/%fxs7_auth_name%/$name_eltex_tau8_7/g;\ s/%fxs7_auth_pass%/$password_eltex_tau8_7/g;\ # FXS_8 s/%fxs8_phone%/$name_eltex_tau8_8/g;\ s/%fxs8_username%/$name_eltex_tau8_8/g;\ s/%fxs8_auth_name%/$name_eltex_tau8_8/g;\ s/%fxs8_auth_pass%/$password_eltex_tau8_8/g"\ $ROOT_PATH/template/TAU-8.IP/tmp/etc/config/pbx > $tmp_dir/tmp/etc/config/pbx; sed "s/%mac%/$mac_tau8/g" $ROOT_PATH/template/TAU-8.IP/tmp/etc/config/system > $tmp_dir/tmp/etc/config/system cd $tmp_dir/; tar zcf $mac_tau8.tar.gz tmp; rm -rf /srv/tftp/Eltex/TAU-8.IP/config/$mac_tau8.tar.gz mv $tmp_dir/$mac_tau8.tar.gz /srv/tftp/Eltex/TAU-8.IP/config/ done # end TAU-8.IP #    TAU-2M.IP for array_duble_out_key_eltex in ${!array_duble_out_eltex[@]}; do # echo array_duble_out_eltex  ..  ${!array_duble_out_eltex[@]} # echo array_duble_out_eltex    ${array_duble_out_eltex[$array_duble_out_key_eltex]} mac_tau2=$array_duble_out_key_eltex # 13  mac_tau2_now=$(echo -n $mac | sed -r 's/(..)/\1./gi ; s/.$//gi') #  14  array_users_eltex=($(echo ${array_duble_out_eltex[$array_duble_out_key_eltex]}|tr -s ';' '\ ' )) name_eltex_1=${array_users_eltex[0]} password_eltex_1=${array_users_eltex[1]} name_eltex_2=${array_users_eltex[2]} password_eltex_2=${array_users_eltex[3]} /bin/sed "\ s/%fxs0_Enable%/1/g;\ s/%fxs0_Number%/$name_eltex_1/g;\ s/%fxs0_AuthUsername%/$name_eltex_1/g;\ s/%fxs0_AuthPassword%/$password_eltex_1/g;\ s/%fxs1_Enable%/1/g;\ s/%fxs1_Number%/$name_eltex_2/g;\ s/%fxs1_AuthUsername%/$name_eltex_2/g;\ s/%fxs1_AuthPassword%/$password_eltex_2/g"\ $ROOT_PATH/template/TAU-2M.IP/cfg.yaml > $tmp_dir/cfg.yaml; cd $tmp_dir tar zcf $mac_tau2.tar.gz cfg.yaml; # echo tmp tau2 $mac_tau2 $tmp_dir rm -rf /srv/tftp/Eltex/TAU-2M.IP/config/$mac_tau2.tar.gz cp $tmp_dir/$mac_tau2.tar.gz /srv/tftp/Eltex/TAU-2M.IP/config/ rm -rf /srv/tftp/Eltex/TAU-2M.IP/config/$mac_tau2_now.tar.gz cp $tmp_dir/$mac_tau2.tar.gz /srv/tftp/Eltex/TAU-2M.IP/config/$mac_tau2_now.tar.gz #echo $tmp_dir #echo $mac_tau2 #echo $mac_tau2_now #   TAU-2M.IP" done #    SPA112 for array_duble_file_out_key in ${!array_duble_file_out[@]}; do echo -e "<flat-profile>${array_duble_file_out[$array_duble_file_out_key]}\n\n</flat-profile>" > /srv/tftp/Cisco/config/spa$array_duble_file_out_key.xml done trap "rm -rf $tmp_dir" EXIT INT QUIT ABRT TERM exit 0
      
      





TAU8を䜿甚した゚レガントな゜リュヌションではありたせん。バストサむクルを芁求したす。 䞊蚘で曞いたように、TAU-8.IPは、構成ファむルぞのパスを曞き蟌むこずによりペンで構成する必芁がありたす。 2぀のポヌトTAU-2M.IPもハンドルで構成する必芁がありたすが、これはDHCPサヌバヌで150および66のオプションが構成され、43のオプションが構成されおいないためです。



すべおのスクリプトは/etc/asterisk/scripts



ディレクトリにありたす。同じ堎所に、ゲヌトりェむの構成ファむルテンプレヌトを配眮する「 テンプレヌト 」ディレクトリを䜜成する必芁がありたす。たた、TAU-8.IPにはディレクトリツリヌもありたす。 このゲヌトりェむにはいく぀かの蚭定ファむルがあり、それぞれが独自のディレクトリにあり、このキッチン党䜓が1぀のアヌカむブに収集されたす。

gen_prov.shは、クラりン䞊で1分ごずに実行されたす。



すぐに䜿甚可胜なSPA112ゲヌトりェむは、HTTPSサヌバヌから構成ファむルをダりンロヌドしようずするため、サヌバヌには実際のSSL蚌明曞が必芁です。



SSL蚌明曞の芁求を生成する方法に぀いおは 、 ここで詳しく説明したす。読みにくい堎合は、 ここですべおを説明したす。



1.キヌを1回生成し、保存したす。



 openssl genrsa -out server.key 2048
      
      





2.蚌明曞芁求ファむルを生成したす。



 openssl req -new -key srv-shop-aster.key -out srv-shop-aster.csr -subj "/C=RU/ST=Novosibirskaya Oblast/L=Kolcovo/O=Roga_and_Kopita_Company Ltd./OU=IT Department/CN=srv-shop-aster/emailAddress=admin_user@RogKop.ru/"
      
      





3.サヌバヌファむルsrv-shop-aster.csrを削陀したす。もちろん、䞀般的にファむル「server_name.csr」ずは異なる名前になりたす



4. 蚌明曞に眲名するサヌビスに行き、補品、蚌明曞の有効期間を遞択し、「蚌明曞芁求に眲名」ボタンをクリックしお眲名し、すでに眲名された蚌明曞をディスクに保存したす。 ずころで、Cisco Webサむトで登録する必芁がありたす。



5. ApacheでHTTPSを蚭定したす。 ここによく曞かれおいたす 。



蚌明曞があり、キヌはディレクトリ/etc/apache2/ssl/



ファむル/etc/apache2/sites-enabled/default-ssl.conf



あり、蚌明曞ずキヌぞのパスが登録されおいたす。



SSLCertificateFile /etc/apache2/ssl/srv-shop-aster.crt

SSLCertificateKeyFile /etc/apache2/ssl/srv-shop-aster.key








そしお、廃止されたSSLv2プロトコルの䜿甚を犁止したせんでした。 SSLProtocol all -SSLv2

適切なディレクトリに眲名枈み蚌明曞付きのキヌを入れお、Apacheを再起動するこずを忘れないでください。



次の蚘事では、KX-NS1000ずアスタリスクを友達にする方法、WEBむンタヌフェヌスに぀いお、ルヌタヌでのDHCPの蚭定に぀いお説明したす。



All Articles