Laravel – специфика при инсталиране

Laravel – специфика при инсталиране

Създаването на специализиран уеб сайт може да е сложно и времеемко занимание. Един от начините за ускоряване на този процес е използването на фреймуърк (framework) – Laravel, Symfony, CodeIgniter и др. Ускорението идва от многократното използване на компоненти и модули, както и от облекчаване на разработката с помощта на готовата и оптимизирана структура на кода. Използването на фреймуърк освен това улеснява скалируемостта и поддръжката на приложението, заради спазването на стандарти при разработката и поддържане на правилна организация на кода.

Като се спестяват време и усилия за създаването на базови компоненти за изпълнението на рутинни операции, разработчиците могат да се фокусират и да отделят повече време на специфичните задачи, които ще донесат уникална полезност на сайта. В света на PHP е налице голямо разнообразие от фрекмуърк предложения. Един от най-използваните е Laravel, на който е посветен този материал. Целта ни е да обърнем внимание на най-често срещаните затруднения при инсталирането и пускането на фреймуърка.

Laravel осигурява всички инструменти, необходими за изграждане на големи и надеждни приложения и се счита за една от най-популярните PHP рамки заедно със Symfony2, Nette, CodeIgniter и Yii2.

Laravel е PHP фреймуърк с отворен код, базиран на шаблона MVC ( model–view–controller), който дава възможност за разделяне на бизнес логиката от графичния интерфейс. Архитектурата разделя изходния код на три отделни части – модел, изглед и контролер, което позволява лесна модификация и структуриране на кода.

Инсталацията може да бъде направена по два начина – автоматично чрез Softaculous Apps Installer или ръчно.

Автоматична инсталация

Системата за автоматична инсталация на софтуерни приложения Softaculous ще откриете в секция Software на вашият cPanel контролен панел.

v1

При този вид инсталация потребителят има възможност да избере папката в която да се инсталира Laravel.

v3

Ръчна инсталация

Laravel може да се инсталира и с помощта на друг инструмент –  Composer. Това е инструмент за „dependency“ мениджмънт в PHP. Вие избирате библиотеките за вашия проект, а той ги инсталира / ъпдейтва / управлява вместо вас. Composer не е „package“ мениджър в смисъла, в който са Yum или Apt. Да, той може да управлява „packages“ и библиотеки, но управлението е на база проекти, инсталирайки ги в съответната за даден проект папка.

Алгоритъм за инсталация:

  • Осигурете си SSH достъп до вашия хостинг.  Ако използвате споделен хостинг, тази опция е налице без да правите каквото и да било. В Host.bg този достъп е безплатен за всички планове на споделен хостинг. Ако сте на виртуален или нает сървър ще трябва да си инсталирате SSH клиент. Ако използвате Unix или Linux базирана операционна система можете да се логнете в сървъра чрез Конзола/Терминал.
  •  Laravel и Composer изискват PHP версия 5.5. Можете да проверите версията на PHP с командата „php -v“ или да поискате тази информация от нашия съпорт екип.

 

5

Ако текущата версия е по-стара от 5.5 можете да смените версията от меню „PHP Selector“ в cPanel акаунта ви. В повечето случаи PHP 5.4 е инсталиран по подразбиране на всички cPanel хостинги.

5v

  • Следваща стъпка е настройката на php.ini файла, който се използва за конфигуриране на PHP, за да отговаря на всички изисквания за инсталация на Composer/Laravel. Посочените по-долу редове трябва да бъдат добавени към файла php.ini, намиращ се в директорията, в която искате да инсталирате фреймуърка. Алтернативно, можете да копирате файла за PHP 5.6 от дефолтната му локация на сървъра.

max_execution_time = 300
max_input_time = 300
memory_limit = 512M
suhosin.executor.include.whitelist = phar
detect_unicode = Off

  • За да създадете папката в която ще се инсталира Laravel и да копирате php.ini файла използвайте следната команда:

cd public_html && mkdir laravel_folder && cd laravel_folder

Трите команди в този команден ред са:

cd public_html – навигация към папка public_html;

mkdir laravel_folder – команда за създаване на нова папка laravel_folder;

cd laravel_folder – навигация към ново-създадената laravel_folder;

&& – се използва за комбинация на няколко различни команди в един ред;

Веднага след това трябва да копирате файла php.ini от папката в която е по подразбиране във вашата laravel папка със следната команда:

cp /opt/alt/php56/etc/php.ini /home/USERNAME/public_html/laravel_folder

Не забравяйте да замените „username“ с вашето актуално потребителско име за достъп до cPanel. В случай, че се наложи да използвате php.ini за друга версия на PHP, можете просто да смените стойностите в командния ред по-горе от 56 с 52 например.
След като php.ini файлът е в съответната директория, влезте в cPanel, отворете File Manager, отидете до директорията, която сте избрали за Laravel и отворете php.ini с Editor.

imageedit_3_3914296165

Добавете следния блок в края на файла и го запазете:

max_execution_time = 300
max_input_time = 300
memory_limit = 512M
suhosin.executor.include.whitelist = phar
detect_unicode = Off

composer-and-the-laravel-installer-large-2

  •  След като сте изпълнили всички стъпки до тук, сте готови за инсталацията на Composer, а след това и на Laravel. Отворете Terminal, ако работите с Linux или PuTTY, ако предпочитате Windows операционна система и изпълнете следната команда:

php -r „readfile(‘https://getcomposer.org/installer’);“ | php -c php.ini

Така ще инсталирате Composer:

В случай, че получите следното съобщение „Some settings on your machine make Composer unable to work properly“, уверете се отново, че използваната от вас PHP версия е 5.5 или по-нова и всички промени в php.ini файла са запазени. След успешната инсталация ще видите следното:

8

  • Остава инсталацията на Laravel. За тази цел е нужно да се изпълни следната команда:

php -c php.ini /home/username/composer.phar create-project laravel/laravel –prefer-dist

9

Ще видите как необходимите съпътстващи модули (dependencies) се инсталират. Имайте предвид, че инсталацията се прави в подпапка “Laravel”, вътре в папката, която сте избрали в началото.

10

Вече имате Laravel фреймуърк, готов за използване. Желаем ви успех. Ако този материал ви е бил полезен, споделете го с някой от социалните бутони по-долу, за да е полезен и на друг.

С какво още може да се сблъскате? Преместване на един сайт, изпълнен с Laravel на друг хостинг. Често това се оказва неудобна задача. Прoблeмът идва от необходимостта сайтът, Laravel и библиотеките да са в идентични папки, както на хостинга, от който се прави миграцията. Няма универсално правило за оживяване в този случай. Едно бързо решение е да се изпълни миграция на целия акаунт с помощта на осигурения от cPanel инструмент.

Кеширане на уеб сайт – защо е важно?

Кеширане на уеб сайт – защо е важно?

Кеширане на уебсайт (Website Caching) е технология, която повишава скоростта на зареждане на уебсайтовете и спомага за по-добри SEO резултати. Скоростното зареждане от своя страна води до по-добри реализации (conversions) и ръст в приходите за тези от вас, които продават продукти или услуги онлайн.

Какво е кеширане?

Всеки път когато браузърът отправи заявка за зареждане на дадена уеб страница, обслужващият сървър трябва да направи куп комплексни и отнемащи време изчисления, което води до забавяния. След като изпълни дадена заявка, благодарение на caching технологията, сървърът може да запомни крайния резултат и при повторна заявка да го предостави на браузъра без да се налага да прави същите изчисления отново.

Как се запазват кешираните страници?

Най-лесният начин да се разбере процеса на кеширане е като си обясним как съдържанието на дадена уеб страница се предоставя от сървъра на потребителя. Първият път, в който някой посети вашата homepage (начална) страница например, заявката се получава и обработва от обслужващия уебсайта сървър. За да я предостави на потребителя в нормален вид, сървърът изпраща HTML файл на браузъра на потребителя. Ако кеширането е включено, сървъра запазва този HTML файл, обикновено в RAM паметта и следващият път, в който някой се опита да отвори въпросната homepage страница, сървърът няма нужда да обработва заявката и да я конвертира в HTML файл отново. Вместо това той просто изпраща вече готовият HTML файл на съответния браузър.

Какво се случва, ако съдържанието на уеб страницата се промени?

Но какво ще се случи, ако кеша е включен и след това публикуваш нов пост? Дали новият пост ще бъде извън кешираната информация и дали той ще се вижда от посетителите? Отговорът е, че всички кешинг системи могат да се справят с този сценарий. Ако се настроят правилно те изчистват кеша и след това го регенерират – при наличие на ново съдържание.

Ефективно ли е кеширането?

Кеширането е една от най-ефективните технологий. Имплементирайки го, той не просто ще направите уеб сайтът ви по-бърз, а ефективно ще го подготви за високи внезапни натоварвания.
Според едно скорошно проучване на YUI, кеширането на браузъра може да увеличи скоростта с до 300%.

Какви са видовете кеширане?

Използвайки двата вида кеширане – сървърно и браузърно ще постигнете по-високо ниво на ефективност.

  • Browser Caching:

Преди да отвори съдържанието на дадена уеб страницата, браузърът ви се нуждае от куп неща като Javascript файлове, stylesheets, fonts и така нататък, които той изтегля в допълнение със съдържанието на страницата. Ако браузъра кешира тези файлове няма да има нужда да ги изтегля всеки път като зареждате този сайт. По този начин зареждането на сайта първия път би отнело да кажем няколко секунди, но след кеширането ще откриете значително редуциране на времето за зареждане.

  • Server Caching:

Механизмът, по който работи сървърното кеширане се състои основно в запазването на HTML файла за конкретната заявка и изпращането на готовия вече файл при всяка следваща заявка. Това е така нареченият full page cache.
Съществува и друг начин за server caching – object cache, който за разлика от full page cache, кешира само определени битове (части) информация.

  • SSD кеширане

Изпълнява се на сървъра, както и предишното, но работи по различен начин. Възможността за такова кеширане се появява заради доста по-високите скорости на писане и четене по т. нар. SSD дискове в сравнение с обикновените HDD, наричани още въртящи се дискове. Последние са популярни с това име  заради факта, че магнитният диск или дискове които съхраняват данните трябва да се въртят непрекъснато за да се осигури достъп до информацията. Идеята на този вид кеш е всички данни първо да се записват на SSD масив. Същото се отнася и до най-често четените данни – те се държат на SSD масива и се изчитат от там. Непрекъснато върви репликация и опресняване на данните на двата масива, но ефектът е в преобладаваща работа на потребителя със SSD масива и видимо ускоряване на работата му.

Различните видове кеширане обикновено работят паралелно за да може да се предложи на потребителя добра скорост на зареждане на уеб страниците въпреки бързото утежняване на уеб приложенията.

Какво ново в WooCommerce 2.6 „Zipping Zebra“

Какво ново в WooCommerce 2.6 „Zipping Zebra“

Популярното разширение WooCommerce, което позволява на всеки сайт да бъде електронен магазин използвайки удобствата и предимствата на WordPress системата за управление представи своята обновена версия WooCommerce 2.6 „Zipping Zebra“.

Сред основните въведения във версията „Zipping Zebra“ на WooCommerce са:

  • Добавяне на зони за доставка (Shipping Zones)

Shipping зоните са местата, в които можете да въведете локациите/адресите за доставка. Можете да групирате множество континенти, страни, пощенски кодове в „зони“ и след това да добавите различни методи за доставка към всяка група, нещо, което до този момент беше ограничено. Могат също да се заложат налични методи за доставка за всяка зона, като клиентите ще виждат само възможните опции за избраната от тях зона.

WooCommerce доставки

  • Подобрения в „Количка/Кошница“

Количка/Кошница е последната и най-критична стъпка преди покупката. Новото тук е, че когато клиентите искат да добавят допълнителен продукт/услуга или да променят количеството те могат да направят промените директно в количката без да чакат презареждане на страницата или да повтарят стъпки.

  • Нов дизайн на страницата „My account“

Страницата „My Account“ сега е много по лесна за навигация и организиране с нов дизайн на табовете/разделите.

WooCommerce потребителски профил

  • Ъпдейт на наличните опции за плащане

Онлайн плащанията са в основата на всички електронните магазини, ето защо една от първите и най-важни стъпки са методите на плащане. С WooCommerce 2.6 добавянето на допълнителни опции за плащане е по-лесно благодарение на наличните Stripe и PayPal Powered by Braintree.

WooCommerce плащания

  • Ново API съответстващо на WordPress REST API

Освен всички новости за потребителите, има и много такива за разработчиците. Новият API интерфейс поддържа поръчки, клиенти, продукти, купони, данъци, доклади и webhooks както поотделно, така и в партиди, като основната промяна е в начина, по които се изпращат и получават данните през API.

HTTP/2 променя скоростта на сърфиране

HTTP/2 променя скоростта на сърфиране

Едно от основните предимства на HTTP/2 е повишената сигурност при сърфиране в Интернет. Тя се гарантира с използването на криптирана връзка между потребителя и уеб сървъра. За целта обаче е необходимо уеб сайтът и неговият домейн да бъдат защитени с SSL сертификат, който работи с актуални версии на уеб сървърите като LiteSpeed Web Server 5.0, Nginx 1.9.5 или Apache 2.4.17 (mod_http2). Доскоро това бе приоритет само на малка част от уеб сайтовете, между които гигантите Google, YouTube и Facebook. Повечето от собствениците на уеб сайтове се въздържаха от предимствата на новата HTTP/2 технология, тъй като това беше обвързано с допълнителен разход за SSL сертификат. Навлизането на безплатните SSL сертификати преодолява това препятствие.

От 3-ти май 2016 г. всички нови и настоящи клиенти на Host.bg могат да инсталират безплатен SSL сертификат. Сертификатите се издават от организацията Let’s Encrypt за период от три месеца, но подновяването им става чрез инструмент в контролния панел (cPanel). При наличието на SSL сертификат за сайта/домейна и поддръжка от страна на уеб сървъра, ползването на HTTP/2 от потребителите е напълно прозрачно.

За да проверите дали посещаван от вас сайт е с HTTP/2 поддръжка можете да използвате безплатните разширения за браузърите Chrome и Firefox.

HTTP протоколът е в основата на интернета, който всички ние познаваме днес. Той управлява връзката между уеб сървъра, на който се намира сайта ви и браузъра, който потребителят използва, за да го достъпи. Благодарение на този протокол ние четем последните новини, пазаруваме онлайн, гледаме видеа в YouTube и посещаваме любимите си сайтове от всякакъв вид устройства. За съжаление протоколът не е променян от 1999 година, когато беше пусната версия 1.1. Ето защо, публикуването на HTTP/2 спецификацията в края на миналата година беше причина за големи вълнения сред специалистите. Разбира се, ние от Host.bg обърнахме заслужено внимание на това значимо за технологиите събитие и днес всички наши нови хостинг планове поддържат HTTP/2.

Защо HTTP се нуждаеше от ъпдейт?

Модерните уеб сайтове и приложения генерират стотици HTTP заявки, а HTTP/1.1 започна да изостава от нуждите и непрекъснато нарастващите изисквания на потребителите и новите технологии. През последните 16 години на уеб разработчиците им се налагаше да проявяват висока креативност по отношение на преодоляването на HTTP/1.1 ограниченията. Нуждата от нови функционалности и по-висока скорост при зареждане обаче, наложи разработката на нова версия на протокола.

Какво е новото в HTTP/2?

HTTP/2 е базиран на мрежовия протокол SPDY, разработен от Google като се фокусира изцяло върху подобряване на производителността и сигурността, предлагайки следните подобрения:

  • Мултиплексиране

Уеб сайтовете и приложенията изискват от уеб браузъра изпълнението на много заявки едновременно. В началото HTTP/1.0 дава възможност за изпълнението само на една заявка през една TCP връзка, което е причина за така нареченият head-of-line blocking. От HTTP/1.1 се опитваха да разрешат проблема с технологията Pipelining, която дава възможност да се правят множество заявки с една TCP връзка. Въпреки това все още са на лице забавяния, предизвикани от реда на изпълнение на заявките.

Изпълнението на заявките към сървъра при HTTP/1.1 обикновено е в следния ред: браузърът изпраща заявка и чака за отговор от сървъра преди да изпрати следващата заявка. Това води отново до забавяния, тъй като по този начин при постъпване на множество заявки, те се изпълняват една по една, по ред на постъпване.

Решението, което HTTP/2 предлага е мултиплексиране. Чрез него множество заявки могат да бъдат обработени по едно и също време през една TCP връзка. За да реши проблема със забавянията, протоколът използва фреймове, като всеки фрейм съдържа мета информация за заявките/отговорите които се изпълняват през една връзка.

httpvshttp2-1024x711

Това е пример за това как различните версии на протокола (HTTP/1.1 и HTTP/2) обработват заявките. От диаграмите може да се види, че при HTTP/2 не се блокира изпълнението на третата заявка, въпреки че за изпълнението на втората заявка сървърът се нуждае от повече време.

  • Компресиране на хедъри

Уеб браузърите използват пакети от информация, наречени хедъри, за да информират сървърите от каква информация се нуждаят и в какъв формат да бъде доставена. За разлика от HTTP/1, при който за всяка заявка се изпраща отделен хедър, HTTP/2 изпраща един хедър в една TCP връзка и освен това дава възможност за компресиране на хедърите. То води до по-малък обем на предаваната информация и е още един фактор, допринасящ за по-бързото зареждане на страниците.

  • Приоритизиране

Едно от най-големите предимства на HTTP/2 е това, че браузърите могат да приоритизират заявките, които правят към сървъра. По този начин отговорите от страна на сървъра се изпращат в зависимост от приоритета, което от своя страна дава сигурност, че важната информация винаги ще стигне първа при потребителите.

LiteSpeed хостингът увеличава скоростта и оптимизира процесорното време

LiteSpeed хостингът увеличава скоростта и оптимизира процесорното време

Изцяло обновените хостинг планове на Host.bg вече се обслужват от последно поколение сървърни конфигурации, работещи със специализиран софтуер за увеличаване на производителността и ускоряване на зареждането на уеб сайтовете – LiteSpeed.

Нововъведената технология осигурява на нашите клиенти висока ефективност и бързодействие във всеки един момент и е чудесно решение за натоварени уеб сайтове с висок трафик и огромен брой посетители.

LiteSpeed е високо производителен уеб сървър, осигуряващ висока мащабируемост, който заменя стандартния Apache уеб сървър с цел допълнително увеличаване на скоростта на обслужване на уеб страниците, както и за оптимизиране на процесорното време и RAM потреблението.

Тестовете показват, че LiteSpeed е в пъти по-бърз в обработката на PHP скриптове от Apache когато става въпрос за динамично съдържание.

Small-Static-Benchmark-Screen-Shot1LiteSpeed е първият уеб сървър с поддръжка на протокола HTTP2. Той от своя страна се смята за революционна стъпка в решаването на въпроса с латентността на уеб страниците. Посредством компресиране на данните и оптимизирано обслужване на уеб заявките, протоколът постига забележимо увеличение на скоростта за отваряне на сайтовете.

LiteSpeed осигурява също следните предимства:

  • Поддръжка на PHP4, PHP 5 и PHP 7;
  • Съвместимост с всички популярни контролни панели, като cPanel, DirectAdmin, Plesk, Interworx и др.;
  • Използване на малко системни ресурси;
  • Високо ниво на сигурността и mod_security съвместимост.

LiteSpeed уеб сървър се предлага за всички планове на споделен хостинг и като опция за виртуалните сървъри от Host.bg. Той може да бъде допълнително инсталиран към OpenVZ, KVM и SSD VPS-и. За оптимизиране на електронни магазини изградени с платформата Magento, Host.bg предлага допълнителен Magento модул разработен с LiteSpeed технологията.

Expand Your Horizons – различната конференция

Expand Your Horizons – различната конференция

Host.bg подпомогна събитие от нов формат, което преодолява стандартните методи за комуникация и възприемане на нова информация, организирано от New Horizons. В течение на два пълни дни мениджъри в сферата на информационните технологии, управлението на проекти и бизнес анализа не просто слушаха, а  в интерактивен режим, чрез активно участие в лаб сесии, бизнес симулации, уъркшопи и дискусионни кръгове бяха провокирани да приемат нови роли и предизвикателства.

Конференцията Expand Your Horizons, организирана от Ню Харайзънс България се проведе на 14-ти и 15-ти април 2016 г. в Интерпред СТЦ, София. Събитието беше изцяло практически ориентирано с включени интерактивни лекции, бизнес и ролеви игри и брейнсторм обсъждания, в които участниците имаха възможност да почерпят опит от експерти, доказани както на българския, така и на международния пазар.

Пет паралелни технически сесии на тема Linux & Open Source, .NET development & Automation Testing, Microsoft Administration, Information Security и IT Management бяха включени в програмата за първият ден.

Вторият ден протече с уъркшопи за управление на бизнес проекти, анализ и бизнес симулация Bridge-IT: Project/ Program Management.

Като официален спонсор на събитието ние от Host.bg бяхме там и през двата дни, за да изразим пълната си подкрепа към иновативните методи на тази различна конференция и разкажем на всички участници за нашите нови и атрактивни предложения.

Освен с нови знания и умения, един от участниците си тръгна и с подарък от нас – Sony Smartwatch 2.