Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Redmine adalah alat manajemen proyek berbasis web gratis dan open source. Itu ditulis dalam Ruby on Rails dan mendukung beberapa server basis data untuk menyimpan basis data. Ini adalah aplikasi kaya fitur yang mendukung banyak proyek, ACL berbasis peran dan sistem pelacakan masalah. Ini juga memiliki grafik Gantt dan dukungan kalender, manajemen file, per proyek wiki dan forum, serta banyak fitur lainnya. Ini mendukung sistem kontrol versi seperti Git, SVN atau CVS. Ini juga multibahasa, mendukung sebanyak 49 bahasa.
Untuk tutorial ini, kita akan menggunakan 192.168.1.1
sebagai alamat IP publik dan redmine.example.com
sebagai nama domain yang menunjuk ke instance Vultr. Pastikan untuk mengganti semua kemunculan contoh nama domain dan alamat IP dengan yang sebenarnya.
Perbarui sistem basis Anda menggunakan panduan Cara Memperbarui Ubuntu 16.04 . Setelah sistem Anda diperbarui, lanjutkan untuk menginstal dependensi.
Redmine ditulis dalam Ruby on Rails, jadi kami akan meminta Penumpang Phusion untuk berintegrasi dengan server web Apache untuk melayani aplikasi.
Instal Apache.
sudo apt -y install apache2 apache2-dev libcurl4-openssl-dev
Untuk membangun Ruby dan Penumpang, kita akan memerlukan beberapa alat pengembangan juga. Instal alat yang diperlukan.
sudo apt -y install imagemagick libmagickwand-dev git build-essential automake libgmp-dev
Redmine mendukung berbagai jenis server basis data seperti MySQL, PostgreSQL, dan MSSQL. Dalam tutorial ini, kita akan menggunakan PostgreSQL untuk meng-host server database Redmine.
PostgreSQL adalah sistem basis data objek-relasional. Repositori Ubuntu default berisi PostgreSQL versi lama, jadi tambahkan repositori PostgreSQL ke sistem.
echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
Instal server database PostgreSQL.
sudo apt -y install postgresql
Mulai server PostgreSQL dan aktifkan untuk memulai secara otomatis saat boot.
sudo systemctl start postgresql
sudo systemctl enable postgresql
Ubah kata sandi untuk pengguna PostgreSQL default.
sudo passwd postgres
Masuk sebagai pengguna PostgreSQL.
sudo su - postgres
Buat pengguna PostgreSQL baru untuk Redmine.
createuser redmine
Anda diizinkan menggunakan nama pengguna apa pun alih-alih redmine
. PostgreSQL menyediakan psql
shell untuk menjalankan query pada database. Beralih ke shell PostgreSQL.
psql
Tetapkan kata sandi untuk pengguna yang baru dibuat untuk database Redmine.
ALTER USER redmine WITH ENCRYPTED password 'DBPassword';
Ganti DBPassword
dengan kata sandi aman. Buat database baru untuk instalasi Redmine.
CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;
Keluar dari psql
shell.
\q
Beralih ke sudo
pengguna.
exit
Instal beberapa dependensi PostgreSQL yang diperlukan.
sudo apt -y install libpqxx-dev protobuf-compiler
Kami akan menginstal Ruby versi terbaru menggunakan RVM. Ini digunakan untuk menginstal dan mengelola beberapa versi Ruby.
Tambahkan repositori RVM.
sudo apt-add-repository -y ppa:rael-gc/rvm
sudo apt update
Pasang RVM.
sudo apt -y install rvm
Karena kita perlu menginstal sistem Ruby secara luas, kita akan beralih ke pengguna root sementara.
sudo -i
Perbarui variabel lingkungan.
echo "source /etc/profile.d/rvm.sh" | tee -a /etc/profile
source /etc/profile.d/rvm.sh
Instal Ruby versi terbaru.
rvm install 2.5.1
Catatan: Jika Anda menggunakan versi Ruby yang berbeda, pastikan untuk memperbarui jalur Ruby yang sesuai.
Gunakan versi Ruby yang diinstal.
rvm use 2.5.1 --default
Anda dapat memverifikasi versinya.
ruby -v
Anda akan melihat output yang serupa.
root@vultr:~# ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
Instal bundler
, yang merupakan manajer dependensi untuk aplikasi Ruby.
gem install bundler
Ruby sekarang diinstal. Sebelum kita menginstal Redmine, kita perlu menginstal Phusion Passenger.
Jalankan perintah berikut untuk menginstal Penumpang.
gem install passenger
Instal modul Apache untuk Penumpang.
passenger-install-apache2-module
Skrip pemasang akan menanyakan beberapa pertanyaan kepada Anda. Pertama, ini akan memberi Anda informasi tentang proses instalasi. Kemudian, ia akan meminta Anda untuk memilih bahasa yang akan Anda gunakan. Karena aplikasi kita ditulis dalam Ruby on Rails, pilih Ruby dari menu dan tekan ENTERuntuk melanjutkan.
Which languages are you interested in?
Use <space> to select.
If the menu doesn't display correctly, press '!'
‣ ⬢ Ruby
⬢ Python
⬡ Node.js
⬡ Meteor
Pemasang sekarang akan memeriksa persyaratan. Pemasang tidak akan menemukan dependensi yang hilang dan secara otomatis akan melanjutkan untuk mengkompilasi dan menginstal modul.
Setelah modul terinstal, itu akan meminta Anda untuk menambahkan modul ke file konfigurasi Apache.
Almost there!
Please edit your Apache configuration file, and add these lines:
LoadModule passenger_module /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3
PassengerDefaultRuby /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
</IfModule>
After you restart Apache, you are ready to deploy any number of web
applications on Apache, with a minimum amount of configuration!
Press ENTER when you are done editing.
Kami akan melewati ini untuk saat ini dan akan menyelesaikannya nanti di tutorial. Tekan ENTERuntuk melewati langkah ini.
Akhirnya, skrip penginstal akan memvalidasi penginstalan dan Anda akan melihat peringatan yang mengatakan modul Penumpang tidak ditentukan dalam konfigurasi Apache.
Validating installation...
* Checking whether this Passenger install is in PATH... ✓
* Checking whether there are no other Passenger installations... ✓
* Checking whether Apache is installed... ✓
* Checking whether the Passenger module is correctly configured in Apache... (!)
You did not specify 'LoadModule passenger_module' in any of your Apache
configuration files. Please paste the configuration snippet that this
installer printed earlier, into one of your Apache configuration files, such
as /etc/apache2/apache2.conf.
Detected 0 error(s), 1 warning(s).
Press ENTER to continue.
Sekarang kita telah menginstal modul Penumpang untuk Apache, lanjutkan mengunduh dan menginstal Redmine. Beralihlah ke sudo
pengguna lagi karena kita tidak perlu lagi menjalankan perintah menggunakan root
pengguna.
exit
Dianjurkan untuk menggunakan pengguna yang tidak memiliki hak istimewa untuk menjalankan aplikasi agar tetap terisolasi dari sistem lainnya. Buat pengguna baru untuk Redmine dan beralih ke pengguna yang baru dibuat.
sudo adduser --disabled-password --gecos "Redmine User" redmine
sudo su - redmine
Unduh versi terbaru Redmine dari halaman unduh resmi Redmine .
cd ~
wget http://www.redmine.org/releases/redmine-3.4.4.tar.gz
Ekstrak arsip dan ganti nama direktori demi kenyamanan.
tar -xf redmine-*.tar.gz
mv redmine-*/ redmine/
Salin contoh file konfigurasi ke lokasi produksinya.
cd redmine
cp config/configuration.yml.example config/configuration.yml
cp config/database.yml.example config/database.yml
Buka file konfigurasi database yang baru saja kami salin untuk memasukkan detail database.
nano config/database.yml
Secara default, file database dikonfigurasikan untuk MySQL. Temukan konfigurasi untuk produksi dan pengembangan, dan uji yang menggunakan adaptor MySQL. Komentari semua kalimat ini.
#production:
# adapter: mysql2
# database: redmine
# host: localhost
# username: root
# password: ""
# encoding: utf8
#development:
# adapter: mysql2
# database: redmine_development
# host: localhost
# username: root
# password: ""
# encoding: utf8
#test:
# adapter: mysql2
# database: redmine_test
# host: localhost
# username: root
# password: ""
# encoding: utf8
Furthur, temukan baris yang dikomentari, memiliki production
konfigurasi untuk postgresql
adaptor. Batalkan komentar pada baris tersebut dan perbarui nama database dan kredensial pengguna. Pastikan untuk menggunakan lekukan yang benar, yaitu dua spasi.
production:
adapter: postgresql
database: redmine
host: localhost
username: redmine
password: "DBPassword"
Konfigurasikan aplikasi untuk menggunakan konfigurasi PostgreSQL.
bundle config build.pg --with-pg-config=/usr/bin/pg_config
Instal dependensi yang diperlukan oleh aplikasi.
bundle install --path vendor/bundle --without development test
Anda akan melihat pesan berikut di akhir instalasi.
Installing roadie-rails 1.1.1
Bundle complete! 31 Gemfile dependencies, 55 gems now installed.
Gems in the groups development and test were not installed.
Bundled gems are installed into `./vendor/bundle`
Perintah berikut menghasilkan token rahasia yang digunakan untuk menyandikan data sesi.
bundle exec rake generate_secret_token
Tulis basis data PostgreSQL.
RAILS_ENV=production bundle exec rake db:migrate
Jalankan perintah berikut, yang menulis data default ke dalam database PostgreSQL.
RAILS_ENV=production bundle exec rake redmine:load_default_data
Perintah di atas akan meminta Anda untuk memilih bahasa default yang akan digunakan dengan aplikasi. Pilihan standar adalah bahasa Inggris; pilih sesuai dengan preferensi Anda.
[redmine@vultr redmine]$ RAILS_ENV=production bundle exec rake redmine:load_default_data
Select language: ar, az, bg, bs, ca, cs, da, de, el, en, en-GB, es, es-PA, et, eu, fa, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, lv, mk, mn, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sq, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en]
====================================
Default configuration data loaded.
Instalasi aplikasi Redmine sekarang selesai. Ubah kepemilikan dan izin direktori dan file.
mkdir -p tmp tmp/pdf public/plugin_assets
chown -R redmine:redmine files log tmp public/plugin_assets
chmod -R 755 files log tmp public/plugin_assets
Kami telah mengonfigurasi semua yang kami butuhkan dari pengguna yang tidak memiliki hak istimewa. Beralih kembali ke sudo
pengguna dengan menjalankan su - <username>
.
Tambahkan modul Penumpang untuk Apache ke dalam file konfigurasi Apache. Ini akan memuat modul Penumpang secara otomatis.
echo "LoadModule passenger_module /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3/buildout/apache2/mod_passenger.so" | sudo tee -a /etc/apache2/apache2.conf
Catatan: Jalur ke modul Penumpang dapat berubah ketika ada rilis baru Penumpang. Untuk menemukan jalur ke modul, gunakan sudo find / -name mod_passenger.so
perintah.
Buat file host virtual baru untuk aplikasi Redmine Anda.
sudo nano /etc/apache2/sites-available/redmine.conf
Isi file dengan konten berikut.
<VirtualHost *:80>
ServerName redmine.example.com
DocumentRoot /home/redmine/redmine/public
PassengerRoot /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3
PassengerDefaultRuby /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
PassengerUser redmine
<Directory /home/redmine/redmine/public>
Allow from all
Options -MultiViews
Require all granted
</Directory>
</VirtualHost>
Pastikan untuk mengganti redmine.example.com
dengan nama domain Anda yang sebenarnya. Juga, pastikan bahwa jalur ke PassengerRoot
dan PassengerDefaultRuby
sudah benar. Path ke binari dapat berubah ketika ada rilis baru Ruby atau Penumpang. Untuk menemukan jalur ini, jalankan perintah berikut.
passenger-config about ruby-command
Anda akan mendapatkan hasil berikut.
user@vultr:~$ passenger-config about ruby-command
passenger-config was invoked through the following Ruby interpreter:
Command: /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
Version: ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
To use in Apache: PassengerRuby /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
To use in Nginx : passenger_ruby /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
To use with Standalone: /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3/bin/passenger start
## Notes for RVM users
Do you want to know which command to use for a different Ruby interpreter? 'rvm use' that Ruby interpreter, then re-run 'passenger-config about ruby-command'.
Setelah file host Virtual dibuat. Aktifkan konfigurasi.
sudo a2ensite redmine
Mulai ulang server web Apache.
sudo systemctl restart apache2
Anda sekarang dapat mengakses antarmuka Redmine Anda http://redmine.example.com
. Login dengan nama pengguna admin
, dan kata sandi admin
. Pada login pertama Anda, Redmine akan meminta Anda untuk memperbarui kata sandi.
Karena instalasi Redmine kami berada di server yang menghadap publik, disarankan untuk menggunakan SSL untuk mengamankan pertukaran data dari server.
Tambahkan repositori Certbot.
sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update
Instal Certbot, yang merupakan aplikasi klien untuk Let's Encrypt CA.
sudo apt -y install certbot
Catatan: Untuk mendapatkan sertifikat dari Let's Encrypt CA, domain tempat sertifikat akan dibuat harus diarahkan ke server. Jika tidak, buat perubahan yang diperlukan pada catatan DNS domain dan tunggu hingga DNS menyebar sebelum membuat permintaan sertifikat lagi. Certbot memeriksa otoritas domain sebelum memberikan sertifikat.
Buat sertifikat SSL.
sudo certbot certonly --webroot -w /home/redmine/redmine/public -d redmine.example.com
Sertifikat yang dihasilkan cenderung disimpan di /etc/letsencrypt/live/redmine.example.com/
. Sertifikat SSL akan disimpan sebagai cert.pem
dan kunci pribadi akan disimpan sebagai privkey.pem
.
Mari Enkripsi sertifikat kedaluwarsa dalam 90 hari, oleh karena itu disarankan untuk mengatur perpanjangan otomatis sertifikat menggunakan pekerjaan Cron.
Buka file pekerjaan Cron untuk root
pengguna.
sudo crontab -e
Tambahkan baris berikut di akhir file.
30 5 * * * /usr/bin/certbot renew --quiet
Pekerjaan Cron di atas akan berjalan setiap hari pada pukul 5:30 pagi. Jika sertifikat akan kedaluwarsa, maka secara otomatis akan diperpanjang.
Aktifkan modul SSL untuk Apache.
sudo a2enmod ssl
Edit file host virtual yang kami buat sebelumnya untuk Redmine.
sudo nano /etc/apache2/sites-available/redmine.conf
Ubah file host Virtual agar serupa dengan yang berikut ini.
<VirtualHost *:80>
ServerName redmine.example.com
Redirect permanent / https://redmine.example.com/
</VirtualHost>
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName redmine.example.com
DocumentRoot "/home/redmine/redmine/public"
<Directory "/home/redmine/redmine/public">
Options None
Require all granted
</Directory>
PassengerAppEnv production
PassengerRoot /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3
PassengerDefaultRuby /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
PassengerUser redmine
PassengerHighPerformance on
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/redmine.example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/redmine.example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/redmine.example.com/chain.pem
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
<IfModule headers_module>
Header always edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure
Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains"
</IfModule>
</VirtualHost>
Simpan file dan keluar dari editor.
Mulai ulang Apache agar perubahan dapat diterapkan.
sudo systemctl restart apache2
Anda sekarang dapat mengakses Redmine HTTPS
di https://redmine.example.com
.
Selamat, Anda telah berhasil menginstal Redmine pada instance Ubuntu 16.04 Anda. Mulai kembangkan proyek Anda dengan membuat atau mengimpor proyek Anda.
Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.
Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.
Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.
Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.
CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?
Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.
Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!
Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.
Baru-baru ini Apple merilis macOS Catalina 10.15.4 pembaruan suplemen untuk memperbaiki masalah tetapi tampaknya pembaruan menyebabkan lebih banyak masalah yang mengarah ke bricking mesin mac. Baca artikel ini untuk mempelajari lebih lanjut