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
Hubzilla, dahili bağlantılı web siteleri oluşturmak için açık kaynaklı bir web tabanlı platformdur. Hubzilla ekosisteminde, Hubzilla çalıştıran bir sunucuya "hub", birden çok hub grubuna "ızgara" denir. Bir tablodaki hub'lar, kimlikler gibi bilgileri paylaşmak için birbirleriyle iletişim kurar. Herkes, kişi, blog veya forum olabilecek bir "kanal" kullanarak içeriği herkese açık veya özel olarak yayınlayabilir. Güvenli merkezi olmayan iletişim ve hizmetleri uygulamak için JSON tabanlı bir Zot çerçevesi kullanır. Hubzilla, sosyal ağ tartışma konuları, bulut dosya depolama, takvim ve kişiler, bir içerik yönetim sistemi ile barındırma web sayfası, wiki ve çok daha fazlası gibi özelliklerle doludur.
Bu eğitimde, hubzilla.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.
Nginx, web uygulamalarını çalıştıran bir üretim web sunucusudur.
Nginx'i yükleyin.
sudo apt -y install nginx
Nginx'i başlatın ve önyükleme zamanında otomatik olarak çalışmasını sağlayın.
sudo systemctl start nginx
sudo systemctl enable nginx
Hubzilla, 5.6'nın üzerindeki PHP sürümlerini destekler. Maksimum hız, güvenlik ve uyumluluk sağlamak için PHP 7.1'i kuracağız. PHP 7.1 için Ubuntu deposunu ekleyin.
sudo add-apt-repository --yes ppa:ondrej/php
sudo apt update
PHP 7.1 sürümünü Hubzilla için gerekli olan modüllerle birlikte kurun.
sudo apt -y install php7.1 php7.1-mysql php7.1-curl php7.1-json php7.1-cli php7.1-gd php7.1-xml php7.1-mbstring php7.1-fpm imagemagick php7.1-zip
PHP yapılandırma dosyasını düzenleyin.
sudo nano /etc/php/7.1/fpm/php.ini
Aşağıdaki satırı bulun. Bunu açın ve uygun saat dilimini ayarlayın.
date.timezone = Asia/Kolkata
;Replace "Asia/Kolkata" with your appropriate time zone
Bir sonraki yapılandırmada uygun bir bellek sınırı belirleyin. Bunu ayarlamak -1
, bir komut dosyasına sınırsız kullanılabilir bellek sağlar. Ayrıca, maksimum dosya yükleme sınırlarını artırın.
memory_limit = -1
upload_max_filesize = 100M
post_max_size = 100M
Sonra, aşağıdaki satırı bulun ve 0
açtıktan sonra değerini olarak ayarlayın .
cgi.fix_pathinfo=0
Başlatın php7.1-fpm
ve önyükleme zamanında otomatik olarak başlamasını sağlayın.
sudo systemctl restart php7.1-fpm
sudo systemctl enable php7.1-fpm
Bir oturum dizini oluşturun ve yazma izinleri sağlayın.
sudo mkdir /var/lib/php/session
sudo chmod -R 777 /var/lib/php/session
Şimdi MariaDB'nin kurulumuna geçin.
MariaDB, MySQL'in bir çataldır. Varsayılan Ubuntu deposu MariaDB'nin eski bir sürümünü içerdiğinden, MariaDB deposunu sisteminize ekleyin.
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirror.nodesdirect.com/mariadb/repo/10.2/ubuntu xenial main'
sudo apt update
MariaDB'yi yükleyin.
sudo apt -y install mariadb-server
Sorulduğunda MariaDB kök kullanıcısı için güçlü bir parola sağlayın. MariaDB'yi başlatın ve önyükleme zamanında otomatik olarak başlamasını sağlayın.
sudo systemctl start mariadb
sudo systemctl enable mariadb
Veritabanını yapılandırmadan önce MariaDB'yi güvence altına almanız gerekir. mysql_secure_installation
Komut dosyasını çalıştırarak güvenli hale getirebilirsiniz .
sudo mysql_secure_installation
Geçerli MariaDB kök parolasını girmeniz istenecektir. Kurulum sırasında belirlediğiniz şifreyi girin. MariaDB sunucunuzun kök kullanıcısının mevcut şifresini değiştirmek isteyip istemediğiniz sorulacaktır. Kurulum sırasında güçlü bir parola sağladığınız için yeni bir parola belirlemeyi atlayabilirsiniz. Y
Sorulan tüm diğer sorulara " " yanıtını verin.
MySQL kabuğuna root olarak giriş yapın.
mysql -u root -p
MariaDB kök kullanıcısının oturum açması için şifreyi girin.
Hubzilla yüklemesi için bir veritabanı ve veritabanı kullanıcısı oluşturmak için aşağıdaki sorguları çalıştırın.
CREATE DATABASE hubzilla_data;
CREATE USER 'hubzilla_user'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON hubzilla_data.* TO 'hubzilla_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Veritabanı adını hubzilla_data
ve kullanıcı adını istediğiniz gibi değiştirebilirsiniz hubzilla_user
. Lütfen StrongPassword
çok güçlü bir şifreyle değiştirdiğinizden emin olun .
Git'i yükleyin. Git, Hubzilla deposunu Github'dan klonlamak için gereklidir.
sudo apt -y install git
Web kök dizinine geçin ve Hubzilla deposunu klonlayın.
cd /var/www
sudo git clone https://github.com/redmatrix/hubzilla.git hubzilla
Hubzilla verilerini depolamak için yeni bir dizin oluşturun.
cd hubzilla
sudo mkdir -p "store/[data]/smarty3"
sudo chmod -R 777 store
Hubzilla eklentilerini kopyalayın ve yükleyin.
sudo util/add_addon_repo https://github.com/redmatrix/hubzilla-addons.git hzaddons
sudo util/update_addon_repo hzaddons
Nginx kullanıcısına dizin ve dosyaların sahipliğini sağlayın.
sudo chown -R www-data:www-data /var/www/hubzilla
SSL'nin bir Hubzilla sitesinde yüklü olması önemlidir, çünkü şifrelenmezse girişler ve diğer veriler tehlikeye girebilir. Bu eğitimde, Let's Encrypt sertifika yetkilisi tarafından alınan SSL sertifikalarını kullanacağız.
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 /var/www/html -d hubzilla.example.com
Oluşturulan sertifikaların depolanması muhtemeldir /etc/letsencrypt/live/hubzilla.example.com/
. 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 Cron işlerini kullanarak sertifikaların otomatik olarak yenilenmesi önerilir.
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.
Hubzilla Server için yeni bir yapılandırma dosyası oluşturun.
sudo nano /etc/nginx/sites-available/hubzilla
Dosyayı doldurun.
server {
listen 80;
server_name hubzilla.example.com;
index index.php;
root /var/www/hubzilla;
rewrite ^ https://hubzilla.example.com$request_uri? permanent;
}
server {
listen 443 ssl;
server_name hubzilla.example.com;
ssl on;
ssl_certificate /etc/letsencrypt/live/hubzilla.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/hubzilla.example.com/privkey.pem;
ssl_session_timeout 5m;
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;
fastcgi_param HTTPS on;
index index.php;
charset utf-8;
root /var/www/hubzilla;
access_log /var/log/nginx/hubzilla.log;
client_max_body_size 20m;
client_body_buffer_size 128k;
location / {
if ($is_args != "") {
rewrite ^/(.*) /index.php?q=$uri&$args last;
}
rewrite ^/(.*) /index.php?q=$uri last;
}
location ^~ /.well-known/ {
allow all;
rewrite ^/(.*) /index.php?q=$uri&$args last;
}
location ~* \.(jpg|jpeg|gif|png|ico|css|js|htm|html|map|ttf|woff|woff2|svg)$ {
expires 30d;
try_files $uri /index.php?q=$uri&$args;
}
location ~* \.(tpl|md|tgz|log|out)$ {
deny all;
}
location ~* \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.1-fpm.sock;
include fastcgi_params;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\. {
deny all;
}
location ~ /store {
deny all;
}
}
Yapılandırmayı etkinleştirin.
sudo ln -s /etc/nginx/sites-available/hubzilla /etc/nginx/sites-enabled/hubzilla
Nginx web sunucusu yapılandırmasını test edin.
sudo nginx -t
Aşağıdaki çıktıyı göreceksiniz.
user@vultr:~$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Yapılandırmada herhangi bir hata görmüyorsanız, yeni yapılandırmanın etkili olabilmesi için Nginx'i yeniden başlatın.
sudo systemctl restart nginx
https://hubzilla.example.com
Favori tarayıcınızı kullanarak gezinin ve "sistem kontrolü" arayüzünü gösteren web sayfasını göreceksiniz. Her gereksinimin sistem kontrolünden geçtiğini göreceksiniz. Bir sonraki arayüzde, daha önce oluşturduğunuz veritabanı ayrıntılarını sağlayın. Ardından, yönetici e-postasını, web sitesi URL'sini ve saat dilimini girin. Hubzilla şimdi sunucunuza kurulur, kurulum sırasında kullandığınız yönetici e-postasıyla yönetici kullanıcı oluşturmaya devam edebilirsiniz.
Son olarak, zamanlanan görevleri on dakikada bir çalıştırmak için cron kurmanız gerekecektir.
Cron işi için yeni bir dosya oluşturun.
sudo nano /etc/cron.d/hubzilla
Dosyayı aşağıdakilerle doldurun.
*/10 * * * * www-data cd /var/www/hubzilla; /usr/bin/php Zotlabs/Daemon/Master.php Cron
Cron hizmetini yeniden başlatın.
sudo systemctl restart cron
Yerel bir belge kümesi oluşturmak istiyorsanız, aşağıdaki komutları çalıştırın.
cd /var/www/hubzilla
util/importdoc
sudo chown www-data:www-data -R /var/www/hubzilla
Hubzilla artık kuruldu ve yapılandırıldı, arkadaşlarınızı davet edebilir ve platformu istediğiniz gibi kullanabilirsiniz.
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