ããŒã1ïŒã·ã¹ãã ã®æºå
ããŒã2ïŒOTRSã®ã€ã³ã¹ããŒã«ãšèšå®
ããŒã3ïŒãã³ãåºå®ãããžã£ã ãä¿®æ£ãã
6. OTRSã®ã€ã³ã¹ããŒã«ãšæ§æ
ããŠãã·ã¹ãã ã¯å®å šã«æºåãããŠãããç§ãã¡ããããæ確ãªè¯å¿ãšè»œãå¿ãæã£ãŠãOTRSãçŽæ¥ã€ã³ã¹ããŒã«ããŸãã
6.1ã ææ¡ãããæ¹æ³ã®æ¬è³ªãšå¿ èŠãªããã±ãŒãž
çŸæç¹ã§ã¯4.0.10ã®ææ°ã®å®å®ããŒãžã§ã³ãã€ã³ã¹ããŒã«ããŸãããå®éã«ã¯å¿ é ã§ã¯ãããŸãããæåã¯æšæºçãªæ£ããæ¹æ³ã§ãNTLMãSSPIããã®ä»ã®å ç®åšãªã©ã®ã¬ã¹ã±ãããšæŸèæã䜿çšããªãã£ãããå®å šãªKerberosãäœæããããã§ããèªèšŒ ãããŠHTTPBasicAuthã¢ãžã¥ãŒã«ã¯OTRSã§éèŠãªå€æŽãåããŠããªãOTRSã§ãããæ åœããŠããã®ã§ã説æãããæ¹æ³ã¯å°ãªããšã3.1.1以éã®ã·ã¹ãã ã®ãã¹ãŠã®ããŒãžã§ã³ã§åäœããŸãã
ãã®æ¹æ³ã®æ¬è³ªã¯äœã§ããïŒ ãããŠå šäœã®ãã€ã³ãã¯ãOTRSã¯äžè¬ã«ãŠãŒã¶ãŒã®æ¿èªãšèªèšŒãå®è¡ãããåã«ç°å¢å€æ°ãããã°ã€ã³ããŠãããŠãŒã¶ãŒã®ååãååŸããŸã$ _ENV ['Remote_User']ã¯ããŒã¿ããŒã¹ã§ãããæ¢ãããããèŠã€ãã£ãå Žåãããã®ããã®ã€ã³ã¿ãŒãã§ãŒã¹ãéããŸããã°åœ¢åŒã®é¡§å®¢ã ã€ãŸãããŠãŒã¶ãŒæ€èšŒã®å šè² è·ã¯Apacheã«ããã£ãŠããŸããApacheã¯Kerberosã䜿çšããŠãŠãŒã¶ãŒãèªèšŒããæåãããšãŠãŒã¶ãŒåãç°å¢å€æ°ã«å ¥ããŸãã OTRSããããæŸãå Žæãããããã«äœããããã°ãèªèšŒã¯ãã§ã«æåããŠãããšä¿¡ããŠããŸãã ããã§ã¯å§ããŸãããã
ãã®ä»¶ã«é¢ããçŽ æŽãããèšäºã¯ãã¡ã ã ã€ã³ã¹ããŒã«ããã»ã¹ã«ã€ããŠè©³ãã説æããŸãã
ãã¡ã€ã³èªèšŒãšãšã³ãããŒãšã³ãèªèšŒã«é¢é£ãããã¹ãŠã®ãã®ã¯ãã¹ã¬ããã«ãã£ãŠäžçäžããåéãããè©Šè¡é¯èª€ã«ãã£ãŠè§£æ±ºãããããããªã³ã¯ãæäŸããããšã¯ã§ããŸããã
ãã®æ®µéã§å¿ èŠã«ãªãããã±ãŒãžã®ãªã¹ãã¯æ¬¡ã®ãšããã§ãã
- libapache2-mod-perl2
- libtemplate-perl
- libarchive-zip-perl
- libjson-xs-perl
- libmail-imapclient-perl
- 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
- mysql-server
- wget
ãããã®ã»ãšãã©ã¯ãã§ã«ã·ã¹ãã ã«ãããããã§ã«ã€ã³ã¹ããŒã«ãããŠããŸãããããããããœãŒãããªãããã«ããã¹ãŠã眮ãã³ãã³ããäžããã ãã§ãããã§ã«ååšãããã®ã¯ãããã±ãŒãžãããŒãžã£ãŒã«ãã£ãŠåçŽã«ã¹ããããããŸãã ãããã
apt-get install libapache2-mod-perl2 libtemplate-perl libarchive-zip-perl libjson-xs-perl libmail-imapclient-perl 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 mysql-server wget
6.2ã OTRSã眮ã
äžèšã®ããã«ãå·çæç¹ã§ææ°ã®ããŒãžã§ã³4.0.10ãã€ã³ã¹ããŒã«ããŸãã OTRSèªäœãããŠã³ããŒãããŸãã
cd ~ wget http://ftp.otrs.org/pub/otrs/otrs-4.0.10.tar.gz
ã¢ãŒã«ã€ãã解åããŸãã
tar zxf ./otrs-4.0.10.tar.gz
å±éããOTRSãã©ã«ããŒã移åãã/ optïŒ
mv ./otrs-4.0.10 /opt
ãããŠãåããã©ã«ããŒã«ã·ã³ããªãã¯ãªã³ã¯ãäœæããŸãïŒ
ln -s /opt/otrs-4.0.10/ /opt/otrs
ã€ã³ã¹ããŒã«ãããã¹ãŠã®ã¢ãžã¥ãŒã«ã確èªããŸãã
perl /opt/otrs/bin/otrs.CheckModules.pl
è¿œå ã®ã¢ãžã¥ãŒã«ãå¿ èŠãªå Žåã¯ãã€ã³ã¹ããŒã«ããŸãïŒåã®ã³ãã³ãã®åºåã§ãåã¢ãžã¥ãŒã«ã®å察åŽã«ãã€ã³ã¹ããŒã«æ¹æ³ã®ãã³ãããããŸãïŒã€ã³ã¹ããŒã«ãããŠããªãå ŽåïŒïŒã OTRSã®ãŠãŒã¶ãŒãååŸããŸãã
useradd -r -d /opt/otrs/ -c 'OTRS user' otrs
ãããŠããããwww-dataã°ã«ãŒãã«å«ããŸãïŒ
usermod -g www-data otrs
çæããŠãã ããïŒç§ãã¡ã®ãã·ã³ã¯ãã¡ã€ã³ã«å«ãŸããŠããã winbindã¯ãã¹ãŠã®ãŠãŒã¶ãŒãããŒã«ã«ãŠãŒã¶ãŒããŒã¿ããŒã¹ã«ãã€ã³ãããããããã¡ã€ã³ã«otrsãã°ã€ã³ãæã€ãŠãŒã¶ãŒãããªãããšã確èªããå¿ èŠããããŸãã ååšããå Žåã¯ãåé€ããŠLinuxãã·ã³ãåèµ·åããŸãã
OTRSã®ããã©ã«ãèšå®ãäœæããŸãã
cd /opt/otrs/Kernel cp Config.pm.dist Config.pm cp Config/GenericAgent.pm.dist Config/GenericAgent.pm
ãããŠãæ°ããäœæããããŠãŒã¶ãŒã®æš©å©ãèšå®ããŸãã
cd /opt/otrs bin/otrs.SetPermissions.pl --otrs-user=otrs --web-group=www-data /opt/otrs
OTRSçšã®Apache vhostãäœæããããã«æ®ããã·ã¹ãã ãèšå®ã§ããŸãïŒ
cp /opt/otrs/scripts/apache2-httpd.include.conf /etc/apache2/sites-available/otrs.conf
vhost OTRSããªã³ã«ããŸãã
a2ensite otrs
ãããŠãApacheã®èšå®ãåèªã¿èŸŒã¿ããŸã
service apache2 reload
ããã ãã§ã ã€ã³ã¹ããŒã«ãå®äºããŸãããOTRSã®èšå®ãè¡ãããšãã§ããŸãã
6.3ã OTRSã·ã¹ãã ã®åææ§æã LDAPïŒãã®å Žåã¯ADïŒãšã®çµ±å
ã·ã¹ãã ã®åææ§æã¯ãWebã€ã³ã¿ãŒãã§ãŒã¹ãä»ããŠè¡ãããŸãã ã¢ãã¬ã¹helpdesk / otrs / installer.plã«ç§»åãããšãOTRSã€ã³ã¹ããŒã«ãŠã£ã¶ãŒãã衚瀺ãããŸãã
ããã«ã¯ãªãã¯ããŠã©ã€ã»ã³ã¹å¥çŽã確èªãã泚ææ·±ãèªãã§ãæ¡ä»¶ã«åæããŸããããã¯ãªãã¯ããŸãã
3çªç®ã®æ®µéã§ã¯ã䜿çšããããŒã¿ããŒã¹ããã®å Žåã¯MySQLããŒã¿ããŒã¹ãéžæããå¿ èŠãããããã[次ãž]ãã¯ãªãã¯ããŸãã ããã§ããèå³æ·±ãã®ã¯ãåãMySQLãŠãŒã¶ãŒroot @ localhostã®ãã°ã€ã³ãå ¥åããå¿ èŠãããããšã§ãããã®ãã¹ã¯ãŒãã¯ãApacheãšMySQLãµãŒããŒãã€ã³ã¹ããŒã«ãããšãã«ã¹ããã6ã§äœæããŸããã
OTRSã¯ããŒã¿ããŒã¹ãµãŒããŒïŒlocalhostïŒãžã®æ¥ç¶ãè©Šã¿ããã¹ãŠãããŸãããã°ãååotrsãšãŠãŒã¶ãŒotrsãããã³éåžžã«ããªãããŒãªãã¹ã¯ãŒãã䜿çšããŠèªåçšã®ããŒã¿ããŒã¹ãäœæããŸãã
ã¡ãŒã«ãèšå®ããŸãã åºåã§ãOTRSã¯ããã©ã«ããŠãŒã¶ãŒroot @ localhostã®ãã¹ã¯ãŒããå ±åãããã®ãã¹ã¯ãŒããèŠããŠããŸãã
ãã¡ã€ã³ããŒãžããªã³ã¯ãã¯ãªãã¯ãããšããã°ã€ã³ã®æåŸ ã衚瀺ãããŸããããã§ã¯ãèšé²ããããã°ã€ã³ãšãã¹ã¯ãŒãã®ã¿ãå ¥åããŸãã æŠããŠãOTRSã®ã€ã³ã¹ããŒã«ã¯ãã§ã«å®äºããŠããŸãããããã¯ç§ãã¡ã«ã¯ååã§ã¯ãªããKerberosãããŸãæ··ä¹±ãããŸããã§ãããADãšãšã³ãããŒãšã³ãèªèšŒãšã®çµ±åãå¿ èŠãªã®ã§ãããã«é²ã¿ãŸãã
ãããŠãå°æ¬ãããŠããrasaã® ããã¥ã¢ã«ã«ç®ãåããŸãã ããããäœããã€ã³ã¿ãŒãããããäœããåŒãåºããç¬èªã®æ¹æ³ãçºæããŸãã
ãŸã㯠ãã¡ã€ã³ã«ã¯ãOTRS管çè ãšå®å šã«äžèŽãã1人ã®ãŠãŒã¶ãŒãååšããå¿ èŠããããŸãããããèªã¿åãããã®LDAPãšããããä»ããŠååŸããä»ã®OTRS管çè ãããŸãã ã¡ãªã¿ã« ãããã¯ãŠãŒã¶ãŒotrs.adminã§ããã€ã³ã¹ããŒã«æéäžã«ããã¡ã€ã³ç®¡çè æš©éãšããã¡ã€ã³å ã®ãã·ã³ã®é»æºæå ¥ ããã±ããã®åä¿¡ãªã©ããã¡ã€ã³ã«å¯Ÿãããã¹ãŠã®æäœãäžããŸããããããã®æš©éãã€ã³ã¹ããŒã«ããåŸãããã«ããã¡ã€ã³ãã·ã³ãžã®ãã°ã€ã³ãçŠæ¢ããããšãã§ããŸããLDAPããæ å ±ãèªã¿åãã ãã§ããã以äžã¯å¿ èŠãããŸããã
ãããŠãOTRSãšãŒãžã§ã³ãã€ã³ã¿ãŒãã§ãŒã¹ã§ãã管çãã¿ãã«ç§»åããããšãŒãžã§ã³ããã»ã¯ã·ã§ã³ã«ç§»åããå¯äžã®ãšãŒãžã§ã³ãã確èªããã¯ãªãã¯ããŠããã¡ã€ã³å ã®ãŠãŒã¶ãŒããŒã¿ã«åŸã£ãŠè³æ Œæ å ±ãå€æŽããŸããããã¯otrs.adminãã°ã€ã³ããã³å¯Ÿå¿ãããã¡ã€ã³ãã¹ã¯ãŒãã§ããããŒãžã®äžéšã«ãã[éä¿¡]ãã¯ãªãã¯ãããã°ã¢ãŠãããŠæ°ããè³æ Œæ å ±ã§å床ãã°ã€ã³ããŸãã
ïŒ æ³šæïŒ ãã°ã€ã³ã ãã§ãªãããã¹ã¯ãŒãããã¡ã€ã³ãŠãŒã¶ãŒã®ããŒã¿ãšäžèŽããå¿ èŠããããŸãïŒ
ããã·ã£ãŒãèªå·±ç»é²ããæ©èœãç¡å¹ã«ããŸãã ã管çã-ãã·ã¹ãã æ§æã-ïŒå·ŠåŽã®ããããããŠã³ãªã¹ãã§ããã¬ãŒã ã¯ãŒã¯ããéžæïŒ-CustomerPanelCreateAccountã®ãããã³ããšã³ã::顧客ãã¯ãããããã瀺ããäžéšã®ãæŽæ°ããã¿ã³ãã¯ãªãã¯ããŸãã CustomerHeadlineã®é¡§å®¢ã«è¡šç€ºãããçµç¹ã®ååãããã«ä¿®æ£ã§ããŸãã ä»ã«ãããŸããŸãªèšå®ãè©ŠããŠã¿ãŠè©ŠããŠã¿ãããšãã§ããŸãããåŸã§LDAPãšã®çµ±åã«é¢å¿ããããŸãã
LDAPãšã®OTRSçµ±åã®æ§æã¯ãæ§æãã¡ã€ã«/opt/otrs/Kernel/Config.pmãä»ããŠè¡ãããŸãã
mcedit /opt/otrs/Kernel/Config.pm
次ã®è¡ãèŠã€ããŸãïŒç¬èªã®èšå®ãããããã«æ¿å ¥ãããã®åŸã«æ¬¡ã®èšå®ãæ¿å ¥ããŸãã
# LDAP # # LDAP # $Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP'; # IP LDAP # $Self->{'AuthModule::LDAP::Host'} = '192.168.10.1'; # , LDAP # $Self->{'AuthModule::LDAP::BaseDN'} = 'dc=domain,dc=ru'; # UID # $Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName'; # . OTRSagents OU organization # # , # $Self->{'AuthModule::LDAP::GroupDN'} = 'cn=OTRSagents,ou=organization,dc=domain,dc=ru'; $Self->{'AuthModule::LDAP::AccessAttr'} = 'member'; $Self->{'AuthModule::LDAP::UserAttr'} = 'DN'; # LDAP # $Self->{'AuthModule::LDAP::SearchUserDN'} = 'otrs.admin@domain.ru'; $Self->{'AuthModule::LDAP::SearchUserPw'} = ' otrs.admin'; # LDAP# $Self->{'AuthModule::LDAP::AlwaysFilter'} = ''; $Self->{'AuthModule::LDAP::Params'} = { port => 389, timeout => 120, async => 0, version => 3, sscope => 'sub' }; # LDAP # # LDAP # # LDAP # $Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP'; # IP LDAP # $Self->{'AuthSyncModule::LDAP::Host'} = '192.168.10.1'; # BaseDN # $Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=domain, dc=ru'; # UID # $Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName'; # LDAP # $Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'otrs.admin@domain.ru'; $Self->{'AuthSyncModule::LDAP::SearchUserPw'} = ' otrs.admin'; # # $Self->{'AuthSyncModule::LDAP::UserSyncMap'} = { UserFirstname => 'givenName', UserLastname => 'sn', UserEmail => 'mail', }; # # $Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups'} = [ 'users', 'basic_admin', ]; # # # # # , HTTPBasicAuth # # HTTPBasicAuth # $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::HTTPBasicAuth'; # # $Self->{CustomerPanelLoginURL1} = 'http://helpdesk.domain.ru/otrs/customer.pl'; $Self->{CustomerPanelLogoutURL1} = 'http://helpdesk.domain.ru/otrs/customer.pl'; # # # LDAP # # # $Self->{CustomerUser} = { Module => 'Kernel::System::CustomerUser::LDAP', Params => { Host => '192.168.10.1', BaseDN => 'DC=domain,DC=ru', SSCOPE => 'sub', UserDN =>'otrs.admin@domain.ru', UserPw => ' otrs.admin', AlwaysFilter => '(&(samAccountType=805306368)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))', SourceCharset => 'utf-8', DestCharset => 'utf-8', }, # # # , , # CustomerKey => 'sAMAccountName', CustomerID => 'mail', CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'], CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'], CustomerUserSearchPrefix => '', CustomerUserSearchSuffix => '*', CustomerUserSearchListLimit => 10000, CustomerUserPostMasterSearchFields => ['mail'], CustomerUserNameFields => ['givenname', 'sn'], Map => [ # # # # # , : Login, Email CustomerID ! # [ 'UserFirstname', 'Firstname', 'givenname', 1, 1, 'var' ], [ 'UserLastname', 'Lastname', 'sn', 1, 1, 'var' ], [ 'UserLogin', 'Login', 'sAMAccountName', 1, 1, 'var' ], [ 'UserEmail', 'Email', 'mail', 1, 1, 'var' ], [ 'UserCustomerID', 'CustomerID', 'mail', 0, 1, 'var' ], [ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var' ], ], }; # #
ãã®åŸããã¡ã€ã«ãä¿åãããã¡ã€ã³å ã®OTRSagentsã°ã«ãŒãã®äžéšã§ãããã¡ã€ã³ã¢ã«ãŠã³ãã§ãšãŒãžã§ã³ããšããŠãã°ã€ã³ãè©Šã¿ãããšãã§ããŸãã
ã¢ãã¬ã¹helpdesk.domain.ru/otrs/index.plã«ç§»åããOTRSagentsã°ã«ãŒãã«ãã¡ã€ã³ã¢ã«ãŠã³ãã®ãã°ã€ã³ãšãã¹ã¯ãŒããå ¥åããŸãã ä¹ãå¿ èŠããããŸãã æ°ãããã°ã€ã³ãããšãŒãžã§ã³ãã«ã¯ç®¡çã¿ãããããŸãããå ã®ç®¡çè ã®ã¢ã«ãŠã³ãã§ãã°ã€ã³ããŠæå¹ã«ããããšãã§ããŸããç§ã®å Žåã¯otrs.adminã§ãæ°ãããšãŒãžã§ã³ãã«ã¢ã¯ã»ã¹æš©ãäžããŸãã
泚æïŒãšãŒãžã§ã³ãã¯ãæåã®ãã°ã€ã³åŸã«OTRSããŒã¿ããŒã¹ã«äœæãããŸãã
ãŸããOTRSãLDAPããCustomersããŒã¿ããŒã¹ããã«ã¢ããããããšã確èªããå¿ èŠããããŸãã ãããè¡ãã«ã¯ã ã管çã-ãã¯ã©ã€ã¢ã³ãã¢ã«ãŠã³ããã«é²ã¿ãŸãã ããã§ã¯ã衚圢åŒããã°ã€ã³ãååãã¡ãŒã«ãªã©ã§ãã¡ã€ã³ãŠãŒã¶ãŒã®å®å šãªãªã¹ãã衚瀺ãããŸãã
ãã¹ãŠããã¡ã€ã³ããæ£åžžã«ãã«ããããã©ããã確èªããŸãã
顧客ã«ããã¢ã¯ã»ã¹ã«ã¯ãããå°ãæ¹è¯ãå¿ èŠã§ãããŸããã¹ã¯ãªããã䜿çšããŠãã©ã«ããŒã§KerberosèªèšŒãæå¹ã«ããå¿ èŠããããŸãã ã¹ã¯ãªããã¯ã / opt / otrs / bin / cgi-binã«ãããŸãã ã
Kerberosãæå¹ã«ããã«ã¯ãã¹ããã7ã§/ var / www / html / phpãã©ã«ããŒã䜿çšããŠå®è¡ããæäœãšåæ§ã®æäœãå¿ èŠã§ãã otrsä»®æ³ãã¹ãæ§æãã¡ã€ã«ãéããŸãã
mcedit /etc/apache2/site-available/otrs.conf
ãŸããå Žæ/ otrsããã³ãã£ã¬ã¯ããª/ opt / otrs / bin / cgi-binã®æ¬¡ã®æ§æã衚瀺ãããŸãã æåã®äœåïŒ
<Location /otrs> # ErrorDocument 403 /otrs/customer.pl ErrorDocument 403 /otrs/index.pl SetHandler perl-script PerlResponseHandler ModPerl::Registry Options +ExecCGI PerlOptions +ParseHeaders PerlOptions +SetupEnv <IfModule mod_version.c> <IfVersion < 2.4> Order allow,deny Allow from all </IfVersion> <IfVersion >= 2.4> Require all granted </IfVersion> </IfModule> <IfModule !mod_version.c> Order allow,deny Allow from all </IfModule> </Location>
2çªç®ã®éšåïŒ
<Directory "/opt/otrs/bin/cgi-bin/"> AllowOverride None <IfModule mod_version.c> <IfVersion < 2.4> Order allow,deny Allow from all </IfVersion> <IfVersion >= 2.4> Require all granted </IfVersion> </IfModule> <IfModule !mod_version.c> Order allow,deny Allow from all </IfModule> <IfModule mod_filter.c> <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/javascript application/javascript text/css text/xml application/json text/json </IfModule> </IfModule> # Make sure CSS and JS files are read as UTF8 by the browsers. AddCharset UTF-8 .css AddCharset UTF-8 .js # Set explicit mime type for woff fonts since it is relatively new and apache may not know about it. AddType application/font-woff .woff </Directory>
äžèŠããã¹ãŠãéåžžã«æ確ã§ã·ã³ãã«ã§ããããã®ã·ã£ãŒãããºã ãç°¡åã«ç解ããããšã¯ã§ããŸããã§ããã ç°¡åã«èšãã°ãç¹å®ã®Apacheã¢ãžã¥ãŒã«ã®æç¡ããŸãã¯ãã®ããŒãžã§ã³ã«å¿ããŠãç¹å®ã®ãã£ã¬ã¯ãã£ããããã«æ¥ç¶ãããŸãã éçºè ã¯ãã·ã¹ãã ãåäœããæ¡ä»¶ãããã±ãŒãžãããã³ãããã®ããã±ãŒãžã®ããŒãžã§ã³ãäºåã«ç¥ããªãã£ããããããããã¹ãŠãç©ã¿éããŸããã ããããã©ã®ããã±ãŒãžãšã©ã®ããŒãžã§ã³ãã·ã¹ãã äžã«ãããã¯ããã§ã«å®å šã«ç¢ºå®ã«ããã£ãŠããŸãã ãããã£ãŠããã¹ãŠã®éå°ã容赊ãªãåãåãããããã®2ã€ã®ãããã¯ã次ã®åœ¢åŒã«ããŸãã
æåã®äœåïŒ
<Location /otrs> ErrorDocument 403 /otrs/index.pl SetHandler perl-script PerlResponseHandler ModPerl::Registry Options +ExecCGI PerlOptions +ParseHeaders PerlOptions +SetupEnv AuthType Kerberos AuthName "Kerberos Authntication" KrbAuthRealms RUS.LOCAL Krb5Keytab /etc/httpd.keytab KrbMethodNegotiate On KrbSaveCredentials Off KrbVerifyKDC Off Require valid-user </Location>
2çªç®ã®ããŒã¹ïŒ
<Directory "/opt/otrs/bin/cgi-bin/"> AllowOverride All Options +ExecCGI -Includes AuthType Kerberos AuthName "Kerberos Authntication" KrbAuthRealms RUS.LOCAL Krb5Keytab /etc/httpd.keytab KrbMethodNegotiate On KrbSaveCredentials Off KrbVerifyKDC Off Require valid-user </Directory>
次ã«ãApacheã®èšå®ãå床èªã¿åããåèµ·åããŸãã
service apache2 reload service apache2 restart
ãããã®æäœã®åŸãOTRSã¹ã¯ãªããã«ã¢ã¯ã»ã¹ããããšãããšããApacheã¯ãŠãŒã¶ãŒãèªèšŒããããšããæåããå ŽåããŠãŒã¶ãŒåã$ _ENV ['REMOTE_USER']å€æ°ã«å ¥ããŸãã次ã«ããã°ã€ã³ãã©ãŒã ã§[顧客]ããŒãžãéããŸãã
ãããŠããã¹ãŠã¯äœã®ããã«ãèŠããŸãããä»ããã¢ã¯ã»ã¹ããããšãããšãã客æ§ã®ããŒãžã ããããèªèšŒã¯æåããŸããããããŒã¿ããŒã¹ã§ãŠãŒã¶ãŒãèŠã€ããããšãã§ããŸããã§ããããšããéåžžã«å¥åŠãªããšãæããŠãããŸãã
ãããã°ãéå§ããŸãã ãããè¡ãã«ã¯ãçç äžã®ããã€ãã®ã¹ã¯ãªãããããŠã³ããŒãããŸãã
whoami.pl
test.pl
ãããã/ opt / otrs / bin / cgi-binãã©ã«ããŒã®æ®ãã®OTRSã¹ã¯ãªããã«ããããããæ¢ã«ååšãããã®ãšåæ§ã®æš©å©ãšææè ãèšå®ãããã©ãŠã¶ãŒã§ããããéãããšããŸãã
æåã®ã¹ã¯ãªããã¯ãåã«å€æ°$ _ENV ['REMOTE_USER']ã®ååšããã§ãã¯ãããã®äžã«äœããããã°ããã®ãããªã¢ã«ãŠã³ãã§NTãã¡ã€ã³ã«è¿œã蟌ãŸãããšæãããã¡ãã»ãŒãžã衚瀺ããŸããæ£ããäŒèšããã®åŸããã¹ãŠã倧äžå€«ã§ãã
2çªç®ã®ã¹ã¯ãªããã¯ããŠãŒã¶ãŒãã°ã€ã³ãšããŠOTRSãååŸããè¡ã瀺ããŠããŸãã ãããŠãããã§OTRSã¯username@DOMAIN.RUã®ãããªãã®ãåãåãããšãããããŸããããã°ã€ã³ãšããŠsAMAccountNameã䜿çšããããšãã€ãŸãããã¡ã€ã³ãªãã®usernameã ãã䜿çšããåã®Clientãªã¹ãã§äœ¿çšããããšãããããŸãã¹ããŒãžã§ã¯ããã¡ã€ã³åãªãã§ãã°ã€ã³ããŠããããšã確èªããŸããã
ç¬ã倧éšãããã®ã§ããã®ç¶æ³ãçºçããApacheã¯æ©èœããèªèšŒã¯æåãããã¹ãŠã¯åé¡ãããŸããããOTRSã¯ããŒã¿ããŒã¹ã§ãŠãŒã¶ãŒãèŠã€ããããšãã§ããŸããã§ããã OTRSããŒã¿ããŒã¹ã§æ€çŽ¢ããåã«ãäœããã®æ¹æ³ã§ãŠãŒã¶ãŒåãããã¡ã€ã³ãé€å€ããå¿ èŠãããããšãããããŸããã
幞ããªããšã«ããããä¿®æ£ããã®ã¯éåžžã«ç°¡åã§ããããã®æ¹æ³ã¯ããããŸããããããªãæéãããããŸããã
ãããè¡ãã«ã¯ãåã³ãšãŒãžã§ã³ãã®ã€ã³ã¿ãŒãã§ãŒã¹ã管çã-ãã·ã¹ãã æ§æã-ããã¬ãŒã ã¯ãŒã¯ã-ãããã³ããšã³ã::顧客::èªèšŒãã«ç§»åãããã©ã¡ãŒã¿ãŒCustomerïŒAuthModule :: HTTPBasicAuth :: ReplaceRegExpãèŠã€ããŠããã£ãŒã«ãã§ãªã³ã«ããŸãå ¥åã®ããã«ãããã«ãããã®ãæ®ããããã©ã«ãå€ãæ¶å»ãã人ã®ããã«ããã®ãããªå®æçãªãããã¯ãã§ã
^(.+?)@.+?$
æ®å¿µãªãããPerleã®æ£èŠè¡šçŸã¯ã¢ã¯ã»ã¹ãã«ããéæ³ã§ãããç§ã«ãšã£ãŠè¶ è¶çãªã·ã£ãŒãããºã ãªã®ã§ãã©ã®ããã«æ©èœããã®ã説æã§ããŸããïŒã³ã¡ã³ãã§èª°ãã説æããŠãããã°éåžžã«æè¬ããŸãããèšäºã«ãããè¿œå ãããŠããã ããŸãïŒ ã@ãèšå·ä»¥éã®ãã¹ãŠããŠãŒã¶ãŒåããç Žæ£ããŸãã
ããŒãžã®äžéšã«ãã[éä¿¡]ãã¯ãªãã¯ããŠãã«ã¹ã¿ããŒã€ã³ã¿ãŒãã§ãŒã¹ã®ã¢ãã¬ã¹helpdesk.domain.ru/otrs/customer.plãèžã¿ãŸãã
ãã¹ãŠãæ©èœããã¯ãã§ãã
UPDã
æ£èŠè¡šçŸã®éæ³ã«ã€ããŠïŒ
^(.+?)@.+?$
圌ãã¯ç§ã«èª¬æããããã«ããã¹ãŠãéåžžã«ã·ã³ãã«ã§ããããšãå€æããŸããããåžžé£ã®éæ³ãšæ¯èŒããŠãããã¯ãã®ãããªãåäŸã®ç²Ÿç¥çãªã»ãã·ã§ã³ãïŒcïŒã
æå^-åŠçãããæååã®å é
æå$-åŠçãããæååã®çµãã
èšå·ïŒïŒ-åŠçã®çµæããããã®éã«ãããã®ãæ®ãå¿ èŠãããããšã瀺ããŸã
ïŒ -ä»»æã®ãã£ã©ã¯ã¿ãŒ
ã+-ååž°çé£çµïŒçµæãšããŠãåŒ 'ã+ïŒ'-æåéãæååãæå³ããŸãïŒ
@èšå·ã¯ç¹æ®æåã§ã¯ãªããããæååã®äžéšãšããŠåŠçãããŸãïŒé©ããããšã«ãç§ã¯ãããèããããšããããŸããã§ããããåžžã«ç¹æ®æåã§ããããšã¹ã±ãŒãããå¿ èŠããããšæã£ãŠããŸããããã®ãããªãšã¹ã±ãŒãããªãããšã¯ãç§ã誀解ããããã®è¡šçŸãèªåã§ç解ããã®ã劚ããŸããïŒ
ãããŠçµæãšããŠãéåžžã®ããŒãã«ã¯çµæã®æååãã@èšå·ã®åã«ãããã¹ãŠããšã@èšå·ã®åŸã«ãããã¹ãŠãã®2ã€ã®éšåã«åå²ããæåã®éšåãè¿ããŸãïŒæ¬åŒ§å ã«ããããïŒã
MA-A-A-A-A-giya