Све што треба да знате да бисте применили Ларавел веб апликацију на Убунту 20.04 ЛТС машини
Ларавел је веома популаран опен-соурце ПХП оквир са изражајном и елегантном синтаксом која се користи за дизајнирање модерних и лепих веб апликација. Ларавел има за циљ да отклони бол од веб развоја и учини га пријатним и креативним искуством, претварајући веб програмере у веб занатлије.
У овом водичу ћете научити како да инсталирате Ларавел са ЛАМП стеком на Убунту 20.04 сервер да бисте покренули и покренули своју веб апликацију.
Предуслови
Да бисте пратили овај водич, требаће вам Убунту 20.04 ЛТС сервер и бити пријављени као судо
корисник. Пре него што почнемо, ажурирајте и надоградите Убунту 20.04 пакете тако што ћете покренути:
судо апт упдате && судо апт упграде
Инсталирање ЛАМП Стацк
ЛАМП је акроним за Л инук оперативни систем, А пацхе веб сервер, М иСКЛ база података и П ХП програмски језик. Већ смо на Убунту 20.04 који означава Линук у ЛАМП стеку. Дакле, ми ћемо инсталирати преостала три пакета да завршимо ЛАМП стек за нашу Ларавел апликацију.
Не постоји доступан мета-пакет за инсталирање ЛАМП стека у Убунту 20.04 спремишта. Али можемо користити једну згодну малу особину погодан
менаџер пакета под називом задаци. Задаци се означавају именом доступног задатка са кадетом (^
) приложен уз њега.
судо апт инсталл ламп-сервер^
Ова команда ће претражити датотеке листе пакета за сва поља „Задатак:“ и инсталирати све пакете са „ламп-сервер“ у пољу задатка. Дакле, ЛАМП стек који се састоји од Апацхе, МиСКЛ и ПХП пакета са свим њиховим зависностима биће инсталиран на вашем Убунту серверу.
Конфигуришите заштитни зид
Када инсталирате ЛАМП стек, такође морате да конфигуришете некомпликовани заштитни зид (УФВ) и промените његова правила тако да можете да приступите Апацхе серверу са интернета.
УФВ пружа једноставне профиле апликација који се могу користити за промену правила и пребацивање саобраћаја на мрежним портовима. Покрените следећу команду да бисте навели све апликације које приступају мрежним портовима:
судо уфв листа апликација
Видећете излаз као што је овај:
Доступне апликације: Апацхе Апацхе Фулл Апацхе Сецуре ОпенССХ
Мрежни портови ових профила отворени на вашем Убунту 20.04 серверу су наведени у наставку:
- Апацхе: Овај профил отвара само порт
80
(омогућава ХТТП саобраћај) - Апацхе Фулл: Овај профил отвара оба
80
&443
портови (омогућава ХТТП и ХТТПС саобраћај) - Апацхе Сецуре: Овај профил отвара само порт
443
(омогућава ХТТПС саобраћај) - ОпенССХ: Овај профил отвара порт
22
који омогућава ССХ протокол
Морате да омогућите профил „Апацхе Фулл“ који ће омогућити саобраћај на Апацхе веб сервер са интернета. Поред тога, такође ћете морати да омогућите „ОпенССХ“ профил који омогућава саобраћај на порту 22
(ССХ) на вашем Убунту 20.04 серверу. Ако омогућите УФВ без дозвољавања „ОпенССХ“ профила, нећете моћи да се повежете са својим сервером користећи ССХ.
Да промените УФВ правило и дозволите саобраћај на порту 80
и 22
, трцати:
судо уфв дозволи 'Апацхе Фулл' судо уфв дозволи 'ОпенССХ'
Затим омогућите УФВ заштитни зид помоћу следеће команде:
судо уфв енабле
Можда ћете добити упит који каже „команда може пореметити постојеће ссх везе. Наставите са операцијама (и|н)?”. Притисните И
да наставимо јер смо већ додали правило да дозволимо ССХ у УФВ.
Сада можете да приступите Апацхе подразумеваној веб страници користећи ИП адресу вашег Убунту сервера са интернета. Да бисте то урадили, отворите претраживач и унесите ИП адресу вашег Убунту 20.04 сервера у УРЛ траку и притисните ентер.
//Иоур_убунту_сервер_ип
Ова страница потврђује да Апацхе веб сервер ради исправно и да су УФВ правила правилно подешена.
Подешавање МиСКЛ базе података за Ларавел
Ларавел 7 чини интеракцију са базама података изузетно једноставном у различитим бацкендовима базе података које подржава, као што су МиСКЛ верзија 5.6+, ПостгреСКЛ 9.4+, СКЛите 3.8.8+ и СКЛ Сервер 2017+. Већ имамо инсталиран најновији МиСКЛ пакет са ламп-север^
задатак. Дакле, у овом одељку ћемо конфигурисати МиСКЛ сервер, а затим погледати како да подесимо новог МиСКЛ корисника и базу података за Ларавел апликацију.
Конфигуришите МиСКЛ
МиСКЛ база података долази са унапред инсталираном безбедносном скриптом која се може користити за уклањање неких несигурних подразумеваних поставки. Препоручује се да покренете ову скрипту пре него што примените своју Ларавел апликацију.
судо мискл_сецуре_инсталлатион
Горња команда ће извршити безбедносну скрипту која ће вам поставити низ питања за конфигурисање МиСКЛ сервера.
Прво, бићете упитани да ли желите да подесите ПОТВРДИ ЛОЗИНКУ
повезати. Овај додатак проверава вашу лозинку и рангира их као безбедне или небезбедне на основу нивоа политике валидације лозинке који ћете ускоро изабрати. Па притисните И ако желите да омогућите овај додатак.
Излаз: Обезбеђивање примене МиСКЛ сервера. Повезивање на МиСКЛ помоћу празне лозинке. КОМПОНЕНТА ВАЛИДАТЕ ПАССВОРД се може користити за тестирање лозинки и побољшање безбедности. Проверава јачину лозинке и омогућава корисницима да поставе само оне лозинке које су довољно сигурне. Да ли желите да подесите компоненту ВАЛИДАТЕ ПАССВОРД? Притисните и|И за Да, било који други тастер за Не: И
Затим поставите ниво политике валидације лозинке било којим уносом 0
, 1
или 2
у зависности од тога колико јаку желите да креирате своју лозинку за своје базе података.
Излаз: Постоје три нивоа политике провере лозинке: ЛОВ Ленгтх >= 8 СРЕДЊА Дужина >= 8, нумерички, мешана велика и мала слова и специјални знакови СТРОНГ Дужина >= 8, нумерички, мешана велика и мала слова, специјални знакови и датотека речника Унесите 0 = ЛОВ, 1 = СРЕДЊЕ и 2 = СНАЖНО: 2
Затим ће од вас бити затражено да унесете нову лозинку за МиСКЛ роот корисника. Унесите одговарајућу лозинку за ваш МиСКЛ роот. Додатак ВАЛИДАТЕ ПАССВОРД ће вам дати процењену снагу ваше лозинке у складу са вашим нивоом валидације лозинке. Притисните И
да наставите са лозинком коју сте дали.
Излаз: Поставите лозинку за роот овде. Нова лозинка: Поново унесите нову лозинку: Процењена јачина лозинке: 100 Да ли желите да наставите са наведеном лозинком? (Притисните и|И за Да, било који други тастер за Не) : И
Притисните И
за остале упите, они ће уклонити неке анонимне кориснике и тестне базе података, онемогућити удаљену роот пријаву и поново учитати нова подешавања за МиСКЛ сервер. Када завршите, тестирајте своју базу података тако што ћете покренути:
судо мискл
Горња команда ће отворити МиСКЛ конзолу, повезујући се са МиСКЛ базом података као корен корисник. Видећете излаз као што је овај:
Излаз: Добродошли у МиСКЛ монитор. Команде се завршавају са ; или \г. Ваш ИД МиСКЛ везе је 10 Верзија сервера: 8.0.20-0убунту0.20.04.1 (Убунту) Ауторска права (ц) 2000, 2020, Орацле и/или његове филијале. Сва права задржана. Орацле је регистровани заштитни знак компаније Орацле Цорпоратион и/или њених филијала. Друга имена могу бити заштитни знаци њихових власника. Откуцајте 'хелп;' или '\х' за помоћ. Откуцајте '\ц' да обришете тренутни унос. мискл>
Можда сте приметили да не морате да уносите лозинку коју сте поставили за МиСКЛ роот корисника. То је зато што је подразумевани метод аутентификације за административног МиСКЛ роот корисника цацхинг_сха2_аутхентицатион
уместо на мискл_нативе_пассворд
метод који користи лозинку за пријављивање.
Дакле, подразумевано се можете пријавити само као МиСКЛ роот корисник са судо
омогућени корисници који служе као додатна заштита за МиСКЛ сервер. Али МиСКЛ ПХП библиотека не подржава цацхинг_сха2_аутхентицатион
методом. Зато треба да користимо мискл_нативе_пассворд
метод када креирамо новог корисника за Ларавел јер користи лозинке за повезивање и интеракцију са базом података.
Креирајте новог МиСКЛ корисника и базе података
Увек је добра пракса креирати новог корисника и базу података посебно за вашу апликацију уместо да користите МиСКЛ роот корисничке и тестне базе података. Дакле, ми ћемо подесити новог МиСКЛ корисника под називом ларавел_усер
и база података тзв ларавел
. Ако сте пратили упутство до ове тачке, требало би да имате отворену МиСКЛ конзолу. Да бисте креирали корисника под називом ларавел_усер
покрените следећи упит у МиСКЛ конзоли:
Белешка: Заменити тестпасс
у доњем МиСКЛ упиту са јаком лозинком.
ЦРЕАТЕ УСЕР 'ларавел_усер'@'%' ИДЕНТИФИКОВАНОГ СА мискл_нативе_пассворд ПРЕМА 'тестпасс';
Затим креирајте базу података под називом ларавел
за нашу Ларавел апликацију покретањем овог упита:
ЦРЕАТЕ ДАТАБАСЕ ларавел;
Само МиСКЛ роот корисник има дозволе за новокреирану базу података ларавел. Дајте све дозволе за ларавел
база података за ларавел_усер
покретањем:
ГРАНТ АЛЛ ОН ларавел.* ТО 'ларавел_усер'@'%';
Дакле, сада имамо новог МиСКЛ корисника и базу података, изађите из МиСКЛ конзоле тако што ћете покренути:
ЕКСИТ;
Тестирајте свог новог МиСКЛ корисника тако што ћете се пријавити на МиСКЛ конзолу са њим, да бисте то урадили, покрените ову команду у терминалу:
мискл -у ларавел_усер -п
Обратите пажњу на -п
заставицу у команди, затражиће од вас лозинку коју сте користили приликом креирања ларавел_усер
(тестпасс
у упиту). Након што сте се пријавили на МиСКЛ конзолу као ларавел_усер
, потврдите да корисник има приступ ларавел
база података покретањем:
ПРИКАЖИ БАЗЕ ПОДАТАКА;
Излаз: +-------------------+ | База података | +-------------------+ | ларавел | | информатион_сцхема | +-------------------+ 2 реда у сету (0,01 сек)
Горњи излаз потврђује да је корисник МиСКЛ ларавел_усер
има дозволе за базу података ларавел
. Изађите из МиСКЛ конзоле користећи ЕКСИТ;
упит да бисмо могли да наставимо са креирањем ДемоАпп Ларавел апликације.
Инсталирање Ларавел-а
Ларавел оквир користи Цомпосер за преузимање и управљање његовим зависностима. Дакле, морамо да инсталирамо Цомпосер на нашу Убунту 20.04 машину пре него што можемо да креирамо Ларавел апликацију.
Инсталирајте Цомпосер
Цомпосер је алатка за управљање зависностима за ПХП, која увелико олакшава инсталирање и ажурирање ПХП оквира и библиотека. У овом водичу ћемо погледати како да брзо инсталирамо Цомпосер како бисмо га могли користити за преузимање и управљање Ларавел оквиром.
Морате да инсталирате неке додатне пакете који су потребни Цомпосер-у да би функционисао, као нпр пхп-цли
за покретање ПХП скрипте у терминалу и распакујте
да помогне Цомпосер-у да издвоји пакете. Инсталирајте их оба тако што ћете покренути:
судо апт инсталл пхп-цли распакујте
Затим да бисте инсталирали Цомпосер глобално, преузмите инсталациону скрипту Цомпосер са цурл
и инсталирајте га помоћу следеће команде:
цурл -сС //гетцомпосер.орг/инсталлер | судо пхп -- --инсталл-дир=/уср/лоцал/бин --филенаме=цомпосер
На крају, проверите да ли је композитор исправно инсталиран тако што ћете покренути:
композитор
______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / /_ / / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Верзија композитора 1.10.8 2020-06- 24 21:23:30 Употреба: команда [опције] [аргументи]
Овај излаз потврђује да Цомпосер исправно ради на вашем Убунту 20.04 серверу, можете почети да га користите за инсталирање и управљање ПХП оквирима и библиотекама.
Направите Ларавел апликацију
Имамо скоро све што је потребно за креирање Ларавел апликације на нашем Убунту 20.04 серверу осим неколико ПХП екстензија. Инсталирајте ове недостајуће екстензије помоћу следеће команде:
судо апт инсталл пхп-мбстринг пхп-кмл пхп-бцматх пхп-зип пхп-јсон
Сада можемо да инсталирамо Ларавел и да креирамо нову Ларавел апликацију уз помоћ Цомпосер-а. Прво, уверите се да сте у кућном именику вашег корисника:
цд ~
Затим креирајте нови Ларавел пројекат користећи Цомпосер креирај-пројекат
команда:
цомпосер цреате-пројецт --префер-дист ларавел/ларавел ЛаравелАпп
Горња команда ће креирати нови пројекат под називом ЛаравелАпп и такође ће инсталирати и конфигурисати Ларавел Фрамеворк за вас. Видећете излаз сличан овоме:
Излаз: Креирање "ларавел/ларавел" пројекта на "./ЛаравелАпп" Инсталирање ларавел/ларавел (в7.12.0) Инсталирање ларавел/ларавел (в7.12.0): Преузимање (100%) Креиран пројекат у /хоме/атх/ЛаравелАпп @пхп - р "филе_екистс('.енв') || цопи('.енв.екампле', '.енв');" Учитавање складишта композитора са информацијама о пакету Ажурирање зависности (укључујући рекуире-дев) Операције пакета: 97 инсталација, 0 ажурирања, 0 уклањања Инсталирање воку/портабле-асции (1.5.2): Преузимање (100%) Инсталирање симфони/полифилл-цтипе (в1 .17.1): Преузимање (100%) Инсталирање пхпоптион/пхпоптион (1.7.4): Преузимање (100%) Инсталирање влуцас/пхпдотенв (в4.1.7): Преузимање (100%) Инсталирање симфони/цсс-селецтор (в5.1.2) : Преузимање (100%) ....
Када се инсталација заврши, идите у основни директоријум апликације, а затим покрените Ларавел занатлија
команду да проверите да ли су све компоненте правилно инсталиране:
цд ЛаравелАпп/ пхп артисан
Излаз: Ларавел Фрамеворк 7.18.0 Употреба: команда [опције] [аргументи] Опције: -х, --хелп Прикажи ову поруку помоћи -к, --куиет Не исписујте никакву поруку -В, --версион Прикажи ову верзију апликације --анси Форце АНСИ оутпут --но-анси Онемогући АНСИ излаз -н, --но-интерацтион Не постављај никаква интерактивна питања --енв[=ЕНВ] Окружење у ком команда треба да се покрене под -в|вв|ввв, --вербосе Повећај опширност порука: 1 за нормалан излаз, 2 за детаљнији излаз и 3 за отклањање грешака ....
Овај излаз потврђује да је инсталација била успешна и да су све датотеке на месту и да Ларавел алати командне линије раде исправно. Међутим, још увек морамо да конфигуришемо апликацију за подешавање базе података и неколико других подешавања.
Конфигуришите Ларавел апликацију
Ларавел конфигурационе датотеке се налазе у директоријуму тзв цонфиг
унутар основног директоријума апликације. Поред тога, када смо инсталирали Ларавел преко Цомпосер-а, креирао је датотеку окружења под називом „.енв“ у основном директоријуму апликације. Датотека окружења укључује конфигурације специфичне за окружење и има предност над подешавањима у регуларним конфигурационим датотекама које се налазе унутар конфигурационог директоријума.
Напомена: Конфигурациони фајл окружења садржи осетљиве информације о вашем серверу као што су лозинке базе података, кључеви Ларавел апликације итд. Стога никада не би требало да се дели јавно.
Сада ћемо уредити .енв
датотеку да бисте променили конфигурацију и додали јој акредитиве базе података. Отворите датотеку користећи нано едитор тако што ћете покренути:
нано .енв
У овоме постоји много конфигурационих варијабли .енв
фајл. Не морамо да мењамо сваки од њих, пошто је Цомпосер аутоматски конфигурисао већину подешавања. Дакле, ево листе неких примарних конфигурационих варијабли о којима морате да знате:
АПП_НАМЕ
: Назив апликације који се користи за обавештења и поруке, тако да ћемо га поставити на „ЛаравелАпп“.АПП_ЕНВ
: Ова променљива се користи за означавање тренутног окружења апликације. Може се подесити на локално, развојно, тестирање или производно окружење. За сада ћемо га поставити у развојно окружење.АПП_КЕИ
: Јединствени кључ апликације који се користи за креирање соли и хешова за веб апликацију. Он се аутоматски генерише када инсталирате Ларавел преко Цомпосер-а, тако да нема потребе да ово мењате.АПП_ДЕБУГ
: Може се поставити на тачно или нетачно, у зависности од тога да ли желите да прикажете грешке на страни клијента. Поставите га на нетачно када пређете у производно окружење.АПП_УРЛ
: Основни УРЛ или ИП за апликацију, промените га у име свог домена ако га имате за своју Ларавел апликацију или га за сада оставите нетакнутим.ДБ_ДАТАБАСЕ
: Назив базе података коју желите да користите са Ларавел апликацијом. Користићемо МиСКЛ базу података „ларавел“ коју смо креирали док смо конфигурисали МиСКЛ.ДБ_УСЕРНАМЕ
: Корисничко име за повезивање са базом података. Користићемо МиСКЛ корисника „ларавел_усер“ који смо креирали.ДБ_ПАССВОРД
: Лозинка за повезивање са базом података.
АПП_НАМЕ=ЛаравелАпп
АПП_ЕНВ=развој
АПП_КЕИ=басе64:Апплицатион_уникуе_кеи
АПП_ДЕБУГ=тачно АПП_УРЛ=//домаин_ор_ИП
ЛОГ_ЦХАННЕЛ=стацк ДБ_ЦОННЕЦТИОН=мискл ДБ_ХОСТ=127.0.0.1 ДБ_ПОРТ=3306 ДБ_ДАТАБАСЕ=ларавел ДБ_УСЕРНАМЕ=ларавел_усер
ДБ_ПАССВОРД=тестпасс
Направите измене у .енв
датотеку у складу са тим и када завршите са уређивањем, сачувајте и изађите из датотеке помоћу ЦТРЛ+Кс
затим притисните И
и притисните ентер да потврдите. Сада, све што је преостало је да конфигуришете Апацхе сервер и креирате виртуелни хост за нашу Ларавел апликацију.
Подешавање Апацхе веб сервера
Инсталирали смо Ларавел у локалну фасциклу кућног директоријума корисника. Иако ово савршено функционише за локални развој, препоручује се да се у њему налази директоријум веб апликација /вар/ввв
. Разлог зашто нисмо инсталирали Ларавел /вар/ввв
директно је зато што је у власништву роот-а и Цомпосер не би требало да се користи са судо
.
Зато користите мв
команду да преместите фасциклу Ларавел апликације и њен садржај у /вар/ввв
:
судо мв ~/Ларавел/ /вар/ввв
ЛаравелАпп директоријум је у власништву корисника, тако да и даље можете уређивати и уносити измене у датотеке без коришћења судо
команда. Али Апацхе веб серверу је потребан приступ кешу и директоријумима за складиштење апликације јер Ларавел у њему складишти датотеке генерисане апликацијом. Промените власника ових фасцикли на ввв-дата
корисник који користи цховн
команда:
судо цховн -Р ввв-дата.ввв-дата /вар/ввв/ЛаравелАпп/стораге судо цховн -Р ввв-дата.ввв-дата /вар/ввв/ЛаравелАпп/боотстрап/цацхе
Након што промените власника ових директоријума, омогућите Апацхе мод_реврите
пошто је потребно од Ларавел-а да правилно трансформише УРЛ адресе које ће интерпретирати његова функција рутирања путем .хтаццесс
фајл.
судо а2енмод реврите
Затим морамо да подесимо виртуелни хост за Ларавел апликацију. Конфигурације виртуелног хоста се налазе на /етц/апацхе2/ситес-аваилабле
. Уредићемо подразумевану датотеку виртуелног хоста да бисмо применили Ларавел апликацију. Отворите подразумевану конфигурациону датотеку виртуелног хоста користећи нано едитор:
судо нано /етц/апацхе2/ситес-аваилабле/000-дефаулт.цонф
Промените корен документа из /вар/ввв/хтмл
до /вар/ввв/ЛаравелАпп/публиц
и додајте следећи исечак испод ДоцументРоот линије:
АлловОверриде Алл
Твоје 000-дефаулт.цонф
сада би требало изгледати овако са неколико коментара.
СерверАдмин вебмастер@лоцалхост ДоцументРоот /вар/ввв/ЛаравелАпп/публиц АлловОверриде Алл ЕррорЛог ${АПАЦХЕ_ЛОГ_ДИР}/еррор.лог ЦустомЛог ${АПАЦХЕ_ЛОГ_ДИР}/аццесс.лог комбиновано
Поново покрените Апацхе веб сервер тако што ћете покренути следећу команду:
судо системцтл рестарт апацхе2
Сада идите у свој претраживач и унесите ИП адресу свог Убунту 20.04 сервера. Видећете Ларавел почетну страницу уместо подразумеване Апацхе странице добродошлице.
Под претпоставком да сте до сада пратили овај водич, требало би да имате радну Ларавел апликацију са МиСКЛ базом података која се зове ларавел
за то. Од ове тачке можете сами да почнете да развијате своју Ларавел апликацију. Да бисте сазнали више о Ларавел оквиру и његовој употреби, посетите страницу докумената Ларавел.