Како инсталирати и конфигурисати Руби са Рбенв, Раилс, МариаДБ, Нгинк, ССЛ и Пассенгер на Убунту 17.04

Руби он Раилс је популаран веб оквир за Руби који је развијен да повећа продуктивност програмера. Међутим, навођење различитих драгуља и зависности да раде заједно понекад може бити тешко. Овај водич ће вам помоћи да поставите Раилс окружење спремно за производњу, укључујући често коришћене драгуље и зависности.

Захтеви

  • Вултр инстанца са најмање 512 МБ РАМ-а (пожељно 1024 МБ).
  • Вултр инстанца која покреће Убунту 17.04.

Група која се користи у овом водичу

  • Нгинк : брз и моћан веб сервер. (верзија 1.10.3)
  • Пассенгер : сервер апликација који ће помоћи Нгинк-у да служи вашу Руби апликацију. (верзија 1.5.1.8)
  • Рбенв : менаџер верзија Руби. (верзија 1.1.1-2)
  • Руби : (верзија 2.4.1)
  • МариаДБ : грана отвореног кода МиСКЛ сервера (верзија 10.2)
  • ССЛ сертификат компаније Лет'с Енцрипт

Инсталација

Додајте Судо корисника

Напомена : Веома је препоручљиво да не инсталирате ниједну од ових услуга као роот, јер бисте се могли изложити нападу. Подешавање корисника deployили appкорисника је уобичајена конвенција:

sudo adduser deploy
sudo adduser deploy sudo
su deploy

Ажурирајте и надоградите систем

Уверите се да користите све најновије пакете на свом Убунту ВМ-у:

sudo apt-get update && sudo apt-get upgrade -y

Инсталирајте Буилд Систем

Да бисте могли да компајлирате Руби користећи рбенв и друге драгуље, потребно је инсталирати разне пакете. У зависности од верзије Руби-а која ће вам требати, неки од пакета можда неће бити потребни.

Састављање
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
Пакети за ССЛ подршку

Ово је неопходно за састављање неколико драгуља, као што је Пассенгер:

sudo apt-get install -y zlib1g zlib1g-dev libssl-dev libyaml-dev libcurl4-openssl-dev libruby
Версионинг

Руби заједница користи Гит као СЦМ по избору; али додатни, као што су Мерцуриал или Субверсион, такође се могу инсталирати:

sudo apt-get install -y git git-core
Драјвери базе података за МиСКЛ / МариаДБ
sudo apt-get install -y libmysqld-dev mysql-client libmysqlclient-dev
Нокогири

Потребно за неколико популарних драгуља којима су потребне изворне КСМЛ библиотеке:

sudo apt-get install -y libxml2-dev libxslt-dev
Ноде.јс

Додајте званична спремишта из Ноде-а са најновијом верзијом као подразумевана Убунту спремишта обично заостају за неколико главних верзија:

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

Опциони пакети

Ови пакети нису потребни да би систем могао да ради, али је добро имати ако треба да користите одређене драгуље.

Графикони и слике

Ове библиотеке нису неопходне и могу се прескочити осим ако не планирате да користите драгуље за манипулацију сликама; као што је Рмагицк:

sudo apt-get install -y imagemagick libmagickwand-dev libvips-dev

Драјвери базе података за СКЛите и ПостгреСКЛ

Инсталирајте драјвере за СКЛите или ПостгреСКЛ ако желите да се повежете са другим базама података или више волите једноставну, локалну ДБ:

sudo apt-get install -y libsqlite3-dev sqlite3  libpq-dev postgresql postgresql-contrib

Алати

Услужни програми који се обично не испоручују унапред инсталирани на новој инсталацији Убунтуа. Слободно инсталирајте свој уређивач текста по избору:

sudo apt-get install -y iotop htop nano vim

Инсталирајте МариаДБ сервер

МариаДБ је моћан релациони СКЛ сервер, који је потпуно компатибилан са МиСКЛ. Најлакши начин да инсталирате најновију верзију МариаДБ-а је коришћење званичних спремишта:

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

Пратите упутства и поставите роот лозинку. Након тога, проверите да ли можете да приступите новој инсталацији:

mysql -V 

Приказаће линију сличну овој:

mysql  Ver 15.1 Distrib 10.2.8-MariaDB, for debian-linux-gnu (x86_64) using readline 5

Пријавите се у МиСКЛ љуску:

mysql -h localhost -u root -p 

Напомена : користите \qза излаз.


Инсталирајте Рбенв и Руби

Рбенв

Инсталирајте Рбенв користећи гит. Ово је најједноставнији метод инсталације и омогућава лака ажурирања касније. Такође инсталирајте ruby-build, он је одговоран за стварно компајлирање различитих верзија Руби-а:

cd
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build

Напомена : Када је потребно да једноставно ажурирате cd ~/.rbenvи git pull.

Учините Рбенв и Руби-буилд доступним у љусци. Да би се осигурало да се извозни линије уметнут на почетку овог .bashrcфајла, што је важно за не-интерактивне басх команде, користите ове линије:

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

Проверите да ли су Рбенв и Руби-буилд инсталирани и доступни у љусци:

rbenv install --list

Ако rbenvсе не препозна, одјавите се и поново се пријавите у љуску.

Направите ~/.bash_profileдатотеку и усмерите је на извор ~/.bashrcдатотеке. Ако треба да покренете било које неинтерактивне команде љуске из ваше Раилс апликације, као што је постављање црон послова помоћу wheneverдрагуља, она ће користити исту верзију Руби-а као ваша интерактивна шкољка. Ово може помоћи у спречавању чудних грешака. Додајте ову линију у ~/.bash_profileдатотеку:

if [ -f $HOME/.bashrc ]; then
        source $HOME/.bashrc
fi

Руби

Инсталирајте Руби 2.4.1:

rbenv install 2.4.1

Напомена : Овај процес може трајати 5-15 минута у зависности од ресурса на вашем ВМ-у и нема траке напретка.

Нека Рбенв буде доступан свуда.

rbenv global 2.4.1

Пассенгер и Нгинк

Додајте ПГП кључ и ХТТПС подршку за апт:

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

Додајте Пассенгер спремиште:

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

Инсталирајте Пассенгер + Нгинк модуле:

sudo apt-get install -y nginx
sudo apt-get install -y libnginx-mod-http-passenger

Посетите своју Вултр инстанцу користећи њено име домена или ИП да бисте их тестирали у овом тренутку. Ако раде, ваша страница ће приказати подразумевану Нгинк страницу добродошлице.

Подесите Раилс, апликацију и конфигуришите Пассенгер

Инсталирајте Бундлер и Раилс:

gem install bundler rails --no-ri --no-rdoc

Убунту/Дебиан конвенција је подешавање ваше апликације у /var/www. Подразумевано, у њега се може писати само роот. Да би подешавање функционисало, дајте власништво судо кориснику deploy:

sudo chown deploy:deploy /var/www -R

Генеришите апликацију раилс у /var/www/. Ако већ имате апликацију коју желите да примените, git cloneпокрените је овде и затим bundle:

cd /var/www
rails new example --database=mysql
Конфигуришите Пассенгер да показује на апликацију.
  1. Преп Нгинк.

    sudo nano /etc/nginx/nginx.conf
    
  2. Промените корисника у deploy.

    user deploy;
    
  3. У httpодељку конфигурације, требало би да постоји линија која говори Нгинк-у да учита модуле укључујући путника. Ако недостаје, можете га додати одмах после Virtual Host Configsнаслова, али пре sites-enabled.

    include /etc/nginx/conf.d/*.conf;
    
  4. Уредите/креирајте passenger.confдатотеку.

    sudo nano /etc/nginx/conf.d/mod-http-passenger.conf
    
  5. Реците путнику да користи наше Рбенв подешавање. Може да садржи линију која указује на верзију Руби-а укључену у Пассенгер, само је избришите или коментаришите.

    passenger_ruby /home/deploy/.rbenv/shims/ruby;
    passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;
    
  6. Подесите виртуелни хост да указује на апликацију у /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      
    }
    
  7. Поново покрените Нгинк.

    sudo service nginx restart
    

У овом тренутку ваша апликација је спремна за коришћење у развојном режиму. Да бисте прешли на производни режим, потребно је да се вратите на своју Нгинк конфигурацију и промените rails_envпоставку у production.

Пре него што пређете на производном моду, и даље ће морати да подесите свој базу за производњу example_production, database.ymlи тајни кључ. Погледајте алатке попут Цапистрано или Мина да бисте убрзали процес имплементације апликације. Добра је пракса да користите ЕНВ променљиве са драгуљем као што је dotenv, и не урезујте своје лозинке, тајне кључеве и слично у своје гит спремиште.

Сетуп ССЛ

Постоји више услуга које нуде ССЛ сертификате за ваш домен, многи су плаћени, а неколико бесплатни. Подесите ССЛ без обзира коју услугу користите. Лет'с Енцрипт је веома једноставан и бесплатан за коришћење. Лет'с Енцрипт је непрофитна организација коју подржавају многи технолошки гиганти.

Инсталација

Покрените следеће команде и пратите упутства.

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

Ако сада одете на своју Вултр инстанцу користећи HTTPS, видећете безбедну веб локацију.

Реневал

Ваш новоиздати сертификат ће истећи и мораћете да га повремено обнављате. Најлакши начин да то урадите је да поставите црон посао.

sudo crontab -e 
30 2 * * 1 /usr/bin/certbot renew 

Као последњи, али опциони корак, поново покрените свој ВМ и уверите се да се све услуге поново покрећу према очекивањима.


Инсталирајте Плеск на ЦентОС 7

Инсталирајте Плеск на ЦентОС 7

Користите другачији систем? Плеск је власничка контролна табла веб хоста која омогућава корисницима да управљају својим личним и/или клијентским веб локацијама, базама података

Подесите Цацти на Дебиан Јессие

Подесите Цацти на Дебиан Јессие

Увод Цацти је алатка отвореног кода за праћење и графику која је у потпуности заснована на РРД подацима. Преко Цацтуса можете надгледати скоро сваку врсту уређаја

Инсталирајте Летс Енцрипт ССЛ на ВордПресс апликацију једним кликом

Инсталирајте Летс Енцрипт ССЛ на ВордПресс апликацију једним кликом

Увод Летс Енцрипт је услуга ауторитета за сертификате која нуди бесплатне ТЛС/ССЛ сертификате. Цертбот поједностављује процес инсталације,

Подесите иРедМаил на Дебиан Вхеези

Подесите иРедМаил на Дебиан Вхеези

Користите другачији систем? Овај водич ће вам показати како да инсталирате групни софтвер иРедМаил на нову инсталацију Дебиан Вхеези-а. Требало би да користите сервис

Креирање Јекилл блога на Убунту 16.04

Креирање Јекилл блога на Убунту 16.04

Користите другачији систем? Јекилл је одлична алтернатива ВордПресс-у за блоговање или дељење садржаја. Не захтева никакве базе података и веома је лако и

Како подесити надоградње без надзора на Дебиан 9 (протежу)

Како подесити надоградње без надзора на Дебиан 9 (протежу)

Користите другачији систем? Ако купите Дебиан сервер, увек би требало да имате најновије безбедносне закрпе и ажурирања, без обзира да ли спавате или не

Како инсталирати и конфигурисати ПХП 7.0 или ПХП 7.1 на Убунту 16.04

Како инсталирати и конфигурисати ПХП 7.0 или ПХП 7.1 на Убунту 16.04

ПХП и повезани пакети су најчешће коришћене компоненте приликом постављања веб сервера. У овом чланку ћемо научити како да подесите ПХП 7.0 или ПХП 7.1 о

Како инсталирати Скуид проки на ЦентОС

Како инсталирати Скуид проки на ЦентОС

Скуид је популаран, бесплатни Линук програм који вам омогућава да креирате веб проки за прослеђивање. У овом водичу ћете видети како да инсталирате Скуид на ЦентОС да вас преокрене

Како инсталирати Лигхттпд (ЛЛМП Стацк) на ЦентОС 6

Како инсталирати Лигхттпд (ЛЛМП Стацк) на ЦентОС 6

Увод Лигхттпд је форк Апацхе-а који има за циљ да буде много мање интензиван према ресурсима. Лаган је, отуда и његово име, и прилично је једноставан за употребу. Инсталлин

Три бесплатна контролна панела сервера (брза инсталација)

Три бесплатна контролна панела сервера (брза инсталација)

1. Виртуалмин/Вебмин Виртуалмин је моћна и флексибилна контролна табла за веб хостинг за Линук и УНИКС системе заснована на добро познатој веб бази отвореног кода

Подешавање Иии апликације на Убунту 14.04

Подешавање Иии апликације на Убунту 14.04

Иии је ПХП оквир који вам омогућава да брже и лакше развијате апликације. Инсталирање Иии-а на Убунту је једноставно, као што ћете тачно научити

Коришћење екрана на Убунту 14.04

Коришћење екрана на Убунту 14.04

Сцреен је апликација која омогућава вишеструку употребу терминалских сесија унутар једног прозора. Ово вам омогућава да симулирате више прозора терминала где је ма

Подесите сопствени ДНС сервер на Дебиан/Убунту

Подесите сопствени ДНС сервер на Дебиан/Убунту

Овај водич објашњава како да подесите ДНС сервер користећи Бинд9 на Дебиан-у или Убунту-у. У целом чланку замените иоур-домаин-наме.цом у складу са тим. Ат тх

Коришћење Логротате за управљање датотекама евиденције

Коришћење Логротате за управљање датотекама евиденције

Увод Логротате је Линук услужни програм који поједностављује администрацију датотека евиденције. Обично се покреће једном дневно преко црон посла и управља базом евиденције

Конфигурисање статичког умрежавања и ИПв6 на ЦентОС 7

Конфигурисање статичког умрежавања и ИПв6 на ЦентОС 7

ВУЛТР је недавно направио измене на њиховој страни, и сада би све требало да ради добро из кутије са омогућеним НетворкМанагер-ом. Ако желите да онемогућите

Модификовање Ицинга2 да користи модел Мастер/Цлиент на ЦентОС 6 или ЦентОС 7

Модификовање Ицинга2 да користи модел Мастер/Цлиент на ЦентОС 6 или ЦентОС 7

Ицинга2 је моћан систем за праћење, и када се користи у моделу мастер-цлиент, може да замени потребу за провером праћења заснованом на НРПЕ. Главни клијент

Подесите Ред5 Медиа Сервер на Убунту 16.04

Подесите Ред5 Медиа Сервер на Убунту 16.04

Користите другачији систем? Ред5 је медијски сервер отвореног кода имплементиран у Јави који вам омогућава да покренете Фласх вишекорисничке апликације као што је ливе стреамин

Компајлирајте и инсталирајте Нгинк са модулом ПагеСпеед на Дебиан 8

Компајлирајте и инсталирајте Нгинк са модулом ПагеСпеед на Дебиан 8

У овом чланку ћемо видети како да компајлирате и инсталирате Нгинк маинлине из званичних извора Нгинк-а помоћу модула ПагеСпеед, који вам омогућава да

Како инсталирати Апацхе Цассандра 3.11.к на Убунту 16.04 ЛТС

Како инсталирати Апацхе Цассандра 3.11.к на Убунту 16.04 ЛТС

Користите другачији систем? Апацхе Цассандра је бесплатан систем за управљање НоСКЛ базом података отвореног кода који је дизајниран да обезбеди скалабилност, високу

Како инсталирати Ванилла Форум на Убунту 16.04

Како инсталирати Ванилла Форум на Убунту 16.04

Користите другачији систем? Ванилла форум је апликација отвореног кода написана у ПХП-у. Потпуно је прилагодљив, једноставан за коришћење и подржава екстерне

Успон машина: Примене вештачке интелигенције у стварном свету

Успон машина: Примене вештачке интелигенције у стварном свету

Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.

ДДОС напади: кратак преглед

ДДОС напади: кратак преглед

Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.

Да ли сте се икада запитали како хакери зарађују новац?

Да ли сте се икада запитали како хакери зарађују новац?

Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…

Технолошка сингуларност: далека будућност људске цивилизације?

Технолошка сингуларност: далека будућност људске цивилизације?

Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.

Еволуција складиштења података – Инфографика

Еволуција складиштења података – Инфографика

Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.

Функционалности слојева референтне архитектуре великих података

Функционалности слојева референтне архитектуре великих података

Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више