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
Wekan, Meteor JavaScript çerçevesiyle oluşturulmuş bir kanban panosudur. Neredeyse aynı özellikleri sağlayan, açık kaynak kodlu ve Trello'ya kendi kendine barındırılan bir alternatif olarak kabul edilir. Kart tabanlı "yapılacaklar" yönetim listeleri oluşturmanızı sağlar. Wekan, işbirlikçi bir ortamda çalışırken verimliliği artırmak için çok faydalıdır. Wekan tamamen duyarlı bir web arayüzüne sahiptir ve birçok dilde aktif olarak tercüme edilmiştir.
Bu eğitimde, wekan.example.com
Vultr örneğine işaret eden alan adı olarak kullanacağız . Lütfen örnek alan adının 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.
Wekan sadece destekler Node.js LTS version 4.8
. Node.js'yi yüklemek için, düğüm sürüm yöneticisini kullanacağız. nvm
Yükleyici komut dosyasını çalıştırarak yükleyin .
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | bash
Hemen kullanmaya başlamak için nvm
bunu çalıştırın.
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
Eğer nvm
başarıyla yüklendikten sonra onun sürümünü kontrol etmek mümkün olmalıdır.
user@vultr:~$ nvm --version
0.33.4
Node.js'yi yükleyin.
nvm install v4.8
Node.js'nin varsayılan sürümünü ayarlayın.
nvm use node
Node.js başarıyla yüklendiyse, sürümünü kontrol edebilmeniz gerekir.
node -v
Bu çıktıyı göreceksiniz.
user@vultr:~$ node -v
v4.8.4
NVM, yalnızca geçerli kullanıcı için Node.js'yi yükler. Node.js'nin küresel olarak erişilebilir olması için bunu çalıştırın.
n=$(which node);n=${n%/bin/node}; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr
Node.js artık kullanılabilir /usr/bin/node
.
user@vultr:~$ sudo which node
/usr/bin/node
MongoDB ücretsiz ve açık kaynaklı bir NoSQL veritabanı sunucusudur. Verilerini düzenlemek için tablolar kullanan geleneksel veritabanlarının aksine, MongoDB belge yönelimlidir ve şemaları olmayan JSON benzeri belgeleri kullanır. Wekan, verilerini saklamak için MongoDB'yi kullanır.
Wekan sadece ile uyumludur MongoDB version 3.2
. Yeni bir havuz dosyası oluşturun.
echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
MongoDB genel GPG anahtarını alın ve paket listesini güncelleyin.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
sudo apt update
MongoDB'yi yükleyin.
sudo apt install -y mongodb-org
MongoDB'yi başlatın ve otomatik olarak başlamasını sağlayın.
sudo systemctl start mongod
sudo systemctl enable mongod
Varsayılan olarak, bir MongoDB sunucusunda etkin kimlik doğrulaması yoktur. Sunucunun terminaline erişimi olan tüm kullanıcılar MongoDB kurulumunda tam ayrıcalıklara sahip olacaktır. Veritabanı sunucusunu güvenceye almak ve ayrıcalıksız bir kullanıcının erişimini kısıtlamak için sunucuda kimlik doğrulaması ayarlamamız gerekir.
MongoDB, MongoDB'de mongo
sorgu çalıştırmak için kullanılan bir kabuk sağlar . Kabuğa geçin mongo
.
mongo
Kök ayrıcalıklarına sahip yeni bir MongoDB kullanıcısı oluşturun. İstediğiniz herhangi bir kullanıcı adını kullanabilirsiniz. Lütfen şifreyi değiştirdiğinizden emin olun .
db.createUser(
{
user: "admin",
pwd: "StrongAdminPassword",
roles: [ { role: "root", db: "admin" } ]
}
)
Aşağıdaki çıktıyı görmelisiniz.
user@vultr:~$ mongo
MongoDB shell version: 3.2.17
connecting to: test
Welcome to the MongoDB shell.
...
2017-09-30T18:11:40.274+0000 I CONTROL [initandlisten]
> db.createUser(
... {
... user: "admin",
... pwd: "StrongAdminPassword",
... roles: [ { role: "root", db: "admin" } ]
... }
... )
Successfully added user: {
"user" : "admin",
"roles" : [
{
"role" : "root",
"db" : "admin"
}
]
}
" Ctrl+C
" Tuşuna basarak MongoDB komut arayüzünden Linux terminaline çıkın .
MongoDB yapılandırma dosyasını düzenleyin.
sudo nano /etc/mongod.conf
Dosyanın sonuna aşağıdaki satırı ekleyin.
security:
authorization: enabled
Yapılandırma değişikliğinin etkili olabilmesi için MongoDB'yi yeniden başlatın.
sudo systemctl restart mongod
Artık güvenlik etkinleştirildi, mongo
komutu kullanarak tekrar mongo kabuğuna geçerek çalışıp çalışmadığını test edebilirsiniz . Bu kez, show dbs
veritabanlarının listesini göstermek gibi bir sorgu çalıştırırsanız, yetkilendirmenin başarısız olduğunu bildiren bir ileti görürsünüz. sudo
Oturum açmayı yeni oluşturduğunuz yeni kullanıcı olarak test ettikten sonra kullanıcıya tekrar çıkın .
administrator
Yeni oluşturduğunuz kullanıcı olarak giriş yapın .
mongo -u admin -p
Başarılı bir giriş için kullanıcının şifresini girin. wekan
Wekan verilerini depolamak için kullanılacak veritabanı için yeni bir kullanıcı oluşturun .
use wekan
db.createUser(
{
user: "wekan",
pwd: "StrongPassword",
roles: ["readWrite"]
}
)
Yerine StrongPassword
güçlü bir parola koyduğunuzdan emin olun . Aşağıdaki çıktıyı göreceksiniz.
user@vultr:~$ mongo -u admin -p
MongoDB shell version: 3.2.17
Enter password:
connecting to: test
...
2017-09-30T18:13:26.007+0000 I CONTROL [initandlisten]
>
> use wekan
switched to db wekan
> db.createUser(
... {
... user: "wekan",
... pwd: "StrongPassword",
... roles: ["readWrite"]
... }
... )
Successfully added user: { "user" : "wekan", "roles" : [ "readWrite" ] }
Yeni sürümler çok sık olduğu için Github'daki Wekan sürümüne en son bağlantı olup olmadığını kontrol edin . Yükleyici paketine bağlantıyı değiştirerek Wekan'ın en son sürümünü Github'dan indirin.
cd ~
wget https://github.com/wekan/wekan/releases/download/v0.44/wekan-0.44.tar.gz
İndirilen arşivi adlı yeni bir dizine çıkartın wekan
.
mkdir wekan
tar xzvf wekan-*.tar.gz -C wekan
Node.js bağımlılıklarını yükleyin.
cd wekan/bundle/programs/server && npm install
Wekan sunucusu, ortam değişkenlerinden yapılan yapılandırmaları okur. Yapılandırmaları ortam değişkenleri olarak ayarlamak için aşağıdaki komutları çalıştırın.
export MONGO_URL='mongodb://wekan:[email protected]:27017/wekan?authSource=wekan'
export ROOT_URL='http://wekan.example.com'
export MAIL_URL='smtp://user:[email protected]:25/'
export MAIL_FROM='[email protected]'
export PORT=4000
wekan
Oluşturduğunuz kullanıcı için MongoDB şifresini değiştirdiğinizden emin olun . Ayrıca, posta URL'sini SMTP sunucusu ayarlarınıza göre güncelleyin. Hazır bir e-posta sunucunuz yoksa, bu yapılandırmayı daha sonra istediğiniz zaman değiştirebilirsiniz.
Uygulamayı hemen başlatmak için.
cd ~/wekan/bundle
node main.js
Artık uygulamaya giderek erişebilirsiniz http://wekan.example.com:4000
. Wekan kanban panosunda oturum açmak için arayüz göreceksiniz.
Üretim kullanımı için, uygulamaya standart HTTP
bağlantı noktasında hizmet verecek bir ters proxy systemd
ve uygulama işlemini yönetmek için bir hizmet ayarlamanız önerilir . Bu derste, Nginx web sunucusunu Let's Encrypt ücretsiz SSL ile güvenlik altına alınan bir proxy olarak kullanacağız.
Certbot PPA
Havuzu sisteme ekleyin .
sudo add-apt-repository ppa:certbot/certbot
sudo apt update
Let's Encrypt CA'nın istemci uygulaması olan Nginx ve Certbot'u yükleyin.
sudo apt -y install certbot nginx
Not: Let's Encrypt CA'dan sertifika almak için kullandığınız etki alanı adı sunucuya yönlendirilmelidir. İstemci, sertifikaları vermeden önce etki alanı yetkilisini doğrular .
SSL sertifikaları oluşturun.
sudo certbot certonly --standalone -d wekan.example.com
Oluşturulan sertifikaların /etc/letsencrypt/live/wekan.example.com/
dizinde depolanması muhtemeldir . SSL sertifikası olarak fullchain.pem
ve özel anahtar olarak depolanacaktır privkey.pem
.
Sertifikaların şifrelenmesini 90 gün içinde sona erdirelim, bu nedenle Cronjob kullanarak sertifikaların otomatik olarak yenilenmesi önerilir. Cron, periyodik görevleri yürütmek için kullanılan bir sistem hizmetidir.
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. Sertifikaların süresinin dolması gerekiyorsa, sertifikalar otomatik olarak yenilenir.
Yeni bir sanal ana bilgisayar oluşturun.
sudo nano /etc/nginx/sites-available/wekan.example.com.conf
Dosyayı aşağıdakilerle doldurun.
upstream wekan {
server 127.0.0.1:4000;
}
server {
listen 80;
listen [::]:80;
server_name wekan.example.com;
location / {
if ($ssl_protocol = "") {
rewrite ^ https://$server_name$request_uri? permanent;
}
}
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name wekan.example.com;
add_header Strict-Transport-Security "max-age=15768000";
ssl_certificate /etc/letsencrypt/live/wekan.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/wekan.example.com/privkey.pem;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers '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';
ssl_prefer_server_ciphers on;
ssl_stapling on;
ssl_stapling_verify on;
error_page 497 https://$host:$server_port$request_uri;
location / {
proxy_pass http://wekan;
proxy_http_version 1.1;
proxy_set_header Host $host:$server_port;
proxy_set_header Referer $http_referer;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Ssl on;
proxy_set_header X-Nginx-Proxy true;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_redirect off;
proxy_send_timeout 86400;
proxy_read_timeout 86400;
}
}
wekan.example.com
Yukarıdaki yapılandırmada gerçek alan adınızla değiştirin .
Yeni eklenen siteyi etkinleştirin.
sudo ln -s /etc/nginx/sites-available/wekan.example.com.conf /etc/nginx/sites-enabled/wekan.example.com.conf
Değişikliklerin etkili olabilmesi için Nginx'i yeniden başlatın.
sudo systemctl restart nginx
Nginx'in önyükleme zamanında otomatik olarak başlamasını etkinleştirin.
sudo systemctl enable nginx
İşlemin çalışması için yeni bir kullanıcı oluşturun.
sudo adduser wekan --shell /usr/sbin/nologin --home /opt/wekan
Şimdi tüm dosyaları /opt/wekan
dizine taşıyın .
sudo mv ~/wekan/* /opt/wekan/
Yeni oluşturulan kullanıcıya dosyaların sahipliğini sağlayın.
sudo chown -R wekan:wekan /opt/wekan
Wekan hiçbir yapılandırma dosyasından veri almaz. Bunun yerine, ortam değişkenlerinden erişir. Ortam değişkenlerini saklamak için yeni bir dosya oluşturacağız. Ortam değişkenlerini içeren dosya Systemd
hizmetten geçirilir .
Ortam değişkenlerini saklamak için yeni bir dosya oluşturun.
sudo nano /opt/wekan/config.env
Dosyayı aşağıdaki içerikle doldurun.
MONGO_URL='mongodb://wekan:[email protected]:27017/wekan?authSource=wekan'
ROOT_URL='http://wekan.example.com'
MAIL_URL='smtp://user:[email protected]:25/'
MAIL_FROM='[email protected]'
PORT=4000
HTTP_FORWARDED_COUNT=1
Yerine emin olun username
ve password
.
Kullanarak wekan
kullanıcıya sahipliğini sağlayın .
sudo chown -R wekan:wekan /opt/wekan/config.env
Wekan systemd hizmeti için yeni bir hizmet dosyası oluşturun.
sudo nano /etc/systemd/system/wekan.service
Dosyayı aşağıdakilerle doldurun.
[Unit]
Description=Wekan Server
After=syslog.target
After=network.target
[Service]
Type=simple
Restart=on-failure
StartLimitInterval=86400
StartLimitBurst=5
RestartSec=10
ExecStart=/usr/bin/node /opt/wekan/bundle/main.js
EnvironmentFile=/opt/wekan/config.env
ExecReload=/bin/kill -USR1 $MAINPID
RestartSec=10
User=wekan
Group=wekan
WorkingDirectory=/opt/wekan
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=Wekan
[Install]
WantedBy=multi-user.target
Dosyayı kaydedin ve editörden çıkın. Artık Wekan'ı kolayca başlatabilirsiniz.
sudo systemctl start wekan
Wekan'ın önyükleme zamanında otomatik olarak başlamasını sağlamak için.
sudo systemctl enable wekan
Wekan servisinin durumunu kontrol etmek.
sudo systemctl status wekan
Artık Wekan örneğine adresinden erişebilirsiniz https://wekan.example.com
. Yeni bir hesap oluşturarak başlayın. Hesabı oluşturduktan sonra, yeni oluşturulan kullanıcıya yönetici erişimini etkinleştirebilirsiniz. Yönetici kullanıcı olarak MongoDB kabuğuna giriş yapın.
mongo -u wekan -p --authenticationDatabase "wekan"
Şimdi wekan
veritabanını seçin ve kullanıcıyı yönetici kullanıcıya tanıtmak için nesneyi güncelleyin.
use wekan
db.users.update({username:'admin_user'},{$set:{isAdmin:true}})
Lütfen admin_user
oluşturduğunuz kullanıcının gerçek kullanıcı adıyla değiştirdiğinizden emin olun . Yönetici arayüzünden, kendi kendine kaydı devre dışı bırakabilir ve SMTP ayarlarını güncelleyebilirsiniz.
Tebrikler, Vekanr Ubuntu örneğinize Wekan Kanban panosunu başarıyla yüklediniz.
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