Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Redmine adalah alat pengurusan projek berasaskan web percuma dan terbuka. Ia ditulis dalam Ruby on Rails dan menyokong beberapa pelayan pangkalan data untuk menyimpan pangkalan data. Ini adalah aplikasi kaya ciri yang menyokong pelbagai projek, ACL berdasarkan peranan dan sistem pengesanan masalah. Ia juga mempunyai sokongan grafik dan kalendar Gantt, pengurusan fail, wiki dan forum setiap projek, serta banyak lagi ciri lain. Ia menyokong sistem kawalan versi seperti Git, SVN atau CVS. Ia juga berbilang bahasa, menyokong sebanyak 49 bahasa.
Untuk tutorial ini, kami akan menggunakan 192.168.1.1
sebagai alamat IP awam dan redmine.example.com
sebagai nama domain menunjuk ke arah Vultr. Sila pastikan untuk menggantikan semua contoh contoh nama domain dan alamat IP dengan yang sebenarnya.
Kemas kini sistem asas anda menggunakan panduan Cara Kemaskini Ubuntu 16.04 . Setelah sistem anda diperbaharui, teruskan memasang dependensi.
Redmine ditulis dalam Ruby on Rails, oleh itu kami akan memerlukan Penumpang Phusion untuk mengintegrasikan dengan pelayan web Apache untuk melayani aplikasi tersebut.
Pasang Apache.
sudo apt -y install apache2 apache2-dev libcurl4-openssl-dev
Untuk membina Ruby dan Penumpang, kami juga memerlukan beberapa alat pembangunan. Pasang alatan yang diperlukan.
sudo apt -y install imagemagick libmagickwand-dev git build-essential automake libgmp-dev
Redmine menyokong pelbagai jenis pelayan pangkalan data seperti MySQL, PostgreSQL, dan MSSQL. Dalam tutorial ini, kita akan menggunakan PostgreSQL untuk menjadi tuan rumah pelayan pangkalan data Redmine.
PostgreSQL adalah sistem pangkalan data objek-hubungan. Repositori Ubuntu lalai mengandungi versi lama PostgreSQL, 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
Pasang pelayan pangkalan data PostgreSQL.
sudo apt -y install postgresql
Mulakan pelayan PostgreSQL dan dayakannya secara automatik pada masa boot.
sudo systemctl start postgresql
sudo systemctl enable postgresql
Tukar kata laluan untuk pengguna PostgreSQL lalai.
sudo passwd postgres
Log masuk sebagai pengguna PostgreSQL.
sudo su - postgres
Buat pengguna PostgreSQL baru untuk Redmine.
createuser redmine
Anda dibenarkan untuk menggunakan mana-mana nama pengguna dan bukannya redmine
. PostgreSQL menyediakan psql
shell untuk menjalankan pertanyaan pada pangkalan data. Beralih ke shell PostgreSQL.
psql
Tetapkan kata laluan untuk pengguna yang baru dibuat untuk pangkalan data Redmine.
ALTER USER redmine WITH ENCRYPTED password 'DBPassword';
Gantikan DBPassword
dengan kata laluan yang selamat. Buat pangkalan data baru untuk pemasangan Redmine.
CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;
Keluar dari psql
cangkerang.
\q
Beralih kepada sudo
pengguna.
exit
Pasang beberapa pergantungan PostgreSQL yang diperlukan.
sudo apt -y install libpqxx-dev protobuf-compiler
Kami akan memasang versi terbaru Ruby menggunakan RVM. Ia digunakan untuk memasang dan mengurus pelbagai versi Ruby.
Tambah repositori RVM.
sudo apt-add-repository -y ppa:rael-gc/rvm
sudo apt update
Pasang RVM.
sudo apt -y install rvm
Oleh kerana kita perlu memasang sistem Ruby seluasnya, kita akan beralih kepada pengguna root buat sementara waktu.
sudo -i
Kemas kini pembolehubah persekitaran.
echo "source /etc/profile.d/rvm.sh" | tee -a /etc/profile
source /etc/profile.d/rvm.sh
Pasang Ruby versi terkini.
rvm install 2.5.1
Catatan: Jika anda menggunakan Ruby versi lain, pastikan untuk mengemas kini jalur Ruby dengan sewajarnya.
Gunakan versi Ruby yang dipasang.
rvm use 2.5.1 --default
Anda boleh mengesahkan 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]
Pasang bundler
, yang merupakan pengurus pergantungan untuk aplikasi Ruby.
gem install bundler
Ruby kini dipasang. Sebelum memasang Redmine, kita perlu memasang Phusion Passenger.
Jalankan arahan berikut untuk memasang Penumpang.
gem install passenger
Pasang modul Apache untuk Penumpang.
passenger-install-apache2-module
Skrip pemasang akan menanyakan beberapa soalan kepada anda. Pertama, ia akan memberi anda maklumat tentang proses pemasangan. Kemudian, ia akan meminta anda untuk memilih bahasa yang akan anda gunakan. Oleh kerana aplikasi kami ditulis dalam Ruby on Rails, pilih Ruby dari menu dan tekan ENTERuntuk meneruskan lebih jauh.
Which languages are you interested in?
Use <space> to select.
If the menu doesn't display correctly, press '!'
‣ ⬢ Ruby
⬢ Python
⬡ Node.js
⬡ Meteor
Pemasang kini akan memeriksa keperluan. Pemasang tidak akan menemui apa-apa ketergantungan yang hilang dan secara automatik akan terus menyusun dan memasang modul.
Setelah modul dipasang, ia akan meminta anda menambahkan modul ke fail 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 melangkau ini buat masa ini dan akan menyelesaikannya kemudian dalam tutorial. Tekan ENTERuntuk melangkau langkah ini.
Akhirnya, skrip pemasang akan mengesahkan pemasangan dan anda akan melihat amaran yang mengatakan modul Penumpang tidak dinyatakan 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.
Setelah kita memasang modul Passenger untuk Apache, teruskan memuat turun dan memasang Redmine. Beralih ke sudo
pengguna sekali lagi kerana kita tidak perlu menjalankan perintah lagi menggunakan root
pengguna.
exit
Dianjurkan untuk menggunakan pengguna yang tidak berhak untuk menjalankan aplikasi agar tetap terisolasi dari sistem yang lain. Buat pengguna baru untuk Redmine dan beralih ke pengguna yang baru dibuat.
sudo adduser --disabled-password --gecos "Redmine User" redmine
sudo su - redmine
Muat turun versi terbaru Redmine dari halaman muat turun Redmine rasmi .
cd ~
wget http://www.redmine.org/releases/redmine-3.4.4.tar.gz
Ekstrak arkib dan menamakan semula direktori untuk kemudahan.
tar -xf redmine-*.tar.gz
mv redmine-*/ redmine/
Salin fail konfigurasi contoh ke lokasi pengeluarannya.
cd redmine
cp config/configuration.yml.example config/configuration.yml
cp config/database.yml.example config/database.yml
Buka fail konfigurasi pangkalan data kami baru disalin untuk memasukkan butiran pangkalan data.
nano config/database.yml
Secara lalai, fail pangkalan data dikonfigurasi untuk MySQL. Cari konfigurasi untuk pengeluaran dan pembangunan, dan ujian yang menggunakan penyesuai MySQL. Komen semua baris 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, cari baris yang dikomentari, mempunyai production
konfigurasi untuk postgresql
penyesuai. Uncomments garis-garis dan kemas kini nama pangkalan data dan kelayakan pengguna. Pastikan menggunakan lekukan yang betul, iaitu dua ruang.
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
Pasang kebergantungan yang diperlukan oleh aplikasi.
bundle install --path vendor/bundle --without development test
Anda akan melihat mesej berikut pada akhir pemasangan.
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 rahsia yang digunakan untuk mengekod data sesi.
bundle exec rake generate_secret_token
Tulis pangkalan data PostgreSQL.
RAILS_ENV=production bundle exec rake db:migrate
Jalankan arahan berikut, yang menulis data lalai ke pangkalan data PostgreSQL.
RAILS_ENV=production bundle exec rake redmine:load_default_data
Perintah di atas akan meminta anda memilih bahasa lalai untuk digunakan dengan aplikasi. Pilihan lalai adalah Bahasa Inggeris; pilih mengikut pilihan 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.
Pemasangan aplikasi Redmine kini selesai. Tukar pemilikan dan kebenaran direktori dan fail.
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 mengkonfigurasi semua yang kami perlukan dari pengguna yang tidak berhak. Beralih kembali kepada sudo
pengguna dengan berjalan su - <username>
.
Tambah modul Penumpang untuk Apache ke dalam fail konfigurasi Apache. Ini akan memuatkan modul Passenger secara automatik.
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: Laluan ke modul Penumpang boleh berubah apabila terdapat pelepasan Penumpang baru. Untuk mencari laluan ke modul, gunakan sudo find / -name mod_passenger.so
arahan tersebut.
Buat fail tuan rumah maya yang baru untuk aplikasi Redmine anda.
sudo nano /etc/apache2/sites-available/redmine.conf
Isi fail dengan kandungan 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 menggantikan redmine.example.com
dengan nama domain sebenar anda. Juga, pastikan laluan ke PassengerRoot
dan PassengerDefaultRuby
betul. Jalan ke binari boleh berubah apabila terdapat pembebasan baru Ruby atau Penumpang. Untuk mencari jalan ini, jalankan arahan berikut.
passenger-config about ruby-command
Anda akan mendapat output 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 fail tuan rumah Maya dibuat. Aktifkan konfigurasi.
sudo a2ensite redmine
Mulakan semula pelayan web Apache.
sudo systemctl restart apache2
Anda kini boleh mengakses antara muka Redmine anda http://redmine.example.com
. Log masuk dengan nama pengguna admin
dan kata laluan admin
. Pada log masuk pertama anda, Redmine akan meminta anda untuk mengemas kini kata laluan.
Oleh kerana pemasangan Redmine kami berada pada pelayan menghadap awam, disyorkan untuk menggunakan SSL untuk menjamin pertukaran data dari pelayan.
Tambah repositori Certbot.
sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update
Pasang Certbot, iaitu aplikasi klien untuk Let's Encrypt CA.
sudo apt -y install certbot
Nota: Untuk mendapatkan sijil dari Let's Encrypt CA, domain yang mana sijil yang akan dihasilkan mesti ditujukan ke pelayan. Sekiranya tidak, buat perubahan yang diperlukan pada rekod DNS domain dan tunggu DNS disebarkan sebelum membuat permintaan sijil lagi. Certbot memeriksa pihak berkuasa domain sebelum menyediakan sijil.
Menjana sijil SSL.
sudo certbot certonly --webroot -w /home/redmine/redmine/public -d redmine.example.com
Sijil yang dijana mungkin disimpan di dalam /etc/letsencrypt/live/redmine.example.com/
. Sijil SSL akan disimpan sebagai cert.pem
dan kunci peribadi akan disimpan sebagai privkey.pem
.
Mari Sijikan sijil tamat tempoh dalam 90 hari, oleh itu, disyorkan untuk menyediakan pembaharuan automatik sijil menggunakan kerja-kerja Cron.
Buka fail kerja Cron untuk root
pengguna.
sudo crontab -e
Tambahkan garisan berikut pada akhir fail.
30 5 * * * /usr/bin/certbot renew --quiet
Kerja Cron di atas akan dijalankan setiap hari pada 5:30 pagi. Sekiranya sijil perlu tamat tempoh, ia akan diperbaharui secara automatik.
Dayakan modul SSL untuk Apache.
sudo a2enmod ssl
Edit fail hos maya yang kami buat lebih awal untuk Redmine.
sudo nano /etc/apache2/sites-available/redmine.conf
Ubah suai fail tuan rumah Maya supaya sama dengan yang berikut.
<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 fail dan keluar dari editor.
Restart Apache supaya perubahan tersebut dapat berkuatkuasa.
sudo systemctl restart apache2
Anda kini boleh mengakses Redmine HTTPS
di atas https://redmine.example.com
.
Tahniah, anda telah berjaya memasang Redmine pada contoh Ubuntu anda 16.04. Mulakan membangunkan projek anda sama ada dengan membuat atau mengimport projek anda.
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.
Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.
Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.
Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.
CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?
Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.
Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!
Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.
Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut