OTRS 4.0.10。 Ubuntu + AD + Kerberos + SSOを䜿甚したすパヌト1

蚘事が倧きすぎるこずが刀明したずいう事実を考慮しお、さらにいく぀かのニュアンスを远加したいので、いく぀かの郚分に分けお、远加郚分を個別の郚分ずしお公開したす。



パヌト1システムの準備

パヌト2OTRSのむンストヌルず蚭定

パヌト3パンを固定するゞャムを修正する



導入する代わりに



遅かれ早かれ十分に倧きな組織は、チケットシステムたたはヘルプデスクを実装する必芁に盎面したす。 そしお、私たちの組織も䟋倖ではありたせん。それに関連しお、管理者はシステムの遞択ず実装を任されたした。



率盎に蚀っお、遞択に぀いお特に疑いはありたせんでした;個人的な理由で、遞択はOTRSに萜ちたした。 経営陣が非垞に愛しおいる膚倧な数のレポヌトを備えた匷力で柔軟な機胜。 しかし、刀明したように、それを導入するこずは完党に重芁な䜜業です。 苊痛は2週間続き、倧量の情報がシャベルにかけられ、さたざたなマニュアルが詊されたしたが、私は完党なオタクか2人のどちらかであるように芋えたした。すべおのマニュアルずレビュヌの山で、すべおが完党に機胜し、完党に機胜しおいるず䞻匵したためそれは蚭定可胜ですが、私ずは異なりたす。



実際、これらすべおのマニュアルの問題は、すべおがあなたのものず同じように芋えるこずですが、どこかでパッケヌゞのバヌゞョンが少し異なっおいるか、ADの構造がほずんど同じであるなどです。石の花はほずんど加算されたせん。 䞀蚀で蚀えば、詊行錯誀によっお、ドキュメントの読み方ずマニュアルの分析、私自身の非垞に効果的な方法が開発されたした。



ベヌスラむンず芁件





既に述べたように、䌁業メヌルずJabberはネットワヌク䞊で機胜する暙準的な芁件のセットであり、远加の芁件はOTRSをそれらず統合するこずでした。 しかし、この蚘事は巚倧であるこずが刀明したため、OTRSずそれらの統合に぀いお説明するずきに、OTRSずそれらの統合に぀いお説明したす。



実際、OTRSを配眮するこずは難しくなく、䞀床にADず統合するこずもできたす。スナッグ党䜓は正確に゚ンドツヌ゚ンド認蚌SSOでした。 このテヌマに関する䞀連のマニュアルがネットワヌク䞊で芋぀かりたしたが、さたざたな理由で私にふさわしいものはありたせんでした.1぀のOTRSがWindowsにむンストヌルされ、もう1぀のOTRSの叀いバヌゞョンでは、3番目では未知の人ずい぀によっお曞かれたアダプタモゞュヌルが䜿甚されたした

䞀般に、゚ンドツヌ゚ンド認蚌を実装するには4぀の方法がありたす。



  1. 1぀目はSSPIですが、WindowsでのOTRS甚のモゞュヌルであるため適合したせん
  2. 2぀目は、自己蚘述型のADSSOモゞュヌルであり、基本的にはドヌプされたLDAP認蚌モゞュヌルであり、私の意芋では束葉杖です。
  3. 3぀目は、OTRS甚の自己蚘述NTLM認蚌モゞュヌルで、これも束葉杖です。
  4. 最埌の1぀は、Kerberos認蚌を䜿甚する䌁業の暙準OTRS HTTPBasicAuthモゞュヌルです。


これが私の意芋の最埌のそしお倚くの人が私に同意するだろうず思う最も正確で安党なものです。 したがっお、゜ヌスデヌタ



OTRS構成ずは異なる構成も可胜です。ナヌザヌず゚ヌゞェントの他の堎所甚に構成する方法はご自身で理解できたす。



OTRSサヌバヌは、ナヌザヌotrs.adminに代わっおLDAPから情報を読み取りたす。セットアップ期間䞭、ドメむン管理者の暩利を䞎えたす。構成埌、それらを遞択し、マシンにログむンする暩利さえも、LDAPから情報を読み取るこずができる必芁がありたす。



1.システムの準備



1.1このような蚭定でUbuntu Serverを配眮したすこれらは私の蚭定です。他にも蚭定がありたす




最埌の段階で、むンストヌルはいく぀かの゜フトりェアをプレむンストヌルするかどうかを尋ねたす。OpenSSHサヌバヌのむンストヌルを遞択したす。



1.2。 SSHを介しお新しいサヌバヌに固執する


ssh 192.168.10.14 -l helpdesk
      
      





キヌを受け入れ、ヘルプデスクを䜿甚しおパスワヌドを入力するこずに同意したす

ルヌトぞの暩利を䞊げる

 sudo su
      
      





 泚意 suからさらにすべおのアクションを実行し、システムを再起動した埌、root暩限を再床䞊げるこずを忘れないでください。



/ etc / hostnameおよび/ etc / hostsファむル内の情報の関連性を確認したす。最初の文字は倧文字のマシン名で、2番目の文字は127.0.0.1 helpdesk.domain.ru helpdeskのような゚ントリを持぀必芁がありたす



䜕かが間違っおいる堎合-正しい。 ここで、すべおのドメむンコントロヌラヌに察しお、IP完党名および省略名でpingを詊行したす。 党員にpingを実行する必芁がありたす。 そうでない堎合は、ネットワヌク蚭定を凊理したす。



1.3。 曎新しおmcを眮く


 apt-get update && apt-get -y upgrade && apt-get install -y mc
      
      





経隓のない人は、コマンドを順番に実行できたす

 apt-get update apt-get -y upgrade apt-get install -y mc
      
      





2.マシンをドメむンに入力し、ドメむン認蚌を構成したす。 Samba、Kerberos、およびWinbindを構成したす。



このテヌマに関する優れた蚘事は、Ubuntuテクニカルサポヌトサむトにありたす help.ubuntu.ru/wiki/%D0%B2%D0%B2%D0%BE%D0%B4_%D0%B2_%D0%B4%D0%BE%D0% BCD0B5D0BD_windows



2.1。 Kerberosをむンストヌルおよび構成したす


必芁なパッケヌゞを配眮したす。

 apt-get install krb5-user samba winbind libpam-krb5 libpam-winbind libnss-winbind ntp smbclient rlwrap
      
      





Kerberosが機胜するためには、コンピュヌタヌのクロックが同期しお実行され、時差が5分を超えないこずが非垞に重芁です。 /etc/ntp.confファむルでドメむンコントロヌラヌずの時間同期を構成したす



名前が瀺すように、ファむルはシステムクロックを定期的に調敎するntpデヌモンの蚭定を担圓したす。 正確なタむムサヌバヌはserverディレクティブによっお蚭定されるため、そこにある正確なタむムサヌバヌを瀺すすべおの行をコメント化しお、独自のものを入力する必芁がありたす。

 mcedit /etc/ntp.conf
      
      





サヌバヌで始たるすべおの甚語に぀いおコメントしたす。

 #server 0.ubuntu.pool.ntp.org #server 1.ubuntu.pool.ntp.org #server 2.ubuntu.pool.ntp.org #server 3.ubuntu.pool.ntp.org # Use Ubuntu's ntp server as a fallback. #server ntp.ubuntu.com
      
      





そしおあなたのものを入力しおください

 server 192.168.10.1 server 192.168.10.2
      
      





2぀のドメむンコントロヌラヌがあり、それぞれで正確なタむムサヌビスが発生したす。 その埌、ファむルを保存し、新しい蚭定でデヌモンを再起動したす。

 service ntp restart
      
      





出力は次のようになりたす。

 root@HELPDESK:/home/helpdesk# service ntp restart * Stopping NTP server ntpd [ OK ] * Starting NTP server ntpd [ OK ]
      
      





デヌモンは新しい蚭定で起動し、クロックを同期したす。 Kerberosは、 krb5.confファむルを線集しお構成したす。

 mcedit /etc/krb5.conf
      
      





たず、ログを有効にしたす。これのために、ファむルの最初にセクションを远加したす。

 [logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log
      
      





そしお、KerberosがどのドメむンKerberosの甚語で-どの領域で動䜜し、誰がこの領域を駆動するかを説明する必芁がありたす。 これを行うには、セクションを線集したす。

 [libdefaults] default_realm = DOMAIN.RU #(    ) [realms] #    DOMAIN.RU = { #.   .    kdc = ad1.domain.ru #     kdc = ad2.domain.ru #.   ,    admin_server = ad1.domain.ru admin_server = ad2.domain.ru default_domain = domain.ru } [domain_realm] #     .domain.ru = DOMAIN.RU #  () domain.ru = DOMAIN.RU
      
      





ここで、蚭定の機胜を確認する必芁がありたす。そのために、䞀郚のナヌザヌのドメむンでkerberosチケットを取埗しようずしたす。

 kinit username@DOMAIN.COM # username —   , !  !
      
      





その埌、圌女はパスワヌドを芁求し、チケットを取埗しようずしたす。 すべおがうたくいった堎合、チヌムは沈黙したたたになりたす。぀たり、出力は空になりたす。 このようなもの

 root@HELPDESK:/home/helpdesk# kinit otrs.admin@DOMAIN.RU Password for otrs.admin@DOMAIN.RU: root@HELPDESK:/home/helpdesk#
      
      





チケットを受け取ったかどうかを確認し、次を入力したす。

 klist
      
      





そしお、次のようなものが衚瀺されたす。

 root@HELPDESK:/home/helpdesk# klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: test@DOMAIN.RU Valid starting Expires Service principal 10.08.2015 15:46:01 11.08.2015 01:46:01 krbtgt/DOMAIN.RU@DOMAIN.RU renew until 11.08.2015 15:45:57
      
      





ご芧のずおり、チケットは正垞に受信され、すべお問題ありたせん。 したがっお、構成は機胜しおいたす。 チケットをクラッシュさせたす。今のずころ必芁ありたせん。

 Kdestroy
      
      





出力も空であり、チケットが砎棄されたこずを意味したすコマンドはキャッシュ内のすべおのチケットを砎棄するこずに泚意しおください。



2.2それでは、SAMBAを構成しおドメむンに接続したす。


これを行うには、/ etc / samba / smb.confファむルを線集したす。

 mcedit /etc/samba/smb.conf
      
      





ここで、[global]セクションを線集したす。

 [global] #         ,  workgroup  #    ,  realm -    workgroup = RUS realm = DOMAIN.RU #          AD security = ADS encrypt passwords = true #   dns proxy = no socket options = TCP_NODELAY #    ,             , #    ,           domain master = no local master = no preferred master = no os level = 0 domain logons = no #    load printers = no show add printer wizard = no printcap name = /dev/null disable spoolss = yes
      
      





次のコマンドで正しい構成を確認したす。

 testparm
      
      





出力は次のようになりたす。

 Load smb config files from /etc/samba/smb.conf rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) Processing section "[printers]" Processing section "[print$]" Loaded services file OK. Server role: ROLE_DOMAIN_MEMBER Press enter to see a dump of your service definitions
      
      





Enterを抌すず、コンパむルされたsmb.confが衚瀺されたす ぀たり、コメントはありたせん。



「rlimit_maxrlimit_max1024をWindowsの最小制限16384に増やしたす」ずいうメッセヌゞは、WindowsずUbuntuの制限プヌルの違いが原因で発生したす。制限を修正するずきに、少し埌で削陀したす。



ドメむンを盎接入力しおみおください。 これを行うには、次のコマンドを実行したす。

 net ads join -U username -D DOMAIN #username -  
      
      





圌女は最初にナヌザヌのパスワヌドを芁求し、すべおが正垞であれば、出力は次のようになりたす。

 Using short domain name -- RUS Joined 'HELPDESK' to dns domain 'domain.ru'
      
      





次のコマンドを䜿甚しお、ドメむンぞの正しい接続を確認できたす。

 net ads testjoin
      
      





圌女の結論は次のようになりたす。

 Join is OK
      
      





ドメむン内の任意のマシンの共有リ゜ヌスのむンデックスを䜜成するこずにより、この段階で蚭定が正しいこずを確認できたす。 チケットを取埗したす

 kinit username@DOMAIN.COM
      
      





そしお、ファむルサヌバヌなどのマシンのリ゜ヌスを調べおみおください。

 smbclient -k -L //File-server
      
      





-kスむッチは、kerberosを䜿甚する必芁があるこずを瀺したす。File-serverは、共有リ゜ヌスを持぀ドメむン内のマシンの名前です。 コマンドの出力には、指定されたマシンの共有リ゜ヌスのリストが衚瀺されるはずです。はいの堎合、すべおは問題ありたせん。これたでのずころ、すべおが正しく実行されおいたす。 次に、次のコマンドでチケットを砎棄したす。

 kdestroy
      
      





2.3 Winbindの構成


これを行うには、同じ/etc/samba/smb.confを線集し、次の行を[global]セクションに远加したす。

 #           Winbind. #       . idmap config * : range = 10000-20000 idmap config * : backend = tdb #     . winbind enum groups = yes winbind enum users = yes #       .        #    , ..  username - DOMAIN\username. #      ,      . winbind use default domain = yes #          #,    ,    shell'   #/bin/false template shell = /bin/bash #     Kerberos  pam_winbind.so    winbind refresh tickets = yes #           kerberos #       (     # ),      «passdb backend = tdbsam»   : kerberos method = system keytab dedicated keytab file = /etc/krb5.keytab
      
      





蚭定が正しいこずを確認したす。

 testparm
      
      





そしお、すべおが問題なければ、デヌモンをこの順序で再起動したす。

 service winbind stop service smbd restart service winbind start
      
      





サヌビスが正垞に再起動した堎合、出力は次のようになりたす。

 root@HELPDESK:/home/helpdesk# service winbind stop winbind stop/waiting root@HELPDESK:/home/helpdesk# service smbd restart smbd stop/waiting smbd start/running, process 4859 root@HELPDESK:/home/helpdesk# service winbind start winbind start/running, process 4871
      
      





あなたは同じですか 次に進みたす。 それでは、Sambaが誓う制限を修正したす。 これらは/etc/security/limits.confファむルで修正されおいたす。 ファむルの最埌に2行远加する必芁がありたす。

 * - nofile 16384 root - nofile 16384
      
      





この操䜜の埌、マシンを再起動する必芁がありたす。

 shutdown -r now
      
      





たたは

 reboot
      
      





誰が奜きですか。



再起動埌、マシンがドメむンずの信頌を確立しおいるかどうかを確認したす。

 wbinfo -t
      
      





出力は次のようになりたす。

 checking the trust secret for domain DCN via RPC calls succeeded
      
      





すべおのコマンドがルヌトずしお実行されるこずを思い出させおください。 リブヌト埌にsuにアップグレヌドするのを忘れたため、最初はこの段階でギャグがありたした。 すべおのシヌクレットチケットなどは、rootのみがアクセスできるsambaベヌス/var/lib/samba/private/*.tdbアクセスに保存されたす。 したがっお、リブヌト埌に暩限を増やすこずを忘れないでください。スヌパヌナヌザヌからすべおのコマンドを実行したす。 たた、winbindがドメむン内のナヌザヌずグルヌプを認識しおいるこずも確認したす。

 wbinfo -u
      
      





そしお

 wbinfo -g
      
      





2.4。 たあ、別のボヌナス


マシンをドメむンに入力しおいるため、ドメむンアカりントでマシンにログむンする機胜を远加したす。 これを行うには、 / etc / nsswitch.confファむルにwinbindデヌタ゜ヌスを远加したす。 たた、ロヌカルナヌザヌずしおドメむンナヌザヌを操䜜する機䌚を提䟛したす。これは、ドメむンナヌザヌをオブゞェクトの所有者ずしお任呜し、アクセス暩を䞎えるこずを意味したす。 これにより、Linuxマシンでボヌルを䞊げるこずが可胜になりたす。 次の行を指定したす。

 passwd: compat group: compat
      
      





気にする

 passwd: compat winbind group: compat winbind
      
      





たた、ファむルの最埌に行を远加するこずをお勧めしたす。

 files: dns mdns4_minimal[NotFound=return] mdns4
      
      





このステヌゞは、次のコマンドでナヌザヌずグルヌプのリストを芁求するこずで確認されたす。

 getent passwd
      
      





そしお

 getent group
      
      





出力では、ドメむンナヌザヌずグルヌプを探しおおり、芋぀かった堎合はすべお問題ありたせん。 そしお最埌ドメむンナヌザヌにセッションを開く機䌚を䞎えたす。以前のバヌゞョンでは、ubuntuはパヌカッション楜噚を䜿った非自明なダンスが必芁でしたが、PAM.Dは/etc/pam.d/common-sessionファむルに次の行を远加できたす 。

 session optional pam_mkhomedir.so skel=/etc/skel/ umask=0077
      
      





ここで再起動し、ドメむンアカりントでログむンしおみおください。刀明した堎合は、前の手順はすべお正しく完了しおいたす。



3. Kerberosキヌを䜜成し、HTTPプリンシパルをドメむンに远加したす。



次の3぀のステヌゞでは、䜕が起きおいるのかがわかるたで2週間を費やしたした。 よくあるこずですが、すべおが非垞にシンプルで最初に起動したこずが刀明したため、倧量の情報を分析し、それを単䞀のアクションシヌケンスに削枛する必芁がありたした。

この3぀の段階で、 この蚘事は非垞に圹立ちたした。



したがっお、Kerberosプロトコル、これは、ディレクトリが私たちに蚀うように、第䞉者に察する信頌の原則に基づいたネットワヌク認蚌プロトコルです。 これはどういう意味ですか ぀たり、認蚌プロセスでは、デフォルトで盞互䜜甚参加者が信頌するサヌドパヌティが衚瀺されたす。サヌバヌ偎にアクセスする前に、クラむアントがKDCメッセヌゞを送信し、セッションの各参加者にセッションのコピヌを送信する方が簡単な堎合、こちら偎はキヌ配垃センタヌず呌ばれたすキヌは短期間有効です。 これらのキヌの目的は、クラむアントずサヌバヌを認蚌するこずです。



暗号化に粟通しおいる人にずっおは、Kerberos゚ンゞン党䜓はPKI゚ンゞンの完党なコピヌよりも少し倧きいず蚀えたす。 実際、他の仕事のためだけに投獄されるのは圌です。 この堎合、認蚌局の代わりにのみキヌ配垃センタヌKDCがありたす。 通垞、ドメむンコントロヌラヌ䞊にありたす。



新しい甚語「プリンシパル」は、Kerberosの甚語で、いわゆるネットワヌクむンタラクションの参加者、぀たりキヌをKDCに頌る人たちです。



このステップは、2぀の耇雑で簡単な方法で完了できたす。 䜕らかの理由で、ネットワヌク䞊のすべおのマニュアルには、より耇雑な方法、぀たりktpassナヌティリティ信じられないほどの数のキヌを持぀恐ろしい獣を䜿甚しおドメむンコントロヌラヌにKerberosキヌを䜜成し、それをLinuxマシンにコピヌする方法が蚘茉されおいたす。 このパスの暙準的な正確さは吊定したせんが、よろしければ、コマンドは数行で取埗されたすが、それを䜿甚するずきにZenを理解できたせんでした。



刀明したように、もっず簡単な方法がありたす-Linuxマシンで盎接キヌを䜜成したす。 ネットワヌクで圌に぀いお蚀及したのは1぀だけで、たぶん芋た目が悪いのですが、うたくいきたした。



たた、この段階で正確性を制埡するには、ドメむンコントロヌラヌで䜕かをする必芁がありたす。

たず、コントロヌラヌにアクセスしお、「ADナヌザヌずコンピュヌタヌ」スナップむンを開き、コンテナヌをコンピュヌタヌで開き、Linuxマシンを探したす。ドメむンに含めた埌、そこに衚瀺されるはずです。 発芋-箄 続けたしょう。



次に、ADSI゚ディタヌが必芁です。コマンドラむンを開き、次のように入力したす。

 adsiedit.msc
      
      





そしお、むンタヌを抌したす。 コン゜ヌルツリヌがその構造にADコン゜ヌルをコピヌしおいるのがわかりたす。 ここでマシンを芋぀け、そのプロパティを開き、リストでservicePrincipalName属性を探したす。 これで、 HOST / hepldesk.domain.ruずHOST / helpdeskのような2぀の゚ントリがあるはずです。



どちらもHOSTでマシンの短瞮名で始たり、別のマシンで完党になりたす。぀たり、マシンはHOST、぀たりドメむン内の通垞のマシンになりたす。



次に、Linuxマシンに移動しお、コマンドを実行したす。

 net ads keytab create
      
      





コマンドからの出力は空ですが、実行埌、 専甚のkeytabファむルディレクティブのsmb.confファむルで指定した内容に応じお、ファむル/etc/krb5.keytabを䜜成する必芁がありたす。 しかし、OTRS、これはWebアプリケヌションであり、Linuxマシンはhttpサヌビスを提䟛するため、別のHTTP原則を远加する必芁がありたす。 すぐに蚀っおやった

 net ads keytab add HTTP
      
      





ドメむンのマシンのプロパティでプリンシパルのリストを芋るず、そこにさらに2぀远加されおいるこずがわかりたす -「 HTTP / helpdesk.domain.ru 」ず「 HTTP / helpdesk 」小さなニュアンスADSI゚ディタヌりィンドりの情報は自動的に曎新されたせん。したがっお、マシンのプロパティを閉じ、F5を抌しお再床開きたす。



原則ずしお、これはすでに远加が成功したこずを意味したす。 ただし、keytabにあるものを芋おみたしょう。

 klist -ek /etc/krb5.keytab #     keytab Keytab name: FILE:/etc/krb5.keytab KVNO Principal ---- -------------------------------------------------------------------------- 2 host/helpdesk.domain.ru@DOMAIN.RU (DES cbc mode with CRC-32) 2 host/helpdesk.domain.ru@DOMAIN.RU (DES cbc mode with RSA-MD5) 2 host/helpdesk.domain.ru@DOMAIN.RU (ArcFour with HMAC/md5) 2 host/helpdesk@DOMAIN.RU (DES cbc mode with CRC-32) 2 host/helpdesk@DOMAIN.RU (DES cbc mode with RSA-MD5) 2 host/helpdesk@DOMAIN.RU (ArcFour with HMAC/md5) 2 HELPDESK$@DOMAIN.RU (DES cbc mode with CRC-32) 2 HELPDESK$@DOMAIN.RU (DES cbc mode with RSA-MD5) 2 HELPDESK$@DOMAIN.RU (ArcFour with HMAC/md5) 2 HTTP/helpdesk.domain.ru@DOMAIN.RU (DES cbc mode with CRC-32) 2 HTTP/helpdesk.domain.ru@DOMAIN.RU (DES cbc mode with RSA-MD5) 2 HTTP/helpdesk.domain.ru@DOMAIN.RU (ArcFour with HMAC/md5) 2 HTTP/helpdesk@DOMAIN.RU (DES cbc mode with CRC-32) 2 HTTP/helpdesk@DOMAIN.RU (DES cbc mode with RSA-MD5) 2 HTTP/helpdesk@DOMAIN.RU (ArcFour with HMAC/md5)
      
      





確かに、新しく確立されたプリンシパルのKDCからKerberosチケットを取埗できたす。

 kvno HTTP/web.domain.ru@DOMAIN.RU HTTP/web@DOMAIN.RU HTTP/web.domain.ru@DOMAIN.RU: kvno = 2 HTTP/web@DOMAIN.RU: kvno = 2
      
      





チヌムでチケットを確認したす。

 klist -e
      
      





結論は珟圚利甚可胜なチケットの完党なリストになりたす。その䞭にHTTPチケットがありたす。もしあれば、すべおは問題ありたせん。完璧䞻矩者でなければ、次のステップに進むこずができたす。



残りの郚分に぀いおは、私は完璧䞻矩者であり、すべおのキヌを1぀のファむルに保存するのは適切ではないず思いたす。HTTPに関するすべおを別のキヌファむルにハむラむトしたしょう。これはktutilで実行できたす。 高床な線集機胜をサポヌトしおいないため、 rlwrapを䜿甚しお起動できたす。

 rlwrap ktutil
      
      





keytabファむルの内容をダりンロヌドしたす。

 ktutil: read_kt /etc/krb5.keytab
      
      





私たちが今持っおいるものを芋おみたしょう

 ktutil: list
      
      





HTTPで始たるすべおに興味があり、䞍芁なものはすべお削陀したす。

 ktutil: delent 1 # 1    
      
      





次のようになりたす。

 ktutil: list slot KVNO Principal ---- ---- --------------------------------------------------------------------- 1 2 HTTP/helpdesk.domain.ru@DOMAIN.RU 2 2 HTTP/helpdesk.domain.ru@DOMAIN.RU 3 2 HTTP/helpdesk.domain.ru@DOMAIN.RU 4 2 HTTP/helpdesk.domain.ru@DOMAIN.RU 5 2 HTTP/helpdesk.domain.ru@DOMAIN.RU 6 2 HTTP/HELPDESK@DOMAIN.RU 7 2 HTTP/HELPDESK@DOMAIN.RU 8 2 HTTP/HELPDESK@DOMAIN.RU 9 2 HTTP/HELPDESK@DOMAIN.RU 10 2 HTTP/HELPDESK@DOMAIN.RU
      
      





次に、残っおいるすべおを別のファむルに保存したす。

 ktutil: write_kt /etc/httpd.keytab
      
      





そしお、ナヌティリティを終了したす。

 quit
      
      





4. Apache2ずモゞュヌルを配眮したす。 ランプ+ Perl



Ubuntu 14 でのサヌビスのセットアップに関する優れたマニュアルはこちら

。

私はあなたのためにどのようにしたらいいのかわかりたせんが、私にずっおは、Webサヌバヌ、 LAMPの堎合、特にMySQLずApacheが必芁なため、スタック党䜓を䞀床に配眮したす。phpには䟿利な関数phpinfo 環境倉数を監芖したす。



行きたしょう。 Apacheを眮きたす


 apt-get install mysql-server apache2 php5 libapache2-mod-php5 libapache2-mod-auth-mysql php5-mysql php5-cgi libapache2-mod-php5 php5-common php-pear
      
      





mysql-serverのむンストヌル䞭に、圌はmysqlスヌパヌナヌザヌ root @ localhost のパスワヌドを蚭定するように求めたす。䞡方ずもrootであり 、異なるナヌザヌであるにもかかわらず、システムスヌパヌナヌザヌず混同しないようにお願いしたす。 誰も同じパスワヌドを指定するこずを犁止しおいたせんが。 そのため、このパスワヌドを指定しお芚えおおいおください。それでも必芁です。



すべおのパッケヌゞが配信されたら 、すぐにMySQLを少し構成する必芁がありたす。そのために、 / etc / mysql / my.cnfファむルを開きたす。

 mcedit /etc/mysql/my.cnf
      
      





ファむルには、受信パケットの最倧サむズを瀺す2行がありたす。 行はmax_allowed_pa​​cketで始たりたす。 デフォルトでは、このartibootは16メガバむトに蚭定されおおり、䞡方の行で20 MBに倉曎されたす。

 max_allowed_packet = 20M
      
      





たた、 innodbログファむルのサむズを倉曎する必芁がありたす。これは、MS SQLのトランザクションログに類䌌しおいるず理解しおいるためです。 これを行うには、次の行を芋぀けたす。

 # * InnoDB
      
      





そしお、次の内容の別の行を远加したす。

 innodb_log_file_size = 512M
      
      





あなたはもっずするこずができたすが、OTRSはたさにそのようなボリュヌムをお勧めしたす。 ちょっずしたニュアンス叀いログファむルがある限り、MySQLは新しいファむルを䜜成できず、それに応じおボリュヌムを増やすこずができないので、 / var / lib / mysqlフォルダヌに移動し、どこにでも削陀たたは移動したす移動する方が良いため、垞に削陀する時間がある ib_logfile0やib_logfile1などの名前 。



次に、MySQLを再起動したす。

 service mysql restart
      
      





叀いログファむルの代わりに、増加したボリュヌムの新しいログファむルが䜜成されたこずを確認し、すべおが正垞であるこずを確認したす。 その埌、隣接するマシンでブラりザヌを開き、 ヘルプデスクにアクセスしお、Apache2スタヌトペヌゞを開きたす。 開いた これですべお問題ありたせん— Apacheがむンストヌルされたした。



今Perl。


apt-get install perl libapache2-mod-perl2 libdbd-mysql-perl libnet-dns-perl libnet-ldap-perl libio-socket-ssl-perl libpdf-api2-perl libsoap-lite-perl libgd-text-perl libgd-graph-perl libapache-dbi-perl libyaml-libyaml-perl







ApacheがPHPおよびPERLスクリプトをどう凊理するかを説明したしょう。これを行うには、/ etc / apache2 / mods-enabled / mime.confファむルの220行目のAddHandler行のコメントを倖しお、フォヌムに远加したす。

 AddHandler cgi-script .cgi .pl
      
      





たた、この皮類の別の1぀を远加したす。

 AddHandler php5-script .php
      
      





php5、perl、およびcgiモゞュヌルを有効にしお、Apacheを再起動したす。

 a2enmod php5 a2enmod perl a2enmod cgi service apache2 restart
      
      





次に、すべおが機胜するかどうかを確認したしょう。 これを行うには、 / var / www / htmlに 2぀のディレクトリを䜜成したす。

 mkdir /var/www/html/php mkdir /var/www/html/perl
      
      





そしお、それぞれにテストファむルを䜜成したす。

 touch /var/www/html/php/index.php touch /var/www/html/perl/index.cgi
      
      





次のように入力する最初のファむルindex.php

 cat /var/www/html/php/index.php <html> <body> <div style="width: 100%; font-size: 40px; font-weight: bold; text-align:center;"> <?php print Date("Y/m/d"); echo "<br>Path :".$_SERVER['PHP_SELF']; echo "<br>Remote User :".$_SERVER['REMOTE_USER']; echo "<br>Auth type :".$_SERVER['AUTH_TYPE']; echo "<br>Auth User :".$_SERVER['PHP_AUTH_USER']; ?> </div> <?php phpinfo(); ?> </body> </html>
      
      





2番目では、次のように蚘述したす。

 cat /var/www/html/perl/index.cgi #!/usr/bin/perl print "Content-type: text/html\n\n"; print "<html>\n<body>\n"; print "<div style=\"width: 100%; font-size: 40px; font-weight: bold; text-align: center;\">\n"; print "CGI Test Page"; print "\n</div>\n"; print "</body>\n</html>\n";
      
      





暩利を蚭定したす。

 chmod 755 /var/www/html/php/index.php chmod 755 /var/www/html/perl/index.cgi
      
      





そしおもう1぀のニュアンススクリプトが/ var / www / html / perl /ディレクトリにあり、それらを実行できるこずをApacheに説明する必芁がありたす。 これを行うには、 DocumentRoot行の埌に/etc/apache2/sites-available/000-default.confファむルに次のブロックを远加したす。

<Directory "/var/www/html/perl">

AllowOverride All

Options +ExecCGI

Require all granted









そしお、apachephp5を再起動したす。

 service apache2 restart
      
      





ここで、ブラりザでhelpdesk / perl / index.cg iおよびhelpdesk / php / index.phpアドレスを開こうずしたす 。 開く必芁がありたす。phpスクリプトに泚意しおください。ペヌゞの最䞊郚に小さなブロックがあり、珟圚の日付ずいく぀かの環境倉数がありたす。このブロックは、Kerberos認蚌をデバッグするずきに圹立ちたす。



たた、短い名前ではペヌゞが開かない堎合がありたす 。コンピュヌタヌのフルネヌム、぀たりhelpdesk.domain.ru/php/index.phpずhelpdesk.domain.ru/perl/index.cgiを入力する必芁がありたす 。 これを修正する方法は怜蚎したせんが、トピックに関係ないので、DNSずApacheの蚭定の方向を掘り䞋げる必芁があるずだけ蚀いたす。



5. Apache2でKerberos認蚌を構成したす。 認蚌パフォヌマンスの確認。 透過認蚌を蚭定したす。



このアむテムを䜿甚するず、すべおがさらにシンプルになりたす。 モゞュヌルを配眮したす。

 apt-get install libapache2-mod-auth-kerb
      
      





オンにしたす

 a2enmod auth_kerb
      
      





Apacheを再起動したす。

 service apache2 restart
      
      





そしお、phpスクリプトがあるフォルダヌの承認を远加したす実際、phpスクリプトで環境倉数の出力を備えたハリネズミがあるので、それをデバッグしたす。これを行うには、/ etc / apache2 / sites-available / 000-default.confを再床開き、perlフォルダヌのブロックの埌にphpフォルダヌに別のブロックを远加したす。ApacheにKerberosキヌでファむルを読み取る暩限を䞎えたす。

<Directory /var/www/html/php>

AuthType Kerberos

AuthName "Kerberos Authntication"

KrbAuthRealms DOMAIN.RU

Krb5Keytab /etc/httpd.keytab

KrbMethodNegotiate Off

KrbSaveCredentials Off

KrbVerifyKDC Off

Require valid-user











 chmod 644 /etc/httpd.keytab
      
      





Apacheを再起動したす。

 service apache2 restart
      
      





ここで、helpdesk / php / index.phpのブラりザヌに移動したす。すべおが正垞であれば、承認芁求が衚瀺されたす。ドメむンナヌザヌの資栌情報を入力するず、アクセスが蚱可されたす。空で、ペヌゞの䞊郚のRemote_user、Auth_type、Auth_userの行に察応する倀が衚瀺されおいる堎合、すべおが玠晎らしいです。Kerberos認蚌が機胜したす。



残っおいるのは、この認蚌を透過的にするこずです。぀たり、ナヌザヌはナヌザヌ名ずパスワヌドを入力せず、ドメむンのセッションから盎接取埗されたす。



これを行うには、たず/etc/apache2/sites-available/000-default.confファむルで次の行を修正したす。

KrbMethodNegotiate Off







に

KrbMethodNegotiate On







次に、ナヌザヌのブラりザヌを構成したす。

IE


IEでは、リ゜ヌスを远加する必芁があり、ヘルプデスクやhelpdesk.domain.ruを、信頌に



画像



[セキュリティ]タブで、Windows統合認蚌を蚱可する必芁がありたす。



画像



その埌、IEを再起動しおスクリプトにログむンしたす。ナヌザヌ名ずパスワヌドを芁求するのではなく、すぐにナヌザヌを認蚌する必芁がありたす。



Firefox


Mozilla Firefoxのセットアップに移りたしょう。ここでは、再起動するこずなくすべおが簡単になりたす。アドレスバヌに「aboutconfig」、フィルタヌバヌに「network.neg」ず入力したす。図に瀺すように、2行でドメむンを入力したす。







もう䞀床、ブラりザでhelpdesk / php / index.phpを開きたす。ナヌザヌ名ずパスワヌドを芁求せずにすぐにペヌゞが開き、䞊のブロックに完党なナヌザヌログむンが衚瀺された堎合、おめでずうございたす、透過認蚌が蚭定されおいたす。すべおの䜜業で最倧か぀最も困難な段階を完了したした。



 泚意 ブラりザでのすべおの操䜜は、ドメむンアカりントでドメむンにログむンしおいるマシンから実行する必芁がありたす



All Articles