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 инструмент.

Какво ново в 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 технологията.

Премиум антиспам защита SpamExperts

Премиум антиспам защита SpamExperts

SpamExperts от Host.bg e професионален антиспам филтър, който предпазва от получаването на имейл съобщения със СПАМ, вируси и зловреден софтуер. Благодарение на своята иновативна технология филтърът ви защитава от получаване на нежелана поща без забавяне на пощата ви или загуба на писма.

> Самоусъвършенстващ се филтър:
SpamExperts е самоусъвършенстваща се технология за антиспам защита, която използва широк спектър от евристични алгоритми върху заглавията и съдържанието на имейлите за идентифицирането на нежеланата поща.

> До 99,98% СПАМ защита:
Изпратените към вас имейли ще бъдат автоматично сканирани за заплахи като фишинг, вируси и зловреден софтуер още преди да са попаднали в пощенската ви кутия.

> Без загуба на имейли:
Премиум антиспам защита SpamExperts от Host.bg се обслужва от най-висок клас облачни сървъри разположени в България, които няма да позволят нежелано забавяне на пощата ви или загуба на писма.

> Пестите време и пари:
Спрете да губите излишно време в четене и ръчно почистване на пощенската си кутия от СПАМ! Премиум антиспам защита SpamExperts от Host.bg ще филтрира нежеланата поща автоматично и ще оптимизира излишното запълване на пощенската кутия от СПАМ писма.

> Лесна интеграция:
SpamExperts филтърът от Host.bg може лесно да се управлява от вашия cPanel контролен панел. Специалното меню в контролния панел ще ви позволи да следите кои са филтрираните имейли, да управлявате нивото на защита или при необходимост да извадите от карантина конкретен имейл.

Свържете се с нас, за да активирате още днес вашата премиум антиспам защита.

PHP 7 подобрява скоростта и изразходването на памет

PHP7-blog
Следващата версия на един от най-широко разпространените програмни езици за създаване на динамични интернет страници PHP 7 e вече налична за всички планове на споделен хостинг от Host.bg.

Тестовете на PHP 7 направени на най-известните софтуерни рамки (frameworks) показват редица подобрения по отношение на скоростта и изразходването на паметта

frameworks

От страна на уеб разработчиците, PHP 7 ще предложи редица облекчения под формата на:

– Цялостна поддръжка на 64-битови данни при използвания 64-битов хардуер;
– Благодарение на обновените методи за работа с паметта и преструктуриране на записът на -данни, PHP 7 увеличава до два пъти производителността;
– Задаване на масив от константи в оператора define();
– Увеличение при поддържаните размери на файловете;
– Възможност за работа с данни чрез елиминиране на грешки, без прекъсване на работа;
– Поддръжката на анонимни класове;
– Наличен е оператор <=> за комбинирани сравнения;
– и други.

Данните единодушно сочат, че за потребителите PHP 7 ще се превърне в синоним на бързодействие с уебсайтовете, като до този момент при PHP 5.6 за зареждане на началната страница на WordPress базиран проект са били необходими ~ 100M CPU instructions при PHP 7 потреблението е намалено до 72% или ~ 25M CPU instructions

wordpress

Що е то “Grеylist” и има ли почва у нас?

spam2

Grеylist (Сив Списък) е един от основните и най-напреднали методи за борба със значимия проблем на съвременните услуги за електронна поща – спамът и мярка , която ние от Host.bg предприехме, за да облекчим работата на нашите клиенти . Всеки мейл сървър (MTA – Mail Transfer Agent), който изпраща до сървър с включен „Grеylist“ първоначално отхвърлен. Коректно конфигуриран MTA ще направи втори опит въз основа на обратното съобщение, което изпраща greylist сървъра. В зависимост от настройките на изпращащият MTA това може да стане след различен период от време. Ако се получи подобно потвърждение писмото бива доставено успешно и мейл сървъра се записва в greylist, което означава, че подобна проверка няма да бъде извършва при опит за доставяне на ново писмо от същият сървър за значителен период. С други думи – мейл сървъра попада в т.нар. „Whitelist”(Бял Списък). За да се допълни цветовата гама съществува и „Blacklist“ (Черен Списък). В него попадат MTA, които са изпратили огромно количество писма за кратък период от време, без повторно потвърждение (т.е. без да преминат успешно валидацията на Сивия списък). Попадането в този “Черен списък” на сървърите на Host.bg е за период от 24 часа, при което се връща грешка на изпращача, в която ясно е упоменато попадането в този списък. Този метод за борба със спама е ефективен поради спецификата на изпращане на спам съобщения. При подобни разпращания втори опит за доставяне на съобщението въобще не се прави или се осъществява непосредствено след първият, като по този начин не се преминава greylist проверката. Greylist-ът позволява ограничаването на огромни количества спам, които иначе биха <достигнали до нашите клиенти или затруднили работата на пощенските сървъри поради по-голямото количество спам, което ще бъде необходимо да се обработва от по-изтънчените антиспам филтри или индивидуални филтри на пощенските кутии. Възможни негативните ефекти от Greylist са, че е възможно известно забавяне при получаване на писма за пръв път от нерегистрирани до този момент сървъри (забавянето е различно, в зависимост от настройките на съответният MTA) или недоставяне, в случаите, когато сървър е попаднал в „Черния списък”. Често в този списък могат да попаднат сървъри за споделен хостинг, когато от тях е излизал спам – поради самата специфика на тези сървъри изпращането на спам от един клиент или недостатъчната борба с изходящият спам могат да повлияят на работата на всички останали коректни клиенти на въпросният споделен сървър.