GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare la piattaforma di e-commerce X-cart su Debian 9

Questo tutorial ti guiderà su come installare e configurare l'ultima versione della piattaforma di e-commerce X-Cart nella versione Debian 9.2, al fine di creare un negozio per lo shopping online gratuito.

X-Cart è una piattaforma commerciale di e-commerce commerciale open source potente e complessa, con la maggior parte delle parti scritte nel linguaggio di programmazione PHP e spesso distribuita come una Software as a Service Solution (SaaS). La piattaforma di acquisto X-cart può anche essere installata in Linux sotto server Web Apache/Nginx, sistema di gestione di database PHP e MySQL/MariaDB, noto anche come stack LAMP o LEMP. La piattaforma di e-commerce online X-Cart CMS è molto utilizzata per creare negozi online per diverse attività e pubblicizzare e vendere servizi e merce.

Requisiti

  • Installazione del server Debian 9 su una macchina bare-metal o su un server privato virtuale
  • privilegi sudo di root per un account locale o remoto o accesso diretto all'account di root
  • Un indirizzo IP statico configurato per una delle schede delle interfacce di rete del tuo sistema
  • Un nome di dominio, privato o pubblico, a seconda della distribuzione, con i record DNS appropriati configurati per i servizi Web. Se non possiedi un nome a dominio valido o registrato puoi eseguire l'installazione e accedere al sito tramite l'indirizzo IP del tuo server
  • Se desideri utilizzare la registrazione al sito Web, la moderazione dei commenti e altre funzionalità, dovresti disporre di un server di posta funzionante correttamente configurato presso la tua sede con accesso remoto ai suoi servizi IMAP e SMTP.

Prerequisiti

Prima di iniziare a installare e configurare X-Cart dai sorgenti nel tuo server, assicurati che il sistema soddisfi tutti i requisiti software per la compilazione e l'installazione dell'applicazione. Nel primo passaggio, aggiorna i repository di sistema e i pacchetti software eseguendo il comando seguente.

apt update
apt update

Dopo che il sistema è stato completamente aggiornato, imposta il nome per il tuo sistema eseguendo il comando seguente. Sostituisci la tua variabile hostname di conseguenza.

hostnamectl set-hostname xcart

Verifica il nome host della macchina e il file host emettendo i seguenti comandi.

hostnamectl 
cat /etc/hostname 
hostname –s
hostname –f

Infine, riavvia il server Debian per applicare gli aggiornamenti del kernel e il nome host cambia correttamente.

systemctl reboot

Nel passaggio successivo, esegui il comando seguente per installare alcune utilità necessarie che verranno utilizzate per gestire ulteriormente il tuo sistema dalla riga di comando.

apt install wget bash-completion zip unzip

X-Cart è una piattaforma di e-commerce CMS basata sul web scritta principalmente in linguaggio di programmazione lato server PHP. Per eseguire gli script di file PHP dell'applicazione, è necessario installare e rendere operativo nel sistema un server Web, come il server HTTP Apache, e un gateway di elaborazione PHP. Per installare il server Web Apache e l'interprete PHP insieme a tutti i moduli PHP necessari per il corretto funzionamento dell'applicazione, immetti il ​​seguente comando nella console del tuo server.

apt install apache2 libapache2-mod-php7.0 php7.0 php7.0-mbstring php7.0-curl php7.0-gd php7.0-xml php7.0-opcache

Dopo aver installato Apache e PHP, verifica se il server Web è attivo e funzionante e in attesa di connessioni di rete sulla porta 80 eseguendo il comando seguente con privilegi di root.

netstat –tlpn

Nel caso in cui l'utilità di rete netstat non sia installata per impostazione predefinita nel sistema Debian, eseguire il comando seguente per installarla.

apt install net-tools

Esaminando l'output del comando netstat puoi vedere che il server web Apache sta ascoltando le connessioni di rete in entrata sulla porta 80. Per lo stesso compito puoi anche usare il comando ss, che è installato automaticamente per impostazione predefinita in Debian 9.

ss- tulpn

Nel caso in cui tu abbia un firewall abilitato nel tuo sistema, come l'applicazione firewall UFW, dovresti aggiungere una nuova regola per consentire al traffico HTTP di passare attraverso il firewall emettendo il seguente comando.

ufw allow WWW

o

ufw allow 80/tcp

Se stai utilizzando le regole grezze di iptables per gestire le regole del firewall nel tuo server Debian, aggiungi la seguente regola per consentire il traffico in entrata sulla porta 80 sul firewall in modo che i visitatori possano navigare nel negozio online.

apt-get install -y iptables-persistent
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

Quindi, abilita e applica i seguenti moduli Apache richiesti dall'applicazione di e-commerce per funzionare correttamente, eseguendo il comando seguente.

a2enmod rewrite
systemctl restart apache2

Infine, verifica se la pagina Web predefinita del server Web Apache può essere visualizzata nei browser del tuo client visitando l'indirizzo IP della tua macchina Debian o il tuo nome di dominio o FQDN del server tramite il protocollo HTTP, come mostrato nell'immagine seguente. Se non conosci l'indirizzo IP della tua macchina, esegui i comandi ifconfig o ip a per rivelare l'indirizzo IP del tuo server.

http://tuo_dominio.tld 

Per installare e accedere al backend del pannello di amministrazione web di X-Cart e al sito web frontend tramite il protocollo HTTPS che proteggerà il traffico per i tuoi client, immetti il ​​seguente comando per abilitare il modulo SSL del server web Apache e il file di configurazione del sito SSL.

a2enmod ssl
a2ensite default-ssl.conf

Quindi, apri il file di configurazione del sito SSL predefinito di Apache con un editor di testo e abilita le regole di riscrittura degli URL aggiungendo le seguenti righe di codice dopo la direttiva DocumentRoot, come mostrato nell'esempio seguente:

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

Estratto del file di configurazione del sito SSL:

<Directory /var/www/html>
  Options +FollowSymlinks
  AllowOverride All
  Require all granted
</Directory>

Inoltre, apporta la seguente modifica alla linea VirtualHost per apparire come mostrata nell'estratto seguente:

<VirtualHost *:443>

Chiudere il file Apache SSL e aprire il file /etc/apache2/sites-enabled/000-default.conf per la modifica e aggiungere le stesse regole di riscrittura URL del file di configurazione SSL. Inserisci le righe di codice dopo l'istruzione DocumentRoot come mostrato nell'esempio seguente.

<Directory /var/www/html>
  Options +FollowSymlinks
  AllowOverride All
  Require all granted
</Directory>

Infine, riavvia il demone Apache per applicare tutte le regole configurate finora e visita il tuo dominio tramite protocollo HTTP. Poiché stai utilizzando le coppie di certificati autofirmati automaticamente emesse da Apache al momento dell'installazione, nel browser dovrebbe essere visualizzato un avviso di errore.

systemctl restart apache2

https://tuodominio.tld  

Accettare l'avviso per continuare ed essere reindirizzati alla pagina Web predefinita di Apache, come illustrato nell'immagine sottostante.

Nel caso in cui l'applicazione firewall UFW blocchi le connessioni di rete in entrata alla porta HTTPS, dovresti aggiungere una nuova regola per consentire al traffico HTTPS di passare attraverso il firewall eseguendo il comando seguente.

ufw allow 'WWW Full'

o

ufw allow 443/tcp

Se iptables è l'applicazione firewall predefinita installata per proteggere il tuo sistema Debian a livello di rete, aggiungi la seguente regola per consentire il traffico in entrata sulla porta 443 nel firewall in modo che i visitatori possano esplorare il tuo nome di dominio.

iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

Nel passaggio successivo, è necessario apportare ulteriori modifiche al file di configurazione predefinito di PHP per garantire che le seguenti variabili PHP siano abilitate e che l'impostazione del fuso orario PHP sia configurata correttamente e corrisponda alla posizione geografica del sistema. Aprire il file /etc/php/7.0/apache2/php.ini per la modifica e assicurarsi che le seguenti righe siano impostate come segue. Inoltre, inizialmente, fai un backup del file di configurazione PHP.

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

  Cerca, modifica e cambia le seguenti variabili in php.ini file di configurazione:

file_uploads = On
allow_url_fopen = On
memory_limit = 128 M
upload_max_file_size = 64M
date.timezone = Europe/London

Aumenta la variabile memory_limit in quanto adatta a supportare file allegati di grandi dimensioni e sostituisci la variabile time.zone in base al tuo tempo fisico consultando l'elenco dei fusi orari fornito dai documenti PHP al seguente link http://php.net/manual/en/timezones .php.

Se desideri aumentare la velocità di caricamento delle pagine del tuo sito Web tramite il plug-in OPCache disponibile per PHP7, aggiungi le seguenti impostazioni OPCache nella parte inferiore del file di configurazione dell'interprete PHP, come dettagliato di seguito:

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

Chiudi il file di configurazione php.ini e verifica la fine del file di configurazione PHP per verificare se le variabili sono state aggiunte correttamente eseguendo il comando seguente.

tail /etc/php/7.0/apache2/php.ini

Dopo aver apportato tutte le modifiche spiegate sopra, riavvia il demone apache per applicare le nuove modifiche eseguendo il comando seguente.

systemctl restart apache2

Infine, crea un file di informazioni PHP eseguendo il comando seguente e controlla se il fuso orario PHP è stato configurato correttamente visitando il file di script di informazioni PHP da un browser al seguente URL, come illustrato nell'immagine seguente. Scorri verso il basso fino all'impostazione della data per controllare la configurazione del fuso orario di php.

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

https://dominio.tld/info.php

L'applicazione web di e-commerce X-Cart memorizza diverse configurazioni, come utenti, sessioni, contatti, prodotti, cataloghi e altro, in un database RDBMS. In questa guida configureremo X-Cart per utilizzare il database MariaDB come backend. Emetti il ​​comando seguente per installare il database MariaDB e il modulo PHP necessario per accedere al database mysql.

apt install mariadb-server php7.0-mysql

Dopo aver installato MariaDB, verifica se il demone è in esecuzione ed è in attesa di connessioni su localhost, porta 3306, eseguendo il comando netstat.

netstat –tlpn | grep mysql

Quindi, accedi alla console MySQL e proteggi l'account root MariaDB emettendo i seguiti comandi.

mysql -h localhost
use mysql;
update user set plugin='' where user='root';
flush privileges;
exit

Nel passaggio successivo, proteggi MariaDB eseguendo lo script mysql_secure_installation fornito dai pacchetti di installazione dai repository stretch di Debian. Durante l'esecuzione lo script porrà una serie di domande progettate per proteggere il database MariaDB, come ad esempio:modificare la password di root di MySQL, rimuovere utenti anonimi, disabilitare gli accessi root remoti ed eliminare il database di test. Esegui lo script emettendo il comando seguente e assicurati di digitare yes a tutte le domande poste al fine di proteggere completamente il demone MySQL. Usa il seguente output di script tranne che come guida.

sudo mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB

      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

 

In order to log into MariaDB to secure it, we'll need the current

password for the root user.  If you've just installed MariaDB, and

you haven't set the root password yet, the password will be blank,

so you should just press enter here.

 

Enter current password for root (enter for none):

OK, successfully used password, moving on...

 

Setting the root password ensures that nobody can log into the MariaDB

root user without the proper authorisation.

 

You already have a root password set, so you can safely answer 'n'.

 

Change the root password? [Y/n] y

New password:

Re-enter new password:

Password updated successfully!

Reloading privilege tables..

 ... Success!

 

 

By default, a MariaDB installation has an anonymous user, allowing anyone

to log into MariaDB without having to have a user account created for

them.  This is intended only for testing, and to make the installation

go a bit smoother.  You should remove them before moving into a

production environment.

 

Remove anonymous users? [Y/n] y

 ... Success!

 

Normally, root should only be allowed to connect from 'localhost'.  This

ensures that someone cannot guess at the root password from the network.

 

Disallow root login remotely? [Y/n] y

 ... Success!

 

By default, MariaDB comes with a database named 'test' that anyone can

access.  This is also intended only for testing, and should be removed

before moving into a production environment.

 

Remove test database and access to it? [Y/n] y

 - Dropping test database...

 ... Success!

 - Removing privileges on test database...

 ... Success!

 

Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.

 

Reload privilege tables now? [Y/n] y

 ... Success!

 

Cleaning up...

 

All done!  If you've completed all of the above steps, your MariaDB

installation should now be secure.

 

Thanks for using MariaDB!

Per testare la sicurezza di MariaDB, prova ad accedere al database dalla console senza password di root. L'accesso al database deve essere negato se non viene fornita alcuna password per l'account root. Se viene fornita la password, il processo di accesso dovrebbe essere concesso alla console MySQL, come mostrato nella schermata seguente.

mysql -h localhost -u root
mysql -h localhost -u root –p

Successivamente, effettuato l'accesso alla console del database MariaDB, creare un database per l'applicazione X-Cart e un utente con una password che verrà utilizzata per gestire il database dell'applicazione, eseguendo i seguenti comandi. Sostituisci il nome del database, l'utente e la password di conseguenza.

mysql –u root -p
create database my_xcart;
grant all privileges on my_xcart.* to 'xcart_user' identified by 'x_password';
flush privileges;   
exit

Per applicare tutte le modifiche apportate finora, riavvia i demoni MySQL e Apache e verifica se i demoni sono in esecuzione eseguendo i seguenti comandi.

 systemctl restart mysql apache2
systemctl status mysql apache2

 Installa X-Cart 

Dopo aver soddisfatto tutti i requisiti di sistema per l'installazione del tuo negozio online di e-commerce, visita la pagina di download di X-Cart all'indirizzo https://www.x-cart.com/download.html da un computer desktop e scarica l'ultimo archivio compresso del pacchetto zip compilando il modulo web richiesto dal loro sito web.

Al termine del download dell'archivio, utilizzare un protocollo di trasferimento file, come scp, per copiare il file zip scaricato dal computer desktop al server Debian. Trasferisci il file zip nella directory del tuo server /tmp. Elenca la directory /tmp del server remoto tramite SSH per confermare se il trasferimento del caricamento del file zip è stato completato con successo.

scp x-cart-5.3.3.4-gb.zip [email protected]_server_IP_or_domain:/tmp
ssh  [email protected]_server_IP_or_domain 'ls /tmp'

Al termine del download dell'archivio zip, estrai l'archivio compresso zip X-Cart nella directory /tmp ed elenca i file estratti eseguendo i comandi seguenti. Inoltre, rimuovi il file index.html predefinito installato dal server web Apache nel percorso webroot ed elimina anche il file info.php creato in precedenza.

rm /var/www/html/index.html 
rm /var/www/html/info.php
cd /tmp
unzip x-cart-5.3.3.4-gb.zip
ls

I file di installazione per X-Cart si trovano nella directory di lavoro corrente (in questo caso la directory /tmp) nella directory xcart. Emettere il comando ls per elencare i file della directory xcart. Copia tutto il contenuto della directory xcart nel percorso radice del documento del tuo server web eseguendo il comando seguente. Inoltre, assicurati di copiare il file nascosto .htaccess nel percorso webroot.

cd /tmp
ls -al xcart/
cp -rf xcart/* /var/www/html/
cp xcart/.htaccess /var/www/html/

Quindi, esegui i seguenti comandi per concedere all'utente di runtime Apache le autorizzazioni di scrittura complete per il percorso root web. Utilizzare il comando ls per elencare le autorizzazioni per i file installati dell'applicazione che si trovano nella directory /var/www/html/.

chown -R www-data:www-data /var/www/html/
ls –al /var/www/html/

Quindi, procedi con il processo di installazione del negozio online X-Cart aprendo un browser e naviga nell'indirizzo IP del tuo server o nel nome di dominio o nell'FQDN del server tramite il protocollo HTTPS. Nella prima schermata di installazione, il programma di installazione di X-Cart visualizzerà un messaggio che informa che X-cart non è installato, come mostrato nell'immagine sottostante. Fare clic su Fai clic qui link per avviare il processo di installazione.

https://tuodominio.tld

Nella schermata di installazione successiva di X-Cart, la procedura guidata ti presenterà il contratto di licenza, come mostrato nell'immagine sottostante. Seleziona Accetto il Contratto di licenza e l'Informativa sulla privacy e premi il pulsante Avanti per accettare la licenza e continuare il processo di installazione.

Quindi, crea un account amministratore per il back-end del tuo negozio online, in base al tuo indirizzo e-mail, e scegli una password per questo account, come mostrato nello screenshot qui sotto. Premi il Avanti pulsante per continuare il processo di installazione.

Nella schermata di installazione successiva, aggiungi l'indirizzo, il nome e le credenziali del database MySQL creati in precedenza per il database X-Cart. Seleziona Installa un catalogo di esempio e premi su Impostazioni MySQL avanzate e Impostazioni server avanzate

Nelle impostazioni avanzate di MySQL, lascia il valore della porta come predefinito su 3306 e il prefisso su xc_. Scorri verso il basso fino a Impostazioni server avanzate e aggiungi il nome host del tuo server, o il tuo nome di dominio, in Nome server Web e Nome server Web sicuro. Seleziona il fuso orario predefinito del tuo negozio e premi il pulsante Avanti per completare questa fase di installazione, come illustrato nell'immagine qui sotto.

Attendi alcuni minuti affinché il programma di installazione imposti le directory e popoli lo schema del database con tutte le informazioni richieste e il completamento dell'intero processo di installazione, come mostrato nella schermata seguente.

Al termine dell'installazione, il programma di installazione visualizzerà due collegamenti che possono essere utilizzati per accedere al pannello di amministrazione del backend di X-Cart, che verrà utilizzato per gestire il tuo negozio online, e al frontend del negozio online di X-cart (zona clienti) del tuo negozio, che verrà mostrato ai tuoi clienti.

Per visitare il frontend del tuo negozio online, fai clic sul collegamento Area clienti e il frontend della tua applicazione di e-commerce verrà visualizzato nel tuo browser come illustrato nello screenshot seguente. Puoi anche visitare il frontend del negozio navigando verso l'indirizzo IP del tuo server o il nome di dominio tramite il protocollo HTTPS.

https://tuodominio.tld

Prima di accedere al pannello di amministrazione del back-end del tuo negozio, torna alla console del server e impartisci i seguenti comandi per proteggere il file di configurazione del sistema di acquisto di X-cart.

chmod -R 755 /var/www/html/
chmod -R 755 /var/www/html/etc/
chmod -R 644 /var/www/html/config.php
chown -R root:root /var/www/html/etc/
chown root:root /var/www/html/config.php

Per gestire il tuo negozio online X-Cart, clicca sul link Area amministratore (Backoffice) per accedere al backend amministrativo del negozio. Utilizza le credenziali configurate durante il processo di installazione per accedere al pannello di backend di X-Cart, come mostrato nello screenshot qui sotto.

Puoi anche visitare il pannello web dell'amministratore di X-Cart navigando verso l'indirizzo IP del tuo server o il nome di dominio tramite il protocollo HTTPS all'URL /admin.php.

https://tuodominio.tld/admin.php

Dopo aver effettuato l'accesso al pannello di amministrazione del backend di X-Cart, sullo schermo verrà visualizzata una notifica che ti informerà che la versione di prova per le aziende scadrà tra 30 giorni. Inoltre, dovresti accedere al menu Aggiorna e installare tutti gli aggiornamenti rilasciati per l'edizione corrente di X-cart, come illustrato nello screenshot qui sotto.

Infine, per costringere i visitatori a navigare nel sito frontend di X-Cart e ad accedere in modo sicuro all'interfaccia di backend tramite protocollo HTTPS al fine di crittografare il traffico tra il server e i browser client, torna al terminale del tuo server e modifica il file .htaccess che si trova nel tuo sito web percorso, eseguendo il comando seguente.

nano /var/www/html/.htaccess

Quindi, modifica il file .htaccess e nella parte inferiore del file modifica le impostazioni PHP native con le configurazioni seguenti. Puoi modificare le impostazioni PHP in modo che corrispondano alle tue risorse del server.

.htaccess estratto del file:

# Modifica le impostazioni PHP

php_flag register_globals off
php_flag magic_quotes_gpc Off
php_value max_execution_time 200
php_value max_input_time 200
php_value upload_max_filesize 500M
php_value post_max_size 500M

Infine, aggiungi le regole seguenti per reindirizzare il traffico del dominio su HTTPS e proteggere le directory di installazione e di sistema dall'accesso tramite richieste web.

# Redirect to HTTPS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]
</IfModule>

È tutto! Hai installato e configurato con successo l'applicazione di e-commerce X-Cart in Debian 9.2. Tuttavia, poiché il server HTTP Apache utilizza certificati autofirmati per crittografare il traffico tra il server e i browser dei visitatori, verrà sempre generato un messaggio di avviso che verrà visualizzato nei loro browser. Questo avviso è dannoso per il tuo negozio online. In questo caso dovresti acquistare un certificato emesso da un'autorità di certificazione affidabile o ottenere una coppia di certificati gratuita da Let's Encrypt CA.

Per altre configurazioni personalizzate relative all'applicazione X-Cart, visitare la pagina della documentazione al seguente indirizzo:https://kb.x-cart.com/en/index.html


Debian
  1. Come installare Redis Server su Debian 11

  2. Come installare MySQL 8.0 / 5.7 su Debian 11 / Debian 10

  3. Come installare Java 17 in Debian 11

  4. Come installare ProFTPD su Debian 8

  5. Come installare MySQL Server su Debian 9

Come installare Todoman sul server Debian 11

Come installare VirtualBox su Debian 10

Come installare OpenOffice su Debian 10

Come installare FastPanel su Debian 11

Come installare I2P su Debian Server:

Come installare VNC su Debian 10