O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1
O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1
Având în vedere încântarea pentru securitate a OpenBSD, nu are sens decât să alimentați site-ul dvs. WordPress cu acesta, mai ales că WordPress și PHP tind să fie ținte în mișcare pentru scenariile de script. Din moment ce httpd-ul OpenBSD este conceput în principal pentru a servi paginile statice, operațiunile POST sunt rezervate proceselor fastcgi și slowcgi. Acest lucru face mai dificil pentru un actor necinstit să rupă procesul web serverului și să obțină acces la serverul tău. Operațiunile POST sunt conectate la procesul fastcgi și utilizează un interpret extern. Acest articol va discuta nu numai despre configurarea site-ului dvs. WordPress, ci și despre unele tehnici de bază de întreținere și despre modul de backup și restaurare a site-ului și a bazei de date a acestuia. Oriunde vedeți example.com
drept domeniu, vă rugăm să îl înlocuiți cu domeniul dvs.
Dacă nu ați făcut-o deja, va trebui să creați un /etc/doas.conf
fișier. Comanda doas este înlocuirea simplă a OpenBSD pentru sudo. Pentru comoditate, am adăugat opțiunea nopass, astfel încât nu va trebui să re-tastați parola atunci când utilizați doas. Dacă preferați să nu aveți acest lucru, pur și simplu omiteți nopass.
su -
echo "permit nopass keepenv :wheel" > /etc/doas.conf
În funcție de modul în care OpenBSD a fost ambalat pentru implementare, este posibil ca uneori administratorul de pachete să nu aibă configurat un depozit. Pentru a configura depozitul oficial OpenBSD, trebuie să creăm /etc/installurl
fișierul.
doas su
echo "https://cdn.openbsd.org/pub/OpenBSD" > /etc/installurl
exit
Acum trebuie să adăugăm PHP și câteva module suplimentare de care WordPress va avea nevoie pentru a gestiona lucruri precum imaginile și criptarea. Când vi se solicită, alegeți să instalați cel mai nou pachet de PHP. Un lucru pe care trebuie să-l faceți este să copiați fișierele ini modulul din directorul de probă în cel principal. Acest lucru trebuie făcut pentru a permite modulele PHP suplimentare.
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/.
În lumea de azi, site-urile web trebuie să fie difuzate prin SSL sau care să fie înlocuite de motoarele de căutare. Din fericire, OpenBSD are o aplicație excelentă numită acme-client. Clientul acme va genera automat o nouă cheie privată și va solicita un nou certificat complet valid. Clientul acme depinde de a avea un server web în loc, așa că va trebui să creăm o definiție rapidă a serverului implicit.
Cu editorul preferat, creați /etc/httpd.conf
. Mai târziu vom adăuga celelalte definiții ale serverului. Deocamdată acest lucru va fi suficient pentru ca clientul acme să funcționeze corect.
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"
}
}
De asemenea, utilizând editorul preferat, creați /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
}
Acum trebuie să activăm și să pornim httpd. După ce facem acest lucru, atunci putem rula acme-client și așteptăm să obțină noul nostru certificat nou. După ce facem acest lucru, vom adăuga o lucrare cron pentru a solicita automat una nouă la fiecare 7 zile, astfel încât să nu avem de grijă de expirare.
doas rcctl enable httpd
doas rcctl start httpd
doas acme-client -v example.com
Acum creăm jobul cron. Adăugați această linie sub ultima intrare. În acest caz, informăm acme-client să solicite noul certificat la 1:00 AM în fiecare sâmbătă.
doas crontab -e
0 1 * * 6 acme-client -F example.com && rcctl reload httpd
Acum este timpul să configurați httpd pentru WordPress. În loc să plasăm direct definiția site-ului nostru web /etc/httpd.conf
, o vom plasa într-un fișier separat numit /etc/httpd.conf.example.com
și îl vom include în fișierul principal de configurare. În general, este o bună practică să separați cele două, păstrând definițiile la nivel de site în fișierul principal de configurare și setările specifice domeniului într-unul diferit.
Adăugați următoarea linie în partea de jos a /etc/httpd.conf
fișierului dvs .:
include "/etc/httpd.conf.example.com"
Acum, utilizând editorul preferat, creați-vă /etc/httpd.conf.example.com
. Pentru comoditate, vom crea fișiere de jurnal separate pentru domeniul dvs. Acest lucru face mai ușor atunci când încercați să urmăriți potențialele probleme cu site-ul dvs.
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"
}
}
Pentru o mai mare securitate, vom implementa o solicitare suplimentară pentru un nume de utilizator și o parolă atunci când vă conectați la site-ul de administrare WordPress. Având în vedere că kiddies-urile de scripturi încearcă în mod repetat să creeze autentificarea autentificării WordPress, creăm o autentificare suplimentară la nivel de server web. De obicei, primesc aproximativ 5 ghiciri înainte ca WordPress să arunce o eroare 401 neautorizată.
doas su
cd /var/www/htdocs
doas htpasswd htpasswd <user>
doas chown www:www htpasswd
doas chmod 0640 htpasswd
doas rcctl reload httpd
Trebuie să facem o modificare a php-ului, astfel încât instalarea dvs. de WordPress să poată trimite e-mailuri. WordPress și unele plugin-uri se bazează pe abilitatea de a trimite e-mailuri care vă notifică actualizări, alerte și modificări. Incapacitatea de a trimite e-mailuri poate rupe anumite caracteristici ale WordPress. Deoarece httpd rulează într-un mediu încroșit, trebuie să spunem php cum să trimiteți e-mailuri. Mai mult, trebuie să facem câteva modificări de performanță la php-fpm.
Căutați sendmail_path
linia în care /etc/php-7.3.ini
faceți și modificați următoarele:
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; sendmail_path =
sendmail_path = /bin/femail -t -i
Căutați rândurile următoare /etc/php-fpm.conf
și modificați-le astfel:
pm.start_servers = 5
pm.min_spare_servers = 1
pm.max_spare_servers = 6
Următorul pas este activarea și pornirea php-fpm.
doas rcctl enable php73_fpm
doas rcctl start php73_fpm
MariaDB este o furcă de înlocuire a MySQL. Trebuie să facem unele lucrări de configurare inițiale și de pregătire a bazelor de date pentru WordPress.
Înainte de a putea utiliza MariaDB eficient, trebuie să permitem demonului mysql să utilizeze mai multe resurse decât valoarea implicită. Pentru a face acest lucru, faceți următoarele modificări /etc/login.conf
adăugând această intrare în partea de jos.
mysqld:\
:openfiles-cur=1024:\
:openfiles-max=2048:\
:tc=daemon:
Trebuie să facem unele modificări în fișierul de configurare MariaDB /etc/my.cnf
,. Prin faptul că clientul și serverul mysql comunică prin socket-ul de domeniu UNIX în loc de TCP, utilizarea memoriei serverului dvs. poate fi redusă. Nu trebuie să efectuați toate modificările sugerate mai jos. Cele două importante de modificat sunt socket
linia și să comenteze bind-address
linia. Aceasta mută soclul în /var/www
mediul chroot, astfel încât WordPress să se poată conecta la baza de date. Comentând bind-address
linia, prevenim MariaDB să asculte un port TCP.
[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
Acum trebuie să rulăm binarul de instalare MariaDB și să activăm și să pornim MariaDB. Această procedură va seta o parolă rădăcină și opțional va renunța la baza de date de testare. Este o idee bună să urmați toate sugestiile în etapa de instalare sigură.
doas mysql_install_db
doas rcctl enable mysqld
doas rcctl start mysqld
doas mysql_secure_installation
Creați baza de date WordPress și utilizatorul bazei de date. Nu uitați să înlocuiți <wp_user>
cu alegerea numelui de utilizator al bazei de date și <password>
cu o parolă complexă pe care ați ales-o.
mysql -u root -p
CREATE DATABASE wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO '<wp_user>'@'localhost' IDENTIFIED BY '<password>';
FLUSH PRIVILEGES;
EXIT
WordPress nu are un port oficial OpenBSD de ceva timp, deoarece funcționează destul de mult chiar din cutie. Descărcați, extrageți și mutați folderul de instalare WordPress.
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 {} \;
Trebuie să copiem /etc/resolv.conf
și /etc/hosts
într-un director la care vom crea apel /var/www/etc
. Acest lucru este astfel încât WordPress să poată ajunge cu succes pe piață. Veți avea nevoie de acest lucru pentru a descărca pluginuri și teme prin intermediul site-ului administrativ WordPress. De asemenea, este important ca pluginul Jet Pack să funcționeze corect.
doas mkdir /var/www/etc
doas cp /etc/hosts /var/www/etc/.
doas cp /etc/resolv.conf /var/www/etc/.
De aici, navigați pe site-ul dvs. WordPress folosind https prin URL-ul pe care l-ați specificat în definiția serverului web. Dacă totul funcționează corect, ar trebui să vedeți expertul de instalare WordPress. Când ajungeți la opțiunea de a specifica un server de baze de date, ar trebui să utilizațilocalhost:/var/run/mysql/mysql.sock
Odată ce WordPress a fost instalat, este timpul să configurați accesele permanente, astfel încât să pară mai prietenoase cu SEO. Din ecranul de administrator WordPress, accesați Settings -> Permalinks
. Faceți clic pe Structura personalizată și tastați /posts/%postname%
. După efectuarea acestei modificări, faceți clic pe butonul Salvați modificările. Acum aveți legături mult mai frumoase. De exemplu, o legătură permanentă va arăta astfel:https://example.com/posts/example-blog-post
De aici, ar trebui să aveți un site de bază gata de plecare. Asigurați-vă că instalați pluginuri precum Jet Pack și WP-Super Cache. Pluginul WP-Super Cache vă ajută la accelerarea site-ului dvs. prin memorarea în cache a paginilor web și eliminarea căutărilor constante în baze de date, iar JetPack vă oferă câteva statistici excelente de vizionare.
Nu trebuie să spunem că este foarte important să faceți o copie de rezervă a site-ului și a bazei de date. Din fericire, acesta este un lucru relativ ușor de făcut. Backup atât în directorul de acasă, apoi le puteți copia prin scp în altă locație. Puteți crea, de asemenea, o instantanee prin intermediul Panoului de control Vultr. Este o idee bună să facem ambele.
cd /var/www/htdocs
tar cvfz wordpress.tgz wordpress/
cp wordpress.tgz /home/user
mysqldump -u root -p wordpress > wordpress.sql && gzip wordpress.sql
Dacă baza de date a fost coruptă și o restaurare este necesară, efectuați următoarele:
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
Dacă ați făcut o modificare într-un fișier de script WordPress care a rupt ceva, puteți să reinstalați WordPress prin intermediul panoului de control admin. Căutați Updates
secțiunea și faceți clic pe link. Căutați un buton etichetat Re-install Now
. Acest lucru va repara cel puțin ceea ce este rupt, dar cea mai mare parte a configurației dvs. ar trebui să rămână intactă.
Dacă baza dvs. de date este într-o formă bună, dar ați editat din greșeală un fișier și ați spart lucrurile până la punctul în care nici nu puteți ajunge la consola de administrare WordPress, atunci faceți următoarele:
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 {} \;
O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1
Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.
Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.
Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.
Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.
CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?
Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.
Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!
Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.
Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe