Come installare la piattaforma del carrello LiteCart su Ubuntu 16.04
LiteCart è una piattaforma di carrello degli acquisti gratuita e open source scritta in PHP, jQuery e HTML 5. È un software di e-commerce semplice, leggero e facile da usare
Ruby on Rails è un popolare framework Web per Ruby sviluppato per aumentare la produttività di un programmatore. Tuttavia, ottenere varie gemme e dipendenze per lavorare insieme può diventare complicato a volte. Questa guida ti aiuterà a creare un ambiente Rails completo pronto per la produzione, inclusi gemme e dipendenze comunemente utilizzate.
Nota : si consiglia vivamente di non installare nessuno di questi servizi come root, poiché è possibile esporsi a un attacco. L'impostazione di un utente deploy
o app
è una convenzione comune:
sudo adduser deploy
sudo adduser deploy sudo
su deploy
Assicurati di eseguire tutti gli ultimi pacchetti sulla tua macchina virtuale Ubuntu:
sudo apt-get update && sudo apt-get upgrade -y
Per poter compilare Ruby usando rbenv e altre gemme, è necessario installare vari pacchetti. A seconda della versione di Ruby di cui avrai bisogno, alcuni pacchetti potrebbero non essere necessari.
sudo apt-get install -y curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev
sudo apt-get install -y libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev
sudo apt-get install -y python-software-properties libffi-dev
sudo apt-get install -y build-essential openssl libreadline6 libreadline6-dev libreadline-dev
sudo apt-get install -y automake libtool bison pkg-config bison autoconf libc6-dev ncurses-dev
sudo apt-get install -y libapr1-dev libaprutil1-dev libx11-dev libffi-dev tcl-dev tk-dev
Questi sono necessari per compilare diverse gemme, come Passeggero:
sudo apt-get install -y zlib1g zlib1g-dev libssl-dev libyaml-dev libcurl4-openssl-dev libruby
La community di Ruby utilizza Git come SCM preferito; ma possono essere installati anche altri, come Mercurial o Subversion:
sudo apt-get install -y git git-core
sudo apt-get install -y libmysqld-dev mysql-client libmysqlclient-dev
Richiesto per diverse gemme popolari che richiedono librerie XML native:
sudo apt-get install -y libxml2-dev libxslt-dev
Aggiungi repository ufficiali da Node con l'ultima versione poiché i repository Ubuntu predefiniti tendono a rimanere indietro rispetto ad alcune versioni principali:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
Questi pacchetti non sono necessari per il funzionamento del sistema, ma sono utili se è necessario utilizzare determinate gemme.
Queste librerie non sono necessarie e possono essere ignorate se non si prevede di utilizzare gemme di manipolazione delle immagini; come Rmagick:
sudo apt-get install -y imagemagick libmagickwand-dev libvips-dev
Installa i driver per SQLite o PostgreSQL se devi connetterti ad altri database o preferisci un DB locale semplice:
sudo apt-get install -y libsqlite3-dev sqlite3 libpq-dev postgresql postgresql-contrib
Utilità che normalmente non vengono preinstallate su una nuova installazione di Ubuntu. Sentiti libero di installare il tuo editor di testo preferito:
sudo apt-get install -y iotop htop nano vim
MariaDB è un potente server SQL relazionale, completamente compatibile con MySQL. Il modo più semplice per installare l'ultima versione di MariaDB è usare i repository ufficiali:
sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386] http://ftp.utexas.edu/mariadb/repo/10.2/ubuntu zesty main'
sudo apt update
sudo apt install -y mariadb-server
Segui le istruzioni e imposta una password di root. Successivamente, verifica di poter accedere alla nuova installazione:
mysql -V
Verrà visualizzata una riga simile a questa:
mysql Ver 15.1 Distrib 10.2.8-MariaDB, for debian-linux-gnu (x86_64) using readline 5
Accedi alla shell MySQL:
mysql -h localhost -u root -p
Nota : usare \q
per uscire.
Installa Rbenv usando git. Questo è il metodo di installazione più semplice e consente facili aggiornamenti in seguito. Installa anche ruby-build
, è responsabile per la compilazione di diverse versioni di Ruby:
cd
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
Nota : quando è necessario aggiornare semplicemente cd ~/.rbenv
e git pull
.
Rendi Rbenv e Ruby-build disponibili nella shell. Per assicurarsi che le righe di esportazione vengano inserite all'inizio del .bashrc
file, che è importante per i comandi bash non interattivi, utilizzare queste righe:
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.temp_bashrc
echo 'eval "$(rbenv init -)"' >> ~/.temp_bashrc
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.temp_bashrc
cat ~/.temp_bashrc ~/.bashrc > ~/.combined_bashrc && mv ~/.combined_bashrc ~/.bashrc && rm ~/.temp_bashrc
exec $SHELL
Controlla se Rbenv e Ruby-build sono installati e sono disponibili nella shell:
rbenv install --list
Se rbenv
non viene riconosciuto, disconnettersi e riconnettersi alla shell.
Crea un ~/.bash_profile
file e puntalo per provarlo ~/.bashrc
. Se devi eseguire comandi shell non interattivi dalla tua app Rails, come i lavori cron impostati dalla whenever
gemma, utilizzerà la stessa versione di Ruby della tua shell interattiva. Questo può aiutare a prevenire strani errori. Aggiungi questa riga al ~/.bash_profile
file:
if [ -f $HOME/.bashrc ]; then
source $HOME/.bashrc
fi
Installa Ruby 2.4.1:
rbenv install 2.4.1
Nota : questo processo può richiedere 5-15 minuti a seconda delle risorse sulla VM e non è presente alcuna barra di avanzamento.
Rendi Rbenv disponibile ovunque.
rbenv global 2.4.1
Aggiungi la chiave PGP e il supporto HTTPS per apt:
sudo apt-get install -y dirmngr gnupg
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7
sudo apt-get install -y apt-transport-https ca-certificates
Aggiungi il repository Passeggeri:
sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger zesty main > /etc/apt/sources.list.d/passenger.list'
sudo apt-get update
Installa i moduli Passenger + Nginx:
sudo apt-get install -y nginx
sudo apt-get install -y libnginx-mod-http-passenger
Visita la tua istanza Vultr usando il suo nome di dominio o IP per testarli a questo punto. Se funzionano, la tua pagina mostrerà la pagina di benvenuto predefinita di Nginx.
Installa Bundler e Rails:
gem install bundler rails --no-ri --no-rdoc
La convenzione Ubuntu / Debian prevede l'installazione dell'app /var/www
. Di default è scrivibile solo da root. Affinché l'installazione funzioni, assegna la proprietà all'utente sudo deploy
:
sudo chown deploy:deploy /var/www -R
Genera l'app rails in /var/www/
. Se hai già un'app che desideri distribuire, git clone
questa qui ed esegui bundle
:
cd /var/www
rails new example --database=mysql
Prep Nginx.
sudo nano /etc/nginx/nginx.conf
Cambia utente in deploy
.
user deploy;
Nella http
sezione della configurazione, dovrebbe esserci una linea che dice a Nginx di caricare i moduli incluso il passeggero. Se manca, puoi aggiungerlo subito dopo il Virtual Host Configs
titolo, ma prima sites-enabled
.
include /etc/nginx/conf.d/*.conf;
Modifica / crea il passenger.conf
file.
sudo nano /etc/nginx/conf.d/mod-http-passenger.conf
Di 'al Passeggero di usare la nostra configurazione Rbenv. Può contenere una riga che punta alla versione di Ruby inclusa in Passenger, basta eliminarla o commentarla.
passenger_ruby /home/deploy/.rbenv/shims/ruby;
passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;
Configura l'host virtuale per puntare all'app /var/www/example/
.
sudo nano /etc/nginx/sites-enabled/example.conf
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example/public;
passenger_enabled on;
# When you are ready to switch to production mode - change this to `production`
passenger_app_env development; # <-- !important
}
Riavvia Nginx.
sudo service nginx restart
A questo punto l'applicazione è pronta per essere utilizzata in modalità di sviluppo. Per passare alla modalità di produzione è necessario tornare alla configurazione di Nginx e modificare l' rails_env
impostazione su production
.
Prima di passare alla modalità di produzione, è ancora necessario configurare il database di produzione example_production
, database.yml
e la chiave segreta. Scopri uno strumento come Capistrano o Mina per accelerare il processo di distribuzione delle applicazioni. È buona norma usare variabili ENV con una gemma simile dotenv
e non impegnare password, chiavi segrete e simili nel proprio repository git.
Esistono diversi servizi che offrono certificati SSL per il tuo dominio, molti sono a pagamento e un paio sono gratuiti. Configura SSL indipendentemente dal servizio che usi. Let's Encrypt è molto facile e gratuito da usare. Let's Encrypt è un'organizzazione no profit supportata da molti giganti della tecnologia.
Esegui i seguenti comandi e segui le istruzioni.
sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install python-certbot-nginx
sudo certbot --nginx
sudo certbot renew --dry-run
Se vai all'istanza di Vultr ora utilizzando HTTPS
, vedrai un sito Web sicuro.
Il certificato appena rilasciato scadrà e dovrà essere rinnovato periodicamente. Il modo più semplice per farlo è impostare un cron job.
sudo crontab -e
30 2 * * 1 /usr/bin/certbot renew
Come passaggio finale, ma facoltativo, riavviare la VM e assicurarsi che tutti i servizi si riavviino come previsto.
LiteCart è una piattaforma di carrello degli acquisti gratuita e open source scritta in PHP, jQuery e HTML 5. È un software di e-commerce semplice, leggero e facile da usare
NFS è un file system basato su rete che consente ai computer di accedere ai file attraverso una rete di computer. Questa guida spiega come esporre le cartelle su NF
Introduzione Durante questo tutorial imparerai come configurare un livello base di sicurezza su una nuovissima macchina virtuale Vultr VC2 che esegue Ubunt
McMyAdmin è un pannello di controllo del server Minecraft utilizzato per amministrare il tuo server. Sebbene McMyAdmin sia gratuito, ci sono più edizioni, alcune delle quali sono pai
TeamTalk è un sistema di conferenza che consente agli utenti di avere conversazioni audio / video di alta qualità, chat di testo, trasferire file e condividere schermate. Io
Usi un sistema diverso? Introduzione CyberPanel è uno dei primi pannelli di controllo sul mercato che è sia open source che utilizza OpenLiteSpeed. Che cosa
Introduzione Sensu è una soluzione di monitoraggio gratuita e open source che può essere utilizzata per monitorare server, applicazioni e vari servizi di sistema. Sensu i
PhpBB è un programma di bacheca open source. Questo articolo ti mostrerà come installare phpBB su un server web Apache su Ubuntu 16.04. Era scritto
Avere un solo utente, che è root, può essere pericoloso. Quindi risolviamolo. Vultr ci offre la libertà di fare ciò che vogliamo con i nostri utenti e i nostri server
Vultr offre diversi modi per accedere al tuo VPS per configurare, installare e utilizzare. Credenziali di accesso Le credenziali di accesso predefinite per il tuo VPS ar
Usi un sistema diverso? Fuel CMS è un sistema di gestione dei contenuti basato su CodeIgniter. Il suo codice sorgente è ospitato su GitHub. Questa guida ti mostrerà come t
Usi un sistema diverso? Couch CMS è un sistema di gestione dei contenuti (CMS) semplice e flessibile, gratuito e open source che consente ai web designer di progettare
Golang è un linguaggio di programmazione sviluppato da Google. Grazie alla sua versatilità, semplicità e affidabilità, Golang è diventato uno dei più popolari
Usi un sistema diverso? Apache OpenMeetings è unapplicazione per conferenze Web open source. È scritto in Java e supporta più server di database. io
IRC è popolare tra gli sviluppatori e gli utenti di software open source. Uno degli svantaggi di IRC è quando non sei in linea, potresti perdere Importan
Luso di un utente sudo per accedere a un server ed eseguire comandi a livello di root è una pratica molto comune tra Linux e Unix Systems Administrator. Luso di un sud
Usando un sistema diverso? RabbitMQ è un broker di messaggi open source ampiamente utilizzato scritto nel linguaggio di programmazione Erlang. Come middleware orientato ai messaggi
Usi un sistema diverso? TLS 1.3 è una versione del protocollo TLS (Transport Layer Security) che è stato pubblicato nel 2018 come standard proposto in RFC 8446
Questo articolo ti insegnerà come impostare una prigione chroot su Debian. Presumo che tu stia usando Debian 7.x. Se usi Debian 6 o 8, questo potrebbe funzionare, bu
Introduzione Un modo semplice per configurare un server VPN su Debian è con PiVPN. PiVPN è un programma di installazione e wrapper per OpenVPN. Crea semplici comandi per te t
Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane
ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.
Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+
Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.
Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più
13 strumenti commerciali per l'estrazione dei dati dai Big Data
Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true
Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.
Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1
L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.