Saya telah menggunakan Request Tracker versi 3 cukup lama dan itu bekerja dengan baik. Tapi tiba-tiba server RT mogok dan log kesalahan Apache memiliki pesan kesalahan di bawah ini:
Attempt to free unreferenced scalar: SV 0x811ef70, Perl interpreter: 0x7f5a010 at /usr/lib/perl5/5.8.8/ExtUtils/Liblist.pm line 6. Segmentation fault
Sepertinya banyak skrip perl mengalami masalah dan sebenarnya, perl dan cpan perintah menghasilkan kesalahan yang sama seperti di atas:
# cpan Attempt to free unreferenced scalar: SV 0x811ef70, Perl interpreter: 0x7f5a010 at /usr/lib/perl5/5.8.8/ExtUtils/Liblist.pm line 6. Segmentation fault
Solusi:
Saya tidak yakin apa yang menyebabkan kesalahan ini, tetapi setelah menghabiskan beberapa waktu di Google, saya mengerti bahwa beberapa modul perl atau sistem operasi mungkin telah diperbarui. Tapi yang menakutkan adalah, saya tidak memperbarui apa pun baru-baru ini. Apa pun itu, saya mulai memecahkan masalah.
Satu-satunya opsi yang saya miliki adalah menginstal Perl dan modulnya lagi.
Instal ulang Perl
Agar lebih aman, saya mengambil cadangan file instalasi Perl lama seperti di bawah ini:
#mv /usr/lib/perl5 /usr/lib/perl5.bak #mv /usr/lib64/perl5 /usr/lib64/perl5.bak
Sekarang, saya menginstal ulang Perl menggunakan Yum
#yum reinstall perl
Bagus, sekarang saya bisa menjalankan setidaknya 'perl ' perintah (yang sebelumnya tidak bisa saya lakukan)
# perl -v This is perl, v5.8.8 built for x86_64-linux-thread-multi
Instal Perl CPAN
# perl -MCPAN -e shell Can't locate CPAN.pm in @INC (@INC contains:
Saya menginstal perl-CPAN modul menggunakan yum
#yum install perl-CPAN
Sekarang, cpan juga berfungsi (tanpa kesalahan kesalahan segmentasi)
# cpan cpan shell -- CPAN exploration and modules installation (v1.7602) ReadLine support available (try 'install Bundle::CPAN') cpan>
Periksa apakah konfigurasi RT sudah tepat di httpd.conf
Di bawah ini adalah contoh konfigurasi:
NameVirtualHost rt_server:443 <VirtualHost rt_server:443> ServerName rt_server_in DocumentRoot /opt/rt3/share/html AddDefaultCharset UTF-8 PerlModule Apache::DBI PerlRequire "/opt/rt3/bin/webmux.pl" <Location /NoAuth/images> SetHandler default </Location> <Location /> SetHandler perl-script PerlResponseHandler RT::Mason </Location> ErrorLog logs/error_log SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP SSLEngine on SSLCertificateFile /etc/httpd/conf/ssl.crt/rt_server_cert.pem SSLCertificateKeyFile /etc/httpd/conf/ssl.key/rt_server_key.pem SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0 </VirtualHost>
Mulai server httpd dan mysqld :
Ingat, kami belum menginstal modul Perl yang diperlukan untuk memulai RT. Untuk mengetahui modul perl apa saja yang diperlukan, kita akan memulai httpd server dan selesaikan kesalahan yang terjadi di httpd error_log .
Seperti yang diharapkan, 'httpd ' server gagal memulai dan error_log menunjukkan bahwa webmux.pl RT memerlukan modul di bawah ini:
Catatan: httpd error_log tidak akan memberikan semua informasi modul ini sekaligus, tetapi akan mengisyaratkan modul mana yang saat ini menyebabkan masalah. Anda harus memasang modul satu per satu dan mencoba memulai httpd melayani. Jika gagal, periksa error_log untuk menemukan modul mana yang menjadi penyebabnya (sekarang!). Terus lakukan langkah ini, hingga Anda tidak menemukan pesan kesalahan di error_log .
Di bawah ini adalah beberapa modul yang saya ingat untuk diambil untuk menulis posting ini. Tetapi Anda mungkin harus menginstal lebih banyak….
Apache2/Response.pm Can't locate Log::Dispatch Params::Validate.pm Can't locate Module::Implementation Attribute::Handlers Can't locate File::ShareDir Can't locate Locale::Maketext::Lexicon [error] Base class package "Locale::Maketext::Fuzzy" is empty.\n (Perhaps you need to 'use' the module which defines that package first.)\n at /opt/rt3/bin/../lib/RT/I18N.pm line 62.\nBEGIN failed--compilation aborted at /opt/rt3/bin/../lib/RT/I18N.pm line 62.\nCompilation failed in require at /opt/rt3/bin/../lib/RT.pm line 152.\nBEGIN failed--compilation aborted at /opt/rt3/bin/webmux.pl line 102.\nCompilation failed in require at (eval 2) line 1.\n Can't locate MIME::Entity Can't locate DBIx::SearchBuilder Can't locate Email::Address Can't locate UNIVERSAL::require Text::Template Can't locate File::Slurp HTML::Element HTML::FormatText Font::Metrics::Courier Can't locate Text::Wrapper Time::ParseDate Test::EOL HTML::Scrubber Test/Memory/Cycle.pm Test/CPAN/Meta.pm Base class package "HTML::Mason::Request" is empty.\n install_driver(mysql) failed: Can't locate DBD/mysql.pm
Instal modul Perl melalui CPAN
Misalnya, jika httpd error_log laporan : Tidak dapat menemukan Log/Dispatch.pm @ INC ….maka Anda harus menginstal modul itu melalui CPAN seperti di bawah ini
cpan> install Log::Dispatch
Ganti perintah di atas untuk menginstal modul lain.
Selama instalasi modul Perl, saya menemukan masalah kompatibilitas versi untuk DBD::MySQL modul. httpd error_log memiliki pesan di bawah ini:
install_driver(mysql) failed: DBD::mysql object version 4.013 does not match bootstrap parameter 4.031
Kita harus memindahkan 'mysql ' folder di bawah '/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBD ‘ dan ‘/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBI ‘.
Sekarang instal ‘DBD::MySQL ' modul lagi melalui CPAN
cpan> install DBD::MySQL
Terakhir, httpd server dimulai dan error_log bersih tanpa pesan apapun. Saya mencoba mengakses halaman web RT melalui browser, hanya melihat dialog yang meminta saya untuk menyimpan file 'dmemuat sendiri '. Uff… apa itu? Saya memeriksa httpd error_log dan tidak ada pesan untuk membantu. Yang saya lakukan hanyalah menyimpan file 'unduh' dari browser dan hanya membukanya dengan editor teks. Untungnya, ada beberapa pesan untuk membantu:
Can't located Apache/Session/MySQL.pm @ INC....
Saya menginstal 'Apache/Session/
cpan > install Apache::Session::MySQL
Halaman web RT dimuat tanpa Style/CSS
Setelah menginstal semua modul Perl yang diperlukan, saya memulai kembali httpd server dan mencoba mengakses halaman web RT. Halaman dimuat, tetapi tanpa Gaya apa pun seperti di bawah ini:
Untuk memperbaiki masalah ini, Anda harus menginstal modul Perl yang disebut ‘CSS:Squish ‘
cpan > install CSS:Squish
Itu dia. Saya berhasil memuat halaman web RT. Semoga informasi ini dapat membantu seseorang di luar sana.
Anda mungkin juga membaca :RT error :Mailgate undefined server error.