Cum se instalează Anchor CMS pe un VPS Fedora 26 LAMP
Folosind un sistem diferit? Anchor CMS este un motor de blog de sistem de gestionare a conținutului (CMS) super-simplu și extrem de ușor, gratuit și deschis
Ruby on Rails este un cadru web popular pentru Ruby, care a fost dezvoltat pentru a crește productivitatea unui programator. Cu toate acestea, obținerea de diferite pietre și dependențe pentru a lucra împreună poate fi dificil uneori. Acest ghid vă va ajuta să configurați un mediu complet Rails gata pentru producție, inclusiv pietre și dependențe utilizate frecvent.
Notă : Este foarte recomandat să nu instalați niciunul dintre aceste servicii ca root, deoarece s-ar putea să vă expuneți unui atac. Configurarea unui deploy
sau a unui app
utilizator este o convenție comună:
sudo adduser deploy
sudo adduser deploy sudo
su deploy
Asigurați-vă că executați toate cele mai recente pachete de pe Ubuntu VM:
sudo apt-get update && sudo apt-get upgrade -y
Pentru a putea compila Ruby folosind rbenv și alte pietre pretioase, trebuie instalate diverse pachete. În funcție de versiunea de Ruby de care veți avea nevoie, este posibil ca unele dintre pachete să nu fie necesare.
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
Acestea sunt necesare pentru a compila mai multe pietre pretioase, cum ar fi Pasagerul:
sudo apt-get install -y zlib1g zlib1g-dev libssl-dev libyaml-dev libcurl4-openssl-dev libruby
Comunitatea Ruby utilizează Git ca SCM la alegere; dar pot fi instalate și altele, cum ar fi Mercurial sau Subversion:
sudo apt-get install -y git git-core
sudo apt-get install -y libmysqld-dev mysql-client libmysqlclient-dev
Obligatoriu pentru mai multe pietre populare care au nevoie de libs XML native:
sudo apt-get install -y libxml2-dev libxslt-dev
Adăugarea depozitelor oficiale de la Node cu cea mai recentă versiune, întrucât depozitele Ubuntu implicit tind să rămână în urmă câteva versiuni majore:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
Aceste pachete nu sunt necesare pentru ca sistemul să funcționeze, dar este bine să le ai dacă trebuie să folosești anumite pietre pretioase.
Aceste biblioteci nu sunt necesare și pot fi ignorate, cu excepția cazului în care intenționați să utilizați pietre de manipulare a imaginii; cum ar fi Rmagick:
sudo apt-get install -y imagemagick libmagickwand-dev libvips-dev
Instalați driverele pentru SQLite sau PostgreSQL dacă aveți nevoie să vă conectați la alte baze de date sau dacă preferați o DB locală simplă:
sudo apt-get install -y libsqlite3-dev sqlite3 libpq-dev postgresql postgresql-contrib
Utilități care în mod normal nu sunt preinstalate pe o nouă instalare Ubuntu. Nu ezitați să vă instalați editorul de text la alegere:
sudo apt-get install -y iotop htop nano vim
MariaDB este un server SQL relațional puternic, care este complet compatibil cu MySQL. Cel mai simplu mod de a instala cea mai recentă versiune a MariaDB este folosirea depozitelor oficiale:
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
Urmați instrucțiunile și configurați o parolă rădăcină. După, verificați dacă puteți accesa noua instalație:
mysql -V
Va afișa o linie similară cu aceasta:
mysql Ver 15.1 Distrib 10.2.8-MariaDB, for debian-linux-gnu (x86_64) using readline 5
Conectați-vă la shell-ul MySQL:
mysql -h localhost -u root -p
Notă : utilizați \q
pentru a ieși.
Instalați Rbenv folosind git. Aceasta este cea mai simplă metodă de instalare și permite actualizări ușoare ulterior. De asemenea ruby-build
, instalați , este responsabil de compilarea efectivă a diferitelor versiuni de Ruby:
cd
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
Notă : Când trebuie să actualizați pur cd ~/.rbenv
și simplu git pull
.
Faceți Rbenv și Ruby-build disponibile în coajă. Pentru a se asigura că liniile de export se introduce la începutul a .bashrc
fișierului, care este important pentru comenzi bash non-interactive, folosesc aceste linii:
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
Verificați dacă Rbenv și Ruby-build sunt instalate și sunt disponibile în shell:
rbenv install --list
Dacă rbenv
nu este recunoscut, deconectați-vă și conectați-vă la coajă
Creați un ~/.bash_profile
fișier și indicați-l către sursa ~/.bashrc
fișierului. Dacă aveți nevoie să rulați comenzi shell-uri non-interactive din aplicația dvs. Rails, cum ar fi configurarea lucrărilor cron de către whenever
bijuterie, va folosi aceeași versiune de Ruby ca și shell-ul dvs. interactiv. Acest lucru poate ajuta la prevenirea erorilor ciudate. Adăugați această linie la ~/.bash_profile
fișier:
if [ -f $HOME/.bashrc ]; then
source $HOME/.bashrc
fi
Instalați Ruby 2.4.1:
rbenv install 2.4.1
Notă : Acest proces poate dura 5-15 minute în funcție de resursele de pe VM-ul dvs. și nu există o bară de progres.
Faceți Rbenv disponibil peste tot.
rbenv global 2.4.1
Adăugați cheia PGP și suportul HTTPS pentru 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
Adăugați depozitul de pasageri:
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
Instalați modulele Pasager + Nginx:
sudo apt-get install -y nginx
sudo apt-get install -y libnginx-mod-http-passenger
Accesați instanța dvs. Vultr folosind numele de domeniu sau IP pentru a le testa în acest moment. Dacă funcționează, pagina dvs. va afișa pagina implicită de bun venit Nginx.
Instalați Bundler and Rails:
gem install bundler rails --no-ri --no-rdoc
Convenția Ubuntu / Debian este să configurați aplicația /var/www
. În mod implicit, acesta poate fi scris numai prin root. Pentru ca funcția de configurare să funcționeze, acordă utilizatorului sudo deploy
:
sudo chown deploy:deploy /var/www -R
Generați aplicația de șine în /var/www/
. Dacă aveți deja o aplicație pe care doriți să o implementați, git clone
executați-o aici și apoi rulați bundle
:
cd /var/www
rails new example --database=mysql
Prep Nginx.
sudo nano /etc/nginx/nginx.conf
Schimbați utilizatorul la deploy
.
user deploy;
În http
secțiunea de configurare, ar trebui să existe o linie care să comunice Nginx să încarce module inclusiv pasager. Dacă lipsește, îl puteți adăuga imediat după Virtual Host Configs
titlu, dar înainte sites-enabled
.
include /etc/nginx/conf.d/*.conf;
Editează / creează passenger.conf
fișierul.
sudo nano /etc/nginx/conf.d/mod-http-passenger.conf
Spuneți pasagerului să utilizeze configurația noastră Rbenv. Poate conține o linie îndreptată către versiunea Ruby inclusă cu Passenger, trebuie doar să o ștergeți sau să o comentați.
passenger_ruby /home/deploy/.rbenv/shims/ruby;
passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;
Configurați o gazdă virtuală pentru a indica aplicația din /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
}
Reporniți Nginx.
sudo service nginx restart
În acest moment, aplicația dvs. este gata de a fi utilizată în modul de dezvoltare. Pentru a comuta la modul de producție, trebuie să reveniți la configurația Nginx și să schimbați rails_env
setarea la production
.
Înainte de a trece la modul de producție, tot va trebui să setați baza de date de producție example_production
, database.yml
și cheia secretă. Consultați un instrument precum Capistrano sau Mina pentru a accelera procesul de implementare a aplicației dvs. Este o practică bună să utilizați variabile ENV cu o bijuterie de genul dotenv
, și să nu vă angajați parolele, cheile secrete și altele astfel în depozitul dvs. git.
Există mai multe servicii care oferă certificate SSL pentru domeniul dvs., multe sunt plătite și un cuplu sunt gratuite. Configurare SSL indiferent ce serviciu utilizați. Let's Encrypt este foarte ușor și gratuit. Let's Encrypt este o organizație non-profit susținută de mulți giganți tehnologici.
Rulați următoarele comenzi și urmați instrucțiunile.
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
Dacă accesați acum instanța dvs. Vultr folosind HTTPS
, veți vedea un site web sigur.
Certificatul dvs. nou emis va expira și va trebui reînnoit periodic. Cel mai simplu mod de a face acest lucru este să configurați o lucrare cron.
sudo crontab -e
30 2 * * 1 /usr/bin/certbot renew
Ca o etapă finală, dar opțională, reporniți VM-ul și asigurați-vă că toate serviciile repornesc așa cum vă așteptați.
Folosind un sistem diferit? Anchor CMS este un motor de blog de sistem de gestionare a conținutului (CMS) super-simplu și extrem de ușor, gratuit și deschis
NFS este un sistem de fișiere bazat pe rețea care permite computerelor să acceseze fișiere într-o rețea de calculatoare. Acest ghid explică modul în care puteți expune folderele peste NF
TeamTalk este un sistem de conferințe care permite utilizatorilor să aibă conversații audio / video de înaltă calitate, chat de text, transfer de fișiere și partajare ecrane. Este
Vultr oferă o caracteristică care vă permite să preinstalați cheile SSH la crearea unei noi instanțe. Acest lucru vă permite să accesați utilizatorul root al serverelor, totuși
Ranger este un manager de fișiere bazat pe linia de comandă cu legături de cheie VI. Oferă o interfață de blestem minimalistă și frumoasă, cu o vedere asupra ierarhiei de directoare
Folosind un sistem diferit? Redmine este un instrument gratuit și deschis de gestionare a proiectelor bazat pe web. Este scris în Ruby on Rails și acceptă mai multe baze de date
Introducere RethinkDB este o bază de date NoSQL care stochează date sub formă de documente JSON. Are un limbaj de interogare super intuitiv și are funcții disponibile în mod obișnuit
Folosind un sistem diferit? Brotli este o nouă metodă de compresie cu un raport de compresie mai bun decât GZIP. Codul sursă este găzduit public pe acest Githu
În anumite ocazii, este posibil ca un administrator de sistem să aibă nevoie să creeze un cont de utilizator și să restricționeze accesul acestora la gestionarea propriilor fișiere prin sFTP, dar nu b
Introducere MySQL are o caracteristică excelentă cunoscută sub numele de vizualizări. Vizualizările sunt interogări stocate. Gândiți-vă la ele ca la un alias pentru o întrebare altfel lungă. În acest ghid,
Cerințe preliminare Un server Vultr care funcționează actualizat Arch Linux (vezi acest articol.) Acces Sudo. Comenzile care trebuie rulate ca root sunt prefixate de #. Th
Permiterea autentificării root pe SSH este de obicei considerată o practică slabă de securitate în întreaga industrie tehnologică. În schimb, puteți efectua administrativ sensibil
Folosind un sistem diferit? Seafile (versiunea comunității) este o soluție gratuită și deschisă de sincronizare și partajare a fișierelor, care este similară cu ownCloud. De-a lungul spiritului
Folosind un sistem diferit? NGINX poate fi utilizat ca server HTTP / HTTPS, server proxy invers, server proxy de poștă, echilibrator de sarcină, terminator TLS sau cachin
Folosind un sistem diferit? Thelia este un instrument open source pentru crearea de site-uri web pentru e-business și gestionarea conținutului online scris în PHP. Codul sursă Thelia i
Folosind un sistem diferit? DokuWiki este un program wiki open source scris în PHP care nu necesită o bază de date. Stochează date în fișiere text. DokuWik
Acest articol vă va învăța cum să configurați o închisoare chroot pe Debian. Presupun că utilizați Debian 7.x. Dacă executați Debian 6 sau 8, acest lucru poate funcționa, bine
Introducere Un mod ușor de a configura un server VPN pe Debian este cu PiVPN. PiVPN este un instalator și un pachet pentru OpenVPN. Creează comenzi simple pentru tine
Folosind un sistem diferit? Chamilo este un sistem gratuit și deschis de management al învățării (LMS), care este utilizat pe scară largă pentru educația online și colaborarea în echipă
EasyEngine (ee) este un instrument Python care vă permite să gestionați ușor și automat site-urile Wordpress de pe Nginx. Folosind EasyEngine, nu va trebui să dați
O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1
Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.
Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.
Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.
Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.
CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?
Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.
Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!
Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.
Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe