GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare OpenCart 2 con Nginx e SSL su Ubuntu 15.10

OpenCart è un software di e-commerce open source gratuito basato su PHP e MySQL. OpenCart ti consente di configurare e gestire il tuo negozio online a un costo minimo. Il software è adatto a piccole e medie imprese online, è facile da installare e sono disponibili molti componenti aggiuntivi ed estensioni. OpenCart viene fornito con traduzioni per numerose lingue e supporta più valute.

Questo tutorial copre l'installazione di OpenCart con Nginx, PHP-fpm e MariaDB su Ubuntu 15.10.

Prerequisito

  • Ubuntu 15.10 - 64 bit
  • privilegi radice

Passaggio 1:installa Nginx

Useremo nginx come server web, è un server web leggero che è veloce e ha un piccolo ingombro di memoria. Installa nginx con il comando apt dai repository di Ubuntu:

sudo apt-get install nginx

Ora controlla Nginx con curl o visitando l'IP del tuo server con il browser come Firefox ecc.

curl -I 192.168.1.101

Dovresti vedere la pagina predefinita di Ubuntu.

Fase 2 - Installa e configura PHP-FPM

In questo passaggio, installerò come versione php-fpm, php-fpm (FastCGI Process Manager) è una moderna alternativa alla classica modalità PHP FastCGI. Installeremo php-fpm con alcuni moduli php richiesti da OpenCart.

  • php-mysql
  • php-gd
  • php-curl
  • php-mcrypt

Installa PHP-FPM e l'estensione PHP con il comando apt singolo di seguito:

sudo apt-get install php5 php5-fpm php5-mysql php5-curl php5-gd php5-mcrypt

Quando i pacchetti sono installati, vai alla directory di configurazione php-fpm e modifica 'php.ini ' file con vim.

cd /etc/php5/fpm
vim php.ini

Decommenta la riga 773 e cambia il valore in '0' :

cgi.fix_pathinfo=0

Salva il file ed esci.

Ora dobbiamo abilitare il modulo mcrypt, che è richiesto da OpenCart. Vai alla directory php-fpm conf.d e crea un collegamento simbolico per il file .ini.

cd /etc/php5/fpm/conf.d/
ln -s ../../mods-available/mcrypt.ini mcrypt.ini

Il modulo mcrypt è abilitato, ora riavvia php-fpm e nginx per applicare le modifiche:

systemctl restart nginx
systemctl restart php5-fpm

Ora dovremmo verificare che php-fpm e Nginx funzionino correttamente. Modifica la configurazione predefinita di nginx virtualhost per abilitare la posizione php e creare un file phpinfo nella directory principale web.

cd /etc/nginx/sites-available/
vim default

Decommenta la direttiva php-fpm:

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
        #
        #       # With php5-cgi alone:
        #       fastcgi_pass 127.0.0.1:9000;
        #       # With php5-fpm:
                fastcgi_pass unix:/var/run/php5-fpm.sock;
        }
 

Salva il file ed esci.

Vai alla directory '/var/www/html/' e aggiungi un file phpinfo.

cd /var/www/html/
echo "<?php phpinfo(); ?>" > info.php

Visita l'IP del server (nel mio caso IP 192.168.1.103):http://

http:// 192.168.1.103/info.php.

Nginx e PHP-FPM sono configurati correttamente.

Fase 3 - Installa e configura MariaDB

MariaDB è un fork del server di database MySQL. Preferisco MariaDB su MySQL, ma dipende da te quale server di database utilizzare in questo passaggio. Installa MariaDB con il comando apt:

sudo apt-get install mariadb-server mariadb-client

Quindi configura la password di root MariaDB / MySQL con 'mysql_secure_installation ' comando:

mysql_secure_installation
Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

L'utente root e la password di MariaDB sono stati impostati. Ora dobbiamo creare un nuovo database e un nuovo utente per la nostra installazione di OpenCart. Accedi alla shell mysql/mariadb per crearla tutta.

Accedi alla shell MySQL/MariaDB per creare il database e l'utente.

mysql -u root -p
TYPE YOUR PASSWORD

create database opencartdb;
create user [email protected] identified by '[email protected]';
grant all privileges on opencartdb.* to [email protected] identified by '[email protected]';
flush privileges;

Viene creato il database MySQL, abbiamo un nuovo database chiamato 'opencartdb' e un utente con nome 'opencartuser' e password '[email protected]'. Abbiamo bisogno di conoscere questi dettagli per l'installazione di OpenCart in seguito. Utilizza una password più sicura per l'installazione.

Fase 4:installa SSL

Assicurati che OpenSSL sia installato sul tuo server.

sudo apt-get install openssl

Crea una nuova directory per il certificato SSL e genera il certificato con OpenSSL.

mkdir -p /etc/nginx/ssl
cd /etc/nginx/ssl

Genera il certificato e il file della chiave:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/opencart.key -out /etc/nginx/ssl/opencart.crt

Modifica l'autorizzazione della chiave privata su 600:

chmod 600 opencart.key

L'installazione del certificato SSL è completata.

Passaggio 5:configura VirtualHost per OpenCart

Crea un nuovo file di configurazione dell'host virtuale per OpenCart nella directory 'siti-disponibili' di Nginx. Vai alla directory Nginx virtualhost e crea una nuova configurazione con vim:

cd /etc/nginx/sites-available/
vim opencart

Incolla la configurazione di seguito:

server {
    server_name www.myopencart.co; ## Your Domain
    root /var/www/opencart/upload; ## Web Root Directory
    index index.php index.html;

    listen 80;
    listen [::]:80;
    listen 443 default ssl;

    ssl_certificate      /etc/nginx/ssl/opencart.crt;
    ssl_certificate_key  /etc/nginx/ssl/opencart.key;

    # Redirect HTTP to HTTPS
    if ($scheme = http) {
        return 301 https://$server_name$request_uri;
    }

    access_log /var/log/nginx/myopencart_access.log;               

    location /image/data {
        autoindex on;
    }
    location /admin {
        index index.php;
    }
    location / {
        try_files $uri @opencart;
    }
    location @opencart {
        rewrite ^/(.+)$ /index.php?_route_=$1 last;
    }
    
    # Make sure files with the following extensions do not get loaded by nginx because nginx would display the source code, and these files can contain PASSWORDS!
    location ~* \.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$|\.php_ {
        deny all;
    }
    # Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).
    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }
    location ~*  \.(jpg|jpeg|png|gif|css|js|ico)$ {
        expires max;
        log_not_found off;
    }
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Sostituisci il nome di dominio nella riga server_name con il tuo nome di dominio.

Salva il file ed esci.

Attiva il nuovo host virtuale con un collegamento simbolico al file 'opencart' nella directory 'sites-enabled' e verifica la sintassi di configurazione di Nginx con il comando "nginx -t".

ln -s /etc/nginx/sites-available/opencart /etc/nginx/sites-enabled/
nginx -t

Fase 6 - Installa e configura OpenCart

Usiamo la directory '/var/www/' per l'installazione di OpenCart. Vai alla directory '/var/www/', scarica OpenCart ed estrai l'archivio .zip scaricato.

Puoi scaricare opencart da qui:http://www.opencart.com/?route=download/download.

cd /var/www/
unzip opencart-2.1.0.1.zip

Rinomina la directory in opencart, quindi vai alla directory di caricamento.

mv opencart-opencart-2.1.0.1/ opencart/
cd opencart/upload/

Copia i file config-dist nella directory upload e admin:

cp config-dist.php config.php
cp admin/config-dist.php admin/config.php

E torna alla directory '/var/www/', cambia il proprietario dei file e delle directory OpenCart nell'utente 'www-data '.

cd /var/www/
chown -R www-data:www-data opencart/

Nota :Eseguiamo nginx come utente e gruppo www-data. Se esegui nginx come tuo utente o utente Nginx, cambia il proprietario con il tuo nome e gruppo.

Riavvia nginx e php-fpm per assicurarti di non avere errori sulla configurazione che abbiamo impostato:

systemctl restart nginx
systemctl restart php5-fpm

Ora apri il tuo browser web e inserisci il tuo dominio opencart nella barra degli indirizzi, il mio nome di dominio in questo esempio è:  www.myopencart.co .

Il programma di installazione ti mostrerà il "Contratto di licenza " leggilo e fai clic su "Continua ".

Il programma di installazione ora controlla la configurazione del tuo server, assicurati che tutti i campi di stato siano "Verdi " e quindi fare clic su "Continua ".

Il programma di installazione mostrerà il database e la configurazione dell'account amministratore. Inserisci i dettagli del database del database che abbiamo creato in precedenza e scegli un nome utente e una password amministratore, quindi fai clic su "Continua ".

L'installazione di OpenCart è terminata, puoi visitare il dominio del tuo negozio web (nel mio caso www.myopencart.co) e accedere al backend di OpenCart.

Non dimenticare di eliminare la directory di installazione sul server .

cd /var/www/opencart/upload/
rm -rf install/

Opencart con Nginx e php-fpm è installato e funzionante

Conclusione

Opencart è un'applicazione basata sul Web scritta in PHP per creare negozi online. È adatto per negozi online di piccole e medie dimensioni. Opencart può essere installato con server Web Apache o Nginx (con php-fpm), questo tutorial ha trattato l'installazione di OpenCart con database nginx, php-fpm e MariaDB (un fork di MySQL). Il processo di installazione è semplice, devi solo assicurarti che il tuo server sia pronto per OpenCart come abbiamo fatto nel primo capitolo di questo tutorial.


Ubuntu
  1. Come installare Nextcloud con Nginx e Lets Encrypt SSL su Ubuntu 20.04 LTS

  2. Come installare Magento 2 con Nginx e Lets Encrypt SSL su Ubuntu 20.04 LTS

  3. Come installare Mattermost con PostgreSQL e Nginx su Ubuntu 16.04

  4. Come installare Nginx con PHP5 e MySQL su Ubuntu 11.10

  5. Installa OpenCart 2 su un VPS Ubuntu 14.04 con Nginx e PHP-FPM

Come installare Piwik con Nginx su Ubuntu 15.10

Come installare Drupal 8.1 con Nginx, PHP-FPM e SSL su Ubuntu 16.04

Come installare Redmine 3.2 con Nginx su Ubuntu 16.04

Come installare Django con PostgreSQL e Nginx su Ubuntu 16.04

Come installare Lighttpd con PHP-FPM 7 e MySQL 5.7 su Ubuntu 18.04 LTS

Come installare Moodle con Nginx e Lets Encrypt SSL su Ubuntu 20.04