Install Laravel 4.2 on Ubuntu Server 14.04 LTS

I was having a little trouble getting Laravel installed on a newly installed Ubuntu 14.04 LTS server. I’ve decided to document the whole process in hopes that I’ll use the documentation to good use once again sometime in the future. Who knows, someone will benefit from reading this. I’m not the only one that will be doing a Laravel installation on Ubuntu.

If you need to install Ubuntu from scratch, I recommend that use install LAMP and SSH because you’ll need those services to support Laravel. PHP, MySQL, Apache and SSH would be installed for you right out of the gate. In addition, I recommend that you install PHPMyAdmin for database administration.

In Ubuntu, the default document root is /var/www/. Before starting, let’s make sure we got the correct permissions for Apache, and for the user (you). This is to prevent so you don’t run into issues with write permissions on the document root.

Permissions for /var/www/

# Set group to www-data
sudo chgrp www-data /var/www
# Make it writable for the group
sudo chmod 775 /var/www
# Set GID to www-data for all sub-folders
sudo chmod g+s /var/www
# Add your username to www-data group
sudo usermod -a -G www-data username
# Finally change ownership to username
sudo chown username /var/www/
# Your account shouldn't have any more permission issues

Let’s get the prerequisites taken care of before installing Laravel

Install Curl

sudo apt-get install php5-curl

Install Mycrypt

sudo apt-get install php5-mcrypt

Activate Mcrypt

# Create a symbolic link
sudo ln -s /etc/php5/mods-available/mcrypt.ini /etc/php5/conf.d/mcrypt.ini
# Enable extension
sudo php5enmod mcrypt
# Restart Apache
sudo service apache2 reload

Enable Mod-Rewrite

# enable rewrite
sudo a2enmod rewrite
# restart apache
sudo service apache restart

Set up your Apache virtual host

# Copy default Apache conf
sudo /etc/apache2/sites-available/000-default /etc/apache2/sites-available/laravel.conf
# Edit laravel.conf and change DocumentRoot to /var/www/laravel/public
sudo nano /etc/apache2/sites-available/laravel.conf
# Edit laravel.conf add the following and save.
DocumentRoot /var/www/laravel/public
<Directory /var/www/laravel/public>
 Options Indexes FollowSymLinks MultiViews
 Allow Override All
 Order allow,deny
 allow from all
</Directory>
# Reload Apache
sudo service apache2 reload
# Disable default Apache conf
sudo a2dissite 000-default.conf
# Enable laravel.conf
sudo a2ensite laravel.conf
# Reload Apache
sudo service apache reload

Install Via the Laravel Installer

I found the Laravel installer to be the easiest way to install Laravel. Easier than Composer and Git.

cd /var/www/
wget http://laravel.com/laravel.phar

Move it to /usr/local/bin

sudo mv laravel /usr/local/bin/laravel

Make it executable

sudo chmod +x /usr/local/bin/laravel

Install Laravel

# projects is the destination folder
cd /var/www/
laravel new projects

The cool thing about this example is, I didn’t need to change permissions to “app/storage” since the user has the correct permissions to /var/www. Access Laravel from the IP address of your Ubuntu Server. The IP address of your Ubuntu server should be set to static. The network config file is located in /etc/networking/interfaces.

Ubuntu Releases

Canonical, the company behind Ubuntu is once again contemplating whether to go with interim releases or go with rolling releases. The company has entertained this idea at least once before ultimately settling with the old release schedule. Now, there are talks again of doing away the old schedule or going with a rolling release.

Why can’t Ubuntu do both releases. Canonical should do LTS (Long Term Support) for companies and individuals who clearly have a need for long term support, while most individuals like myself would rather have a rolling release to keep with latest developments, as well as avoid big haul upgrades every six months. That would be the ideal situation.

Are You Looking For A Linux Laptop?

You might want to try the Dell XPS 13. Dell is releasing a lightweight 13 inch XPS 13 laptop loaded with Ubuntu 12.04 LTS. It’s targeted for mostly developers, but is sold to anyone that’s interested. Here are some highlights from the article published by Computerworld.

For developers.

Over six months, Dell worked with the open-source community to develop tools, drivers and software for the OS to work on XPS 13.

It’s a little bit pricey.

The laptop has an Intel Core i7 CPU, 8GB RAM and 256GB of storage. Priced at $1,549, it comes with one year of on-site support as part of the package. The laptop is now available in the U.S. and Canada, and will become available in other countries next year.

The company has described the new XPS 13 with Ubuntu as a developer edition, but will sell the product to enterprises and consumers as well.

Some really great features here.

The joint development effort has also led to some new features unique to the laptop. One is called the “profile tool,” which enables developers to easily set up software development environments via quick access to tools for Ruby, JavaScript and Android in the github repositories.

Another feature on XPS 13 is the “Cloud Launcher” which Dell said allows for simulation of cloud environments on the laptop. The simulated environment can then be deployed directly to the cloud.

Amazon Ads on Ubuntu

Canonical plans to integrate Amazon search results in the next release of Ubuntu 12.10. This is an unpopular move to most Linux users because most Linux users want an ad-free environment. I recently moved away from Ubuntu due to the fact that I have to deal with technical issues every time there is a new release. I have to constantly fight with issues that were previously resolved and now broken again with the latest release. The introduction of Unity just made things even worse. I hate Unity. That’s one good reason, I moved away from Ubuntu to Linux Mint and Mate, since Mate is based on Gnome 2. Now, with the introduction of Amazon search results, in Ubuntu 12.10, will result in more Ubuntu users moving away to other distros. Good luck, Canonical. I hope you think more about your user base, that what actually goes into your pocket books.

Install Google Chrome On Ubuntu and Mint

Installing the Google Chrome browser on the latest release of Ubuntu or Linux Mint has never been easy. Just head over to Google Chrome website and download the latest Chrome browser package. Google does a great job of detecting what OS you’re running. Google Chrome is available on Debian, Ubuntu, Fedora and openSUSE.

Download Chrome

Once you clicked on the Download Chrome button, you’ll have to choose whether you want to run 32 bit or 64 bit version of the Google Chrome browser. If you have 64 bit OS, you can take advantage of the added processing power by running the 64 bit version of Google Chrome.

GDebi Package Installer

Once downloaded, just head over to your Downloads folder. There should be a deb package. Mine was named “google-chrome-stable_current_amd64.deb.” Just right click and use GDebi Package Installer program to install Google Chrome. Click on the “Install Package” to begin the installation.

Menu > Internet > Google Chrome

If you have Google Chrome previously, you will see a couple of different buttons other than Install Package. You will see a “Reinstall Package” and “Remove Package” buttons. After the installation, the Google Chrome icon should be in the Menu system, most likely under the “Internet” sub-menu system.

ProFTP Mod Vroot

I recently upgraded my personal server at home to Ubuntu 12.04 LTS. A day later, I realized the ProFTP server is no longer working. I’m not able to login at all. So, I restarted the ProFTP daemon and I was getting an error that says:

Fatal: LoadModule: error loading module ‘mod_vroot.c': Operation not permitted on line 74 of ‘/etc/proftpd/modules.conf’

The ProFTP mod_vroot module was not required in previous Ubuntu versions. When I upgraded to Ubuntu Server 12.04 LTS, it was displaying an error because the mod_vroot was not installed. To fix the problem, I just needed to open the Terminal and install the ProFTP mod_vroot module.

sudo apt-get install proftp-mod-vroot

In case you are wondering, the mod_vroot module implements a virtual chroot capability that does not require root privileges. The mod_vroot module provides this capability by using ProFTPD’s FS API. It also allows one to map a directory out of the user chroot as an alias in the chroot for sharing common directories.

In case, you have the same issue, this is an easy fix.

How Google Uses Ubuntu

I have been an Ubuntu evangelist for many years. I’ve been writing about Linux, and mostly about Ubuntu. The article written by Ubuntu Vibes is a confirmation that I’m not crazy after all.

One of the biggest technology companies in the world, Google, is in fact using Ubuntu. Ubuntu Vibes covered a recent Ubuntu Development Summit and had this to say about Google’s developer Thomas Bushnell.

“He starts by saying ‘Precise Rocks’ and that many Google employees use Ubuntu including managers, software engineers, translators, people who wrote original Unix, people who have no clue about Unix etc. Many developers working on Chrome and Android use Ubuntu and his cook in Google office uses Kubuntu.”

In addition, Google has a custom version of Ubuntu called Goobuntu which is based on the Ubuntu LTS or Long Term Support. You can read more about what Google is doing with Linux at Ubuntu Vibes.

Fix Ubuntu Sound With Module Assistant

I lost the sound on my Ubuntu desktop earlier tonight. I’m not exactly sure what caused it to stop suddenly. Anyhow, here’s the fix. I’m running Ubuntu 10.04 LTS. I did a little digging around and found one great solution that I would like to share. I’m sharing it, so others can benefit as well.

The solution needs the help of module-assistant, a command-line tool for handling module-source packages specifically for Debian-based distros, which Ubuntu is. Module-assistant will help users build and install module packages for custom kernels.

To apply the fix, you must first install Module Assistant. The command line is abbreviated as m-a. You will need to run update first, followed by prepare, and then run the auto-install of the alsa sound drivers. The series of commands below should do the trick. You will need to reboot after the install.

sudo apt-get install module-assistant
sudo m-a update
sudo m-a prepare
sudo m-a a-i alsa

Ubuntu Remove File Association

Removing file association in Ubuntu drove me crazy for a while. Although I already removed the Bluefish editor from my desktop, the file associations were still there. Right-clicking a file and removing the file association didn’t work for me. I even deleted the .bluefish directory in my home directory hoping that it would remove the file associations, but the associations were still lingering.

As it turns out, the file associations can be removed by accessing the ~/.local/share/applications directory and removing the files that needed deletion. In my case, there were 3 Bluefish files that needed to be deleted. Credits to Long Term Storage for the tip.

Remove File Associations

From the Terminal, type the following:

cd ~/.local/share/applications

View the file associations

ls -al

Remove the file association that you want deleted. In my case, I had to delete the Bluefish associations.

rm bluefish.desktop bluefish-project.desktop Bluefish Editor.desktop

As it turned out, removing file associations in Ubuntu is way easier than I thought it would be. That is it.