Sådan installeres Zen Cart på Debian 9

Zen Cart er en gratis open source e-handels indholdshåndtering og indkøbskurv platform. Softwaren er skrevet i PHP programmeringssprog og installeres ofte på Linux under Apache / Nginx webservers, PHP og MySQL / MariaDB database management system, også kendt som LAMP eller LEMP stack. Zen Cart e-handelsløsning bruges til nemt at oprette online butikker til forskellige virksomheder og annoncere og sælge tjenester og varer.

I denne vejledning viser jeg dig hvordan du installerer og konfigurerer den nyeste version af Zen Cart på Debian 9 for at oprette en gratis online butik.

Krav

  • Minimal installation af Debian 9 server på en bare metal maskine eller på en virtuel privat server
  • En statisk IP-adresse konfigureret til et af dine netværksinterfacekort
  • sudo root privilegier til en lokal eller fjernkonto eller direkte adgang til root-konto
  • Et domænenavn, privat eller offentligt, afhængigt af din implementering, med de korrekte DNS-poster konfigureret til webtjenester. Hvis du ikke har et gyldigt eller et registreret domænenavn, kan du udføre installationen og få adgang til hjemmesiden via din server-IP-adresse
  • Hvis du vil bruge webstedsregistrering, kommentar moderering og andre funktioner, skal du have en kørende mail server korrekt konfigureret hos dine lokaler med fjernadgang til sine IMAP- og SMTP-tjenester.

Forudsætningerne

Før du begynder at installere og konfigurere Zen Cart fra kilder på din egen server, skal du først forsikre, at systemet opfylder alle softwarekravene til kompilering og installation af applikationen. Opdater det første trin ved at udføre følgende kommando ved at opdatere systemregistrene og softwarepakkerne.

apt opdatering

apt opgradering

Derefter skal du oprette navnet på dit system ved at udføre følgende kommando (erstat dit værtsnavn-variabel i overensstemmelse hermed).

hostnamectl set-hostname zencart

Bekræft maskinværtsnavn og værtsfil ved at udstede følgende kommandoer.

hostnamectl

kat / etc / værtsnavn

værtsnavn -s

værtsnavn -f

Udfør følgende kommando i næste trin for at installere nogle nødvendige værktøjer, som vil blive brugt til yderligere at administrere dit system fra kommandolinjen.

apt installere wget bash-completion zip unzip curl

Endelig genstart Debian-serveren for at kunne anvende kernelopdateringer, og værtsnavnet ændres korrekt.

systemstart genstart

Installer Apache og PHP

Zen Cart er en web-baseret CMS e-handelsplatform skrevet hovedsagelig i PHP-server-side programmeringssprog. For at kunne udføre PHP-filskripterne i applikationen skal en webserver, såsom Apache HTTP-server og en PHP-procesporte, installeres og fungere i systemet. For at installere Apache webserver og PHP tolken sammen med alle nødvendige PHP-moduler, som programmet behøver at køre korrekt, skal du udstede følgende kommando i din serverkonsol.

apt install apache2 libapache2-mod-php7.0 php7.0 php7.0-krølle php7.0-gd php7.0-mbstring php7.0-xml

Efter at Apache og PHP er installeret, skal du teste om webserveren er i gang og lytter efter netværksforbindelser på port 80 ved at udstede følgende kommando med root privilegier.

netstat -tlpn

Hvis netstat netværktøj ikke er installeret som standard i dit Debian-system, skal du udføre følgende kommando for at installere det.

apt installere netværktøjer

Ved at inspicere netstat-kommandoproduktionen kan du se, at Apache webserveren lytter til indkommende netværksforbindelser på port 80. Til den samme opgave kan du også bruge kommandoen ss, som automatisk installeres som standard i Debian 9.

ss tulpn

Konfigurer Firewall

Hvis du har en firewall aktiveret i dit system, f.eks. UFW firewall-applikation, skal du tilføje en ny regel for at tillade HTTP-trafik at passere gennem firewall ved at udstede følgende kommando.

ufw tillader WWW

or

ufw tillade 80 / tcp

Hvis du bruger iptables rå regler til at styre Firewall-regler på din Debian-server, skal du tilføje følgende regel for at tillade port 80 indgående trafik på firewallen, så de besøgende kan gennemse online-butikken.

apt-get install -y iptables-vedholdende

iptables -I INPUT -p tcp-destination-port 80 -J ACCEPT

Systemkrav-vedvarende gemme

systematiske iptabler-vedvarende genindlæsning

Configurae Apache og SSL / TLS

Dernæst aktiver og anvend de følgende Apache-moduler, der kræves af e-handelsapplikationen, for at køre korrekt, ved at udstede følgende kommando.

a2enmod omskrivning udløber env alias deflate mime

systemctl genstart apache2

Endelig teste, om Apache webserver standardwebside kan vises i din klients browsere ved at besøge din Debian-maskinens IP-adresse eller dit domænenavn eller server FQDN via HTTP-protokollen, som vist i det følgende billede. Hvis du ikke kender din maskinens IP-adresse, udfør ifconfig eller 'ip a' kommandoer for at afsløre din server's IP-adresse.

http://yourdomain.tld

Apache standard side

For at installere og få adgang til Zen Cart web admin panel og backend websted via HTTPS protokol, der vil sikre trafikken til dine kunder, udsted følgende kommando for at aktivere Apache webserver SSL modul og SSL site konfigurationsfil.

a2enmod ssl

a2ensite default-ssl.conf

Derefter skal du åbne Apache standard SSL-webstedskonfigurationsfil med en tekstredigerer og aktivere URL-omskrivningsregler ved at tilføje følgende linjer kode efter DocumentRoot-direktivet som vist i følgende eksempel:

nano /etc/apache2/sites-enabled/default-ssl.conf

SSL site konfigurationsfil uddrag:

<Katalog / var / www / html> Valg + FølgSymlinks AllowOverride All Kræv alt tildelt </ Directory>

Lav også følgende ændring til VirtualHost-linjen for at se ud som vist i følgende uddrag:

<VirtualHost *: 443>

SSL Vhost

Luk SSL Apache-filen, og åbn filen /etc/apache2/sites-enabled/000-default.conf til redigering og tilføj de samme URL-omskrivningsregler som for SSL-konfigurationsfilen. Indsæt kodeordene efter DocumentRoot-sætningen som vist i følgende eksempel.

 <Katalog / var / www / html> Valg + FølgSymlinks AllowOverride All Kræv alt tildelt </ Directory>

Directory indstillinger i vhost

Endelig genstart Apache daemon for at anvende alle regler konfigureret hidtil og besøge dit domæne via HTTP-protokol. Fordi du bruger de automatisk selvsignerede certifikatpar, der er udstedt af Apache ved installationen, skal en advarsel om fejl vises i browseren.

systemctl genstart apache2

https://yourdomain.tld

SSL side

Accept advarslen vedrørende det usikrede certifikat for at fortsætte og blive omdirigeret til Apache standardwebside.

Apache Standard side

Hvis UFW-firewallapplikationen blokerer indgående netværkstilslutninger til HTTPS-port, skal du tilføje en ny regel, så HTTPS-trafik kan passere firewall ved at udstede følgende kommando.

ufw tillade 'WWW Full'

or

ufw tillade 443 / tcp

Hvis iptables er standard firewall-applikationen installeret til beskyttelse af dit Debian-system på netværksniveau, skal du tilføje følgende regel for at tillade port 443 indgående trafik i firewallen, så de besøgende kan gennemse dit domænenavn.

iptables -I INPUT -p tcp-destination-port 443 -J ACCEPT

Systemkrav-vedvarende gemme

systematiske iptabler-vedvarende genindlæsning

I næste trin skal vi foretage nogle yderligere ændringer til PHP-standardkonfigurationsfilen for at sikre, at følgende PHP-variabler er aktiveret, og PHP-tidszoneindstillingen er korrekt konfigureret og matcher dit systems geografiske placering. Åbn filen /etc/php/7.0/apache2/php.ini til redigering og sørg for, at følgende linjer er konfigureret som følger. Også i første omgang lave en sikkerhedskopi af PHP konfigurationsfil.

cp /etc/php/7.0/apache2/php.ini{,.backup}

nano /etc/php/7.0/apache2/php.ini

Søg, rediger og ændrer følgende variabler i php.ini konfigurationsfil:

file_uploads = På memory_limit = 128 M upload_max_file_size = 64M post_max_size = 64M date.timezone = Europa / London

Forøg post_max_size og upload_max_file_size variabler som egnet til at understøtte store filvedhæftninger og erstat time.zone variablen i overensstemmelse med din fysiske tid ved at høre listen over tidszoner, der leveres af PHP docs på følgende link http://php.net/manual/en /timezones.php

Hvis du vil øge belastningshastigheden på dine hjemmesider via OPCache-plugin til PHP7, skal du tilføje følgende OPCache-indstillinger nederst på PHP-tolkens konfigurationsfil, som beskrevet nedenfor:

opcache.enable = 1 opcache.enable_cli = 1 opcache.interned_strings_buffer = 8 opcache.max_accelerated_files = 10000 opcache.memory_consumption = 128 opcache.save_comments = 1 opcache.revalidate_freq = 1

Luk php.ini-konfigurationsfilen og bekræft slutningen af ​​PHP-konfigurationsfilen for at kontrollere, om variablerne er korrekt tilføjet ved at udstede nedenstående kommando.

hale /etc/php/7.0/apache2/php.ini

Når du har foretaget alle de ovenfor forklarede ændringer, skal du genstarte apache-dæmonen for at anvende de nye ændringer ved at udstede følgende kommando.

systemctl genstart apache2

Endelig opretter du en PHP-info-fil ved at udføre følgende kommando og kontrollere, om PHP-tidszonen er konfigureret korrekt ved at besøge PHP-info-scriptfilen fra en browser på følgende URL, som illustreret i nedenstående billede. Rul ned til dato indstilling for at kontrollere php tidszone konfiguration.

ekko '<php phpinfo (); ?> '| tee /var/www/html/info.php

https://yourdomain.tld/info.php

Zen Cart e-handel webapplikation lagrer forskellige konfigurationer, som brugere, sessioner, kontakter, produkter, kataloger og andre, i en RDBMS database. I denne vejledning opretter vi Zen Cart-applikationen for at bruge MariaDB-databasen som backend. Udsted følgende kommando for at installere MariaDB-databasen og det PHP-modul, der er nødvendigt for at få adgang til mysql-databasen.

apt installer mariadb-server mariadb-klient php7.0-mysql

Når du har installeret MariaDB, skal du kontrollere, om dæmonen kører og lytter til forbindelser på localhost, port 3306, ved at køre netstat kommando.

netstat -tlpn | grep mysql

Derefter logger du på MySQL-konsollen og sikrer MariaDB-rootkontoen ved at udstede følgende kommandoer.

mysql -h localhost

brug mysql; Opdater bruger set plugin = '' hvor bruger = 'root'; flush privilegier; Afslut

På næste trin skal du sikre MariaDB ved at udføre scriptet mysql_secure_installation, der leveres af installationspakkerne fra Debian stretch-repositorier. Mens du kører, vil scriptet stille en række spørgsmål, der er designet til at sikre MariaDB-databasen, såsom: at ændre MySQL root-adgangskode, for at fjerne anonyme brugere, for at deaktivere eksterne root-logins og slette testdatabasen. Udfør scriptet ved at udstede følgende kommando og forsikre dig om at skrive ja til alle spørgsmål, der stilles for at sikre MySQL-daemon fuldt ud. Brug følgende script output uddrag som en vejledning.

sudo mysql_secure_installation

BEMÆRK: RUNNING AF ALLE DELER AF DETTE SKRIPT ANBEFALES FOR ALLE MariaDB-servere i produktionsanvendelse! LÆS ALLE TRIN FORSIGTIG! For at logge ind på MariaDB for at sikre det, skal vi bruge den nuværende adgangskode til rodenbrugeren. Hvis du lige har installeret MariaDB, og du endnu ikke har angivet root-adgangskoden, vil adgangskoden være tom, så du skal bare trykke her ind. Indtast aktuel adgangskode for root (indtast for ingen): OK, vellykket brugt adgangskode, fortsætter ... Indstilling af rodadgangskoden sikrer, at ingen kan logge ind på MariaDB root-brugeren uden den korrekte tilladelse. Du har allerede et root password-sæt, så du kan sikkert svare 'n'. Skift rodadgangskoden? [Y / n] y Ny adgangskode: Indtast ny adgangskode: Kodeord opdateret med succes! Genindlæsning af privilegietabeller .. ... Succes! Som standard har en MariaDB-installation en anonym bruger, så alle kan logge ind på MariaDB uden at skulle have en brugerkonto oprettet til dem. Dette er kun beregnet til test, og for at gøre installationen en smule glattere. Du bør fjerne dem, før du går ind i et produktionsmiljø. Fjern anonyme brugere? [Y / n] y ... Succes! Normalt bør root kun få lov til at oprette forbindelse fra 'localhost'. Dette sikrer, at en person ikke kan gætte på rodadgangskoden fra netværket. Disallow root login fjernt? [Y / n] y ... Succes! Som standard kommer MariaDB med en database med navnet 'test' som alle kan få adgang til. Dette er også kun beregnet til test, og skal fjernes, før det flyttes ind i et produktionsmiljø. Fjern test database og adgang til det? [Y / n] y - Drop test database ... ... Succes! - Fjernelse af privilegier på testdatabase ... ... Succes! Genoplæsning af privilegietabellerne sikrer, at alle de ændringer, der er foretaget indtil videre, træder i kraft straks. Genindlæs privilegietabeller nu? [Y / n] y ... Succes! Rengøring ... Alt er færdig! Hvis du har gennemført alle ovenstående trin, skal din MariaDB-installation nu være sikker. Tak for at bruge MariaDB!

For at teste MariaDB sikkerhed, prøv login til databasen fra konsollen uden root password. Adgangen til databasen skal nægtes, hvis der ikke er adgang til adgangskoden til rodkontoen, som illustreret i følgende kommandouddrag:

[email protected]: ~ # mysql -h localhost -u root

Indtast adgangskode: FEJL 1045 (28000): Adgang nægtet for bruger 'root' @ 'localhost' (ved brug af kodeord: NEJ)

Hvis adgangskoden leveres, skal loginprocessen gives til MySQL-konsollen, som vist i kommandoen:

[email protected]: ~ #mysql -h localhost -u root -p

Indtast adgangskode: Velkommen til MariaDB skærm. Kommandoer slutter med; eller g. Dit MariaDB-forbindelses-id er 15 Server-version: 10.1.26-MariaDB-0 + deb9u1 Debian 9.1 Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab og andre. Skriv 'hjælp;' eller 'h' for hjælp. Skriv 'c' for at rydde den nuværende indtastningsopgørelse. MariaDB [(none)]> frakørsel
bye

Derefter logger du på MariaDB-databasekonsollen, opretter en database til Zen Cart-applikationen og en bruger med et kodeord, der skal bruges til at administrere applikationsdatabasen ved at udstede følgende kommandoer. Udskift databasens navn, bruger og adgangskode i overensstemmelse hermed.

mysql -u rod-p

oprette database zencart; give SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEKS, DROP på zencart. * til 'zencart_user' @ 'localhost' identificeret af 'password1'; flush privilegier; Afslut

For at anvende alle de ændringer, der er foretaget indtil nu, skal du genstarte MySQL- og Apache-dæmoner og kontrollere, om dæmoner kører ved at udstede følgende kommandoer.

systemctl genstart mysql apache2

systemctl status mysql apache2

Installer Zen Cart

Efter at alle systemkrav er opfyldt for din e-handels online-shopinstallation, skal du besøge SourceForge Zen Cart's officielle downloadside på https://sourceforge.net/projects/zencart/files/ og download det nyeste zip pakke komprimerede arkiv ved hjælp af wget hjælpeprogrammet, som illustreret i den følgende prøve.

wget https://downloads.sourceforge.net/project/zencart/CURRENT%20-%20Zen%20Cart%201.5.x%20Series/zen-cart-v1.5.5f-12312017b.zip

Efter zip-arkiv download-afslutninger, udpak Zen Cart zip-komprimeret arkiv direkte og list de udpakkede filer ved at udstede følgende kommandoer. Fjern også standard index.html-filen, der er installeret af Apache webserver til webroot-bane, og også slet den info.php-fil, der blev oprettet tidligere.

rm /var/www/html/index.html

rm /var/www/html/info.php

unzip zen-cart-v1.5.5f-12312017b.zip

ls

Installationsfilerne til Zen Cart er placeret i din nuværende arbejdsmappe i den udpakkede zen-cart-mappe. Issue ls kommando for at se zen-cart katalog filer. Kopier alt indholdet af zen-cart-v1-biblioteket til din webserverdokument rodbane ved at udstede følgende kommando.

ls -al zen-cart-v [tab]

cp -rf zen-cart-v1.5.5e-03082017 / * / var / www / html /

Skift mappe til webserverdokumentrot og udsted følgende kommando for at oprette de konfigurationsfiler, der kræves af Zen Cart-programmet, for at skrive butiksindstillinger.

cd / var / www / html /

cp inkluderer / dist-configure.php inkluderer / configure.php

cp admin / includes / dist-configure.php admin / includes / configure.php

Udfør derefter følgende kommandoer for at give Apache runtime-bruger med fuld skrive tilladelser til web rod-stien. Brug ls-kommandoen til at liste tilladelser til programmets installerede filer placeret i / var / www / html / directory.

chown -R www-data: www-data / var / www / html /

ls -al / var / www / html /

ZenCart pakket ud

Nu skal du fortsætte installationen af ​​Zen Cart online shop ved at åbne en browser og navigere din serveres IP-adresse eller domænenavn eller server FQDN via HTTPS-protokollen. På den første installationsskærm vil Zen Cart installer vise dig et resumé af en liste over problemer vedrørende dig, du ser siden. Da applikationen endnu ikke er installeret, skal du klikke på linket Klik her for at starte installationsprocessen, som illustreret i det følgende billede.

https://yourdomain.tld

ZenCart webinstallatør

På den næste installationsskærm udfører installationsprogrammet en række forudinstallationskontroller mod serverens PHP-indstillinger og installeret PHP-udvidelse for at fastslå, om alle systemkrav til installation af Zen Cart-e-handelsprogrammet er opfyldt. Det vil også kontrollere, om Apache HTTP runtime-brugeren kan skrive til en række mapper fra webroot-bane, som vist i nedenstående billeder. Efter at have gennemgået alle systeminspektioner, skal du trykke på Fortsæt-knappen for at gå videre med installationsprocessen.

System inspektionPå den næste skærm skal du oprette din Zen Cart online-butik. Først skal du tjekke afkrydsningsfeltet Licensaftale og verificere webadressen til Admin Server Domain for at omdirigere til dit domænenavn via HTTPS-programprotokol. Marker derefter Aktiver SSL for Storefront i Catalog (Storefront) Indstillinger og bekræft domænewebadresser. I det sidste arkiveres, skal du kontrollere, om butikens fysiske sti passer til din webserverdokumentets rodvej, og tryk på Fortsæt-knappen for at fortsætte videre med installationsprocessen.

System opsætning

På den næste installationsskærm skal du tilføje MySQL-databaseadresse, navn og referencer, der er oprettet tidligere til Zen Cart-databasen. Lad indlæse demodataene være afkrydsede, og vælg din databasekarakter til UTF8 og præfikset til zen_. Vælg SQL Cache Method til File og tryk på Fortsæt-knappen for at flytte til næste installationsfase.

Database opsætning

Dernæst tilføj en Admin Superuser-konto til din Zen Cart-online butik og en email-adresse til administratorkontoen. Sørg for, at du noterer administratorparkens adgangskode og admin-katalognavnet og klik på Fortsæt-knappen for at starte installationsprocessen.

Admin setup

Når installationen er fuldført, viser installatøren to knapper for at få adgang til Zen Cart Backed Administration panelet, som vil blive brugt til at styre din online shop og Storefront Store linket, som vises til dine kunder.

Setup færdig

For at besøge din onlinebutik vises første gang på Gå til din Storefront-knap og frontenden af ​​din e-handelsapplikation i din browser som vist på nedenstående skærmbillede. Du kan også besøge butiksfronten ved at navigere til din server-IP-adresse eller domænenavn via HTTPS-protokollen.

https://www.yourdomain.tld

ZenCart installeret

Før du logger ind på dit butiksbaserede admin panel, skal du først vende tilbage til serverkonsollen og udstede følgende kommando for at fjerne Zen Cart-installationsmappen.

rm -rf / var / www / html / zc_install /

For at administrere din Zen Cart online-butik, tryk på linket Admin Backend, som omdirigerer dig til butiksbacken. Brug administratoroplysningerne konfigureret under installationsprocessen for at logge ind på Zen Cart-backend-panelet, som vist på nedenstående skærmbillede.
Du kan også besøge Zen Cart admin web-panel ved at navigere til din server IP-adresse eller domænenavn via HTTPS protokol til admin-katalog URL-adresse tilfældig streng konfigureret under installationen.
https://yourdomain.tld/random_string/login.php

ZenCart loginEfter at du har logget ind på Zen Cart-backed admin panel, skal du udfylde den oprindelige installationsguiden med dine egne butiksdata og git på opdateringsknappen for at skrive ændringer, som vist på det følgende skærmbillede.

ZenCart Initial setup wizard

For at sikre Zen Cart-applikationen skal du vende tilbage til serverkonsollen og udstede følgende kommandoer for at ændre tilladelser for includes / configure.php-filen og for configure.php-filen fra admin-mappen, der skal ejes af root-kontoen.

chown root: root /var/www/html/includes/configure.php

chown root: root /var/www/html/brOil-QUl-cHain/includes/configure.php

Endelig, for at tvinge besøgende til at gennemse Zen Cart-frontendwebstedet og for sikker adgang til backend-grænsefladen via HTTPS-protokollen, der krypterer trafikken mellem serveren og klientbrowsere, skal du vende tilbage til serverens terminal og oprette en ny .htaccess-fil ved at udstede følgende kommando.

nano /var/www/html/.htaccess

Skift PHP-indstillinger for at matche dine egne serverressourcer og tilføj HTTPS-omdirigeringsreglerne som vist i nedenstående .htaccess-filuddrag:

# Rediger PHP-indstillinger
php_flag register_globals off php_flag magic_quotes_gpc Fra php_value max_execution_time 200 php_value max_input_time 200 php_value upload_max_filesize 999M
php_value post_max_size 999M
# Omdirigere til HTTPS
<IfModule mod_rewrite.c>
OmskrivningEngin On
RewriteCond% {HTTPS} fra
RewriteRule (. *) Https: //% {SERVER_NAME} / $ 1 [R, L]
</ IfModule>

Det er alt! Du har installeret og konfigureret Zen Cart e-handelsprogram i Debian 9.2. Men fordi Apache HTTP-server bruger et usikkert selvtegnet certifikat til at kryptere trafikken mellem serveren og de besøgendes browsere, bliver der altid genereret en advarselsmeddelelse og vises i deres browsere. Denne advarsel er dårlig for din online shop forretning. I dette tilfælde skal du købe et certifikat udstedt af en betroet certifikatmyndighed eller få et gratis certifikatpar fra Lad os kryptere CA.

For andre brugerdefinerede konfigurationer vedrørende Zen Cart ansøgning, besøg dokumentationssiden på følgende adresse: https://www.zen-cart.com/wiki/index.php/Main_Page

Kilde

Efterlad en kommentar

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.