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
OpenBSD'nin güvenlik konusundaki tutkusu göz önüne alındığında, WordPress web sitenizi onunla güçlendirmek mantıklıdır, çünkü özellikle WordPress ve PHP komut dosyası çocukları için hedefleri hareket ettirme eğilimindedir. OpenBSD'nin httpd'si temel olarak statik sayfalar sunmak üzere tasarlandığından, POST işlemleri fastcgi ve slowcgi işlemleri için ayrılmıştır. Bu, sahte bir aktörün web sunucusunun sürecini kırmasını ve sunucunuza erişmesini zorlaştırır. POST işlemleri fastcgi işlemine eklenir ve harici bir yorumlayıcı kullanılır. Bu makalede, yalnızca WordPress sitenizi değil, bazı temel bakım tekniklerini ve sitenizi ve veritabanını nasıl yedekleyip geri yükleyeceğiniz ele alınacaktır. example.com
Etki alanı olarak gördüğünüz her yerde , lütfen etki alanınızla değiştirin.
Henüz yapmadıysanız, bir /etc/doas.conf
dosya oluşturmanız gerekir . Doas komutu, OpenBSD'nin sudo'nun kolay değiştirilmesidir. Kolaylık sağlamak için, doas kullanırken şifrenizi tekrar yazmanıza gerek kalmaması için nopass seçeneğini ekledim. Buna sahip olmamayı tercih ederseniz, nopass'ı atlayın.
su -
echo "permit nopass keepenv :wheel" > /etc/doas.conf
OpenBSD'nin dağıtım için nasıl paketlendiğine bağlı olarak, bazen paket yöneticisinin yapılandırılmış bir havuzu olmayabilir. OpenBSD resmi deposunu yapılandırmak için /etc/installurl
dosyayı oluşturmamız gerekir .
doas su
echo "https://cdn.openbsd.org/pub/OpenBSD" > /etc/installurl
exit
Şimdi PHP ve resim ve şifreleme gibi şeyleri işlemek için WordPress'in ihtiyaç duyacağı bazı ekstra modüller eklememiz gerekiyor. İstendiğinde, en yeni PHP paketini yüklemeyi seçin. Yapmanız gereken bir şey, modül ini dosyalarını örnek dizinden ana dizine kopyalamaktır. Ek PHP modüllerini etkinleştirmek için bunun yapılması gerekir.
doas pkg_add -r mariadb-client mariadb-server php php-curl php-mysqli php-zip pecl73-mcrypt pecl73-imagick wget
doas cp /etc/php-7.3.sample/* /etc/php-7.3/.
Günümüz dünyasında, web siteleri SSL üzerinden sunulmalı veya arama motorları tarafından yüz yüze getirilmelidir. Neyse ki, OpenBSD acme-client adlı harika bir uygulamaya sahiptir. Acme-client otomatik olarak yeni bir özel anahtar oluşturur ve yeni, tamamen geçerli bir sertifika ister. Acme-client, bir web sunucusunun yerinde olmasına bağlıdır, bu nedenle hızlı bir varsayılan sunucu tanımı oluşturmamız gerekir.
En sevdiğiniz editör ile oluşturun /etc/httpd.conf
. Diğer sunucu tanımlarını daha sonra dosyaya ekleyeceğiz. Şimdilik bu yeterli olacak, böylece acme-client düzgün çalışıyor.
prefork 5
types { include "/usr/share/misc/mime.types" }
server "default" {
listen on egress port 80
root "/htdocs"
directory index "index.html"
location "/.well-known/acme-challenge/*" {
request strip 2
root "/acme"
}
}
Ayrıca favori düzenleyicinizi kullanarak oluşturun /etc/acme-client.conf
.
authority letsencrypt {
api url "https://acme-v02.api.letsencrypt.org/directory"
account key "/etc/acme/letsencrypt-privkey.pem"
}
authority letsencrypt-staging {
api url "https://acme-staging-v02.api.letsencrypt.org/directory"
account key "/etc/acme/letsencrypt-staging-privkey.pem"
}
domain example.com {
alternative names { www.example.com }
domain key "/etc/ssl/private/example.com.key"
domain full chain certificate "/etc/ssl/example.com.crt"
sign with letsencrypt
}
Şimdi httpd'yi etkinleştirmeli ve başlatmalıyız. Bunu yaptıktan sonra acme-client'ı çalıştırabilir ve yeni, yeni sertifikamızı almasını bekleyebiliriz. Bunu yaptıktan sonra, her 7 günde bir otomatik olarak yeni bir tane talep etmek için bir cron işi ekleyeceğiz, böylece süre sonu konusunda endişelenmemize gerek kalmayacak.
doas rcctl enable httpd
doas rcctl start httpd
doas acme-client -v example.com
Şimdi cron işini yaratıyoruz. Bu satırı son girişin altına ekleyin. Bu durumda, acme-client'a yeni sertifikayı her Cumartesi saat 1: 00'de istemesini söylüyoruz.
doas crontab -e
0 1 * * 6 acme-client -F example.com && rcctl reload httpd
Şimdi WordPress için httpd kurulum zamanı. Web sitemizin tanımını doğrudan /etc/httpd.conf
yerleştirmek yerine, adlı dosyayı ayrı bir dosyaya /etc/httpd.conf.example.com
yerleştireceğiz ve ana yapılandırma dosyasına ekleyeceğiz. Genel yapılandırma dosyanızdaki ve etki alanına özgü ayarları farklı bir alandaki site genelindeki tanımları tutarak, ikisini ayırmak iyi bir uygulamadır.
/etc/httpd.conf
Dosyanızın altına aşağıdaki satırı ekleyin :
include "/etc/httpd.conf.example.com"
Şimdi en sevdiğiniz editörü kullanarak oluşturun /etc/httpd.conf.example.com
. Kolaylık sağlamak için alan adınız için ayrı günlük dosyaları oluşturacağız. Bu, sitenizle ilgili olası sorunları takip etmeye çalışırken daha kolay hale getirir.
server "example.com" {
listen on egress port 80
alias "www.example.com"
# Automatically redirect to SSL
block return 302 "https://$SERVER_NAME$REQUEST_URI"
log {
access "access-example.com"
error "error-example.com"
}
}
server "example.com" {
listen on egress tls port 443
alias "www.example.com"
root "/htdocs/wordpress"
directory index "index.php"
log {
access "access-example.com"
error "error-example.com"
}
tcp { nodelay, backlog 10 }
tls {
certificate "/etc/ssl/example.com.crt"
key "/etc/ssl/private/example.com.key"
}
hsts {
# max-age value is the number of seconds in 1 year
max-age 31556952
preload
subdomains
}
location "/.well-known/acme-challenge/*" {
root "/acme"
request strip 2
}
location "/posts/*" {
fastcgi {
param SCRIPT_FILENAME \
"/htdocs/wordpress/index.php"
socket "/run/php-fpm.sock"
}
}
location "/page/*" {
fastcgi {
param SCRIPT_FILENAME \
"/htdocs/wordpress/index.php"
socket "/run/php-fpm.sock"
}
}
location "/feed/*" {
fastcgi {
param SCRIPT_FILENAME \
"/htdocs/wordpress/index.php"
socket "/run/php-fpm.sock"
}
}
location "/comments/feed/*" {
fastcgi {
param SCRIPT_FILENAME \
"htdocs/wordpress/index.php"
socket "/run/php-fpm.sock"
}
}
location "/wp-json/*" {
fastcgi {
param SCRIPT_FILENAME \
"htdocs/wordpress/index.php"
socket "/run/php-fpm.sock"
}
}
location "/wp-login.php*" {
authenticate "WordPress" with "/htdocs/htpasswd"
fastcgi socket "/run/php-fpm.sock"
}
location "*.php*" {
fastcgi socket "/run/php-fpm.sock"
}
}
Daha fazla güvenlik için, WordPress yönetim sitesine giriş yaparken kullanıcı adı ve şifre için ek bir istem uygulayacağız. Komut dosyası WordPress'in girişini tekrar tekrar denemeyi ve bruteforce etmeyi sevdiğinden, web sunucusu düzeyinde ek bir giriş oluştururuz. Genellikle, WordPress 401 Yetkisiz bir hata atmadan önce yaklaşık 5 tahmin alırlar.
doas su
cd /var/www/htdocs
doas htpasswd htpasswd <user>
doas chown www:www htpasswd
doas chmod 0640 htpasswd
doas rcctl reload httpd
WordPress kurulumunuzun e-posta gönderebilmesi için php'de bir değişiklik yapmamız gerekiyor. WordPress ve bazı eklentiler, yükseltmeleri, uyarıları ve değişiklikleri bildiren e-posta gönderme yeteneğine güvenir. E-posta gönderememe WordPress'in bazı özelliklerini bozabilir. Httpd köklü ortamda çalıştığından php'ye nasıl e-posta gönderileceğini söylemeliyiz. Ayrıca, php-fpm için bazı performans tweeksleri yapmak zorundayız.
İçindeki sendmail_path
satırı arayın /etc/php-7.3.ini
ve aşağıdaki değişikliği yapın:
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; sendmail_path =
sendmail_path = /bin/femail -t -i
Aşağıdaki satırları arayın ve aşağıdaki /etc/php-fpm.conf
gibi değiştirin:
pm.start_servers = 5
pm.min_spare_servers = 1
pm.max_spare_servers = 6
Bir sonraki adım php-fpm'yi etkinleştirmek ve başlatmaktır.
doas rcctl enable php73_fpm
doas rcctl start php73_fpm
MariaDB, MySQL'in yerini alan bir yedek çataldır. WordPress için bazı başlangıç yapılandırma ve veritabanı hazırlama işleri yapmamız gerekiyor.
MariaDB'yi etkili bir şekilde kullanabilmemiz için, mysql arka plan programının varsayılandan daha fazla kaynak kullanmasına izin vermeliyiz. Bunu yapmak için, /etc/login.conf
bu girdiyi altına ekleyerek aşağıdaki değişiklikleri yapın .
mysqld:\
:openfiles-cur=1024:\
:openfiles-max=2048:\
:tc=daemon:
MariaDB yapılandırma dosyasında bazı değişiklikler yapmalıyız /etc/my.cnf
. Mysql istemcisi ve sunucusunun TCP yerine UNIX etki alanı soketi üzerinden iletişim kurmasıyla, sunucunuzun bellek kullanımı daha düşük tutulabilir. Aşağıda önerilen değişikliklerin tümünü yapmanız gerekmez. Değiştirilmesi gereken iki önemli nokta socket
çizgi ve çizgiyi yorumlamaktır bind-address
. Bu, soketi /var/www
chroot ortamının içine taşır, böylece WordPress veritabanına bağlanabilir. bind-address
Hattın yorumunu yaparak MariaDB'nin bir TCP portunu dinlemesini engelliyoruz.
[client-server]
socket=/var/www/var/run/mysql/mysql.sock
#port=3306
# This will be passed to all MariaDB clients
[client]
#password=my_password
# The MariaDB server
[mysqld]
# To listen to all IPv4 network addresses, use "bind-address = 0.0.0.0"
#bind-address=127.0.0.1
# Directory where you want to put your data
#data=/var/mysql
# This is the prefix name to be used for all log, error and replication files
#log-basename=mysqld
# Logging
#log-bin=/var/mysql/mariadb-bin
#max_binlog_size=100M
#binlog_format=row
#expire_logs_days = 7
#general-log
#slow_query_log
query_cache_type = 1
query_cache_limit = 1M
query_cache_size = 16M
Şimdi MariaDB kurulum ikili dosyasını çalıştırmamız ve MariaDB'yi etkinleştirip başlatmamız gerekiyor. Bu prosedür bir kök parola belirler ve isteğe bağlı olarak test veritabanını bırakır. Güvenli kurulum aşamasında tüm önerileri takip etmek iyi bir fikirdir.
doas mysql_install_db
doas rcctl enable mysqld
doas rcctl start mysqld
doas mysql_secure_installation
WordPress veritabanı ve veritabanı kullanıcısını oluşturun. Değiştirmeyi unutmayın <wp_user>
veritabanı kullanıcı adı seçiminize ve <password>
sizin seçtiğiniz bir kompleks şifre ile.
mysql -u root -p
CREATE DATABASE wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO '<wp_user>'@'localhost' IDENTIFIED BY '<password>';
FLUSH PRIVILEGES;
EXIT
WordPress'in bir süredir resmi bir OpenBSD bağlantı noktası yoktu, çünkü kutudan çıktığı gibi çalışıyor. WordPress kurulum klasörünü indirin, ayıklayın ve taşıyın.
cd /tmp
wget https://wordpress.org/latest.tar.gz
tar xvfz latest.tar.gz
doas mv wordpress /var/www/htdocs/.
doas chown -R www:www /var/www/htdocs/wordpress
doas chmod 0755 /var/www/htdocs/wordpress
cd /var/www/htdocs/wordpress/
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
Kopyalamak zorundayız /etc/resolv.conf
ve /etc/hosts
yaratacağımız bir dizine çağırıyoruz /var/www/etc
. Bu, WordPress'in pazara başarıyla ulaşabilmesi içindir. Eklentileri ve temaları WordPress yönetici sitesi üzerinden indirmek için buna ihtiyacınız olacak. Jet Pack eklentisinin düzgün çalışması da önemlidir.
doas mkdir /var/www/etc
doas cp /etc/hosts /var/www/etc/.
doas cp /etc/resolv.conf /var/www/etc/.
Buradan, web sunucusu tanımında belirttiğiniz URL aracılığıyla https kullanarak WordPress web sitenize göz atın. Her şey düzgün çalışıyorsa, WordPress kurulum sihirbazını görmelisiniz. Bir veritabanı sunucusu belirleme seçeneğine geldiğinizde,localhost:/var/run/mysql/mysql.sock
WordPress kurulduktan sonra, daha fazla SEO dostu görünmeleri için kalıcı bağlantıları kurmanın zamanı geldi. WordPress yönetici ekranından adresine gidin Settings -> Permalinks
. Özel Yapıyı tıklayın ve yazın /posts/%postname%
. Bu değişikliği yaptıktan sonra, Değişiklikleri Kaydet düğmesini tıklayın. Artık çok daha hoş görünümlü bağlantılara sahipsiniz. Örneğin, bir kalıcı bağlantı şöyle görünecektir:https://example.com/posts/example-blog-post
Buradan, temel bir web siteniz hazır olmalıdır. Jet Pack ve WP-Super Cache gibi eklentiler yüklediğinizden emin olun. WP-Süper Önbellek eklentisi, web sayfalarını önbelleğe alarak ve sabit veritabanı aramalarını ortadan kaldırarak web sitenizi hızlandırmanıza yardımcı olur ve JetPack size mükemmel görüntüleme istatistikleri sunar.
Web sitenizi ve veritabanınızı yedeklemenin çok önemli olduğunu söylemeye gerek yok. Neyse ki, bu nispeten kolay bir şey. Her ikisini de ana dizininize yedekleyin ve ardından scp ile başka bir konuma kopyalayabilirsiniz. Ayrıca Vultr Kontrol Paneli aracılığıyla anlık görüntü de oluşturabilirsiniz. Her ikisini de yapmak iyi bir fikirdir.
cd /var/www/htdocs
tar cvfz wordpress.tgz wordpress/
cp wordpress.tgz /home/user
mysqldump -u root -p wordpress > wordpress.sql && gzip wordpress.sql
Veritabanınız bozulduysa ve geri yükleme gerekiyorsa aşağıdakileri yapın:
gunzip wordpress.sql.gz
mysql -u root -p wordpress
DROP USER '<user>'@'localhost';
DROP DATABASE wordpress;
CREATE DATABASE wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO '<wp_user>'@'localhost' IDENTIFIED BY '<password>';
FLUSH PRIVILEGES;
EXIT
mysql -u root -p wordpress < wordpress.sql
Bir şeyi kıran bir WordPress komut dosyasında değişiklik yaptıysanız, WordPress'i her zaman yönetici kontrol panelinden yeniden yükleyebilirsiniz. Updates
Bölümü arayın ve bağlantıyı tıklayın. Etiketli bir düğme arayın Re-install Now
. Bu, en azından kırılanları düzeltir, ancak yapılandırmanızın çoğu sağlam kalmalıdır.
Veritabanınız iyi durumdaysa, ancak yanlışlıkla bir dosyayı düzenlediyseniz ve WordPress yönetici konsoluna bile erişemediğiniz noktaya kadar bir şey kırdıysanız, aşağıdakileri yapın:
rm /var/www/htdocs/wordpress
cp /home/user/wordpress.tgz /tmp
tar xvfz wordpress.tgz
mv wordpress /var/www/htdocs/.
chown -R www:www /var/www/htdocs/wordpress
cd /var/www/htdocs/wordpress
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
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