OpenBSD mint e-kereskedelmi megoldás PrestaShop és Apache segítségével

Bevezetés

Ez az oktatóanyag az OpenBSD-t mint e-kereskedelmi megoldást mutatja be PrestaShop és Apache használatával.

Az Apache azért szükséges, mert a PrestaShop összetett URL-újraírási követelményekkel rendelkezik, amelyeket az OpenBSD beépített webszervere, a httpd nem támogat. Ez az oktatóanyag önaláírt tanúsítványokat használ. A gyártáshoz használjon ellenőrzött tanúsítványt.

Felkészülési feladatok

Ideiglenesen hozzon létre egy normál felhasználót doas, amely jelszó nélkül használható . Ez a hozzáférés a beállítás után megszűnik.

user add -c "Example User" -m -G wheel -L staff auser
passwd auser
echo 'permit nopass keepenv :wheel' > /etc/doas.conf

Adja hozzá az OpenBSD csomagtárat.

echo 'https://cdn.openbsd.org/pub/OpenBSD' > /etc/installurl

Továbbítsa a napi állapot- és biztonsági e-maileket az Ön címére.

echo '[email protected]' > /root/.forward

Állítsa be a szerver gazdagépnevét.

echo 'www.example.com' > /etc/myname
hostname www.example.com

Adja hozzá szervere FQDN-jét és IP-címét a /etc/hosts.
Cserélje 192.0.2.1ki a Vultr IP-címét.

127.0.0.1    localhost
::1          localhost
192.0.2.1    www.example.com

Adja hozzá a szükséges csomagokat a PrestaShop és az Apache számára. Amikor a rendszer kéri, válassza ki a legújabb verziókat.

doas su
pkg_add apache-httpd php php-curl php-gd php-intl php-pdo_mysql php-zip mariadb-client mariadb-server wget unzip

Létrehozott egy önaláírt SSL-tanúsítványt teszteléshez. Állítsa be a Common Name beállítást a kiszolgáló FQDN-jére, pl. 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

Töltse le és bontsa ki a PrestaShop szolgáltatást

Keresse meg a PrestaShop legfrissebb verziójának URL-jét , töltse le ide, /tmpés csomagolja ki ide /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

Az OpenBSD (pf) tűzfalának beállítása

Állítsa be a tűzfalat úgy, hogy az ssh , www és https kivételével minden bejövő forgalmat blokkoljon .

Készítsen biztonsági másolatot a /etc/pf.conf.

cp /etc/pf.conf /etc/pf.conf.bak

Szerkessze /etc/pf.confa képen látható módon.

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

Tesztelje és aktiválja a tűzfalszabályokat.

doas pfctl -nf /etc/pf.conf
doas pfctl -f /etc/pf.conf

Konfigurálja az OpenSMTPD-t e-mail továbbítóként

Készítsen biztonsági másolatot a /etc/mail/smtpd.conffájlról.

cp /etc/mail/smtpd.conf /etc/mail/smtpd.conf.bak

Szerkessze /etc/mail/smtpd.confaz alábbiak szerint.

Megjegyzések: * A titkok táblázatdefiníciója tartalmazza a levéltovábbító felhasználónevét és jelszavát. * A kimenő művelet megkeresi a felhasználónevet és a jelszót a címke prestashopalatt, /etc/mail/secretsés továbbítja az e-mailt az e-mail kiszolgálón keresztül.

    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"

Teremt /etc/mail/secrets

Cserélje ki az e-mail címet és jelszót az e-mail szerverhez használt hitelesítő adatokra.

echo "prestashop [email protected]:password" > /etc/mail/secrets

Állítsa be a biztonsághoz szükséges engedélyeket /etc/mail/secrets

chmod 0600 /etc/secrets

Keresse meg a konfigurációs fájlt a hibákért, és indítsa újra az smtpd démont.

smtpd -n
rcctl restart smtpd

Állítsa be a PHP és a PHP-FPM környezetet

Állítsa be a PHP-FPM folyamatot úgy, hogy UNIX tartományi socket helyett TCP-foglalatban figyeljen.

Hajtsa végre a következő módosítást a /etc/php-fpm.conffájlon.

...
; 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

Végezzen néhány további módosítást a PHP-környezetben /etc/php-7.3.ini. Ez a fájlnév kissé módosulhat, ha a verzió 7.3-nál újabb. Ezek a változások:

  • Lehetővé teszi nagyobb fájlok feltöltését.
  • A chrootolt környezet letiltása.
  • Állítsa be a PHP-t úgy, hogy sendmailen keresztül küldjön e-mailt.

    ; 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
    

    Engedélyezze a PHP bővítményeket.

    cp /etc/php-7.3.sample/* /etc/php-7.3/.

Engedélyezze és indítsa el a PHP-FPM démont. A démon neve kissé eltérhet, ha a verzió újabb.

rcctl enable php73_fpm
rcctl start php73_fpm

A MariaDB konfigurálása

A MariaDB biztosítja a PrestaShop adatbázis-háttérrendszerét. Mivel a MariaDB-nek több nyitott fájlra van szüksége, mint amennyit az alapértelmezett osztály lehetővé tesz, hozzon létre egy speciális osztályt a /etc/login.conf.

A fájl alján adja hozzá a következő sorokat:

mysqld:\
      :openfiles-cur=1024:\
      :openfiles-max=2048:\
      :tc=daemon:

Telepítse a MariaDB-t.

 doas su
 mysql_install_db
 rcctl enable mysqld
 rcctl start mysqld

Állítsa be a MariaDB biztonságot.

 mysql_secure_installation

Hozd létre a PrestaShop adatbázist. Használjon erős jelszót.

mysql -u root
CREATE DATABASE prestashop;
GRANT ALL PRIVILEGES ON prestashop.* TO 'prestashop'@'localhost' IDENTIFIED BY 'password123';
FLUSH PRIVILEGES;
EXIT

Apache konfigurálása

Biztonsági mentés /etc/apache2/httpd2.conf

cp /etc/apache2/httpd2.conf /etc/apache2/httpd2.conf.bak

Végezze el a következő módosításokat /etc/apache2/httpd2.confsegítségével #engedélyezheti és letilthatja a modulokat.

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
  • Számos további változás /etc/apache2/httpd2.conftörténik a fájl alján. Távolítsa #el a feltüntetett állítások közül.

  • Utoljára adja hozzá a Virtuális tárhely sorokat.

    # Server-pool management (MPM specific)
    Include /etc/apache2/extra/httpd-mpm.conf
    ...
    # Virtual Hosts
    IncludeOptional /etc/apache2/sites/*.conf
    

Hozza létre a /etc/apache2/siteskönyvtárat.

mkdir /etc/apache2/sites

Hozzon létre /etc/apache2/sites/example.confa következő adatokkal:

<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>

Állítsa be az Apache proxy modulját a következők hozzáadásával /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>

Tesztelje a konfigurációt, majd engedélyezze és indítsa el az Apache-t.

apachectl configtest
rcctl enable apache2
rcctl start apache2

Győződjön meg arról, hogy az Apache figyel a 80-as és 443-as portokon.

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

Telepítse a PrestaShop-ot

Böngésszen a webhelyére a következő címen: http://www.example.com. Elindul a PrestaShop telepítővarázsló.

A telepítés befejezése után vegye figyelembe az áruház első és adminisztratív hivatkozásait, és törölje a könyvtárat /var/www/htdocs/prestashop/install.

SSL engedélyezése.

  • Kattintson a Shop Parameters elemre
  • Kattintson az Általános elemre
  • Engedélyezze az SSL-t az üzlet minden részén

Módosítsa a rendszergazdai jelszót.

  • Kattintson a Speciális paraméterek elemre
  • Kattintson a Csapat elemre
  • Változtasd meg a jelszavadat.

Néhány végső feladat

Készítsen biztonsági másolatot az üzletéről és annak adatbázisáról:

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*

A doas.conffájl újbóli létrehozásával távolítsa el felhasználói fiókja doas-hozzáférését .

echo 'permit keepenv :wheel' > /etc/doas.conf

A Tiny Tiny RSS Reader telepítése FreeBSD 11 FAMP VPS-re

A Tiny Tiny RSS Reader telepítése FreeBSD 11 FAMP VPS-re

Más rendszert használ? A Tiny Tiny RSS Reader egy ingyenes és nyílt forráskódú, saját üzemeltetésű webalapú hírfolyam (RSS/Atom) olvasó és aggregátor, amelyet úgy terveztek, hogy

A Wiki.js telepítése FreeBSD 11-re

A Wiki.js telepítése FreeBSD 11-re

Más rendszert használ? A Wiki.js egy ingyenes és nyílt forráskódú, modern wikialkalmazás, amely Node.js-re, MongoDB-re, Git-re és Markdownra épül. A Wiki.js forráskódja nyilvános

A Pagekit 1.0 CMS telepítése FreeBSD 11 FAMP VPS-re

A Pagekit 1.0 CMS telepítése FreeBSD 11 FAMP VPS-re

Más rendszert használ? A Pagekit 1.0 CMS egy gyönyörű, moduláris, bővíthető és könnyű, ingyenes és nyílt forráskódú tartalomkezelő rendszer (CMS)

A MODX Revolution telepítése FreeBSD 11 FAMP VPS-re

A MODX Revolution telepítése FreeBSD 11 FAMP VPS-re

Más rendszert használ? A MODX Revolution egy gyors, rugalmas, méretezhető, nyílt forráskódú, vállalati szintű tartalomkezelő rendszer (CMS), PHP nyelven írva. Ez i

OpenBSD 5.5 64 bites beállítása

OpenBSD 5.5 64 bites beállítása

Ez a cikk végigvezeti az OpenBSD 5.5 (64 bites) beállításán KVM-en Vultr VPS-sel. 1. lépés: Jelentkezzen be a Vultr vezérlőpultra. 2. lépés Kattintson a BEVEZETÉS gombra

Az osTicket telepítése FreeBSD 12-re

Az osTicket telepítése FreeBSD 12-re

Más rendszert használ? Az osTicket egy nyílt forráskódú ügyfélszolgálati jegyértékesítő rendszer. Az osTicket forráskódja nyilvánosan a Githubon található. Ebben az oktatóanyagban

A Flarum Forum telepítése FreeBSD 12-re

A Flarum Forum telepítése FreeBSD 12-re

Más rendszert használ? A Flarum egy ingyenes, nyílt forráskódú, következő generációs fórumszoftver, amely szórakoztatóvá teszi az online beszélgetést. A Flarum forráskód o

A TLS 1.3 engedélyezése az Nginxben a FreeBSD 12 rendszeren

A TLS 1.3 engedélyezése az Nginxben a FreeBSD 12 rendszeren

Más rendszert használ? A TLS 1.3 a Transport Layer Security (TLS) protokoll egyik változata, amelyet 2018-ban tettek közzé javasolt szabványként az RFC 8446-ban.

Telepítse a WordPress-t OpenBSD 6.2-re

Telepítse a WordPress-t OpenBSD 6.2-re

Bevezetés A WordPress a domináns tartalomkezelő rendszer az interneten. A blogoktól a dinamikus tartalommal rendelkező összetett webhelyekig mindent megtesz

A Subrion 4.1 CMS telepítése FreeBSD 11 FAMP VPS-re

A Subrion 4.1 CMS telepítése FreeBSD 11 FAMP VPS-re

Más rendszert használ? A Subrion 4.1 CMS egy hatékony és rugalmas nyílt forráskódú tartalomkezelő rendszer (CMS), amely intuitív és világos tartalmat biztosít.

Hogyan állítsuk be a DJBDNS-t FreeBSD-n

Hogyan állítsuk be a DJBDNS-t FreeBSD-n

Ez az oktatóanyag bemutatja, hogyan konfigurálhat olyan DNS-szolgáltatást, amely könnyen karbantartható, könnyen konfigurálható, és általában biztonságosabb, mint a klasszikus BIN.

Az Nginx, MySQL és PHP (FEMP) Stack telepítése FreeBSD 12.0-ra

Az Nginx, MySQL és PHP (FEMP) Stack telepítése FreeBSD 12.0-ra

A FEMP verem, amely összehasonlítható a Linux LEMP veremével, nyílt forráskódú szoftverek gyűjteménye, amelyeket általában együtt telepítenek a FreeBS engedélyezéséhez.

A MongoDB telepítése FreeBSD 10-re

A MongoDB telepítése FreeBSD 10-re

A MongoDB egy világszínvonalú NoSQL adatbázis, amelyet gyakran használnak újabb webes alkalmazásokban. Nagy teljesítményű lekérdezéseket, felosztást és replikációt biztosít

A Monica telepítése FreeBSD 12-re

A Monica telepítése FreeBSD 12-re

Más rendszert használ? A Monica egy nyílt forráskódú személyes kapcsolatkezelő rendszer. Tekintsd úgy, mint egy CRM-et (az értékesítési csapatok által használt népszerű eszköz a th

OpenBSD mint e-kereskedelmi megoldás PrestaShop és Apache segítségével

OpenBSD mint e-kereskedelmi megoldás PrestaShop és Apache segítségével

Bevezetés Ez az oktatóanyag bemutatja az OpenBSD-t mint e-kereskedelmi megoldást PrestaShop és Apache használatával. Az Apache szükséges, mert a PrestaShop összetett UR-vel rendelkezik

A Fork CMS telepítése FreeBSD 12-re

A Fork CMS telepítése FreeBSD 12-re

Más rendszert használ? A Fork egy PHP nyelven írt nyílt forráskódú CMS. A Forks forráskódja a GitHubon található. Ez az útmutató megmutatja, hogyan kell telepíteni a Fork CM-et

A Directus 6.4 CMS telepítése FreeBSD 11 FAMP VPS-re

A Directus 6.4 CMS telepítése FreeBSD 11 FAMP VPS-re

Más rendszert használ? A Directus 6.4 CMS egy hatékony és rugalmas, ingyenes és nyílt forráskódú fej nélküli tartalomkezelő rendszer (CMS), amely a fejlesztők számára

A FreeBSD biztonságának fokozása IPFW és SSHGuard segítségével

A FreeBSD biztonságának fokozása IPFW és SSHGuard segítségével

A VPS-szervereket gyakran támadják meg a behatolók. A támadások gyakori típusa több száz jogosulatlan ssh bejelentkezési kísérletként jelenik meg a rendszernaplókban. Felállítása

A httpd beállítása OpenBSD-ben

A httpd beállítása OpenBSD-ben

Bevezetés Az OpenBSD 5.6 bevezetett egy új httpd démont, amely támogatja a CGI-t (FastCGI-n keresztül) és a TLS-t. Nincs szükség további munkára az új http telepítéséhez

Állítsa be az iRedMailt a FreeBSD 10-en

Állítsa be az iRedMailt a FreeBSD 10-en

Ez az oktatóanyag megmutatja, hogyan telepítheti a csoportmunka iRedMail programot a FreeBSD 10 friss telepítésére. Használjon legalább egy gigabájtos kiszolgálót.

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

Az Apple a közelmúltban kiadott egy kiegészítést a macOS Catalina 10.15.4-hez a problémák megoldására, de úgy tűnik, hogy a frissítés több problémát okoz, ami a Mac gépek blokkolásához vezet. További információért olvassa el ezt a cikket