OpenBSD si një zgjidhje për tregtinë elektronike me PrestaShop dhe Apache

Prezantimi

Ky tutorial demonstron OpenBSD si një zgjidhje e-commerce duke përdorur PrestaShop dhe Apache.

Apache kërkohet sepse PrestaShop ka kërkesa komplekse për rishkrimin e URL-ve që nuk mbështeten nga serveri i integruar i uebit i OpenBSD, httpd. Ky udhëzues përdor certifikata të vetë-nënshkruara. Ju lutemi përdorni një certifikatë të verifikuar për prodhimin.

Detyrat përgatitore

Krijo përkohësisht një përdorues të rregullt që lejohet të përdoret doaspa fjalëkalim. Kjo qasje do të hiqet pas konfigurimit.

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

Shtoni depon e paketave OpenBSD.

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

Përcillni statusin ditor dhe emailet e sigurisë në adresën tuaj.

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

Vendosni emrin e hostit të serverit.

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

Shtoni FQDN dhe adresën IP të serverit tuaj në /etc/hosts.
Zëvendësojeni 192.0.2.1me adresën tuaj IP të Vultr.

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

Shtoni paketat e kërkuara për PrestaShop dhe Apache. Zgjidhni versionet më të fundit kur ju kërkohet.

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

Krijoi një certifikatë SSL të vetë-nënshkruar për testim. Vendosni Emrin e Përbashkët në FQDN të serverit tuaj, p.sh. 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

Shkarkoni dhe ekstraktoni PrestaShop

Gjeni URL-në për versionin mëfundit të PrestaShop , shkarkoni në /tmpdhe ekstraktoni 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

Konfiguro firewall-in e OpenBSD (pf).

Konfiguro murin e zjarrit për të bllokuar të gjithë trafikun në hyrje, përveç ssh , www dhe https .

Bëni një kopje rezervë të /etc/pf.conf.

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

Redakto /etc/pf.confsiç tregohet.

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

Testoni dhe aktivizoni rregullat e murit të zjarrit.

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

Konfiguro OpenSMTPD si një rele të postës elektronike

Bëni kopje rezervë të /etc/mail/smtpd.confskedarit tuaj .

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

Redaktoni /etc/mail/smtpd.confsiç tregohet më poshtë.

Shënime: * Përkufizimi i tabelës për sekretet përmban emrin e përdoruesit dhe fjalëkalimin për transmetimin e postës. * Veprimi jashtë duket deri emrin e përdoruesit dhe fjalëkalimin nën etiketën prestashop/etc/mail/secretsdhe relays email përmes serverit tuaj të postës elektronike.

    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"

Krijo /etc/mail/secrets

Zëvendësoni adresën e emailit dhe fjalëkalimin me kredencialet që përdorni për serverin tuaj të postës elektronike.

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

Vendosni lejet për të siguruar /etc/mail/secrets

chmod 0600 /etc/secrets

Gjeni skedarin e konfigurimit për gabime dhe rinisni demonin smtpd.

smtpd -n
rcctl restart smtpd

Konfiguro mjedisin PHP dhe PHP-FPM

Konfiguro procesin PHP-FPM për të dëgjuar në një fole TCP në vend të një fole domeni UNIX.

Bëni ndryshimin e mëposhtëm për /etc/php-fpm.confskedarin.

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

Bëni disa ndryshime shtesë në mjedisin PHP në /etc/php-7.3.ini. Ky emër skedari mund të ndryshojë pak nëse versioni është më i ri se 7.3. Këto ndryshime:

  • Lejo që skedarët më të mëdhenj të ngarkohen.
  • Çaktivizoni mjedisin chrooted.
  • Konfiguro PHP për të dërguar email përmes sendmail.

    ; 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
    

    Aktivizo shtojcat PHP.

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

Aktivizo dhe nis demonin PHP-FPM. Emri i demonit mund të jetë paksa i ndryshëm nëse versioni është më i ri.

rcctl enable php73_fpm
rcctl start php73_fpm

Konfigurimi i MariaDB

MariaDB ofron bazën e bazës së të dhënave për PrestaShop. Për shkak se MariaDB ka nevojë për më shumë skedarë të hapur sesa lejon klasa e paracaktuar, krijoni një klasë të veçantë në /etc/login.conf.

Në fund të skedarit, shtoni rreshtat e mëposhtëm:

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

Instaloni MariaDB.

 doas su
 mysql_install_db
 rcctl enable mysqld
 rcctl start mysqld

Konfiguro sigurinë MariaDB.

 mysql_secure_installation

Krijo bazën e të dhënave PrestaShop. Përdorni një fjalëkalim të fortë.

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

Konfigurimi i Apache

Rezervo /etc/apache2/httpd2.conf

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

Bëni ndryshimet e mëposhtme në /etc/apache2/httpd2.conf, duke përdorur #për të aktivizuar dhe çaktivizuar modulet.

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
  • Disa ndryshime të tjera /etc/apache2/httpd2.confndodhin drejt fundit të skedarit. Hiqeni #nga deklaratat e përfshira të treguara.

  • Shtoni së fundi linjat Virtual Hosting.

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

Krijo /etc/apache2/sitesdrejtorinë.

mkdir /etc/apache2/sites

Krijo /etc/apache2/sites/example.confme informacionin e mëposhtëm:

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

Konfiguro modulin e përfaqësuesit të Apache duke shtuar sa vijon 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>

Testoni konfigurimin, më pas aktivizoni dhe nisni Apache.

apachectl configtest
rcctl enable apache2
rcctl start apache2

Sigurohuni që Apache po dëgjon në portat 80 dhe 443.

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

Instaloni PrestaShop

Shfletoni në faqen tuaj të internetit në http://www.example.com. Magjistari i instalimit të PrestaShop do të hapet.

Pasi të përfundoni instalimin, mbani parasysh lidhjet e para të dyqanit dhe ato administrative dhe fshini direktorinë /var/www/htdocs/prestashop/install.

Aktivizo SSL.

  • Klikoni " Shop Parametrat".
  • Klikoni Përgjithshme
  • Aktivizo SSL për të gjitha pjesët e dyqanit tuaj

Ndryshoni fjalëkalimin tuaj administrativ.

  • Klikoni Parametrat e avancuar
  • Kliko Team
  • Ndryshoni fjalëkalimin tuaj.

Disa detyra përfundimtare

Bëni kopje rezervë të dyqanit tuaj dhe bazës së të dhënave të tij:

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*

Hiqni aksesin doas për llogarinë tuaj të përdoruesit duke rikrijuar doas.confskedarin.

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

Si të instaloni Tiny Tiny RSS Reader në një FreeBSD 11 FAMP VPS

Si të instaloni Tiny Tiny RSS Reader në një FreeBSD 11 FAMP VPS

Përdorimi i një sistemi të ndryshëm? Tiny Tiny RSS Reader është një lexues dhe grumbullues i lajmeve të bazuara në ueb (RSS/Atom), falas dhe me burim të hapur, i krijuar për të dhënë

Si të instaloni Wiki.js në FreeBSD 11

Si të instaloni Wiki.js në FreeBSD 11

Përdorimi i një sistemi të ndryshëm? Wiki.js është një aplikacion modern wiki falas dhe me burim të hapur i ndërtuar në Node.js, MongoDB, Git dhe Markdown. Kodi burimor i Wiki.js është publik

Si të instaloni Pagekit 1.0 CMS në një FreeBSD 11 FAMP VPS

Si të instaloni Pagekit 1.0 CMS në një FreeBSD 11 FAMP VPS

Përdorimi i një sistemi të ndryshëm? Pagekit 1.0 CMS është një Sistem i Menaxhimit të Përmbajtjes (CMS) i bukur, modular, i zgjatshëm dhe i lehtë, pa pagesë dhe me burim të hapur me

Si të instaloni MODX Revolution në një FreeBSD 11 FAMP VPS

Si të instaloni MODX Revolution në një FreeBSD 11 FAMP VPS

Përdorimi i një sistemi të ndryshëm? MODX Revolution është një Sistem i Menaxhimit të Përmbajtjes (CMS) i shpejtë, fleksibël, i shkallëzuar, me burim të hapur, i shkallës së ndërmarrjes, i shkruar në PHP. Ajo i

Konfiguro OpenBSD 5.5 64-bit

Konfiguro OpenBSD 5.5 64-bit

Ky artikull ju udhëzon në konfigurimin e OpenBSD 5.5 (64-bit) në KVM me një Vultr VPS. Hapi 1. Hyni në panelin e kontrollit Vultr. Hapi 2. Klikoni DEPLOY

Si të instaloni osTicket në FreeBSD 12

Si të instaloni osTicket në FreeBSD 12

Përdorimi i një sistemi të ndryshëm? osTicket është një sistem biletash për mbështetjen e klientit me burim të hapur. Kodi burimor i osTicket është i pritur publikisht në Github. Në këtë tutorial

Si të instaloni Flarum Forum në FreeBSD 12

Si të instaloni Flarum Forum në FreeBSD 12

Përdorimi i një sistemi të ndryshëm? Flarum është një softuer forumi i gjeneratës së ardhshme pa pagesë dhe me burim të hapur që e bën diskutimin në internet argëtues. Kodi burimor i Flarum është pritur o

Si të aktivizoni TLS 1.3 në Nginx në FreeBSD 12

Si të aktivizoni TLS 1.3 në Nginx në FreeBSD 12

Përdorimi i një sistemi të ndryshëm? TLS 1.3 është një version i protokollit të Sigurisë së Shtresës së Transportit (TLS) që u publikua në 2018 si një standard i propozuar në RFC 8446

Instaloni WordPress në OpenBSD 6.2

Instaloni WordPress në OpenBSD 6.2

Hyrje WordPress është sistemi dominues i menaxhimit të përmbajtjes në internet. Ai fuqizon gjithçka, nga blogjet tek faqet e internetit komplekse me përmbajtje dinamike

Si të instaloni Subrion 4.1 CMS në një FreeBSD 11 FAMP VPS

Si të instaloni Subrion 4.1 CMS në një FreeBSD 11 FAMP VPS

Përdorimi i një sistemi të ndryshëm? Subrion 4.1 CMS është një sistem i fuqishëm dhe fleksibël i menaxhimit të përmbajtjes me burim të hapur (CMS) që sjell një përmbajtje intuitive dhe të qartë

Si të konfiguroni DJBDNS në FreeBSD

Si të konfiguroni DJBDNS në FreeBSD

Ky tutorial do t'ju tregojë se si të konfiguroni një shërbim DNS që është i lehtë për t'u mirëmbajtur, i lehtë për t'u konfiguruar dhe që në përgjithësi është më i sigurt se BIN klasik.

Si të instaloni Nginx, MySQL dhe PHP (FEMP) Stack në FreeBSD 12.0

Si të instaloni Nginx, MySQL dhe PHP (FEMP) Stack në FreeBSD 12.0

Një grumbull FEMP, i cili është i krahasueshëm me një pirg LEMP në Linux, është një koleksion softuerësh me burim të hapur që zakonisht instalohet së bashku për të mundësuar një FreeBS

Instalimi i MongoDB në FreeBSD 10

Instalimi i MongoDB në FreeBSD 10

MongoDB është një bazë të dhënash NoSQL e klasit botëror që përdoret shpesh në aplikacionet më të reja në internet. Ai siguron pyetje, ndarje dhe përsëritje me performancë të lartë

Si të instaloni Monica në FreeBSD 12

Si të instaloni Monica në FreeBSD 12

Përdorimi i një sistemi të ndryshëm? Monica është një sistem i menaxhimit të marrëdhënieve personale me burim të hapur. Mendoni për atë si një CRM (një mjet popullor i përdorur nga ekipet e shitjeve në th

OpenBSD si një zgjidhje për tregtinë elektronike me PrestaShop dhe Apache

OpenBSD si një zgjidhje për tregtinë elektronike me PrestaShop dhe Apache

Hyrje Ky tutorial demonstron OpenBSD si një zgjidhje e-commerce duke përdorur PrestaShop dhe Apache. Kërkohet Apache sepse PrestaShop ka UR komplekse

Instalimi i Fork CMS në FreeBSD 12

Instalimi i Fork CMS në FreeBSD 12

Përdorimi i një sistemi të ndryshëm? Fork është një CMS me burim të hapur i shkruar në PHP. Kodi burimor i Forks është pritur në GitHub. Ky udhëzues do t'ju tregojë se si të instaloni Fork CM

Si të instaloni Directus 6.4 CMS në një FreeBSD 11 FAMP VPS

Si të instaloni Directus 6.4 CMS në një FreeBSD 11 FAMP VPS

Përdorimi i një sistemi të ndryshëm? Directus 6.4 CMS është një sistem i fuqishëm dhe fleksibël, pa pagesë dhe me burim të hapur Headless Content Management System (CMS) që ofron zhvillues

Rritja e sigurisë për FreeBSD duke përdorur IPFW dhe SSHGuard

Rritja e sigurisë për FreeBSD duke përdorur IPFW dhe SSHGuard

Serverët VPS janë shpesh në shënjestër nga ndërhyrës. Një lloj i zakonshëm sulmi shfaqet në regjistrat e sistemit si qindra përpjekje të paautorizuara për hyrje ssh. Vendosja

Konfiguro httpd në OpenBSD

Konfiguro httpd në OpenBSD

Hyrje OpenBSD 5.6 prezantoi një daemon të ri të quajtur httpd, i cili mbështet CGI (nëpërmjet FastCGI) dhe TLS. Nuk nevojitet punë shtesë për të instaluar http-in e ri

Konfiguro iRedMail në FreeBSD 10

Konfiguro iRedMail në FreeBSD 10

Ky tutorial do t'ju tregojë se si të instaloni grupin iRedMail në një instalim të ri të FreeBSD 10. Ju duhet të përdorni një server me të paktën një gigabajt o

Ngritja e makinave: Aplikimet në botën reale të AI

Ngritja e makinave: Aplikimet në botën reale të AI

Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.

Sulmet DDOS: Një përmbledhje e shkurtër

Sulmet DDOS: Një përmbledhje e shkurtër

A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.

Evolucioni i ruajtjes së të dhënave - Infografik

Evolucioni i ruajtjes së të dhënave - Infografik

Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Së fundmi Apple lëshoi ​​macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë