Mašinų augimas: AI pritaikymas realiame pasaulyje
Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.
Įvadas
Atsižvelgiant į OpenBSD pomėgį saugumui, prasminga tik su ja maitinti savo „WordPress“ svetainę, ypač todėl, kad „WordPress“ ir PHP dažniausiai yra judantys scenarijų vaikai. Kadangi OpenBSD httpd iš esmės yra skirtas statiniams puslapiams aptarnauti, POST operacijos yra skirtos fastcgi ir slowcgi procesams. Dėl to nesąžiningam veikėjui gali būti sunkiau nutraukti žiniatinklio serverio procesą ir gauti prieigą prie jūsų serverio. POST operacijos nukreipiamos į „fastcgi“ procesą ir naudoja išorinį vertėją. Šiame straipsnyje bus aptariamas ne tik „WordPress“ svetainės nustatymas, bet ir kai kurie pagrindiniai priežiūros būdai bei svetainės ir jos duomenų bazės atsarginės kopijos kūrimas ir atkūrimas. Kur matote example.com
domeną, pakeiskite jį savo domenu.
Pradinė konfigūracija
Jei to dar nepadarėte, turėsite sukurti /etc/doas.conf
failą. Komanda doas yra paprastas OpenBSD sudo pakaitalas. Kad būtų patogiau, pridėjau nopass parinktį, kad naudojant doas nereikėtų iš naujo rinkti slaptažodžio. Jei nenorite to turėti, tiesiog praleiskite nopass.
su - echo "permit nopass keepenv :wheel" > /etc/doas.conf
Priklausomai nuo to, kaip OpenBSD buvo supakuotas diegti, kartais paketų tvarkyklėje gali nebūti sukonfigūruotos saugyklos. Norėdami sukonfigūruoti oficialią OpenBSD saugyklą, turime sukurti /etc/installurl
failą.
doas su echo "https://cdn.openbsd.org/pub/OpenBSD" > /etc/installurl exit
Dabar turime pridėti PHP ir keletą papildomų modulių, kurių reikės „WordPress“, kad būtų galima tvarkyti tokius dalykus kaip vaizdai ir šifravimas. Kai būsite paraginti, pasirinkite įdiegti naujausią PHP paketą. Vienas dalykas, kurį turite padaryti, tai nukopijuoti modulio ini failus iš pavyzdinio katalogo į pagrindinį. Tai turi būti padaryta norint įjungti papildomus PHP modulius.
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/.
Gaukite „Let's Encrypt“ sertifikatus
Šiuolaikiniame pasaulyje svetainės turi būti aptarnaujamos naudojant SSL, kitaip paieškos sistemos gali būti nuvertintos. Laimei, OpenBSD turi puikią programą, vadinamą acme-client. „acme-client“ automatiškai sugeneruos naują privatų raktą ir paprašys naujo visiškai galiojančio sertifikato. „acme“ klientas priklauso nuo to, ar yra žiniatinklio serveris, todėl turėsime greitai sukurti numatytąjį serverio apibrėžimą.
Naudodami mėgstamą redaktorių sukurkite /etc/httpd.conf
. Kitus serverio apibrėžimus pridėsime prie failo vėliau. Kol kas to pakaks, kad acme-client tinkamai veiktų.
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" } }
Taip pat naudodami mėgstamą redaktorių sukurkite /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 }
Dabar turime įjungti ir paleisti httpd. Kai tai padarysime, galėsime paleisti „acme-client“ ir laukti, kol jis gaus naują, naują sertifikatą. Kai tai padarysime, pridėsime cron užduotį, kad automatiškai kas 7 dienas pateiktume užklausą dėl naujo, kad nereikėtų jaudintis dėl galiojimo pabaigos.
doas rcctl enable httpd doas rcctl start httpd doas acme-client -v example.com
Dabar sukuriame cron darbą. Pridėkite šią eilutę po paskutiniu įrašu. Tokiu atveju mes liepiame „acme-client“ prašyti naujo sertifikato kiekvieną šeštadienį 1:00 val.
doas crontab -e 0 1 * * 6 acme-client -F example.com && rcctl reload httpd
HTTPD konfigūravimas „WordPress“.
Dabar laikas nustatyti „httpd“, skirtą „WordPress“. Užuot įtraukę savo svetainės apibrėžimą tiesiai į /etc/httpd.conf
, įdėsime jį į atskirą failą, pavadintą /etc/httpd.conf.example.com
ir įtrauksime į pagrindinį konfigūracijos failą. Paprastai yra gera praktika atskirti šiuos du dalykus, pagrindiniame konfigūracijos faile paliekant visos svetainės apibrėžimus, o kitame – konkrečių domeno nustatymus.
/etc/httpd.conf
Failo apačioje pridėkite šią eilutę :
include "/etc/httpd.conf.example.com"
Dabar naudodami mėgstamą redaktorių sukurkite savo /etc/httpd.conf.example.com
. Patogumui jūsų domenui sukursime atskirus žurnalo failus. Taip lengviau bandant persekioti galimas svetainės problemas.
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" } }
Siekdami didesnio saugumo, prisijungdami prie „WordPress“ administravimo svetainės ketiname įdiegti papildomą vartotojo vardo ir slaptažodžio raginimą. Kadangi scenarijų vaikai mėgsta pakartotinai bandyti bruteforce WordPress prisijungimą, mes sukuriame papildomą prisijungimą žiniatinklio serverio lygiu. Paprastai jie gauna apie 5 spėjimus, kol „WordPress“ pateikia 401 neteisėtą klaidą.
doas su cd /var/www/htdocs doas htpasswd htpasswd <user> doas chown www:www htpasswd doas chmod 0640 htpasswd doas rcctl reload httpd
Paruoškite ir sukonfigūruokite PHP ir PHP-FPM
Turime pakeisti php, kad jūsų „WordPress“ diegimas galėtų siųsti el. „WordPress“ ir kai kurie papildiniai priklauso nuo galimybės siųsti el. laiškus, pranešančius apie atnaujinimus, įspėjimus ir pakeitimus. Nesugebėjimas siųsti el. laiškų gali pažeisti tam tikras „WordPress“ funkcijas. Kadangi httpd veikia chroot aplinkoje, turime nurodyti php, kaip siųsti el. Be to, turime atlikti keletą našumo twees iki php-fpm.
Ieškokite sendmail_path
eilutės /etc/php-7.3.ini
ir atlikite šiuos pakeitimus:
; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ; sendmail_path = sendmail_path = /bin/femail -t -i
Ieškokite šių eilučių /etc/php-fpm.conf
ir pakeiskite jas taip:
pm.start_servers = 5 pm.min_spare_servers = 1 pm.max_spare_servers = 6
Kitas žingsnis yra įjungti ir paleisti php-fpm.
doas rcctl enable php73_fpm doas rcctl start php73_fpm
Paruoškite ir sukonfigūruokite MariaDB
MariaDB yra pakaitinė MySQL šakutė. Turime atlikti kai kuriuos pradinius „WordPress“ konfigūravimo ir duomenų bazės paruošimo darbus.
Kad galėtume efektyviai naudoti MariaDB, turime leisti mysql demonui naudoti daugiau išteklių nei numatytasis. Norėdami tai padaryti, atlikite toliau nurodytus pakeitimus /etc/login.conf
pridėdami šį įrašą apačioje.
mysqld:\ :openfiles-cur=1024:\ :openfiles-max=2048:\ :tc=daemon:
Turime atlikti kai kuriuos MariaDB konfigūracijos failo pakeitimus /etc/my.cnf
. Jei mysql klientas ir serveris bendrauja per UNIX domeno lizdą, o ne TCP, jūsų serverio atminties naudojimas gali būti sumažintas. Jūs neprivalote atlikti visų toliau siūlomų pakeitimų. Du svarbūs dalykai, kuriuos reikia pakeisti, yra socket
eilutė ir pakomentuoti bind-address
eilutę. Tai perkelia lizdą „ /var/www
chroot“ aplinkos viduje, kad „WordPress“ galėtų prisijungti prie duomenų bazės. Komentuodami bind-address
eilutę neleidžiame MariaDB klausytis naudojant TCP prievadą.
[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
Dabar turime paleisti MariaDB diegimo dvejetainį failą ir įjungti bei paleisti MariaDB. Atlikus šią procedūrą bus nustatytas root slaptažodis ir pasirinktinai atsisakyta bandomosios duomenų bazės. Gera idėja laikytis visų saugaus diegimo etapo pasiūlymų.
doas mysql_install_db doas rcctl enable mysqld doas rcctl start mysqld doas mysql_secure_installation
Sukurkite „WordPress“ duomenų bazę ir duomenų bazės vartotoją. Nepamirškite pakeisti <wp_user>
pasirinktu duomenų bazės vartotojo vardu ir <password>
sudėtingu pasirinktu slaptažodžiu.
mysql -u root -p CREATE DATABASE wordpress; GRANT ALL PRIVILEGES ON wordpress.* TO '<wp_user>'@'localhost' IDENTIFIED BY '<password>'; FLUSH PRIVILEGES; EXIT
Įdiekite ir sukonfigūruokite „WordPress“.
„WordPress“ jau kurį laiką neturėjo oficialaus „OpenBSD“ prievado, nes jis beveik veikia iš karto. Atsisiųskite, ištraukite ir perkelkite „WordPress“ diegimo aplanką.
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 {} \;
Turime nukopijuoti /etc/resolv.conf
ir /etc/hosts
į katalogą, kurį ketiname sukurti, pavadinimu /var/www/etc
. Taip yra tam, kad „WordPress“ galėtų sėkmingai pasiekti rinką. Jums to reikės norint atsisiųsti papildinius ir temas per „WordPress“ administratoriaus svetainę. Taip pat svarbu, kad „Jet Pack“ papildinys veiktų tinkamai.
doas mkdir /var/www/etc doas cp /etc/hosts /var/www/etc/. doas cp /etc/resolv.conf /var/www/etc/.
Iš čia naršykite į savo „WordPress“ svetainę naudodami https naudodami URL, kurį nurodėte žiniatinklio serverio apibrėžime. Jei viskas veikia tinkamai, turėtumėte pamatyti „WordPress“ diegimo vedlį. Kai pasieksite parinktį nurodyti duomenų bazės serverį, turėtumėte naudotilocalhost:/var/run/mysql/mysql.sock
Įdiegus „WordPress“, laikas nustatyti nuolatines nuorodas, kad jos atrodytų labiau pritaikytos SEO. „WordPress“ administratoriaus ekrane eikite į Settings -> Permalinks
. Spustelėkite Custom Structure ir įveskite /posts/%postname%
. Atlikę šį pakeitimą, spustelėkite mygtuką Išsaugoti pakeitimus. Dabar turite daug gražiau atrodančių nuorodų. Pavyzdžiui, nuolatinė nuoroda atrodys taip:https://example.com/posts/example-blog-post
Iš čia turėtumėte turėti paruoštą pagrindinę svetainę. Įsitikinkite, kad įdiegėte papildinius, pvz., „Jet Pack“ ir „WP-Super Cache“. „WP-Super Cache“ papildinys padeda pagreitinti jūsų svetainę, nes tinklalapiai saugomi talpykloje ir pašalinami nuolatiniai duomenų bazės ieškojimai, o „JetPack“ suteikia puikią žiūrimumo statistiką.
„WordPress“ svetainės ir duomenų bazės atsarginių kopijų kūrimas
Savaime suprantama, kad svetainės ir duomenų bazės atsarginių kopijų kūrimas yra labai svarbus. Laimei, tai gana lengvas dalykas. Nukopijuokite abu į savo namų katalogą ir tada galėsite nukopijuoti juos naudodami scp į kitą vietą. Taip pat galite sukurti momentinę nuotrauką naudodami „Vultr“ valdymo skydelį. Tai gera idėja daryti abu.
cd /var/www/htdocs tar cvfz wordpress.tgz wordpress/ cp wordpress.tgz /home/user mysqldump -u root -p wordpress > wordpress.sql && gzip wordpress.sql
„WordPress“ svetainės atkūrimas
Jei duomenų bazė buvo sugadinta ir ją reikia atkurti, atlikite šiuos veiksmus:
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
Jei pakeitėte „WordPress“ scenarijaus failą, dėl kurio kažkas sugedo, visada galite iš naujo įdiegti „WordPress“ naudodami administratoriaus valdymo skydelį. Raskite Updates
skyrių ir spustelėkite nuorodą. Ieškokite mygtuko, pažymėto Re-install Now
. Tai bent jau ištaisys tai, kas sugedo, bet didžioji dalis jūsų konfigūracijos turėtų likti nepažeista.
Jei jūsų duomenų bazė yra geros būklės, bet netyčia redagavote failą ir sugadinote dalykus taip, kad net negalite pasiekti „WordPress“ administratoriaus pulto, atlikite šiuos veiksmus:
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 {} \;
Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.
Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.
Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.
Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.
Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…
Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.
Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.
Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.
Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.
Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį