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
Bu eğitim OpenBSD'yi PrestaShop ve Apache kullanarak bir e-ticaret çözümü olarak göstermektedir.
Apache gereklidir, çünkü PrestaShop OpenBSD'nin yerleşik web sunucusu httpd tarafından desteklenmeyen karmaşık URL yeniden yazma gereksinimlerine sahiptir. Bu eğitimde kendinden imzalı sertifikalar kullanılmaktadır. Lütfen üretim için doğrulanmış bir sertifika kullanın.
Geçici olarak doas
şifre kullanmadan izin verilen normal bir kullanıcı oluşturun . Bu erişim kurulumdan sonra kaldırılacak.
user add -c "Example User" -m -G wheel -L staff auser
passwd auser
echo 'permit nopass keepenv :wheel' > /etc/doas.conf
OpenBSD paket deposunu ekleyin.
echo 'https://cdn.openbsd.org/pub/OpenBSD' > /etc/installurl
Günlük durum ve güvenlik e-postalarını adresinize yönlendirin.
echo '[email protected]' > /root/.forward
Sunucunun ana bilgisayar adını ayarlayın.
echo 'www.example.com' > /etc/myname
hostname www.example.com
Sunucunuzun FQDN'sini ve IP adresini adresine ekleyin /etc/hosts
. Vultr IP adresinizle
değiştirin 192.0.2.1
.
127.0.0.1 localhost
::1 localhost
192.0.2.1 www.example.com
PrestaShop ve Apache için gerekli paketleri ekleyin. İstendiğinde en son sürümleri seçin.
doas su
pkg_add apache-httpd php php-curl php-gd php-intl php-pdo_mysql php-zip mariadb-client mariadb-server wget unzip
Test için kendinden imzalı bir SSL sertifikası oluşturuldu. Ortak Adı sunucunuzun FQDN'sine ayarlayın, örn. Www.example.com.
openssl req -x509 -new -nodes -newkey rsa:4096 -keyout /etc/ssl/private/example.com.key -out /etc/ssl/example.com.crt -days 3650 -sha256
chmod 0600 /etc/ssl/private/example.com.key
PrestaShop'un en son sürümünün URL'sini bulun , indirin /tmp
ve dosyaya çıkartın /var/www/htdocs/prestashop
.
cd /tmp
wget <https://download.prestashop.com/download/releases/prestashop_1.7.6.4.zip>
unzip prestashop_1.7.6.4.zip -d /var/www/htdocs/prestashop
chown -R www:www /var/www/htdocs/prestashop
Güvenlik duvarını ssh , www ve https dışındaki tüm gelen trafiği engelleyecek şekilde yapılandırın .
Öğesinin yedek kopyasını oluşturun /etc/pf.conf
.
cp /etc/pf.conf /etc/pf.conf.bak
Düzenleme /etc/pf.conf
olarak gösterilen.
set skip on lo
block in
pass out
pass in on egress inet proto tcp to port {ssh, www, https} \
flags S/SA keep state
Güvenlik duvarı kurallarını test edin ve etkinleştirin.
doas pfctl -nf /etc/pf.conf
doas pfctl -f /etc/pf.conf
/etc/mail/smtpd.conf
Dosyanızı yedekleyin .
cp /etc/mail/smtpd.conf /etc/mail/smtpd.conf.bak
Düzenleme /etc/mail/smtpd.conf
aşağıda gösterildiği gibi.
Notlar: * Sırlar için tablo tanımı, posta geçişi için kullanıcı adı ve parolayı içerir. * Giden eylem adını ve şifresini etiketi altında yukarı bakar prestashop
içinde /etc/mail/secrets
e-posta sunucusu üzerinden ve röleleri e-posta.
table aliases file:/etc/mail/aliases
table secrets file:/etc/mail/secrets
listen on lo0
action "local_mail" mbox alias <aliases>
action "outbound" relay host smtp+tls://[email protected]:587 \
tls no-verify auth <secrets>
match from local for local action "local_mail"
match from local for any action "outbound"
Oluşturmak /etc/mail/secrets
E-posta adresini ve şifreyi, e-posta sunucunuz için kullandığınız kimlik bilgileriyle değiştirin.
echo "prestashop [email protected]:password" > /etc/mail/secrets
Güvenceye almak için izinleri ayarlama /etc/mail/secrets
chmod 0600 /etc/secrets
Yapılandırma dosyasını hatalar için test edin ve smtpd arka plan programını yeniden başlatın.
smtpd -n
rcctl restart smtpd
PHP-FPM işlemini UNIX etki alanı soketi yerine bir TCP soketini dinleyecek şekilde yapılandırın.
/etc/php-fpm.conf
Dosya için aşağıdaki değişikliği yapın .
...
; If using a TCP port, never expose this to a public network.
;listen = /var/www/run/php-fpm.sock
listen = 127.0.0.1:9000
İçindeki PHP ortamında bazı ek değişiklikler yapın /etc/php-7.3.ini
. Sürüm 7.3'ten daha yeni ise bu dosya adı biraz değişebilir. Bu değişiklikler:
PHP'yi mail ile e-posta gönderecek şekilde yapılandırın.
; Default Value: not set
;chroot = /var/www
...
; Maximum allowed size for uploaded files.
; <http://php.net/upload-max-filesize>
upload_max_filesize = 6M
...
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; <http://php.net/sendmail-path>
;sendmail_path =
sendmail_path = /usr/sbin/sendmail -t -i
...
; Whether to allow the treatment of URLs (like <http://> or <ftp://)> as files.
; <http://php.net/allow-url-fopen>
allow_url_fopen = On
...
; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; <http://php.net/post-max-size>
post_max_size = 12M
PHP eklentilerini etkinleştirin.
cp /etc/php-7.3.sample/* /etc/php-7.3/.
PHP-FPM arka plan programını etkinleştirin ve başlatın. Sürüm daha yeni ise arka plan programı adı biraz farklı olabilir.
rcctl enable php73_fpm
rcctl start php73_fpm
MariaDB PrestaShop için veritabanı arka ucu sağlar. MariaDB, varsayılan sınıfın izin verdiğinden daha fazla açık dosyaya ihtiyaç duyduğundan, içinde özel bir sınıf oluşturun /etc/login.conf
.
Dosyanın altına aşağıdaki satırları ekleyin:
mysqld:\
:openfiles-cur=1024:\
:openfiles-max=2048:\
:tc=daemon:
MariaDB'yi yükleyin.
doas su
mysql_install_db
rcctl enable mysqld
rcctl start mysqld
MariaDB güvenliğini yapılandırın.
mysql_secure_installation
PrestaShop veritabanını oluşturun. Güçlü bir şifre kullanın.
mysql -u root
CREATE DATABASE prestashop;
GRANT ALL PRIVILEGES ON prestashop.* TO 'prestashop'@'localhost' IDENTIFIED BY 'password123';
FLUSH PRIVILEGES;
EXIT
Destek olmak /etc/apache2/httpd2.conf
cp /etc/apache2/httpd2.conf /etc/apache2/httpd2.conf.bak
Modülleri etkinleştirmek ve devre dışı bırakmak için düğmesini /etc/apache2/httpd2.conf
kullanarak aşağıdaki değişiklikleri yapın #
.
Listen 443
...
LoadModule mpm_event_module /usr/local/lib/apache2/mod_mpm_event.so
#LoadModule mpm_prefork_module /usr/local/lib/apache2/mod_mpm_prefork.so
LoadModule proxy_module /usr/local/lib/apache2/mod_proxy.so
LoadModule proxy_fcgi_module /usr/local/lib/apache2/mod_proxy_fcgi.so
LoadModule ssl_module /usr/local/lib/apache2/mod_ssl.so
LoadModule rewrite_module /usr/local/lib/apache2/mod_rewrite.so
...
ServerAdmin [email protected]
ServerName 192.0.2.1:80
/etc/apache2/httpd2.conf
Dosyanın altına doğru birkaç değişiklik daha meydana gelir. #
Belirtilen include ifadelerinden kaldırın .
Sanal Barındırma hatlarını en son ekleyin.
# Server-pool management (MPM specific)
Include /etc/apache2/extra/httpd-mpm.conf
...
# Virtual Hosts
IncludeOptional /etc/apache2/sites/*.conf
/etc/apache2/sites
Dizini oluşturun .
mkdir /etc/apache2/sites
Oluşturmak /etc/apache2/sites/example.conf
aşağıdaki bilgilerle:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
ServerAdmin [email protected]
DocumentRoot "/var/www/htdocs/prestashop"
<Directory "/var/www/htdocs/prestashop">
Options -Indexes +Multiviews +FollowSymLinks
AllowOverride All
<Limit GET POST OPTIONS>
</Limit>
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com
ServerAdmin [email protected]
DocumentRoot "/var/www/htdocs/prestashop"
<Directory "/var/www/htdocs/prestashop">
Options -Indexes +Multiviews +FollowSymLinks
AllowOverride All
<Limit GET POST OPTIONS>
</Limit>
Require all granted
</Directory>
SSLEngine On
SSLCertificateFile "/etc/ssl/example.com.crt"
SSLCertificateKeyFile "/etc/ssl/private/example.com.key"
SSLCipherSuite HIGH:!aNULL
</VirtualHost>
Aşağıdakileri ekleyerek Apache'nin proxy modülünü yapılandırın /etc/apache2/sites/example.conf
<IfModule proxy_module>
<IfModule dir_module>
DirectoryIndex index.php
</IfModule>
<FilesMatch "\.php$">
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
</IfModule>
Yapılandırmayı test edin, ardından Apache'yi etkinleştirin ve başlatın.
apachectl configtest
rcctl enable apache2
rcctl start apache2
Apache'nin 80 ve 443 numaralı bağlantı noktalarını dinlediğinden emin olun.
netstat -ln -finet
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address (state)
tcp 0 0 *.443 *.* LISTEN
tcp 0 0 127.0.0.1.25 *.* LISTEN
tcp 0 0 *.22 *.* LISTEN
tcp 0 0 *.80 *.* LISTEN
tcp 0 0 127.0.0.1.3306 *.* LISTEN
tcp 0 0 127.0.0.1.9000 *.* LISTEN
Adresinden web sitenize göz atın http://www.example.com
. PrestaShop kurulum sihirbazı başlatılır.
Yüklemeyi tamamladıktan sonra, mağaza ön ve yönetim bağlantılarını not edin ve dizini silin /var/www/htdocs/prestashop/install
.
SSL'yi etkinleştirin.
Yönetici parolanızı değiştirin.
Mağazanızı ve veritabanını yedekleyin:
cd /var/www/htdocs
doas tar cvfz /home/auser/prestashop.tar.gz prestashop/
doas mysqldump -u prestashop -p prestashop | gzip -4 > /home/auser/prestashop.sql.tar.gz
doas chown auser:auser /home/auser/prestashop*
doas.conf
Dosyayı yeniden oluşturarak kullanıcı hesabınız için doas erişimini kaldırın .
echo 'permit keepenv :wheel' > /etc/doas.conf
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