OpenBSD kā e-komercijas risinājums ar PrestaShop un Apache

Ievads

Šī apmācība parāda OpenBSD kā e-komercijas risinājumu, izmantojot PrestaShop un Apache.

Apache ir nepieciešams, jo PrestaShop ir sarežģītas URL pārrakstīšanas prasības, kuras neatbalsta OpenBSD iebūvētais tīmekļa serveris httpd. Šajā apmācībā tiek izmantoti pašparakstīti sertifikāti. Ražošanai izmantojiet pārbaudītu sertifikātu.

Sagatavošanas uzdevumi

Īslaicīgi izveidojiet parastu lietotāju, kuram ir atļauts izmantot doasbez paroles. Pēc iestatīšanas šī piekļuve tiks noņemta.

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

Pievienojiet OpenBSD pakotņu repozitoriju.

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

Pārsūtiet ikdienas statusa un drošības e-pasta ziņojumus uz savu adresi.

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

Iestatiet servera resursdatora nosaukumu.

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

Pievienojiet sava servera FQDN un IP adresi /etc/hosts.
Aizstāt 192.0.2.1ar savu Vultr IP adresi.

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

Pievienojiet nepieciešamās pakotnes PrestaShop un Apache. Kad tiek prasīts, izvēlieties jaunākās versijas.

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ēšanai izveidots pašparakstīts SSL sertifikāts. Iestatiet Common Name uz sava servera FQDN, piemēram, 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

Lejupielādējiet un izņemiet PrestaShop

Atrodiet jaunākās PrestaShop versijas URL , lejupielādējiet to /tmpun izvelciet uz /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

Konfigurējiet OpenBSD (pf) ugunsmūri

Konfigurējiet ugunsmūri, lai bloķētu visu ienākošo trafiku, izņemot ssh , www un https .

Izveidojiet dublējumkopiju /etc/pf.conf.

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

Rediģēt, /etc/pf.confkā parādīts.

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

Pārbaudiet un aktivizējiet ugunsmūra noteikumus.

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

Konfigurējiet OpenSMTPD kā e-pasta releju

Dublējiet savu /etc/mail/smtpd.conffailu.

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

Rediģējiet, /etc/mail/smtpd.confkā parādīts zemāk.

Piezīmes: * Noslēpumu tabulas definīcijā ir ietverts pasta releja lietotājvārds un parole. * Izejošo rīcība uzmeklē lietotājvārdu un paroli zem etiķetes prestashop, kas /etc/mail/secretsun relejus uz e-pasta, izmantojot savu e-pasta serveri.

    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"

Izveidot /etc/mail/secrets

Aizstājiet e-pasta adresi un paroli ar akreditācijas datiem, ko izmantojat savam e-pasta serverim.

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

Iestatiet drošības atļaujas /etc/mail/secrets

chmod 0600 /etc/secrets

Atrodiet kļūdu konfigurācijas failu un restartējiet smtpd dēmonu.

smtpd -n
rcctl restart smtpd

Konfigurējiet PHP un PHP-FPM vidi

Konfigurējiet PHP-FPM procesu, lai klausītos TCP ligzdā, nevis UNIX domēna ligzdā.

Veiciet tālāk norādītās /etc/php-fpm.conffaila izmaiņas.

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

Veiciet dažas papildu izmaiņas PHP vidē /etc/php-7.3.ini. Šis faila nosaukums var nedaudz mainīties, ja versija ir jaunāka par 7.3. Šīs izmaiņas:

  • Ļauj augšupielādēt lielākus failus.
  • Atspējojiet chrootēto vidi.
  • Konfigurējiet PHP, lai nosūtītu e-pastu, izmantojot 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
    

    Iespējojiet PHP spraudņus.

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

Iespējojiet un palaidiet PHP-FPM dēmonu. Dēmona nosaukums var nedaudz atšķirties, ja versija ir jaunāka.

rcctl enable php73_fpm
rcctl start php73_fpm

MariaDB konfigurēšana

MariaDB nodrošina PrestaShop datu bāzes aizmugursistēmu. Tā kā MariaDB ir nepieciešams vairāk atvērto failu, nekā pieļauj noklusējuma klase, izveidojiet īpašu klasi programmā /etc/login.conf.

Faila apakšā pievienojiet šādas rindiņas:

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

Instalējiet MariaDB.

 doas su
 mysql_install_db
 rcctl enable mysqld
 rcctl start mysqld

Konfigurējiet MariaDB drošību.

 mysql_secure_installation

Izveidojiet PrestaShop datu bāzi. Izmantojiet spēcīgu paroli.

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

Apache konfigurēšana

Dublējiet /etc/apache2/httpd2.conf

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

Veiciet tālāk norādītās izmaiņas /etc/apache2/httpd2.conf, izmantojot, #lai iespējotu un atspējotu moduļus.

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.confFaila apakšdaļā notiek vēl vairākas izmaiņas . Noņemt #no iekļautajiem apgalvojumiem norādītos.

  • Virtuālā hostinga rindas pievienojiet pēdējās.

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

Izveidojiet /etc/apache2/sitesdirektoriju.

mkdir /etc/apache2/sites

Izveidojiet /etc/apache2/sites/example.confar šādu informāciju:

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

Konfigurējiet Apache starpniekservera moduli, pievienojot tālāk norādīto /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>

Pārbaudiet konfigurāciju, pēc tam iespējojiet un palaidiet Apache.

apachectl configtest
rcctl enable apache2
rcctl start apache2

Pārliecinieties, vai Apache klausās portos 80 un 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

Instalējiet PrestaShop

Pārlūkojiet savu vietni vietnē http://www.example.com. Tiks palaists PrestaShop instalēšanas vednis.

Kad esat pabeidzis instalēšanu, ņemiet vērā veikala priekšējās un administratīvās saites un izdzēsiet direktoriju /var/www/htdocs/prestashop/install.

Iespējot SSL.

  • Noklikšķiniet uz Veikala parametri
  • Noklikšķiniet uz Vispārīgi
  • Iespējojiet SSL visām sava veikala daļām

Mainiet savu administratīvo paroli.

  • Noklikšķiniet uz Papildu parametri
  • Noklikšķiniet uz Komanda
  • Nomainiet paroli.

Daži nobeiguma uzdevumi

Dublējiet savu veikalu un tā datu bāzi:

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*

Noņemiet piekļuvi savam lietotāja kontam, atkārtoti izveidojot doas.conffailu.

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

Kā instalēt Tiny Tiny RSS lasītāju FreeBSD 11 FAMP VPS

Kā instalēt Tiny Tiny RSS lasītāju FreeBSD 11 FAMP VPS

Vai izmantojat citu sistēmu? Tiny Tiny RSS Reader ir bezmaksas un atvērtā koda pašmitināts tīmekļa ziņu plūsmas (RSS/Atom) lasītājs un apkopotājs, kas paredzēts

Kā instalēt Wiki.js uz FreeBSD 11

Kā instalēt Wiki.js uz FreeBSD 11

Vai izmantojat citu sistēmu? Wiki.js ir bezmaksas atvērtā pirmkoda moderna wiki lietotne, kas veidota uz Node.js, MongoDB, Git un Markdown. Wiki.js pirmkods ir publisks

Kā instalēt Pagekit 1.0 CMS uz FreeBSD 11 FAMP VPS

Kā instalēt Pagekit 1.0 CMS uz FreeBSD 11 FAMP VPS

Vai izmantojat citu sistēmu? Pagekit 1.0 CMS ir skaista, modulāra, paplašināma un viegla, bezmaksas un atvērtā koda satura pārvaldības sistēma (CMS) ar

Kā instalēt MODX Revolution uz FreeBSD 11 FAMP VPS

Kā instalēt MODX Revolution uz FreeBSD 11 FAMP VPS

Vai izmantojat citu sistēmu? MODX Revolution ir ātra, elastīga, mērogojama, atvērtā koda, uzņēmuma līmeņa satura pārvaldības sistēma (CMS), kas rakstīta PHP. Tas i

Iestatiet OpenBSD 5.5 64 bitu versiju

Iestatiet OpenBSD 5.5 64 bitu versiju

Šajā rakstā ir sniegti norādījumi par OpenBSD 5.5 (64 bitu) iestatīšanu KVM ar Vultr VPS. 1. darbība. Piesakieties Vultr vadības panelī. 2. darbība. Noklikšķiniet uz DEPLOY

Kā instalēt osTicket uz FreeBSD 12

Kā instalēt osTicket uz FreeBSD 12

Vai izmantojat citu sistēmu? osTicket ir atvērtā koda klientu atbalsta biļešu sistēma. osTicket pirmkods ir publiski mitināts vietnē Github. Šajā apmācībā

Kā instalēt Flarum Forum uz FreeBSD 12

Kā instalēt Flarum Forum uz FreeBSD 12

Vai izmantojat citu sistēmu? Flarum ir bezmaksas atvērtā koda nākamās paaudzes forumu programmatūra, kas padara tiešsaistes diskusijas jautras. Flarum pirmkods tiek mitināts o

Kā iespējot TLS 1.3 Nginx uz FreeBSD 12

Kā iespējot TLS 1.3 Nginx uz FreeBSD 12

Vai izmantojat citu sistēmu? TLS 1.3 ir transporta slāņa drošības (TLS) protokola versija, kas tika publicēta 2018. gadā kā piedāvātais standarts RFC 8446.

Instalējiet WordPress uz OpenBSD 6.2

Instalējiet WordPress uz OpenBSD 6.2

Ievads WordPress ir dominējošā satura pārvaldības sistēma internetā. Tas nodrošina visu, sākot no emuāriem līdz sarežģītām vietnēm ar dinamisku saturu

Kā instalēt Subrion 4.1 CMS uz FreeBSD 11 FAMP VPS

Kā instalēt Subrion 4.1 CMS uz FreeBSD 11 FAMP VPS

Vai izmantojat citu sistēmu? Subrion 4.1 CMS ir jaudīga un elastīga atvērtā pirmkoda satura pārvaldības sistēma (CMS), kas nodrošina intuitīvu un skaidru saturu.

Kā konfigurēt DJBDNS uz FreeBSD

Kā konfigurēt DJBDNS uz FreeBSD

Šī apmācība parādīs, kā konfigurēt DNS pakalpojumu, kuru ir viegli uzturēt, viegli konfigurēt un kas parasti ir drošāks nekā klasiskais BIN.

Kā instalēt Nginx, MySQL un PHP (FEMP) Stack uz FreeBSD 12.0

Kā instalēt Nginx, MySQL un PHP (FEMP) Stack uz FreeBSD 12.0

FEMP steks, kas ir salīdzināms ar LEMP steku operētājsistēmā Linux, ir atvērtā pirmkoda programmatūras kolekcija, kas parasti tiek instalēta kopā, lai iespējotu FreeBS.

MongoDB instalēšana uz FreeBSD 10

MongoDB instalēšana uz FreeBSD 10

MongoDB ir pasaules klases NoSQL datu bāze, ko bieži izmanto jaunākās tīmekļa lietojumprogrammās. Tas nodrošina augstas veiktspējas vaicājumus, sadalīšanu un replikāciju

Kā instalēt Monica uz FreeBSD 12

Kā instalēt Monica uz FreeBSD 12

Vai izmantojat citu sistēmu? Monica ir atvērtā koda personisko attiecību pārvaldības sistēma. Uztveriet to kā CRM (populāru rīku, ko izmanto pārdošanas komandas th

OpenBSD kā e-komercijas risinājums ar PrestaShop un Apache

OpenBSD kā e-komercijas risinājums ar PrestaShop un Apache

Ievads Šī apmācība parāda OpenBSD kā e-komercijas risinājumu, izmantojot PrestaShop un Apache. Apache ir nepieciešams, jo PrestaShop ir sarežģīts UR

Fork CMS instalēšana uz FreeBSD 12

Fork CMS instalēšana uz FreeBSD 12

Vai izmantojat citu sistēmu? Fork ir atvērtā koda SPS, kas rakstīta PHP. Forks pirmkods tiek mitināts vietnē GitHub. Šī rokasgrāmata parādīs, kā instalēt Fork CM

Kā instalēt Directus 6.4 CMS uz FreeBSD 11 FAMP VPS

Kā instalēt Directus 6.4 CMS uz FreeBSD 11 FAMP VPS

Vai izmantojat citu sistēmu? Directus 6.4 CMS ir jaudīga un elastīga, bezmaksas un atvērtā koda satura pārvaldības sistēma (CMS), kas izstrādātājiem nodrošina

FreeBSD drošības uzlabošana, izmantojot IPFW un SSHGuard

FreeBSD drošības uzlabošana, izmantojot IPFW un SSHGuard

VPS serverus bieži vērš iebrucēji. Izplatīts uzbrukuma veids sistēmas žurnālos tiek parādīts kā simtiem nesankcionētu ssh pieteikšanās mēģinājumu. Uzstādīt

OpenBSD iestatiet httpd

OpenBSD iestatiet httpd

Ievads OpenBSD 5.6 ieviesa jaunu dēmonu ar nosaukumu httpd, kas atbalsta CGI (izmantojot FastCGI) un TLS. Lai instalētu jauno http, nav jāveic papildu darbs

Iestatiet iRedMail uz FreeBSD 10

Iestatiet iRedMail uz FreeBSD 10

Šī apmācība parādīs, kā instalēt grupas programmu iRedMail uz jaunas FreeBSD 10 instalācijas. Jums vajadzētu izmantot serveri ar vismaz vienu gigabaitu.

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.

DDOS uzbrukumi: īss pārskats

DDOS uzbrukumi: īss pārskats

Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.

Piektdiena: kas notika ar AI vadītām automašīnām?

Piektdiena: kas notika ar AI vadītām automašīnām?

Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.

Datu glabāšanas evolūcija – infografika

Datu glabāšanas evolūcija – infografika

Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.

Lielo datu atsauces arhitektūras slāņu funkcijas

Lielo datu atsauces arhitektūras slāņu funkcijas

Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk