Cara Memasang Redmine Pada Rhel 8 / CentOS 8 Linux

Cara Memasang Redmine Pada Rhel 8 / CentOS 8 Linux

Redmine adalah aplikasi web pengurusan projek sumber terbuka yang popular. Ia menyokong pangkalan data Datuk Bandar seperti MySQL dan PostgreSQL sebagai backend, dan anda juga boleh menukar frontend ke Apache dari Webrick (disyorkan untuk kegunaan pengeluaran) yang dihantar dengan pemasangan. Dalam artikel ini, kami akan memasang redmine terkini di RHEL 8 / CentOS 8, menggunakan PostgreSQL sebagai backend, tetapi kami akan meninggalkan Webrick lalai sebagai Frontend, yang akan menjalani ujian kami dengan sempurna.

Jangan mengharapkan proses ini menjadi mudah, atau bebas daripada kesilapan. Walaupun mengikuti langkah -langkah ini ke surat itu, beberapa kesilapan pasti akan berlaku, persediaan seolah -olah mengendalikan sudo Langkah -langkah agak tidak konsisten - tetapi penyelesaiannya juga termasuk yang akan membimbing melalui kesilapan ini.

Dalam tutorial ini anda akan belajar:

  • Cara memasang pakej sistem operasi yang diperlukan
  • Cara Menyiapkan Pangkalan Data
  • Cara Memasang Aplikasi Redmine
  • Cara Memulakan dan Masuk ke Aplikasi
Halaman Konfigurasi Redmine di RHEL 8.

Keperluan perisian dan konvensyen yang digunakan

Keperluan Perisian dan Konvensyen Talian Perintah Linux
Kategori Keperluan, konvensyen atau versi perisian yang digunakan
Sistem RHEL 8 / CENTOS 8
Perisian Redmine 4.0.3, postgresql 10.5
Yang lain Akses istimewa ke sistem linux anda sebagai akar atau melalui sudo perintah.
Konvensyen # - Memerlukan arahan Linux yang diberikan untuk dilaksanakan dengan keistimewaan akar sama ada secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah
$ - Memerlukan arahan Linux yang diberikan sebagai pengguna yang tidak layak

Cara Memasang Redmine Pada Redhat 8 Langkah demi Langkah Arahan

Redmine adalah aplikasi Ruby. Untuk pemasangan yang mesti kita gunakan Rubygems dan Bundler, dan menyusun banyak kebergantungan, jadi ia akan mengambil sedikit masa. Kami akan menggunakan repositori Red Hat yang tersedia setelah membolehkan Pengurusan Langganan menyelesaikan kebergantungan sistem operasi. Anda boleh merujuk kepada Panduan Pemasangan PostgreSQL di RHEL8 untuk persediaan terperinci pangkalan data secara umum, dalam artikel ini kita hanya akan meliputi langkah -langkah yang diperlukan untuk redmine. Sekiranya persediaan pangkalan data baru, jangan lupa untuk melengkapkan initdb langkah dalam panduan yang disebutkan, atau permulaan pangkalan data akan gagal.

  1. Kami akan membuat pengguna yang akan menjadi pemilik aplikasi, dan kami akan memberikannya sementara sudo akses. Kita dapat membatalkan akses ini setelah pemasangan selesai.
    # UserAdd Redmine

    Kami mesti menetapkan kata laluan untuk pengguna baru, yang akan kami gunakan semasa menggunakan sudo:

    # passwd redmine

    Mengenai pengagihan berasaskan RHEL, ada roda kumpulan pengguna, yang dibenarkan menggunakan sudo untuk menjalankan arahan istimewa. Untuk memeriksa bahawa kumpulan ini disediakan sebagai sudoer, kita boleh grep The /etc/sudoers Fail:

    # grep " %roda" /etc /sudoers %roda semua = (semua) semua # %roda semua = (semua) nopasswd: semua

    Baris kedua dengan pilihan NOPASSWD dikomentari, yang sesuai dengan keperluan kita. Dengan konfigurasi di atas, semua yang perlu kita lakukan ialah menambah Redmine pengguna ke roda kumpulan:

    # usermod -a -g roda merah roda
  2. Untuk memasang pakej yang akan disediakan oleh sistem operasi, kami akan menggunakan DNF:
    # DNF memasang kernel-devel kernel-headers gcc postgresql-devel ruby ​​rubygems-devel rubygems


  3. Untuk mendapatkan permohonan itu, lawati tapak muat turun rasmi (yang berjalan di Redmine). Dari sini kita dapat memuat turun yang dimampatkan Tarball dengan wget ke sistem sasaran:
    # wget https: // www.Redmine.org/siaran/merah-4.0.3.tar.GZ -O /OPT /REDMINE -4.0.3.tar.Gz

    Seperti yang dicadangkan oleh arahan di atas, kami akan memasang aplikasi di bawah /Memilih direktori. Kami akan beralih ke direktori ini, dan mengeluarkan arkib:

    # CD /OPT # TAR -XZF REDMINE -4.0.3.tar.Gz

    Secara pilihan kita juga boleh membuat a Symlink Untuk akses yang lebih mudah - dengan cara ini kita tidak perlu ingat versi yang tepat:

    # ln -s /opt /redmine -4.0.3 /opt /redmine

    Sekarang kita boleh menetapkan Redmine Pengguna sebagai pemilik hierarki direktori yang diekstrak, secara rekursif:

    # chown -r redmine: redmine /opt /redmine*
  4. Untuk menyediakan pangkalan data untuk sambungan aplikasi, kita perlu memulakannya jika ia tidak berjalan:
    # Systemctl Mula PostgreSQL
  5. Kita perlu membuat pangkalan data kosong di mana aplikasi akan menyimpan data itu. Untuk berbuat demikian, kami akan beralih ke Postgres Pengguna sistem operasi yang dibuat secara lalai di pemasangan pangkalan data:
    # Su - Postgres

    Kami akan log masuk ke PSQL Sebagai superuser pangkalan data:

    $ PSQL PSQL (10.5) Taipkan "bantuan" untuk mendapatkan bantuan. Postgres =#

    Kami akan membuat peranan yang akan digunakan oleh aplikasi (perhatikan nama pengguna dan kata laluan):

    Postgres =# Buat peranan Redmine Login yang disulitkan kata laluan 'R3DM1N3' Noinherit sah sehingga 'Infinity';

    Kami juga membuat pangkalan data baru dengan pemilik yang dibuat di atas:

    postgres =# Buat pangkalan data RMDB dengan pengekodan = "UTF8" pemilik = redmine;

    Kami memerlukan nama pengguna, kata laluan, pengekodan dan nama pangkalan data dalam langkah kemudian.

  6. Sekarang pengguna disediakan, kita perlu membenarkan login untuknya di pelayan pangkalan data. Pengguna merah akan menyambung secara tempatan, jadi kami menambah baris berikut ke pg_hba.Conf fail, terletak secara lalai di /var/lib/pgsql/data Secara lalai pada pengagihan berasaskan RHEL:
    Hos RMDB Redmine 127.0.0.1/32 MD5

    Semak fail konfigurasi anda untuk perkara berikut:

    # IPv4 Sambungan Tempatan: Hos Semua 127.0.0.1/32 ident

    Sekiranya anda mempunyai garis sedemikian, komennya, ia akan bertentangan dengan log masuk yang kami merancang untuk menubuhkan.

  7. Dengan itu, kita perlu memulakan semula pangkalan data untuk tetapan untuk berkuatkuasa:
    # Systemctl mulakan semula postgresql
  8. Sekarang kita mempunyai semua maklumat yang diperlukan untuk memberitahu permohonan di mana dan bagaimana ia dapat mencari pangkalan data. Terdapat contoh fail konfigurasi sambungan pangkalan data dengan semua pangkalan data yang disokong di konfigurasi subdirektori arkib yang diekstrak. Kita boleh membuat salinan fail ini (menggunakan Redmine pengguna):
    $ cp config/pangkalan data.yml.Contoh konfigurasi/pangkalan data.yml

    Kami boleh memadam atau mengulas semua tetapan contoh selain yang berkaitan dengan PostgreSQL, atau hanya membuat fail kosong dengan konfigurasi yang diperlukan (kurang sampah akan kekal dalam fail dengan cara itu). Pada akhirnya, /opt/redmine/config/pangkalan data.yml harus mengandungi perkara berikut:

    # PostgreSQL Pengeluaran Konfigurasi: Penyesuai: Pangkalan Data PostgreSQL: RMDB Host: 127.0.0.1 Nama Pengguna: Kata Laluan Merah: "R3DM1N3"
    Salinan

    Perhatikan bahawa kami menggunakan maklumat sambungan pangkalan data yang kami sediakan dalam dua langkah terakhir.



  9. Untuk mengurangkan jumlah masalah yang mungkin, kami akan menguji bahawa kami boleh log masuk ke RMDB pangkalan data dengan kelayakan yang disediakan dalam fail konfigurasi. Lebih mudah untuk menyahpepijat masalah sambungan dengan Toolset PostgreSQL daripada yang lain:
    $ psql -d rmdb -u redmine -w kata laluan untuk pengguna redmine: psql (10.5) Taipkan "bantuan" untuk mendapatkan bantuan. rmdb =>
  10. Di sinilah bahagian mudah berakhir. Sekarang kita akan memasang pelbagai pakej Ruby Redmine bergantung pada. Sebilangan daripada mereka memerlukan akar akses, ada yang akan dipasang atas nama Redmine pengguna, dan kemudian beberapa mungkin memerlukan pembaikan. Jangan main-main. Pertama sekali, kita perlukan Bundler:
    # GEM Pasang Bundler Fetching: Bundler-2.0.1.GEM (100%) berjaya memasang bundler-2.0.1 1 permata dipasang

    Kami akan menggunakan Bundler dengan Redmine pengguna, tetapi kami juga memerlukan akar untuk memasang atau membaiki Ruby Gems, Oleh itu, saya cadangkan untuk membuka terminal lain, beralih ke Redmine pengguna, dan menavigasi ke /memilih/merah direktori, sementara juga menyimpan konsol akar terbuka.

  11. Sebagai Redmine pengguna, kami memulakan pemasangan di /memilih/merah Direktori:
    $ bundle Install -Without Development Test Rmagick

    Banyak kebergantungan akan dipasang, dan bagi sesetengah pemasang meminta sudo Kata laluan - yang merupakan kata laluan Redmine pengguna. Nampaknya fungsi sudo ini entah bagaimana rosak sedikit, dan dapat mengendalikan beberapa pakej istimewa akar pemasangan, dan tidak dapat meneruskan dengan orang lain. Yang gagal dapat dipasang pada konsol root, dan di atas bundle Perintah boleh dilaksanakan pada konsol pengguna merah lagi. Apa yang perlu dipasang dalam kes saya dengan akar adalah perkara berikut:

    # Gem Pasang Nokogiri -v '1.10.2 ' -sumber' https: // rubygems.org/' # permata memasang pg -v' 1.1.4 ' -sumber' https: // rubygems.org/'

    Terdapat juga beberapa pakej yang mungkin pecah semasa pemasangan. Ini boleh dibaiki pada konsol akar juga. Seperti langkah pemasangan pakej yang gagal di atas, output dari Bundler Perintah akan memberitahu pakej mana yang mendapat masalah, dan bagaimana menyelesaikannya. Dalam kes saya, pakej berikut memerlukan pembaikan:

    # Gem NiO4R -Version 2.3.1 # Gem Redcarpet Murni -Version 3.4.0 # permata pemacu websocket-driver-version 0.7.0

    Sila ambil perhatian bahawa jika anda memasang versi Redmine yang lain, nombor versi pakej mungkin berbeza. Setelah menetapkan semua pakej yang rosak dan hilang, bundle Perintah harus diselesaikan tanpa kesilapan, dengan akhir output berikut:

    [...] Memasang Roadie-Rails 1.3.0 mengambil Rouge 3.3.0 Memasang Rouge 3.3.0 Bundle Lengkap! 26 kebergantungan permata, 57 permata kini dipasang. Permata dalam Pembangunan Kumpulan, Ujian dan RMAGICK tidak dipasang. Gunakan 'Maklumat Bundle [Gemname]' untuk melihat di mana permata yang dibundel dipasang.
  12. Dengan bahagian rumit yang dilakukan, kita perlu menjana tanda yang akan digunakan untuk mengekodkan kuki sesi:
    $ bundle ex ex ex ex ex ex expe Generate_secret_token
  13. Seterusnya kami menjana objek pangkalan data yang diperlukan oleh aplikasi:
    $ Rails_env = Pengeluaran Bundle Exec Rake DB: Berhijrah

    Selain daripada membuat objek pangkalan data yang diperlukan, langkah ini akan menghasilkan banyak output dengan melayari semua langkah ke konsol. Kami akan melihat banyak penyertaan kelihatan serupa dengan yang berikut:

    [...] == 20180913072918 AddVerifyPeertoAuthSources: Migrating ======================= -change_table (: auth_sources) -> 0.0082S == 20180913072918 AddVerifyPeertoAuthSources: Migrated (0.0083S) ============= == 20180923082945 ChangeQLiteBooleansTo0and1: Migrating ====================== = (0.0000s) =============

    Proses ini mesti diselesaikan dalam beberapa saat.

  14. Kita boleh menyemak pangkalan data penduduk dengan PSQL:
    rmdb => \ dt Senarai Skema Perhubungan | Nama | Jenis | Pemilik --------+-------------------------------------+-- -----+--------- Awam | ar_internal_metadata | Jadual | Redmine Public | Lampiran | Jadual | Redmine Public | Auth_sources | Jadual | Redmine Public | papan | Jadual | Redmine Public | Perubahan | Jadual | Redmine [...]


  15. Langkah terakhir pemasangan adalah memuatkan data lalai ke dalam pangkalan data. Dengan menyediakan Redmine_lang parameter kita dapat menyelamatkan diri dari sebarang pertanyaan semasa memuatkan awal.
    $ Rails_env = pengeluaran redmine_lang = en bundle exec rake redmine: load_default_data data konfigurasi lalai dimuatkan.
  16. Pemasangan selesai. Kita boleh memulakan permohonan:
    $ bundle exec Rails Server WeBrick -E Production => Booting WeBrick => Rails 5.2.2.1 Permohonan Bermula dalam Pengeluaran pada http: // 0.0.0.0: 3000 => Run 'Rails Server -H' Untuk pilihan permulaan lebih banyak [2019-04-14 18:39:12] Maklumat Webrick 1.4.2 [2019-04-14 18:39:12] Maklumat Ruby 2.5.1 (2018-03-29) [x86_64-linux] [2019-04-14 18:39:12] Info Webrick :: Httpserver#Start: PID = 30062 port = 3000
  17. Permohonan kini berjalan dan boleh diakses dengan penyemak imbas. Dari output di atas kita dapat meneka bahawa ia boleh diakses di port 3000, Oleh itu, jika kita mempunyai firewall yang berjalan pada mesin sasaran, kita perlu membuka port ini untuk mengakses perkhidmatan dari jauh:
    # firewall-cmd --Zone = public --add-port = 3000/tcp --permanent # firewall-cmd-reload
  18. Dengan membuka penyemak imbas dan menunjuknya ke alamat mesin dan port 3000 (http: // 192.168.1.14: 3000 pada tangkapan skrin di bawah), kami boleh mengakses antara muka berasaskan web pemasangan merah baru kami. Halaman log masuk merah.

    Kelayakan lalai adalah admin untuk nama pengguna, dan juga untuk kata laluan. Pada log masuk pertama, aplikasi yang berkelakuan baik akan meminta perubahan kata laluan untuk akaun istimewa ini. Dari situ perkhidmatan kita untuk mengisi, mengkonfigurasi, dan nikmati.

  19. Dengan pemasangan selesai, kita boleh mengeluarkan Redmine pengguna dari roda kumpulan, menghapuskan lubang keselamatan yang diperlukan semasa proses:
    # GPasswd -d Redmine Wheel Mengeluarkan Redmine Pengguna dari Roda Kumpulan # ID Redmine UID = 1008 (Redmine) GID = 1008 (Redmine) Kumpulan = 1008 (Redmine)

Tutorial Linux Berkaitan:

  • Ubuntu 20.04 Pemasangan PostgreSQL
  • Ubuntu 22.04 Pemasangan PostgreSQL
  • Pasang mysql di Ubuntu 20.04 LTS Linux
  • Ubuntu 20.04 WordPress dengan pemasangan Apache
  • Cara Memasang MySQL di Almalinux
  • Cara Menyiapkan Linux Apache Mysql Python Server
  • Perkara yang hendak dipasang di Ubuntu 20.04
  • Aplikasi Antara Muka Pengguna Grafik (GUI) untuk Mengurus ..
  • Cara Mempertahankan Data ke PostgreSQL di Java
  • Perkara yang perlu dipasang di Ubuntu 22.04