OpenBSD sem rafræn viðskiptalausn með PrestaShop og Apache

Kynning

Þessi kennsla sýnir OpenBSD sem rafræn viðskipti með PrestaShop og Apache.

Apache er krafist vegna þess að PrestaShop hefur flóknar kröfur um endurskrifun vefslóða sem eru ekki studdar af innbyggðum vefþjóni OpenBSD, httpd. Þessi kennsla notar sjálfstætt undirrituð vottorð. Vinsamlegast notaðu staðfest vottorð fyrir framleiðslu.

Undirbúningsverkefni

Búðu til tímabundið venjulegan notanda sem er heimilt að nota doasán lykilorðs. Þessi aðgangur verður fjarlægður eftir uppsetningu.

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

Bættu við OpenBSD pakkageymslunni.

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

Framsenda daglega stöðu og öryggistölvupóst á netfangið þitt.

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

Stilltu hýsingarheiti þjónsins.

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

Bættu FQDN og IP tölu netþjónsins við /etc/hosts.
Skiptu út 192.0.2.1fyrir Vultr IP tölu þinni.

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

Bættu við nauðsynlegum pökkum fyrir PrestaShop og Apache. Veldu nýjustu útgáfurnar þegar beðið er um það.

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

Búið til sjálfundirritað SSL vottorð til að prófa. Stilltu Common Name á FQDN netþjónsins þíns, td 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

Sæktu og dragðu út PrestaShop

Finndu slóðina fyrir nýjustu útgáfuna af PrestaShop , halaðu niður á /tmpog dragðu út í /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

Stilltu OpenBSD (pf) eldvegg

Stilltu eldvegginn þannig að hann lokar fyrir alla umferð á heimleið nema ssh , www og https .

Búðu til öryggisafrit af /etc/pf.conf.

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

Breyttu /etc/pf.confeins og sýnt er.

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

Prófaðu og virkjaðu eldveggsreglurnar.

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

Stilltu OpenSMTPD sem tölvupóstgengi

Taktu öryggisafrit af /etc/mail/smtpd.confskránni þinni.

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

Breyttu /etc/mail/smtpd.confeins og sýnt er hér að neðan.

Athugasemdir: * Taflaskilgreiningin fyrir leyndarmál inniheldur notandanafn og lykilorð fyrir póstsendinguna. * Aðgerðin á útleið flettir upp notandanafninu og lykilorðinu undir merkinu prestashopí /etc/mail/secretsog sendir tölvupóstinn í gegnum tölvupóstþjóninn þinn.

    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"

Búa til /etc/mail/secrets

Skiptu um netfangið og lykilorðið fyrir skilríkin sem þú notar fyrir tölvupóstþjóninn þinn.

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

Stilltu heimildir til að tryggja /etc/mail/secrets

chmod 0600 /etc/secrets

Leitaðu að stillingarskránni fyrir villur og endurræstu smtpd púkann.

smtpd -n
rcctl restart smtpd

Stilltu PHP og PHP-FPM umhverfið

Stilltu PHP-FPM ferlið til að hlusta á TCP fals í stað UNIX léns fals.

Gerðu eftirfarandi breytingu hér að neðan fyrir /etc/php-fpm.confskrána.

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

Gerðu nokkrar viðbótarbreytingar á PHP umhverfinu í /etc/php-7.3.ini. Þetta skráarnafn gæti breyst lítillega ef útgáfan er nýrri en 7.3. Þessar breytingar:

  • Leyfa að stærri skrám sé hlaðið upp.
  • Slökktu á chrooted umhverfinu.
  • Stilltu PHP til að senda tölvupóst með 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
    

    Virkjaðu PHP viðbæturnar.

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

Virkjaðu og ræstu PHP-FPM púkann. Nafn púkans gæti verið aðeins öðruvísi ef útgáfan er nýrri.

rcctl enable php73_fpm
rcctl start php73_fpm

Stillir MariaDB

MariaDB útvegar gagnagrunninn fyrir PrestaShop. Vegna þess að MariaDB þarf fleiri opnar skrár en sjálfgefinn flokkur leyfir skaltu búa til sérstakan flokk í /etc/login.conf.

Neðst á skránni skaltu bæta við eftirfarandi línum:

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

Settu upp MariaDB.

 doas su
 mysql_install_db
 rcctl enable mysqld
 rcctl start mysqld

Stilltu MariaDB öryggi.

 mysql_secure_installation

Búðu til PrestaShop gagnagrunninn. Notaðu sterkt lykilorð.

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

Stillir Apache

Afritaðu /etc/apache2/httpd2.conf

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

Gerðu eftirfarandi breytingar á /etc/apache2/httpd2.conf, notaðu #til að virkja og slökkva á einingar.

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
  • Nokkrar fleiri breytingar /etc/apache2/httpd2.confeiga sér stað neðst á skránni. Fjarlægðu #frá innihaldsyfirlýsingunum sem tilgreindar eru.

  • Bættu við sýndarhýsingarlínunum síðast.

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

Búðu til /etc/apache2/sitesmöppuna.

mkdir /etc/apache2/sites

Búðu til /etc/apache2/sites/example.confmeð eftirfarandi upplýsingum:

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

Stilltu proxy-einingu Apache með því að bæta eftirfarandi við /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>

Prófaðu stillingarnar, virkjaðu síðan og ræstu Apache.

apachectl configtest
rcctl enable apache2
rcctl start apache2

Gakktu úr skugga um að Apache sé að hlusta á höfnum 80 og 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

Settu upp PrestaShop

Skoðaðu vefsíðuna þína á http://www.example.com. PrestaShop uppsetningarhjálpin mun ræsa.

Þegar þú hefur lokið uppsetningunni skaltu athuga verslunarframhliðina og stjórnunartengla og eyða skránni /var/www/htdocs/prestashop/install.

Virkja SSL.

  • Smelltu á Shop Parameters
  • Smelltu á Almennt
  • Virkjaðu SSL fyrir alla hluta verslunarinnar þinnar

Breyttu stjórnunarlykilorðinu þínu.

  • Smelltu á Ítarlegar færibreytur
  • Smelltu á Team
  • Breyttu lykilorðinu þínu.

Nokkur lokaverkefni

Taktu öryggisafrit af versluninni þinni og gagnagrunni hennar:

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*

Fjarlægðu doas aðgang fyrir notandareikninginn þinn með því að endurskapa doas.confskrána.

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

Hvernig á að setja upp Tiny Tiny RSS Reader á FreeBSD 11 FAMP VPS

Hvernig á að setja upp Tiny Tiny RSS Reader á FreeBSD 11 FAMP VPS

Að nota annað kerfi? Tiny Tiny RSS Reader er ókeypis og opinn uppspretta sjálf-hýstinn fréttastraumur (RSS/Atom) lesandi og safnari, hannaður til að dreifa

Hvernig á að setja upp Wiki.js á FreeBSD 11

Hvernig á að setja upp Wiki.js á FreeBSD 11

Að nota annað kerfi? Wiki.js er ókeypis og opinn uppspretta, nútímalegt wikiforrit byggt á Node.js, MongoDB, Git og Markdown. Wiki.js frumkóði er publicl

Hvernig á að setja upp Pagekit 1.0 CMS á FreeBSD 11 FAMP VPS

Hvernig á að setja upp Pagekit 1.0 CMS á FreeBSD 11 FAMP VPS

Að nota annað kerfi? Pagekit 1.0 CMS er fallegt, mát, útvíkkanlegt og létt, ókeypis og opið efnisstjórnunarkerfi (CMS) með

Hvernig á að setja upp MODX Revolution á FreeBSD 11 FAMP VPS

Hvernig á að setja upp MODX Revolution á FreeBSD 11 FAMP VPS

Að nota annað kerfi? MODX Revolution er hraðvirkt, sveigjanlegt, stigstærð, opinn uppspretta, vefumsjónarkerfi (CMS) í fyrirtækisgráðu skrifað í PHP. Það i

Setja upp OpenBSD 5.5 64-bita

Setja upp OpenBSD 5.5 64-bita

Þessi grein leiðir þig í gegnum uppsetningu OpenBSD 5.5 (64-bita) á KVM með Vultr VPS. Skref 1. Skráðu þig inn á Vultr stjórnborðið. Skref 2. Smelltu á DEPLOY

Hvernig á að setja upp osTicket á FreeBSD 12

Hvernig á að setja upp osTicket á FreeBSD 12

Að nota annað kerfi? osTicket er opinn uppspretta miðasölukerfi fyrir þjónustuver. osTicket frumkóði er hýst opinberlega á Github. Í þessari kennslu

Hvernig á að setja upp Flarum Forum á FreeBSD 12

Hvernig á að setja upp Flarum Forum á FreeBSD 12

Að nota annað kerfi? Flarum er ókeypis og opinn uppspretta næstu kynslóðar spjallforrit sem gerir umræður á netinu skemmtilegar. Flarum frumkóði er hýst o

Hvernig á að virkja TLS 1.3 í Nginx á FreeBSD 12

Hvernig á að virkja TLS 1.3 í Nginx á FreeBSD 12

Að nota annað kerfi? TLS 1.3 er útgáfa af Transport Layer Security (TLS) samskiptareglunum sem var gefin út árið 2018 sem fyrirhugaður staðall í RFC 8446

Settu upp WordPress á OpenBSD 6.2

Settu upp WordPress á OpenBSD 6.2

Inngangur WordPress er ríkjandi vefumsjónarkerfi á netinu. Það knýr allt frá bloggum til flókinna vefsíðna með kraftmiklu efni

How to Install Subrion 4.1 CMS on a FreeBSD 11 FAMP VPS

How to Install Subrion 4.1 CMS on a FreeBSD 11 FAMP VPS

Using a Different System? Subrion 4.1 CMS is a powerful and flexible open source Content Management System (CMS) that brings an intuitive and clear conten

Hvernig á að stilla DJBDNS á FreeBSD

Hvernig á að stilla DJBDNS á FreeBSD

Þessi kennsla mun sýna þér hvernig á að stilla DNS þjónustu sem er auðvelt að viðhalda, auðvelt að stilla og sem er almennt öruggara en klassískt BIN

Hvernig á að setja upp Nginx, MySQL og PHP (FEMP) stafla á FreeBSD 12.0

Hvernig á að setja upp Nginx, MySQL og PHP (FEMP) stafla á FreeBSD 12.0

FEMP stafla, sem er sambærilegur við LEMP stafla á Linux, er safn af opnum hugbúnaði sem er venjulega settur upp saman til að virkja FreeBS

Að setja upp MongoDB á FreeBSD 10

Að setja upp MongoDB á FreeBSD 10

MongoDB er heimsklassa NoSQL gagnagrunnur sem er oft notaður í nýrri vefforritum. Það býður upp á afkastamikil fyrirspurnir, klippingu og afritun

Hvernig á að setja upp Monica á FreeBSD 12

Hvernig á að setja upp Monica á FreeBSD 12

Að nota annað kerfi? Monica er opinn uppspretta persónuleg tengslastjórnunarkerfi. Hugsaðu um það sem CRM (vinsælt tól notað af söluteymum í þ

OpenBSD sem rafræn viðskiptalausn með PrestaShop og Apache

OpenBSD sem rafræn viðskiptalausn með PrestaShop og Apache

Inngangur Þessi kennsla sýnir OpenBSD sem rafræn viðskipti með PrestaShop og Apache. Apache er krafist vegna þess að PrestaShop er með flókna UR

Að setja upp Fork CMS á FreeBSD 12

Að setja upp Fork CMS á FreeBSD 12

Að nota annað kerfi? Fork er opinn uppspretta CMS skrifað í PHP. Forks frumkóði er hýstur á GitHub. Þessi handbók mun sýna þér hvernig á að setja upp Fork CM

How to Install Directus 6.4 CMS on a FreeBSD 11 FAMP VPS

How to Install Directus 6.4 CMS on a FreeBSD 11 FAMP VPS

Using a Different System? Directus 6.4 CMS is a powerful and flexible, free and open source Headless Content Management System (CMS) that provides developer

Auka öryggi fyrir FreeBSD með því að nota IPFW og SSHGuard

Auka öryggi fyrir FreeBSD með því að nota IPFW og SSHGuard

VPS netþjónar eru oft skotmörk boðflenna. Algeng tegund árása birtist í kerfisskrám sem hundruð óheimilra ssh innskráningartilrauna. Setja upp

Uppsetning httpd í OpenBSD

Uppsetning httpd í OpenBSD

Inngangur OpenBSD 5.6 kynnti nýjan púka sem heitir httpd, sem styður CGI (í gegnum FastCGI) og TLS. Engin frekari vinna þarf til að setja upp nýja http

Settu upp iRedMail á FreeBSD 10

Settu upp iRedMail á FreeBSD 10

Þessi kennsla mun sýna þér hvernig á að setja upp hópbúnaðinn iRedMail á nýrri uppsetningu á FreeBSD 10. Þú ættir að nota netþjón með að minnsta kosti einu gígabæta o

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Gervigreind er ekki í framtíðinni, hún er hér í nútímanum Í þessu bloggi Lestu hvernig gervigreindarforrit hafa haft áhrif á ýmsa geira.

DDOS árásir: Stutt yfirlit

DDOS árásir: Stutt yfirlit

Ertu líka fórnarlamb DDOS árása og ruglaður með forvarnaraðferðirnar? Lestu þessa grein til að leysa spurningar þínar.

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Þú gætir hafa heyrt að tölvuþrjótar græða mikið af peningum, en hefur þú einhvern tíma velt því fyrir þér hvernig þeir vinna sér inn svona peninga? við skulum ræða.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Viltu sjá byltingarkenndar uppfinningar frá Google og hvernig þessar uppfinningar breyttu lífi hvers manns í dag? Lestu síðan til að blogga til að sjá uppfinningar frá Google.

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Hugmyndin um að sjálfkeyrandi bílar fari á göturnar með hjálp gervigreindar er draumur sem við höfum átt um tíma núna. En þrátt fyrir nokkur loforð eru þau hvergi sjáanleg. Lestu þetta blogg til að læra meira…

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Þar sem vísindin þróast hratt og taka yfir mikið af viðleitni okkar, eykst hættan á því að verða fyrir óútskýranlegri einstæðu. Lestu, hvað sérkenni gæti þýtt fyrir okkur.

Þróun gagnageymslu – Infographic

Þróun gagnageymslu – Infographic

Geymsluaðferðir gagna hafa verið að þróast gæti verið frá fæðingu gagna. Þetta blogg fjallar um þróun gagnageymslu á grundvelli upplýsingamynda.

Virkni Big Data Reference Architecture Layers

Virkni Big Data Reference Architecture Layers

Lestu bloggið til að þekkja mismunandi lög í Big Data Architecture og virkni þeirra á einfaldasta hátt.

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

Í þessum stafræna heimi hafa snjallheimilistæki orðið afgerandi hluti af lífi. Hér eru nokkrir ótrúlegir kostir snjallheimatækja um hvernig þau gera líf okkar þess virði að lifa því og einfaldara.

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

Nýlega gaf Apple út macOS Catalina 10.15.4 viðbótaruppfærslu til að laga vandamál en svo virðist sem uppfærslan sé að valda fleiri vandamálum sem leiða til múrsteins á Mac vélum. Lestu þessa grein til að læra meira