26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
Redmine ücretsiz ve açık kaynaklı, web tabanlı bir proje yönetim aracıdır. Ruby on Rails ile yazılmıştır ve veritabanını saklamak için birden fazla veritabanı sunucusunu destekler. Birden fazla projeyi, rol tabanlı EKL'yi ve sorun izleme sistemini destekleyen zengin özelliklere sahip bir uygulamadır. Ayrıca Gantt grafik ve takvim desteği, dosya yönetimi, proje wiki ve forumu ve diğer birçok özelliğe sahiptir. Git, SVN veya CVS gibi sürüm kontrol sistemlerini destekler. Aynı zamanda çok dilli, 49 dil destekliyor.
Bu eğitimde, 192.168.1.1
genel IP adresi ve redmine.example.com
Vultr örneğine işaret eden alan adı olarak kullanacağız. Lütfen örnek alan adının ve IP adresinin tüm tekrarlarını gerçek adla değiştirdiğinizden emin olun.
Ubuntu 16.04 Güncelleme kılavuzunu kullanarak temel sisteminizi güncelleyin . Sisteminiz güncellendiğinde, bağımlılıkları yüklemeye devam edin.
Redmine Ruby on Rails dilinde yazılmıştır, bu nedenle Phusion Passenger'ın Apache web sunucusuyla uygulamaya hizmet etmesini gerektireceğiz.
Apache'yi yükleyin.
sudo apt -y install apache2 apache2-dev libcurl4-openssl-dev
Ruby ve Yolcu inşa etmek için bazı geliştirme araçlarına da ihtiyacımız olacak. Gerekli aletleri takın.
sudo apt -y install imagemagick libmagickwand-dev git build-essential automake libgmp-dev
Redmine, MySQL, PostgreSQL ve MSSQL gibi birden çok veritabanı sunucusunu destekler. Bu öğreticide, Redmine veritabanı sunucusunu barındırmak için PostgreSQL kullanacağız.
PostgreSQL bir nesne-ilişkisel veritabanı sistemidir. Varsayılan Ubuntu deposu PostgreSQL'in eski bir sürümünü içerir, bu nedenle PostgreSQL deposunu sisteme ekleyin.
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
PostgreSQL veritabanı sunucusunu kurun.
sudo apt -y install postgresql
PostgreSQL sunucusunu başlatın ve önyükleme zamanında otomatik olarak başlamasını sağlayın.
sudo systemctl start postgresql
sudo systemctl enable postgresql
Varsayılan PostgreSQL kullanıcısının parolasını değiştirin.
sudo passwd postgres
PostgreSQL kullanıcısı olarak oturum açın.
sudo su - postgres
Redmine için yeni bir PostgreSQL kullanıcısı oluşturun.
createuser redmine
Bunun yerine herhangi bir kullanıcı adı kullanmanıza izin verilir redmine
. PostgreSQL psql
, veritabanında sorgu çalıştırmak için kabuk sağlar . PostgreSQL kabuğuna geçin.
psql
Redmine veritabanı için yeni oluşturulan kullanıcı için bir parola belirleyin.
ALTER USER redmine WITH ENCRYPTED password 'DBPassword';
DBPassword
Güvenli bir parola ile değiştirin . Redmine yüklemesi için yeni bir veritabanı oluşturun.
CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;
Kabuktan çıkın psql
.
\q
sudo
Kullanıcıya geçin .
exit
Birkaç gerekli PostgreSQL bağımlılığı yükleyin.
sudo apt -y install libpqxx-dev protobuf-compiler
RVM'yi kullanarak Ruby'nin en son sürümünü yükleyeceğiz. Ruby'nin birden çok sürümünü yüklemek ve yönetmek için kullanılır.
RVM deposunu ekleyin.
sudo apt-add-repository -y ppa:rael-gc/rvm
sudo apt update
RVM'yi yükleyin.
sudo apt -y install rvm
Ruby sistemini geniş olarak kurmamız gerektiğinden, geçici olarak kök kullanıcıya geçeceğiz.
sudo -i
Ortam değişkenlerini güncelleyin.
echo "source /etc/profile.d/rvm.sh" | tee -a /etc/profile
source /etc/profile.d/rvm.sh
Ruby'nin en son sürümünü yükleyin.
rvm install 2.5.1
Not: Farklı bir Ruby sürümü kullanıyorsanız, Ruby yolunu uygun şekilde güncellediğinizden emin olun.
Yüklü Ruby sürümünü kullanın.
rvm use 2.5.1 --default
Sürümünü doğrulayabilirsiniz.
ruby -v
Benzer bir çıktı göreceksiniz.
root@vultr:~# ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
bundler
Ruby uygulamasının bağımlılık yöneticisi olan Install .
gem install bundler
Ruby yüklendi. Redmine'ı kurmadan önce Phusion Passenger'ı kurmamız gerekecek.
Passenger'ı kurmak için aşağıdaki komutu çalıştırın.
gem install passenger
Yolcu için Apache modülünü takın.
passenger-install-apache2-module
Yükleyici komut dosyası size bazı sorular soracaktır. İlk olarak, kurulum süreci hakkında bilgi verecektir. Ardından, kullanacağınız dili seçmenizi isteyecektir. Uygulamamız Ruby on Rails dilinde yazıldığı için menüden Ruby'yi seçin ve ENTERdevam etmek için tuşuna basın .
Which languages are you interested in?
Use <space> to select.
If the menu doesn't display correctly, press '!'
‣ ⬢ Ruby
⬢ Python
⬡ Node.js
⬡ Meteor
Yükleyici şimdi gereksinimleri kontrol edecektir. Yükleyici eksik bağımlılıklarla karşılaşmaz ve modülü derlemeye ve kurmaya otomatik olarak devam eder.
Modül yüklendikten sonra, modülü Apache yapılandırma dosyasına eklemenizi ister.
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.
Bunu şimdilik atlayacağız ve eğitimde daha sonra tamamlayacağız. ENTERBu adımı atlamak için tuşuna basın .
Son olarak, yükleyici komut dosyası yüklemeyi doğrular ve Yolcu modülünün Apache yapılandırmasında belirtilmediğini belirten bir uyarı görürsünüz.
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.
Apache için Passenger modülünü kurduğumuza göre, Redmine'ı indirip kurmaya devam edin. Geçin sudo
kullandığımız bir daha komutları çalıştırın gerekmez tekrar beri kullanıcıya root
kullanıcı.
exit
Uygulamayı sistemin geri kalanından izole tutmak için ayrıcalıklı olmayan bir kullanıcı kullanılması önerilir. Redmine için yeni bir kullanıcı oluşturun ve yeni oluşturulan kullanıcıya geçin.
sudo adduser --disabled-password --gecos "Redmine User" redmine
sudo su - redmine
Resmi Redmine indirme sayfasından Redmine'ın en son sürümünü indirin .
cd ~
wget http://www.redmine.org/releases/redmine-3.4.4.tar.gz
Kolaylığı sağlamak için arşivi çıkarın ve dizini yeniden adlandırın.
tar -xf redmine-*.tar.gz
mv redmine-*/ redmine/
Örnek yapılandırma dosyalarını üretim konumuna kopyalayın.
cd redmine
cp config/configuration.yml.example config/configuration.yml
cp config/database.yml.example config/database.yml
Veritabanı ayrıntılarını girmek için kopyaladığımız veritabanı yapılandırma dosyasını açın.
nano config/database.yml
Varsayılan olarak, veritabanı dosyası MySQL için yapılandırılmıştır. Üretim ve geliştirme konfigürasyonlarını bulun ve MySQL adaptörünü kullanan testi yapın. Tüm bu satırları yorumlayın.
#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, yorum yapan satırları bulun production
, postgresql
adaptör için yapılandırmaya sahip . Bu satırları kaldırın ve veritabanı adını ve kullanıcı kimlik bilgilerini güncelleyin. İki boşluk olan doğru girintiyi kullandığınızdan emin olun.
production:
adapter: postgresql
database: redmine
host: localhost
username: redmine
password: "DBPassword"
Uygulamayı PostgreSQL yapılandırmasını kullanacak şekilde yapılandırın.
bundle config build.pg --with-pg-config=/usr/bin/pg_config
Uygulama için gereken bağımlılıkları yükleyin.
bundle install --path vendor/bundle --without development test
Kurulumun sonunda aşağıdaki mesajı göreceksiniz.
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`
Aşağıdaki komut, oturum verilerini kodlamak için kullanılan gizli belirteçler oluşturur.
bundle exec rake generate_secret_token
PostgreSQL veritabanını yazın.
RAILS_ENV=production bundle exec rake db:migrate
PostgreSQL veritabanına varsayılan verileri yazan aşağıdaki komutu çalıştırın.
RAILS_ENV=production bundle exec rake redmine:load_default_data
Yukarıdaki komut sizden uygulama ile kullanılacak varsayılan dili seçmenizi isteyecektir. Varsayılan seçim İngilizcedir; tercihinize göre seçin.
[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.
Redmine uygulamasının kurulumu artık tamamlanmıştır. Dizinlerin ve dosyaların sahipliğini ve izinlerini değiştirin.
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
İhtiyacımız olmayan her şeyi ayrıcalıklı olmayan kullanıcıdan yapılandırdık. Çalıştırarak sudo
kullanıcıya geri dönün su - <username>
.
Apache için Yolcu modülünü Apache yapılandırma dosyasına ekleyin. Bu, Yolcu modülünü otomatik olarak yükleyecektir.
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
Not: Yeni bir Yolcu sürümü çıktığında Yolcu modülünün yolu değişebilir. Modülün yolunu bulmak için sudo find / -name mod_passenger.so
komutu kullanın.
Redmine uygulamanız için yeni bir sanal ana bilgisayar dosyası oluşturun.
sudo nano /etc/apache2/sites-available/redmine.conf
Dosyayı aşağıdaki içerikle doldurun.
<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>
redmine.example.com
Gerçek alan adınızla değiştirdiğinizden emin olun . Ayrıca, emin yolu olun PassengerRoot
ve PassengerDefaultRuby
doğrudur. Yeni bir Ruby veya Yolcu sürümü olduğunda ikili dosyaların yolu değişebilir. Bu yolları bulmak için aşağıdaki komutu çalıştırın.
passenger-config about ruby-command
Aşağıdaki çıktıyı alacaksınız.
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'.
Sanal ana bilgisayar dosyası oluşturulduktan sonra. Yapılandırmayı etkinleştirin.
sudo a2ensite redmine
Apache web sunucusunu yeniden başlatın.
sudo systemctl restart apache2
Artık Redmine arayüzünüze erişebilirsiniz http://redmine.example.com
. Kullanıcı adı admin
ve şifre ile giriş yapın admin
. İlk girişinizde, Redmine sizden şifreyi güncellemenizi isteyecektir.
Redmine kurulumumuz herkese açık bir sunucuda olduğundan, sunucudan veri alışverişini sağlamak için SSL kullanılması önerilir.
Certbot deposunu ekleyin.
sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update
Let's Encrypt CA'nın istemci uygulaması olan Certbot'u yükleyin.
sudo apt -y install certbot
Not: Let's Encrypt CA'dan sertifika almak için, sertifikaların oluşturulacağı etki alanı sunucuya yönlendirilmelidir. Değilse, etki alanının DNS kayıtlarında gerekli değişiklikleri yapın ve sertifika isteğini yeniden yapmadan önce DNS'nin yayılmasını bekleyin. Certbot, sertifikaları vermeden önce etki alanı yetkilisini denetler.
SSL sertifikaları oluşturun.
sudo certbot certonly --webroot -w /home/redmine/redmine/public -d redmine.example.com
Oluşturulan sertifikaların depolanması muhtemeldir /etc/letsencrypt/live/redmine.example.com/
. SSL sertifikası olarak cert.pem
ve özel anahtar olarak depolanacaktır privkey.pem
.
Sertifikaların şifrelenmesini 90 gün içinde sona erdirelim, bu nedenle Cron işlerini kullanarak sertifikaların otomatik olarak yenilenmesi önerilir.
root
Kullanıcı için Cron iş dosyasını açın .
sudo crontab -e
Dosyanın sonuna aşağıdaki satırı ekleyin.
30 5 * * * /usr/bin/certbot renew --quiet
Yukarıdaki Cron işi her gün 05: 30'da çalışacaktır. Sertifikanın geçerlilik süresi dolmuşsa, otomatik olarak yenilenir.
Apache için SSL modülünü etkinleştirin.
sudo a2enmod ssl
Redmine için daha önce oluşturduğumuz sanal ana bilgisayar dosyasını düzenleyin.
sudo nano /etc/apache2/sites-available/redmine.conf
Sanal ana makine dosyasını aşağıdakine benzer şekilde değiştirin.
<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>
Dosyayı kaydedin ve editörden çıkın.
Değişikliklerin etkili olabilmesi için Apache'yi yeniden başlatın.
sudo systemctl restart apache2
Artık Redmine'a HTTPS
adresinden erişebilirsiniz https://redmine.example.com
.
Tebrikler, Ubuntu 16.04 örneğinize Redmine'ı başarıyla yüklediniz. Projenizi oluşturarak veya alarak projenizi geliştirmeye başlayın.
26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.
Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.
Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.
Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.
CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?
Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.
Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!
Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.
Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun