NDA 2019 Exam Date

NDA 2019 Exam Date

Here we have provided the official schedule of NDA (1) and NDA (2) 2019 examinations:

EventsNDA INDA II
Release of notification9th January 20197th August 2019
Application form available9th January 20197th August 2019
End date to submit the application4th February 20193rd September 2019
Admit card release1 or 2 weeks before the exam1 or 2 weeks before the exam
Exam date21st April 201917th November 2019
Declaration of resultMay 2019November 2019

10 Secrets that will make you a master of Opencart Events

10 Secrets that will make you a master of Opencart Events

If you are an Opencart Developer, you have probably heard about events. If you come from wordpress like me, you would definitely relate this to their hooks API and when Opencart Events first arrived in opencart 2.0.0.0 they were very similar in terms of the naming approach. This changed in the version 2.2.0.0 when the Opencart team changed the way events where triggered and this we believe will revolutionize Opencart forever.

What are events?

First of all, what are ¨events〃 in the opencart core understanding? Events are methods that are called when an action takes place. In other words, you can define specifically the moment when you want your custom function to run in the opencart store.

You can find more information here and here

10 Secrets that will make you a master of Opencart Events?

Why not use VQMOD/OCMOD?

Before ¨events〃 for a long time we have been using VQMOD, a modification system that uses an XML file to add changes to files of opencart. It would run in the beginning, creating vqmod cache files with the modifications and then the opencart core system would use those new files to make the changes. In other words, you would change the codebase, but the changes would be added on the fly.

The idea was great at that moment and it really boosted opencart since it allowed for the developer to create any kind of modification without altering the actually core files, making installation of modules and the future opencart upgrade easier.

As good as it sounds, it created a whole level of conflicts between custom modules, leading to hours and even days of work to fix. Mostly, due to poorly created modifications.

Still, even with this drawback, VQMOD, and further OCMOD, a native implementation of VQMOD concept directly in Opencart, gives us, developers, a great tool.

So how can Events help me better then VQMOD/OCMOD?

Events are simple functions that execute at a specific moment in your opencart runtime and modify the output  not the codebase. For example, if you want to run a function before the common/header controller is loaded, you can do that. Or if you want to add some html to the output of the common/header view  you can do that as well. There is no file manipulation so you wonˇt need to worry about creating conflicts by altering the code  the code base stays the same.

Sound interesting, but how do I actually use it?

Lets try an example. Say, you have another tpl file for the header and you need the header controller to load my_custom_header.tpl.

VQMOD/OCMOD solution:

Create a modification that would edit the $this->load->view method in the controller.

  1. <file name="catalog/controller/common/header.php">
  2.   <operation>
  3.     <search position="replace"><![CDATA return $this->load->view('common/header', $data);]]></search>
  4.     <add><![CDATA return $this->load->view('common/my_custom_header', $data);]]></add>
  5.   </operation>
  6. </file>

This works perfectly until another extension comes along and needs this line of code to work. Now you have a conflict.

Eventˇs Solution:

With events you will not alter the code, you will change the $route parameter, that is passed into the $this-load->view($route, $data) like so.

Create a file (use descriptive names  saves the time of finding the right event file):
catalog/event/change_view_common_header.php

Code:

  1. <?php
  2.   class ControllerEventChangeViewCommonHeader extends Controller {
  3.     public function before_view(&$route, &$data, &$output){
  4.       $route = str_replace('common/header', 'common/my_custom_header', $route);
  5.     }
  6.   }

Now add the trigger:

  1. $this->load->model('extension/event');
  2. $this->model_extension_event->addEvent(ˉmy_custom_header', 'catalog/view/common/header/beforeˇ,ˇ event/change_view_common_header/before_viewˇ);

You would need to add the trigger yourself during the installation of your module or use the Event Manager to do it manually

10 Secrets that will make you a master of Opencart Events?

Of course there could be an extension that also wants to change the tpl file and load its second_custom_header.tpl  so there are always a possibility of conflicts, yet with events the chances are dramatically reduced.

You can find more information in the documentation here

10 Tips that will make you events rock!

There are some rules you should know about events and trigger naming before diving into events.

1. The trigger name starts with admin or catalog. Even if you are calling a config file,which is in systemfolder, you will call it either in admin or catalog.Ex: trigger: admin/config/admin/after

2. Actions are defined only in the controllers. So even if you want to trigger them for a model, you still must define them in a controller. Ex: file location will be admin/controller/event/admin_config_modification.php

3. The Catalog View trigger before and after are different. This is not necessarily a bug, yet is not obvious from the start. Ex: before trigger: catalog/view/common/header/before Ex: after trigger: catalog/view/default/template/common/header/after

The reason this happens, is that the controller passes the $route value of ‘common/header’ yet opencart builds up the $route with the theme settings using an event action located in catalog/controller/event/theme.php. This only happens in the

catalog (frontend) and not in the admin since admin does not have a theme option.

4. You can use the wildcard symbol (*) in your trigger. This will save you the time creatingalmost the same triggers for different paths.

5. You will need to set the events upfront in your admin using the event model from your admin/model/extension/event.php. The perfect way of adding is when someone is installing your extension.

6. You can not create events from the catalog, only admin. There is no method in the catalog/model for that. Well, why would you, right?

7. Remember, that the $this-&gt;load- &gt;config does not return anything, so you can’t actually modify the $output of the config file, yet you can still add modify with $this-&gt;config-&gt;set() method.

8. Same goes for Language files, the only difference is the language $output is returned and you can evaluate it. But you still need $this-&gt;language- &gt;set() method to modify.

9. To avoid theme conflicts, you can alter the html $output of the view with simple html DOM library. You can also move the selectors to the module config and allow edit in the admin panel for the user to set it in case the custom theme differs from the default.

10. Remember that your event action is not he only one in the loop. Try to return the$output that the next action can safely use. This is probably the most important rule of them all.

NEW DELHI: Satta Matka is a form of gambling or lottery that ..

NEW DELHI: Satta Matka is a form of gambling or lottery that ..

NEW DELHI: Satta Matka is a form of gambling or lottery that had originated before the Independence of India.

Originally, the game of Matka gambling involved betting on the opening and closing rates of cotton as transmitted to the Bombay Cotton Exchange from the New York Cotton Exchange, via teleprinters.

The modern-day Matka gambling/ Satta King is based on random number selection and betting. The players participating in the Satta Matka game/ gambling are required to choose the right number for winning the game. The player who wins the game becomes Satta King and is rewarded financially.

Two of the most famous Matka games are – Kalyan and Worli.

The Kalyan Matka gambling was started by Kalyanji Bhagat, a farmer from Gujarat, in 1962 and it ran for all days of the week.

Another Matka gambling, New Worli Matka, was started by the Rattan Khatri in 1964 with slight modifications to the rules of the game. Khatri’s Matka ran only five days a week, from Monday to Friday.

TermMeaning
MatkaMatka means earthen pot that were used to draw numbers
SingleAny digit between 0 and 9
Jodi/PairAny pair of two digits between 00 and 99
Patti/PannaThree digit number
Open result / close resultOutcome of matka betting
BerijBerij is last digit of jodi’s/pair’s sum

Any form of Satta Matka gambling is illegal in India.

Disclaimer: This content is for reference purpose only and The Times of India claims no ownership of this content. The Times of India does not support or promote piracy in any manner.

What’s new at Firebase Summit 2018

What’s new at Firebase Summit 2018

Here at Firebase, we believe that apps improve the way people live, work, learn, and socialize. That’s why our mission is to make app development as easy as possible by giving you a platform that solves key challenges across the app lifecycle. Whether you’re an up-and-coming startup or a well-established enterprise, Firebase can help you build your app, improve its quality, and grow your business.

It’s exciting to evolve Firebase alongside our passionate community. Right now, over 1.5 million apps are actively using Firebase every month. We love hearing your stories; they inspire us to keep making Firebase even better so you can continue to succeed. One story we heard recently is from Hotstar, India’s largest entertainment app with over 150 million monthly active users around the world.

A few months ago, the Hotstar team safely rolled out new features to their video watch screen during a major live-streaming sports event. These changes, along with updates to their onboarding flow, increased user engagement by 38%! Impressively, by using a combination of Firebase products, Hotstar was able to do this without disrupting users, sacrificing stability or releasing a new build.

Learn more about their story here:

Today, we’re hosting the third annual Firebase Summit in Prague to meet many more members of our developer community and learn about the great things they’re building. All sessions will be posted to our YouTube channel or you can read on to learn about all the exciting new updates we’re announcing today!

Supporting sophisticated development teams

We’ve been working hard to make it easier for sophisticated app development teams to use Firebase. Today, we’re excited to share that we’ll be adding support for Firebase to our Google Cloud Platform (GCP) support packages, available in beta by the end of this year.

If you already have a paid GCP support package, our beta will let you get your Firebase questions answered through the GCP support channel – at no additional charge. When this new support graduates to general availability, it will include target response times, technical account management (for enterprise tier), and more. You can learn more about GCP support here.

If you’re planning to stick with Firebase’s free support, don’t worry – we don’t plan to change anything about our existing support model. Please continue to reach out to our friendly support team for help as needed.

In addition to Cloud support, we’ve made improvements to Firebase across the board. More below!

New tools for building better apps

Manage projects with ease via Firebase Management API

We’ve worked hard to open access to our server-side APIs, so that you can easily integrate Firebase services with your existing systems. Today we’re releasing the Firebase Management API, a REST API that allows you to create and manage projects and apps programmaticallyNow, you can create and destroy Firebase environments as part of your existing developer workflow.

The Management API is also enabling partners to build awesome new experiences. We’re thrilled to share that you can now deploy to Firebase Hosting directly from within StackBlitz and Glitch, two web-based IDEs. Their platforms will now automatically detect when you are creating a Firebase app and allow you to deploy to Firebase Hosting with the click of a button, without ever leaving their platforms.

What’s especially cool is that this isn’t just for partners. This is a new, extensible API and we’re very excited to see what you build with it. You can learn more and get started here.

Enhanced face detection with ML Kit

Launched at Google I/O in May, ML Kit makes machine learning easy and accessible for all app developers, regardless of your experience with ML. If you’re new to the space you can use ML Kit’s out-of-the-box APIs, like text recognition or face detection, or if you’re more experienced you can bring your own custom TensorFlow Lite models and serve them through Firebase.

Today, we’re expanding on the face detection API with the beta launch of face contours, allowing you to detect 100+ detailed points in and around a user’s face. The face contours functionality empowers apps to easily overlay masks or accessories on facial features with high fidelity and accurate positioning, or add beautification elements, like skin smoothing or coloration. See our docs to learn more!

Increased confidence in deployment with Cloud Firestore

In the past, we’ve heard feedback that testing can be tricky on Firebase. For example, it’s sometimes hard to set the right rules to ensure your apps are secure. To help with this problem, we’re releasing local emulators for Cloud Firestore and the Realtime Database. These emulators let you develop and test locally, and can be built into your continuous integration workflow so you can deploy with more confidence and peace of mind. Learn more about the emulator here.

Propagate Remote Config updates in near real time + integration with Cloud Functions

Developers love using Remote Config because it gives them the ability to modify their app, customize the UI, or release a new feature without deploying a new version that could disrupt users. But, there was no easy way of knowing when an app’s Remote Config was updated! You had to fetch updates from Remote Config every few hours to ensure your users always saw the latest changes in their app.

Today, we’re happy to announce that Remote Config now integrates with Cloud Functions & Firebase Cloud Messaging so you can notify your apps in near real time when you publish (or rollback) a new config. This reduces the set-up complexity of Remote Config and uses less bandwidth on devices because apps only need to fetch when a new config is available.

Additionally, Remote Config can now trigger developer-defined functions when you publish or rollback your config. This way, you can keep different Remote Config projects in sync (for development/staging/production environment workflows), as well as send Slack messages to your team when a new config is published. To learn more, visit our docs!

From our early access partner eBay:

“The combination of the Cloud Functions with the Firebase Remote Config REST API has allowed my distributed team at eBay to be instantly notified of any changes to our application’s configuration. Using these tools to create a function which pushes changes to Slack ensures everybody who needs to know about a configuration change has that information immediately.”

– Jake Hall, eBay Classifieds Group Mobile Architect

New tools for improving app quality

Test Lab for iOS graduates into general availability





At Google I/O, we also launched the beta availability of Firebase Test Labfor iOS. Over the last several months, we’ve expanded the iOS device farm, added support for iOS 12 as well as for older iOS versions, and integrated the UI for iOS into the Firebase console. With these updates, we are graduating Test Lab for iOS out of beta and into general availability. Learn more and get started with Test Lab today!

Performance Monitoring: Sessions insights and issues management

Even if you run thorough tests throughout your development lifecycle, bugs and performance issues will pop up in your production app from time to time. Performance Monitoring gives you insight into these issues and automatically surfaces the most critical issues in a given trace instance (i.e. a particular app start or checkout flow). Now, you can dive into an individual trace session to see exactly what was going on when a performance issue occurred.

For example, in the following dashboard, you could see that CPU usage spiked after the app fetches and renders a product image, which tells you the specific part of code to investigate.

With all the data and issues that Performance Monitoring surfaces, it can be hard to prioritize your efforts. That’s why we’re also launching the ability to “mute”, “close”, and “reopen” issues in your console. Muting temporarily silences the issue, so you can concentrate on other work, until you’re ready to tackle it. Marking an issue as closed indicates that it’s been solved, but Firebase will notify you if it occurs again.

Learn more about session insights and issues management here.

Crashlytics is now integrated with PagerDuty

App performance and stability issues can occur anytime. To help you stay on top of stability, even when you’re away from your desk, we’re introducing a Firebase Crashlytics stability digest email and a new integration with PagerDuty. The stability digest highlights emerging issues that could become problematic in the future, while the PagerDuty integration allows you to alert your team about a high impact crash, any time of day. To connect Crashlytics with PagerDuty, follow the steps here.

Do more with your data with BigQuery + Data Studio

Earlier this year, we integrated Crashlytics with BigQuery so you can run deeper analysis on your crash data. To help you get started in BigQuery, we’ve put together a Data Studio template, so you can quickly produce a shareable report. You can preview the template with mock data, and then customize the report to suit your needs. Learn more here.

New tools for growing your business

Predictions graduates out of beta into general availability

Last year at the Firebase Summit, we introduced you to Firebase Predictions. Predictions applies Google’s machine learning to your app analytics data to create user segments based on predicted behavior. Without requiring anyone on your app team to have ML expertise, Predictions give you insight into which segments of users are likely to churn or spend (or complete another conversion event) so you can make informed product decisions. This year, we’re excited to announce that Predictions is graduating out of beta and into general availability with a host of new features designed to make Predictions more useful.

Wondering what goes go into any given prediction? We added a new details page that shows you what factors the ML model considered (like events, device, user data, etc.) to make that prediction. We also now expose performance metrics for each prediction, letting you see how the prediction has performed historically against actual user behavior, so you can better calibrate your risk tolerance level. And, if you want to do a deeper analysis of prediction data or use it in third party services, you can export your complete prediction dataset to BigQuery.

Check out our docs to learn more!

Reach users more effectively with dynamic audiences in Google Analytics

Google Analytics for Firebase has always given you the ability to segment your users into audiences based on events, device type, and other dimensions. Now, we’re enhancing the audience builder with a few major updates: dynamic audience evaluation, audience exclusion, and membership duration.

First, audiences are now dynamic by default, meaning that Firebase will pull in new users that meet your criteria and automatically remove users that no longer meet your criteria. If, for example, you set up an audience of users who are on level 5 in your game, as users beat the level and move on to level 6, they will automatically be removed from the audience. Conversely, once users advance to level 5 they will automatically be added to the level 5 audience you’ve established.

Secondly, you can refine your audience by adding exclusion criteria using and/or statements which enable you to create audiences like “users that have added to their shopping cart but not made a purchase”.

Finally, audiences can now include a membership duration, allowing you to ensure that your audiences stay fresh. This enables you to target users who have completed an action within a specific time period, e.g. “made a purchase within the past two weeks”.

Dynamic audiences allow you to reach your users more effectively with relevant messaging and a more personalized app experience. Learn more and get started with dynamic audiences here.

Run automatically recurring campaigns with Cloud Messaging

Once you’ve defined your user segments using Analytics or Predictions, you can use Firebase Cloud Messaging (FCM) to send notifications to latent users to bring them back into your app. We’ve redesigned the notifications console to support more sophisticated campaigns. This new UI gives you the power to set up recurring notification campaigns that automatically send messages to new users as they meet the targeting criteria. Previously, you could only schedule one-time sends.

Additionally, the new notifications UI allows you to easily target users based on the date of their first session or the number of days since they last opened an app. And last but not least, we’ve updated the campaign results view so you can track the effectiveness of recurring notification campaigns day-by-day.

Check out the new UI on your console!

advantages and disadvantages of amazon web services

advantages and disadvantages of amazon web services

The AWS bouquet of services includes the following:

  • Simple Storage Service – This covers archiving of application programs and data and online backup. The service is low cost, high speed and scalable.
  • CloudDrive – This lets users utilize web-connected devices to access and upload photos, music, documents, and videos. They can also use their devices to stream music.
  • RedShift – The service is designed for analytic workloads connecting with business intelligence tools and standard SQL based clients. It is a data warehouse service that handles petabyte-scale data.
  • CloudSearch – is used for the integration of customized search capabilities and is a scalable search service.
  • Mechanical Turk – This lets developers incorporate human intelligence in remote procedure calls. It is an application program interface (API) that uses a human network to carry out tasks that computers are not suitable for.
  • Dynamo Database – is a NoSQL database which is fully managed and known for its scalability and low latencies.
  • ElastiCache – is protocol-compliant with Memcached, which alleviates database load by speeding up dynamic web applications. Memcached is an open source and high performing distributed memory object caching system. ElastiCache is a fully managed caching service.
  • Elastic Compute Cloud – can be used as an unlimited number of virtual machines and lets business subscribers run app programs.

Satta Matka 2023: भारत में बढ़ रहा है सट्टा मटका का क्रेज, ऑनलाइन खेलते हैं लोग

Satta Matka 2023: भारत में बढ़ रहा है सट्टा मटका का क्रेज, ऑनलाइन खेलते हैं लोग

भारत में Satta Matka लगाने का क्रेज लोगों के बीच बढ़ता जा रहा है। पुलिस और प्रशासन के लगाम लगाने के बावजूद लोग चोरी छिपे सट्टा मटकाखेलते हैं। पुलिस से बचने के लिए आजकल कई लोग Online Sattaखेलते हैं। इससे उनके बारे में किसी को पता नहीं चलता है।

गैरकानूनी लॉटरी गेम है सट्टा मटका 
सट्टा मटका एक तरह की Lottery Game है इसकी शुरुआत अमेरिका में हुई थी लेकिन भारत में भी यह काफी लोकप्रिय हो चुका है। यह एक तरह का सट्टा गेम है। इसे मटका इसलिए कहा जाता है क्योंकि पुराने समय में मटके में नंबर डाले जाते थे। भारत में सट्टा मटका खेलना गैरकानूनी है लेकिन लोग फिर भी इसे खेलते हैं।

कैसे खेलते हैं सट्टा मटका
सट्टा मटके में कई नंबर होते हैं जिसमें से एक यूनिक नंबर पर ही लॉटरी निकलती है अगर आपका वो नंबर निकल गया तो आप मालामाल हो जाएंगे अगर नहीं निकला तो सारे पैसे गंवा देंगे।

ऑनलाइन भी खेलते हैं सट्टा मटका
टेक्नोलॉजी के विस्तार के कारण अब कई तरह के Satta Matka 2018 ऑनलाइन खेले जाते हैं यहां तक कि इसके कई ऐप्स भी मौजूद हैं। पुलिस से बचने के लिए लोग इसे खेल को ऑनलाइन भी खेलते हैं क्योंकि इसमें पकड़े जाने के चांस बहुत कम होते हैं।



कई तरह के होते हैं सट्टा मटका गेम्स
भारत में कई तरह के सट्टा मटका गेम्स खेले जाते हैं जैसे कल्याण मटका, कुबेर मटका, दी पी बॉस, मैन मुंबई मटका, इंडियन मटका, वाली मटका, सुपर डे मटका, बॉस मटका, कुबेर मटका, मधुर मटका, ब्लैक सट्टा, गली दिसावर, गुरु दिल्ली, मायापुरी, दिल्ली किंग, मुंबई मॉर्निंग आदि।

डिस्क्लेमर: इस खबर का उद्देश्य सिर्फ आपको खबरों से अपडेट रखना है। हम किसी भी तरह से सट्टा/ जुआ या इस तरह की गैर-कानूनी गतिविधियों को प्रोत्साहित नहीं करते हैं।

5 Situations Where Your Train Ticket Refund Can Be Rejected

5 Situations Where Your Train Ticket Refund Can Be Rejected

5 Situations Where Your Train Ticket Refund Can Be Rejected

You may have booked a train ticket through IRCTC website or from the railway ticket counter but you later had a change of plan and decided to cancel the ticket. If you haven’t received the refund, here are 10 such situations that may be the reason for rejection of refund request by IRCTC. Note that these are applicable on e-tickets or i-tickets only.

1. Tatkal ticket

Tatkal ticket provision allows passengers to book a train journey ticket just 24 hours prior to the date of the journey at a higher price. These were introduced for last minute bookings for people travelling due to various emergency reasons

However, no refund is provided to the user on cancellation of a confirmed tatkal ticket. If your ticket was on the waitlist or incase of contingent cancellation, you will get a partial refund from the department as per the prescribed rules. Partial cancellation of Tatkal e-tickets is allowed.

2. Confirmed ticket on the day of journey

You will not be receiving any refund if you cancel a confirmed ticket less than 4 hours prior to the train’s scheduled departure. If a confirmed ticket is cancelled more than 48 hrs before the scheduled departure of the train, flat cancellation charges shall be deducted at Rs.240 for AC First Class/Executive Class, Rs.200 for AC 2 Tier/First Class, Rs. 180 for AC 3 Tier/AC Chair car/ AC 3 Economy, Rs.120 for Sleeper Class and Rs.60 for Second Class.

Cancellation charges are per passenger. If a confirmed ticket is cancelled within 48 hrs and up to 12 hours before the scheduled departure of the train, cancellation charges shall be 25% of the fare subject to the minimum flat rate mentioned in the above clause.

3. RAC ticket on the day of journey

Any refund will not be given by the Indian Railways on a RAC (reservation against cancellation) e-ticket if the cancellation is not filed up to 30 minutes before the scheduled departure of the train.

4. Party tickets

In case, on a party e-ticket or a family e-ticket issued for travel of more than one passenger, some passengers have confirmed reservation and others are on RAC or waiting list, full refund of fare (minus clerkage), shall be admissible for confirmed passengers also subject to the condition that the ticket shall be cancelled online or online TDR shall be filed for all the passengers up to thirty minutes prior to the scheduled departure of the train.

5. Lost I-ticket

If you lose your ticket, make sure you inform the authorities immediately about the loss. The passenger can be issued a duplicate ticket in such a case  to be able to travel on the reservation made but a refund cannot be granted on the grounds of loss of ticket.

SBI Changes Cash Deposit Rules For Its SB Accounts

SBI Changes Cash Deposit Rules For Its SB Accounts

State Bank of India savings account holders, India’s biggest bank has removed the limit on the quantity which will be deposited in an exceedingly non-home branch. This was declared by SBI on Twitter.

“Good news SBI customers! Currently, the higher cap for depositing money at a non-home branch has been updated,” the bank said. A home branch is that the branch wherever a client includes a checking account. All alternative branches of the bank ar non-home branches for the client.

According to SBI’s tweet, in personal savings checking account, there’ll be no restrictions on the quantity which will be deposited at a non-home branch. Earlier, this limit was Rs twenty five,000, in line with SBI’s web site. SBI levies Rs fifty (plus GST) per dealing on money deposits at non-home branches, says its web site.

For SME section accounts, the cap on money deposits at non-home branch remains at Rs 2 lakh per day, SBI same within the tweet.

SBI has been urging its customers, WHO hold magstripe debit cards, to change to chip-based debit cards. “Do not take a chance; get increased security for your charge account credit by applying for the SBI EMV Chip charge account credit with no fee at your branch or through OnlineSBI,” said SBI in another tweet.

INSTALL LARAVEL ON UBUNTU 17.04 / 17.10 WITH APACHE2, MARIADB AND PHP SUPPORT

INSTALL LARAVEL ON UBUNTU 17.04 / 17.10 WITH APACHE2, MARIADB AND PHP SUPPORT

Laravel is a flexible and lightweight open source PHP framework with Model-View Controller (MVC) design pattern. It can be a great alternative to CodeIgniter framework. Laravel is designed for ease of use to allow developers create great applications.

If you’re looking for a simple and straightforward PHP framework to design your next application, you’ll find Laravel to be useful. This brief tutorial is going to show students and new users how to install Laravel PHP framework on Ubuntu 17.04 / 17.10 with Apache2, MariaDB and PHP support.

To get started with installing Laravel, follow the steps below:

Step 1: Install Apache2

Laravel requires a webserver to function and the second most popular webserver in use today is Apache2. So, go and install Apache2 on Ubuntu by running the commands below:

sudo apt install apache2

Next, run the commands below to stop, start and enable Apache2 service to always start up with the server boots.

sudo systemctl stop apache2.service
sudo systemctl start apache2.service
sudo systemctl enable apache2.service

Step 2: Install MariaDB

Laravel also requires a database server… and MariaDB database server is a great place to start. To install it run the commands below.

sudo apt-get install mariadb-server mariadb-client

After installing, the commands below can be used to stop, start and enable MariaDB service to always start up when the server boots.

sudo systemctl stop mariadb.service
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

After that, run the commands below to secure MariaDB server.

sudo mysql_secure_installation

When prompted, answer the questions below by following the guide.

  • Enter current password for root (enter for none): Just press the Enter
  • Set root password? [Y/n]: Y
  • New password: Enter password
  • Re-enter new password: Repeat password
  • Remove anonymous users? [Y/n]: Y
  • Disallow root login remotely? [Y/n]: Y
  • Remove test database and access to it? [Y/n]:  Y
  • Reload privilege tables now? [Y/n]:  Y

Restart MariaDB server

sudo systemctl restart mariadb.service

Step 3: Install PHP And Related Modules

Laravel is based on PHP.. so you’ll need to install it. To install PHP and related modules run the commands below

sudo apt install php libapache2-mod-php php-common php-mbstring php-xmlrpc php-soap php-gd php-xml php-mysql php-cli php-mcrypt php-zip

After install PHP, run the commands below to open PHP-FPM default file.

sudo nano /etc/php/7.1/apache2/php.ini           # Ubuntu 17.10
sudo nano /etc/php/7.0/apache2/php.ini           # Ubuntu 17.04

Then make the change the following lines below in the file and save.

memory_limit = 256M
upload_max_filesize = 64M
cgi.fix_pathinfo=0

Step 4: Install Composer To Download Laravel

Run the commands below to install composer package and install.. you must have curl package installed for the commands to work.. if not, just run sudo apt install curl to install it…

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

Change into Laravel directory and run the commands below to download and install Laravel for th e project you want to create… name the project whatever you want… for this post, we’re calling it MyProject..

cd /var/www/html
sudo composer create-project laravel/laravel MyProject --prefer-dist

After running the commands above, a new project directory will be created… Run the commands below to set the correct permissions for that directory..

sudo chown -R www-data:www-data /var/www/html/MyProject/
sudo chmod -R 755 /var/www/html/MyProject/

Step 5: Configure Apache2

Finally, configure Apahce2 site configuration file for Laravel. This file will control how users access Laravel content. Run the commands below to create a new configuration file called laravel.conf

sudo nano /etc/apache2/sites-available/laravel.conf

Then copy and paste the content below into the file and save it. Replace the highlighted line with your own domain name and directory root location.

<VirtualHost *:80>   
  ServerAdmin admin@example.com
     DocumentRoot /var/www/html/MyProject/public
     ServerName example.com

     <Directory /var/www/html/MyProject/public>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Save the file and exit.

Step 6: Enable The Laravel And Rewrite Module

After configuring the VirtualHost above, enable it by running the commands below

sudo a2ensite laravel.conf
sudo a2enmod rewrite

Step 7: Restart Apache2

To load all the settings above, restart Apache2 by running the commands below.

sudo systemctl restart apache2.service



Then open your browser and browse to the server domain name. You should see Laravel page.

http://example.com

You should then see Laravel default home screen