How I Became a Mac OS user

Years ago, I got tired of Windows for numerous reasons which I don’t have the time to elaborate in this post. Eventually, I switched to Linux. It was new, exciting, and the opportunity to learn something entirely different was fascinating to me. When Ubuntu Dapper Drake came along, I went all in. That was my desktop of choice for a very long time.

After each Ubuntu release, I worked hard to get everything working from the flash player, media, and just about every tool that I needed, just to get the desktop to function the way I wanted to. After several years of Ubuntu updates and fixing the desktop, I got tired of it. It was an exercise I really didn’t want to do every six months.

I switched to the Mac OS because it it’s based on BSD, a Unix variant, which is familiar to me. In some ways, I can get still get down and dirty using the Terminal if I wanted to. The Mac OS for the most part, is a very stable environment. And everything worked at get-go. I’ve been a Mac OS user ever since.

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.

# Install Tasksel
sudo apt-get -y install tasksel
# Install LAMP
sudo tasksel install lamp-server
# Install PHPMyAdmin
sudo apt-get install phpmyadmin

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

# 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

Install Laravel via Composer

Install Composer First

cd ~
curl -sS https://getcomposer.org/installer | sudo php

Installer Composer Globally

sudo mv composer.phar /usr/local/bin/composer

Install Laravel

# your-project is your destination folder
cd /var/www/
composer create-project laravel/laravel your-project --prefer-dist

Set up your Apache virtual host

# Copy default Apache conf
sudo cp /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
 AllowOverride 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

The cool thing about this example is, by setting up your /var/www permissions, you don’t need to change permissions to “app/storage” since you already have the correct permission to /var/www.

Finally, access Laravel from the IP address of your Ubuntu Server. The IP address of your Ubuntu server should be a static IP address. You can set this in the network config file called /etc/networking/interfaces.

Have fun!

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.