In questo tutorial spiegheremo come installare Publify su un VPS Ubuntu 14.04 con MariaDB, Puma e Nginx. Publify è un software di pubblicazione Web open source semplice ma completo. Publify è basato sul framework Ruby on Rails ed è il più antico progetto open source di Rails in vita. Questa guida dovrebbe funzionare anche su altri sistemi Linux VPS, ma è stata testata e scritta per Ubuntu 14.04 VPS.
Accedi al tuo VPS tramite SSH
ssh user@vps
Aggiorna il sistema e installa i pacchetti necessari
[user]# sudo apt-get update && sudo apt-get -y upgrade [user]# sudo apt-get install software-properties-common imagemagick build-essential git openssl nano
Installa MariaDB 10.1
[user]# sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db [user]# sudo add-apt-repository 'deb [arch=amd64,i386] http://mirrors.accretive-networks.net/mariadb/repo/10.1/ubuntu trusty main' [user]# sudo apt-get update [user]# sudo apt-get install mariadb-server libmariadbclient-dev
Al termine dell'installazione, eseguire il comando seguente per proteggere l'installazione:
[user]# sudo mysql_secure_installation
Successivamente, dobbiamo creare un database per la nostra installazione Publify:
[user]# mysql -uroot -p MariaDB [(none)]> CREATE DATABASE publify CHARACTER SET utf8; MariaDB [(none)]> GRANT ALL PRIVILEGES ON publify.* TO 'publify'@'localhost' IDENTIFIED BY 'publify_passwd'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> \q
Pubblica utente
Crea un nuovo utente di sistema per Publify.
[user]# sudo adduser --home /opt/publify --shell /bin/bash --gecos 'Publify publishing software' publify [user]# sudo install -d -m 755 -o publify -g publify /opt/publify [user]# sudo usermod -a -G sudo publify [user]# sudo su - publify
Installa Ruby usando RVM
I seguenti comandi vengono eseguiti come pubblica utente.
[publify]# cd [publify]# curl -sSL https://rvm.io/mpapis.asc | gpg --import - [publify]# curl -sSL https://get.rvm.io | bash -s stable --ruby [publify]# rvm install ruby-2.1.5
Per iniziare a utilizzare RVM, eseguire il comando seguente:
[publify]# source ~/.rvm/scripts/rvm
Per verificare che tutto sia fatto correttamente, usa il comando ruby --version
.
L'output dovrebbe essere simile al seguente:
[publify]# ruby --version ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-linux]
Installa Pubblica
Clona l'ultima versione di Publify da github usando il seguente comando:
[publify]# cd && git clone https://github.com/publify/publify.git
[publify]# git checkout v8.2.0
Copia database.yml.mysql come database.yml
[publify]# cp ~/publify/config/database.yml.mysql ~/publify/config/database.yml
Apri il database.yml
file e aggiorna nome utente/password
[publify]# vim ~/publify/config/database.yml
production: login: &login adapter: mysql2 host: localhost username: publify password: publify_passwd
Crea un nuovo file di configurazione Puma.
[publify]# nano ~/publify/config/puma.rb
#!/usr/bin/env puma application_path = '/opt/publify/publify' directory application_path environment 'production' daemonize true pidfile "#{application_path}/tmp/pids/puma.pid" state_path "#{application_path}/tmp/pids/puma.state" stdout_redirect "#{application_path}/log/puma.stdout.log", "#{application_path}/log/puma.stderr.log" bind "unix://#{application_path}/tmp/sockets/publify.sock"
[publify]# mkdir -p ~/publify/tmp/{pids,log,sockets}
Installa gemme
[publify]# cd ~/publify [publify]# echo "gem 'puma'" >> Gemfile [publify]# echo "gem: --no-ri --no-rdoc" >> ~/.gemrc [publify]# RAILS_ENV=production bundle install --without development test postgresql sqlite
Preparare il database e compilare gli asset
[publify]# RAILS_ENV=production rake db:setup [publify]# RAILS_ENV=production rake db:migrate [publify]# RAILS_ENV=production rake db:seed [publify]# RAILS_ENV=production rake assets:precompile
Crea uno script Upstart
[publify]# sudo nano /etc/init/publify.conf
description "Puma Publify Service" start on filesystem or runlevel [2345] stop on runlevel [!2345] setuid publify setgid publify respawn respawn limit 3 30 script exec /bin/bash << EOT source /opt/publify/.rvm/scripts/rvm cd /opt/publify/publify exec puma -C config/puma.rb EOT end script
Ora puoi avviare il tuo servizio Publify con :
[publify]# sudo service publify start
Installa e configura Nginx
L'ultima versione di Nginx 1.8 non è disponibile tramite i repository Ubuntu predefiniti, quindi aggiungeremo il PPA "nginx/stable", aggiorneremo il sistema e installeremo il pacchetto nginx.
[user]$ sudo add-apt-repository ppa:nginx/stable [user]$ sudo apt-get update [user]$ sudo apt-get install nginx
Crea un nuovo blocco server Nginx con il seguente contenuto
[publify]# sudo nano /etc/nginx/sites-available/publify.domain.com
upstream publify { server unix:/opt/publify/publify/tmp/sockets/publify.sock; } server { server_name publify.domain.com; root /opt/publify/publify; location / { try_files $uri @ruby; } location @ruby { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_read_timeout 300; proxy_pass http://publify; } }
Attiva il blocco del server creando un collegamento simbolico e riavvia Nginx:
[user]# sudo ln -s /etc/nginx/sites-available/publify.domain.com /etc/nginx/sites-enabled/publify.domain.com [user]# sudo service nginx restart
Questo è tutto. Hai installato correttamente Publify sul tuo VPS Ubuntu. Per ulteriori informazioni su Publify, fare riferimento al sito Web Publify.
Ovviamente non devi fare nulla di tutto ciò se utilizzi uno dei nostri servizi di hosting VPS Linux, nel qual caso puoi semplicemente chiedere ai nostri esperti amministratori Linux di configurarlo per te. Sono disponibili 24 ore su 24, 7 giorni su 7 e si prenderanno immediatamente cura della tua richiesta.
PS . Se questo post ti è piaciuto condividilo con i tuoi amici sui social network utilizzando i pulsanti a sinistra o semplicemente lascia una risposta qui sotto. Grazie.