ОпенБСД као решење за е-трговину са ПрестаСхоп-ом и Апацхе-ом

Увод

Овај водич демонстрира ОпенБСД као решење за е-трговину користећи ПрестаСхоп и Апацхе.

Апацхе је неопходан јер ПрестаСхоп има сложене захтеве за преписивање УРЛ-а које не подржава ОпенБСД-ов уграђени веб сервер, хттпд. Овај водич користи самопотписане сертификате. За производњу користите проверени сертификат.

Задаци за припрему

Привремено креирајте редовног корисника коме је дозвољено коришћење doasбез лозинке. Овај приступ ће бити уклоњен након подешавања.

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

Додајте спремиште ОпенБСД пакета.

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

Проследите дневне статусне и безбедносне е-поруке на своју адресу.

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

Подесите име хоста сервера.

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

Додајте ФКДН и ИП адресу вашег сервера у /etc/hosts.
Замените 192.0.2.1својом Вултр ИП адресом.

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

Додајте потребне пакете за ПрестаСхоп и Апацхе. Изаберите најновије верзије када се то од вас затражи.

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

Направио самопотписани ССЛ сертификат за тестирање. Подесите Цоммон Наме на ФКДН вашег сервера, нпр. ввв.екампле.цом.

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

Преузмите и распакујте ПрестаСхоп

Пронађите УРЛ за најновију верзију ПрестаСхоп-а , преузмите /tmpи распакујте је /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

Конфигуришите ОпенБСД (пф) заштитни зид

Конфигуришите заштитни зид да блокира сав улазни саобраћај осим ссх , ввв и хттпс .

Направите резервну копију /etc/pf.conf.

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

Уредите /etc/pf.confкао што је приказано.

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

Тестирајте и активирајте правила заштитног зида.

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

Конфигуришите ОпенСМТПД као релеј е-поште

Направите резервну копију ваше /etc/mail/smtpd.confдатотеке.

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

Уредите /etc/mail/smtpd.confкао што је приказано испод.

Напомене: * Дефиниција табеле за тајне садржи корисничко име и лозинку за релеј поште. * Спољњег акција диже корисничко име и лозинку под ознаком prestashopу /etc/mail/secretsи преноси на Е-преко сервера е-поште.

    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"

Креирај /etc/mail/secrets

Замените адресу е-поште и лозинку са акредитивима које користите за свој сервер е-поште.

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

Подесите дозволе за безбедност /etc/mail/secrets

chmod 0600 /etc/secrets

Потражите конфигурациону датотеку за грешке и поново покрените смтпд демон.

smtpd -n
rcctl restart smtpd

Конфигуришите ПХП и ПХП-ФПМ окружење

Конфигуришите ПХП-ФПМ процес да слуша на ТЦП утичници уместо на УНИКС доменској утичници.

Направите следећу промену у наставку за /etc/php-fpm.confдатотеку.

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

Направите неке додатне измене у ПХП окружењу у /etc/php-7.3.ini. Ово име датотеке може се мало променити ако је верзија новија од 7.3. Ове промене:

  • Дозволите отпремање већих датотека.
  • Онемогућите цхроот окружење.
  • Конфигуришите ПХП за слање е-поште путем сендмаила.

    ; 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
    

    Омогућите ПХП додатке.

    цп /етц/пхп-7.3.сампле/* /етц/пхп-7.3/.

Омогућите и покрените ПХП-ФПМ демон. Име демона може бити мало другачије ако је верзија новија.

rcctl enable php73_fpm
rcctl start php73_fpm

Конфигурисање МариаДБ-а

МариаДБ обезбеђује позадину базе података за ПрестаСхоп. Пошто је МариаДБ-у потребно више отворених датотека него што подразумевана класа дозвољава, креирајте посебну класу у /etc/login.conf.

На дну датотеке додајте следеће редове:

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

Инсталирајте МариаДБ.

 doas su
 mysql_install_db
 rcctl enable mysqld
 rcctl start mysqld

Конфигуришите МариаДБ безбедност.

 mysql_secure_installation

Креирајте ПрестаСхоп базу података. Користите јаку лозинку.

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

Конфигурисање Апацхе-а

Направи резервну копију /etc/apache2/httpd2.conf

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

Направите следеће промене у /etc/apache2/httpd2.conf, користећи #да бисте омогућили и онемогућили модуле.

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.confдолази до дна датотеке. Уклоните #из наведених изјава за укључивање.

  • Додајте линије виртуелног хостинга последње.

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

Креирајте /etc/apache2/sitesдиректоријум.

mkdir /etc/apache2/sites

Креирајте /etc/apache2/sites/example.confса следећим информацијама:

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

Конфигуришите Апацхе-ов проки модул додавањем следећег у /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>

Тестирајте конфигурацију, а затим омогућите и покрените Апацхе.

apachectl configtest
rcctl enable apache2
rcctl start apache2

Уверите се да Апацхе слуша на портовима 80 и 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

Инсталирајте ПрестаСхоп

Идите на своју веб локацију на http://www.example.com. Покренут ће се чаробњак за инсталацију ПрестаСхоп-а.

Када завршите инсталацију, обратите пажњу на предњи део продавнице и административне везе и избришите директоријум /var/www/htdocs/prestashop/install.

Омогући ССЛ.

  • Кликните на Схоп Параметерс
  • Кликните на Генерал
  • Омогућите ССЛ за све делове ваше продавнице

Промените своју административну лозинку.

  • Кликните на Напредни параметри
  • Кликните на Тим
  • Промените своју лозинку.

Неки завршни задаци

Направите резервну копију ваше продавнице и њене базе података:

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*

Уклоните доас приступ за свој кориснички налог тако што ћете поново креирати doas.confдатотеку.

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

Како инсталирати Тини Тини РСС Реадер на ФрееБСД 11 ФАМП ВПС

Како инсталирати Тини Тини РСС Реадер на ФрееБСД 11 ФАМП ВПС

Користите другачији систем? Тини Тини РСС Реадер је бесплатан читач и агрегатор вести (РСС/Атом) са сопственим хостовањем отвореног кода, дизајниран за

Како инсталирати Вики.јс на ФрееБСД 11

Како инсталирати Вики.јс на ФрееБСД 11

Користите другачији систем? Вики.јс је бесплатна модерна вики апликација отвореног кода изграђена на Ноде.јс, МонгоДБ, Гит и Маркдовн. Вики.јс изворни код је јавни

Како инсталирати Пагекит 1.0 ЦМС на ФрееБСД 11 ФАМП ВПС

Како инсталирати Пагекит 1.0 ЦМС на ФрееБСД 11 ФАМП ВПС

Користите другачији систем? Пагекит 1.0 ЦМС је прелеп, модуларан, проширив и лаган, бесплатан систем за управљање садржајем отвореног кода (ЦМС) са

Како инсталирати МОДКС Револутион на ФрееБСД 11 ФАМП ВПС

Како инсталирати МОДКС Револутион на ФрееБСД 11 ФАМП ВПС

Користите другачији систем? МОДКС Револутион је брз, флексибилан, скалабилан, опен соурце систем за управљање садржајем (ЦМС) за предузећа написан у ПХП-у. Ит и

Подешавање ОпенБСД 5.5 64-бит

Подешавање ОпенБСД 5.5 64-бит

Овај чланак вас води кроз подешавање ОпенБСД 5.5 (64-бит) на КВМ-у са Вултр ВПС-ом. Корак 1. Пријавите се на Вултр контролну таблу. Корак 2. Кликните на УПОТРЕБА

Како инсталирати осТицкет на ФрееБСД 12

Како инсталирати осТицкет на ФрееБСД 12

Користите другачији систем? осТицкет је систем за продају карата за корисничку подршку отвореног кода. ОсТицкет изворни код је јавно хостован на Гитхубу. У овом туторијалу

Како инсталирати Фларум Форум на ФрееБСД 12

Како инсталирати Фларум Форум на ФрееБСД 12

Користите другачији систем? Фларум је бесплатан форумски софтвер нове генерације отвореног кода који чини дискусију на мрежи забавном. Фларум изворни код је хостован о

Како омогућити ТЛС 1.3 у Нгинк-у на ФрееБСД 12

Како омогућити ТЛС 1.3 у Нгинк-у на ФрееБСД 12

Користите другачији систем? ТЛС 1.3 је верзија протокола Транспорт Лаиер Сецурити (ТЛС) који је објављен 2018. године као предложени стандард у РФЦ 8446

Инсталирајте ВордПресс на ОпенБСД 6.2

Инсталирајте ВордПресс на ОпенБСД 6.2

Увод ВордПресс је доминантан систем за управљање садржајем на интернету. Покреће све, од блогова до сложених веб локација са динамичким садржајем

Како инсталирати Субрион 4.1 ЦМС на ФрееБСД 11 ФАМП ВПС

Како инсталирати Субрион 4.1 ЦМС на ФрееБСД 11 ФАМП ВПС

Користите другачији систем? Субрион 4.1 ЦМС је моћан и флексибилан систем за управљање садржајем отвореног кода (ЦМС) који доноси интуитиван и јасан садржај

Како конфигурисати ДЈБДНС на ФрееБСД-у

Како конфигурисати ДЈБДНС на ФрееБСД-у

Овај водич ће вам показати како да конфигуришете ДНС услугу која је лака за одржавање, лака за конфигурисање и која је генерално безбеднија од класичног БИН-а

Како инсталирати Нгинк, МиСКЛ и ПХП (ФЕМП) стек на ФрееБСД 12.0

Како инсталирати Нгинк, МиСКЛ и ПХП (ФЕМП) стек на ФрееБСД 12.0

ФЕМП стек, који је упоредив са ЛЕМП стеком на Линук-у, је колекција софтвера отвореног кода који се обично инсталира заједно да би омогућио ФрееБС

Инсталирање МонгоДБ-а на ФрееБСД 10

Инсталирање МонгоДБ-а на ФрееБСД 10

МонгоДБ је НоСКЛ база података светске класе која се често користи у новијим веб апликацијама. Пружа упите високих перформанси, дељење и репликацију

Како инсталирати Моницу на ФрееБСД 12

Како инсталирати Моницу на ФрееБСД 12

Користите другачији систем? Моника је систем управљања личним односима отвореног кода. Замислите то као ЦРМ (популарни алат који користе продајни тимови у тх

ОпенБСД као решење за е-трговину са ПрестаСхоп-ом и Апацхе-ом

ОпенБСД као решење за е-трговину са ПрестаСхоп-ом и Апацхе-ом

Увод Овај водич демонстрира ОпенБСД као решење за е-трговину користећи ПрестаСхоп и Апацхе. Апацхе је неопходан јер ПрестаСхоп има сложен УР

Инсталирање Форк ЦМС-а на ФрееБСД 12

Инсталирање Форк ЦМС-а на ФрееБСД 12

Користите другачији систем? Форк је ЦМС отвореног кода написан у ПХП-у. Изворни код Форкс се налази на ГитХуб-у. Овај водич ће вам показати како да инсталирате Форк ЦМ

Како инсталирати Дирецтус 6.4 ЦМС на ФрееБСД 11 ФАМП ВПС

Како инсталирати Дирецтус 6.4 ЦМС на ФрееБСД 11 ФАМП ВПС

Користите другачији систем? Дирецтус 6.4 ЦМС је моћан и флексибилан, бесплатан и отвореног кода Хеадлесс Цонтент Манагемент Систем (ЦМС) који пружа програмеру

Побољшање безбедности за ФрееБСД коришћењем ИПФВ и ССХГуард

Побољшање безбедности за ФрееБСД коришћењем ИПФВ и ССХГуард

ВПС сервери су често на мети уљеза. Уобичајени тип напада се појављује у системским евиденцијама као стотине неовлашћених покушаја пријављивања на ссх. Подешавати

Поставите хттпд у ОпенБСД

Поставите хттпд у ОпенБСД

Увод ОпенБСД 5.6 је представио нови демон под називом хттпд, који подржава ЦГИ (преко ФастЦГИ) и ТЛС. Није потребан додатни рад да бисте инсталирали нови хттп

Подесите иРедМаил на ФрееБСД 10

Подесите иРедМаил на ФрееБСД 10

Овај водич ће вам показати како да инсталирате групни софтвер иРедМаил на нову инсталацију ФрееБСД 10. Требало би да користите сервер са најмање једним гигабајтом о

Успон машина: Примене вештачке интелигенције у стварном свету

Успон машина: Примене вештачке интелигенције у стварном свету

Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.

ДДОС напади: кратак преглед

ДДОС напади: кратак преглед

Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.

Да ли сте се икада запитали како хакери зарађују новац?

Да ли сте се икада запитали како хакери зарађују новац?

Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…

Технолошка сингуларност: далека будућност људске цивилизације?

Технолошка сингуларност: далека будућност људске цивилизације?

Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.

Еволуција складиштења података – Инфографика

Еволуција складиштења података – Инфографика

Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.

Функционалности слојева референтне архитектуре великих података

Функционалности слојева референтне архитектуре великих података

Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више