Tag Archives: Platforms

How to Setup the LAMP Stack on Mac OS X

Install Apache MySQL, & PHP on Mac OS X Yosemite

Setup LAMP on Mac OSX

LAMP is an acronym for Linux, Apache HTTP Server, MySQL relational database management system, and PHP server-side programming language.   This web service solution stack is a model for building dynamic web applications and web services.  Web developers can now implement this model on their Mac OS X Yosemite computers to support the development of web-based applications and web services.

Please use caution when installing new software on computer systems. A Best Practice includes creating system backups before changes.

How to Enable Apache Web Server on Mac OS X

The Apache HTTP Server Project is an effort to develop and maintain an open-source HTTP server for modern operating systems.

Apache Web Server is already included with Mac OS X Yosemmite.  This server can be started with the following steps.

Open a terminal window and log in as the root user:
$ sudo su –
(enter root password at the prompt)

Start Apache with the following command:
$ apachectl start

Verify the Apache Web Server is running on your Mac OS X by opening a web browser and navigating to http://localhost

 How to Enable PHP for Apache

PHP is a popular server-side scripting language designed for  web development.

Enabling PHP for the web server on Mac OS X requires an edit of the Apache configuration file.  A copy of the current version of this configuration file can be saved before the edit by running the following command in the terminal.

$ cp /etc/apache2/httpd.conf  /etc/apache2/httpd.conf.bak

The Apache configuration file can be edited by running the following command in the terminal.

$ vi /etc/apache2/httpd.conf

This will open the configuration file in the terminal window.  Edit this file by pressing “i” key.  Enable PHP for Apache by uncommenting (remove #) the following line.

Enable Virtual Hosting by uncommenting the following line.

Enable Mod Rewrite by uncommenting the following line.

Save and close this configuration file by pressing the “escape” key, then entering the following command.

$ :wq

How to Create Virtual Hosts in Apache

The term Virtual Host refers to the practice of running more than one web site on a single machine.  We enabled virtual hosting by allowing Apache to load the httpd-vhosts.conf file in the previous step of editing the httpd.conf file by uncommenting the following line.  Include /private/etc/apache2/extra/httpd-vhosts.conf

How to Define a Virtual Host in Apache

The site we are creating in the example is “mobile” with “local” as the top-level domain (TLD).  This will give us http://mobile.local as the URL.  I use “local” as the TLD to help me remember the site is running on my local system, but you can use any value for the TLD.  You can also use any value for the site.  The next few steps will also include defining a local project directory for your new web project.  You can change these values to match your needs, just make sure your values match the values you define in the Virtual Host entry in Apache.

Create a folder on your local file system for the DocumentRoot of your new site.

/1/projects/mobile/www/DocumentRoot

Create a backup of the httpd-vhosts.conf file by running the following command.

$ cp /etc/apache2/extra/httpd-vhosts.conf /etc/apache2/extra/httpd-vhosts.conf.bak

Edit the httpd-vhosts.conf file with the following command.

$ vi /etc/apache2/extra/httpd-vhosts.conf

Add the following markup to the httpd-vhosts.conf file.

Note how the <Directory> definition is slightly different for Apache 2.4. This Apache 2.4 configuration will prevent the Forbidden error that is accompanied by the Apache error message, “You don’t have permission to access / on this server.”

This next step assumes the owner defined in Apache config is _www. Replace “_www” with the name of Apache Server owner. Open a Terminal Window and navigate to the parent folder of the new site directory, then enter the following commands:
# Move into the new site directory
$ cd /1/projects/mobile/www/
# Change ownership of all files to the Apache Server process owner
$ sudo chown -R :_www DocumentRoot
# Change permissions of all site files
$ sudo chmod -R g+w DocumentRoot

 How to Define Virtual DNS

In order to access your new site by name, you will need to edit your system’s hosts file.
# Open /etc/hosts file
$ vi /etc/hosts
# Add the following line towards the bottom of the /etc/hosts file.
127.0.0.1 mobile.local
# Save and close file, then flush the DNS with the following command:
$ discoveryutil udnsflushcaches
# Restart Apache
$ apachectl restart

How to Create a PHP Test Page

The PHP test page for your new site can be created with the following commands.
# Create file
$ vi /1/projects/mobile/www/DocumentRoot/php.php
# Press the “i” key to edit this new file and enter

# Press the escape key to exit editing mode, then save file
$ :wq
# Open a web browser and go to the following URL

http://mobile.local/php.php

How to Install MySQL on Mac

MySQL is the world’s most popular open source database.

  1. Download the MySQL DMG for Mac OS X here.
  2. Install MySQL
  3. Install Preference Pane
  4. Start MySQL from Mac System Preferences Panel

Add MySQL to System PATH with the following commands.
# Modify/Create the .bash_profile file
$ touch ~/.bash_profile
$ vi ~/.bash_profile
# Add the following line to the bottom of ~/.bash_profile
export PATH=”/usr/local/mysql/bin:$PATH”
# Activate ~/.bash_profile update
$ source ~/.bash_profile
$ echo “/usr/local/mysql/bin” >> /etc/paths.d/mysql.path

Connect PHP and MySQL
$ cd /var
$ mkdir mysql
$ cd mysql
$ ln -s /tmp/mysql.sock mysql.sock

How to Install phpMyAdmin

phpMyAdmin is a free software tool written in PHP, intended to handle the administration of MySQL over the Web.  Download phpMyAdmin here.

Download phpMyAdmin to the system’s default web directory, “/Library/WebServer/Documents/”; then run the following commands from the Terminal Window.

# Move into default web directory
$ cd /Library/WebServer/Documents/
# Unpack phpMyAdmin download
# NOTE: Use actual phpMyAdmin download file name
$ tar -xvf ~/Downloads/phpMyAdmin-3.5.2.2-english.tar.gz
# Rename unpacked phpMyAdmin folder
# NOTE: Use actual phpMyAdmin download folder name
$ mv phpMyAdmin-3.5.2.2-english/ phpmyadmin
# Move into the new phpmyadmin directory
$ cd phpmyadmin
# Create the phpmyadmin config file
$ mv config.sample.inc.php config.inc.php

Launch the phpmyadmin dashboard by opening a web browser and navigating to the following URL: http://localhost/phpmyadmin

How to Start the Virtual Environment

This Mac OS X Apache MySQL PHP development environment can be started with the following steps.

# Make sure the MySQL database is running
Open MySQL Panel from Mac OS X System Preferences
# Open Terminal and switch to root user
$ sudo su –
# Use Terminal Command to start Apache
$ apachectl restart
# Use a Web Browser and Navigate to Website

How to Create Additional Virtual Environments

Additional virtual environments can be easily be created by just repeating the steps outlined in “How to Define a Virtual Host in Apache” section of this tutorial.

Summary

Following these steps provides the web developer with a development environment for creating web applications and web services using open-source technology.

Dr.Michael Wu, Ph.D. shares some thoughts about Enterprise Gamification

Social Business Strategy

Dr.Michael Wu (@mich8elwu) has written a series of articles on how to leverage the concepts of game theory and ideas about implementing game mechanics to support a dynamic social business strategy.  He has included some very interesting points about Enterprise Gamification in one of his recent articles.  I recommend reviewing his ideas and insights in “The Future of Enterprise Software will be Fun and Productive“.

I believe Michael made many smart observations and shared several intelligent ideas.  Here is what I wrote as a comment in his latest article on Enterprise Gamification.  I would enjoy hearing your thoughts on how to “Gamify” Social Business and supporting game mechanics in the Enterprise.

Response to “Enterprise Gamification”:

Michael,

Thanks for taking the time from your busy schedule to share your thoughts on this very important topic.

Your ideas about a Gamification Strategy for rapid adoption of Enterprise 2.0 Solutions to support fluid collaboration will help business leaders avoid creating a platform brick.  A “platform brick” is a solution designed and implemented with very limited collaboration by a small group of people before understanding anything about the culture or business objectives.  This silo approach is usually followed up by a raging river of cash and other valuable resources to drive adoption.  The flow will continue until this river runs dry or when someone is strong enough to put egos aside and start conversations about real collaborative solutions.

I am also puzzled about why most enterprise software developers and vendors don’t collaborate more with leaders in the video game industry.  I believe a background in psychology & sociology will be the new requirement for future enterprise software developers.

Driving Adoption of Enterprise 2.0 Solutions should be a shared responsibility between the players and the platform itself.  Platforms should become more intelligent through the course of user interaction and take the lion’s share of driving adoption.

Q: How much do we need to pay an Intelligent Platform to drive adoption?

A: $0

Q: How many bonuses do we need to pay an Intelligent Platform to drive adoption?

A: $0

Q: How many vacation days, sick days, and perks does an Intelligent Platform need to do it’s job?

A: zero

The thought of investing into Dumb Platforms is dead.

Enterprise Gamification is far beyond it’s due date.

I agree with the idea of implementing game mechanics to embed the role-playing game (RPG) model in Enterprise Platforms for supporting Event-driven architecture (EDA) that leverages the principals of Service-Oriented Architecture (SOA).  This approach can demonstrate “The Strength of Weak Ties” by Mark S. Granovetter, a sociologist now at Stanford University.  The father of Enterprise 2.0, Andrew McAfee (@amcafee) talks about this in “The Ties that Find”.

The exponential value of Enterprise Gamification can be achieved by applying the principals of game theory to players and objects for unlocking the power of collective intelligence.  This collaborative approach to creating game dynamics goes far beyond points & badges for people and things.  This type of model is designed to facilitate the growth of a collaborative culture.  The players (employees) strengthen relationships and leverage resources on their journey of helping the organization accomplish business objectives and achieve their goals.

I am looking forward to hearing more about your ideas.

Thanks for sharing,

Daniel Hudson

http://WebTechMan.com

E 2.0: Enterprise Gamification & the Behavior Engine

Successful Enterprise Gamification

Successful Enterprise Gamification implementation requires today’s leaders to understand and apply the knowledge of behavioral psychology and the lessons from brain science to manage organizational change successfully. “The Psychology of Change in Organizations“, Psychology Today.

Did you see this recent post by Andrew McAfee, “Enterprise 2.0 the Indian Way“? Andy shares this advice, “The more I learn about Enterprise 2.0, the more inclined I am to encourage companies to throw caution to the wind: buy (or build) some well-designed lightweight tools that take advantage of emergence and game mechanics, find a few leaders willing to lead by example, and go live”.

Jim Worth explains how simple features can lead to sophisticated results in “The Upside Down Enterprise Portal“.

The Game of Organizational Change

Way back in the 1990’s I worked with a team that was tasked with helping our organization reach the next level of Capability Maturity Model Integration (CMMI). The goal of this task was to improve each team’s performance and give our organization a competitive edge over similar businesses. My task was to create a “Process Management” Platform. This platform included what I called a “Behavior Engine”. The Behavior Engine included logging identified behaviors and awarding users points for performing tasks within the platform. User points were accumulated by doing things like: logging in, creating new process categories, adding new processes, … Reports were generated for stakeholders from the Behavior Engine to identify key players and their behaviors that were driving the success of our goal. We would interview these key players to discover how we could make things even easier. We would also help all players learn from each other by connecting the key players with the weaker players. Then we had the bright idea to surface the Behavior Engine data through individual and team leader boards, process collections, process improvement ideas, … We quickly discovered that the community could easily accomplish the objectives when they had the right guidance and understood the goal.

Our team got tasked with a new project that involved creating a platform for “Human Resources”. There was a lot of buzz about including the Behavior Engine from the Process Management Platform. We explained that this is not something that you just copy-n-paste, but we did reuse the core code and aligned it with the desired behavior and objectives of this new platform.

I moved on to other organizations and have worked with various teams to create/reface/integrate multiple types of platforms that include virtual meetings, customer relationship management, and Enterprise 2.0 platforms. All of these have elements of game mechanics in the architecture to support gamificaition (These elements can be found by searching your code, database, and logs for the word “points”). Speaking of “points”, the point of this quick story is that there is no “one-size-fits-all” solution for game mechanics in the Enterprise. Each implementation of Enterprise 2.0 Gamificaction is unique according to the business objectives and desired behaviors.

Happy Fav Five Friday!

Fav Five Places

What You Need to Know Before Boarding the Enterprise Gamification Trend Train

Work Better. Play Together? On Enterprise Gamification
Enterprise gamification is a hot concept trending in Enterprise 2.0. It has great potential for benefit (and misuse). Misconceptions create the risk of getting it wrong. Rypple’s Daniel Debow shares very important lessons learned for making it work in this presentation.

Gamification and Its Discontents
This great presentation on gamification by Sebastian Deterding covers: The Idea of gamification, side effects, common confusions and misunderstanings, what can go wrong when adding game mechanics to an interaction, and what gamified applications are missing about games.

Seth Priebatsch: Building the game layer on top of the world
By now, we’re used to letting Facebook and Twitter capture our social lives on the web — building a “social layer” on top of the real world. At TEDxBoston, Seth Priebatsch looks at the next layer in progress: the “game layer,” a pervasive net of behavior-steering game dynamics that will reshape education and commerce.

Print Your Own SCVNGR’s Secret Game Mechanics Playdeck
Print Your Own Version of SCVNGR’s Game Mechanics Flash Cards

Cultures and Organizations: Software for the Mind, Third Edition

Based on research conducted in more than seventy countries over a forty-year span, Cultures and Organizations examines what drives people apart—when cooperation is so clearly in everyone’s interest. With major new contributions from Michael Minkov’s analysis of data from the World Values Survey, as well as an account of the evolution of cultures by Gert Jan Hofstede, this revised and expanded edition:

  • Reveals the “moral circles” from which national societies are built and the unexamined rules by which people think, feel, and act
  • Explores how national cultures differ in the areas of inequality, assertiveness versus modesty, and tolerance for ambiguity
  • Explains how organizational cultures differ from national cultures—and how they can be managed
  • Analyzes stereotyping, differences in language, cultural roots of the 2008 economic crisis, and other intercultural dynamics

Fav Five Faces

Who is on your “Fantasy Innovation Team” this week?

Here are amazing people that have connected me to new friends and new ideas this week. You might be familiar with “Fantasy Football Teams” , well this is my “Fantasy Innovation Team” this week. I recommend following these smart, creative people on Twitter.

Dad, entrepreneur (co-CEO of Rypple), music fan, and curious person. http://twitter.com/ddebow
Aspiring architect in the cathedral of human understanding. Researcher & designer working on UX, games, gamification & persuasive design. Tweets cc:by-nc/3.0. http://twitter.com/dingstweets
Chief Ninja of SCVNGR! (www.scvngr.com) http://twitter.com/sethpriebatsch
Game Designer, Bass Player, Mom http://twitter.com/amyjokim
Author, Speaker and Expert on Gamification and Game Mechanics. My Book: http://bit.ly/3YITLb & my Blog: http://gamification.co http://twitter.com/gzicherm

Enterprise Gamification Strategy

Enterprise Gamification is the use of game mechanics within Enterprise 2.0 Platforms that improves adoption and strives to encourage users to engage in desired behaviors in connection with business objectives. This technique should be a part of the complete Enterprise 2.0 Strategy. Discover more about game mechanics within Enterprise 2.0 Gamification here “The Enterprise 2.0 Strategy of Gamification“.

Enterprise 2.0: Top 10 Reasons NOT to Use WOA & APIs

Enterprise 2.0 Strategy for Platform Architecture

Intranet vs Internet

The main goal of a winning Enterprise 2.0 Strategy is to facilitate communication and innovation through collaboration.  The Art of Enterprise Architecture in E 2.0 is to unite people and process.  Thoughts on Enterprise 2.0 Architecture include leveraging the principles of Service-Oriented Architecture (SOA) to support Web-Oriented Architecture (WOA).  This type of Internet architecture for the Intranet makes is possible to support Web 2.0 Apps, Gadgets, & Widgets in the Enterprise.  This strategy reduces the number of resources required for the technical part of Enterprise 2.0 Architecture and provides time to focus on Improving Enterprise 2.0 Adoption Through Gamification.

Many organizations today are supporting employee collaboration through Enterprise 2.0 Platforms.  Vendors are also providing Enterprise 2.0 Solutions that include Social Networking features very similar to Facebook and Twitter.  Some organizations and vendors are missing the biggest success factor behind these popular Social Networking Platforms.  The Application Programming Interface (API) of these platforms contributed heavily to their success.  Using APIs to easily link data is the foundation of how the internet works today.  Enterprise 2.0 platforms should provide a great user experience, enable third-party developers and empowers employees to accomplish their business objectives. This can be accomplished with an Enterprise 2.0 solution that leverages Web-Oriented Architecture (WOA) with open, standards-based, non-proprietary API implementations built on web-based RESTful architecture.

Enterprise 2.0: Top 10 Reasons NOT to Use WOA & APIs

  1. We have endless resources and enjoy spending extra money on integration.
  2. We like to spend our bonus money on infrastructure to support bloated code.
  3. We have no desire to support multiple devices.
  4. We have no plans to share information across multiple environments.
  5. We don’t want a platform that can be extended.
  6. We want to pay top dollar for things most get for free.
  7. We don’t support Standards because we enjoy watching our bug list grow.
  8. We believe code should be rigid and not reusable.
  9. We understand the benefits of WOA & APIs, but that’s not the way we do things here.
  10. We feel trendy when talking about OSGI bundles for the Enterprise Service Bus (ESB).

Data.Gov Demonstrates the Power of WOA and APIs

The next-generation Data.gov platform delivers a fantastic citizen experience, enables developers and empowers agencies to accomplish their mission.  See how this is accomplished in this video.

What Does It Mean to API-Enable Data.Gov?

The Web-Oriented Architecture (WOA) of Data.Gov offers an open, standards-based, non-proprietary API implementation built on web-based RESTful architecture. Learn more here [pdf].

Happy Fav Five Friday!

Favorite 5 Places

Forrester: SOA thriving; but interest in ESBs slips A new survey of 2,165 companies, compiled by a team led by Forrester Research’s Randy Heffner, finds that interest in service oriented architecture remains strong, despite today’s emphasis on cloud computing, mobile applications, and social networking …more

Enterprise 2.0 Roll-up: Welcoming Service Cloud 3 and iPad Remember when Chatter first came out? Salesforce.com’s CEO Marc Benioff couldn’t stop talking about how it was just like Facebook. This week that level of social functionality has been extended to Service Cloud 3, the newest iteration of the company’s social …more

5 recommendations for successfully implementing distributed innovation and shared value The real reason for distributed innovation is simply that you can no longer be self-sufficient. You must bring together more and better resources than you can hope to have inside a single organization. This means that distributed innovation models must address how … more

Becoming an Open Leader Two years ago I posted a short post that picked up from an HBR article on leadership flaws.  I posed the question if Enterprise 2.0 initiatives can thrive in environments where toxic leadership reigns.  My first reaction was no, and then I thought about ways to get to yes.  One of the flaws of flawed leadership is the lack of feedback — to gain self-awareness there is a problem in the first place.  Perhaps the feedback loop E2.0 cultures …more

#E2sday: How to Calculate the ROI of Enterprise 2.0 With enterprise social software platforms starting to gain widespread traction, ROI measurements are now becoming possible with early adopter communities. Many companies are looking for a detailed guide on how to measure the benefits of E2.0 …more [infographic]

How to Install Apache Tomcat Web App Server in 10 Minutes

How to Install Apache Tomcat on Mac OS X Snow Leopard

This tutorial will guide the user through the steps of installing Apache Tomcat on Mac OS X.

Prepare the Mac OS X to use the cURL command as Wget : Open a Terminal Window (Applications -> Utilities -> Terminal) and add wget as an alias for curl to the bash_profile file with the following command. Close the Terminal Window when complete.

Apache Tomcat Web App Server

Apache Tomcat is developed in an open and participatory environment and released under the Apache License version 2. Apache Tomcat is intended to be a collaboration of the best-of-breed developers from around the world. There is an open invitation to participate in this open development project. To learn more about getting involved, click here.

Apache Tomcat powers numerous large-scale, mission-critical web applications across a diverse range of industries and organizations. Some of these users and their stories are listed on the PoweredBy wiki page.  Learn more here.

Mac OS X Snow Leopard

Mac OS X is renowned for its simplicity, its reliability, and its ease of use. So when it came to designing Snow Leopard, Apple engineers had a single goal: to make a great thing even better.  Learn more here.

7 Steps for Installing Tomcat on Mac OS X

Open a Terminal Window and follow these seven steps to install and configure Tomcat on Mac OS X. Application developers can download Tomcat and configure it with various editors, but the method described here can save time and reduce mistakes. This method also supports remote installation. The steps described here, with a modification to step six, can be used to remotely install Tomcat on Unix based systems. This is helpful in “Cloud Computing” environments.

Apache Tomcat App Server Successfully Installed on Mac OS X

Open a web browser and navigate to http://localhost:8080 Application developers should see the main Tomcat page displayed in their web browser.

How to Access Tomcat Virtual Host Manager

Application developers should also configure authorization for the Tomcat Virtual Host Manager.

How to Access Tomcat Application Manager

Application developers should also configure authorization for the Tomcat Application Manager.

How to Configure Authorization for Tomcat Administrators

Go back to the Terminal Window and edit “tomcat/conf/tomcat-users.xml” to add roles and users to “tomcat-users” that can access the Tomcat Administrator areas.

Apache Tomcat Web Application Manager

Authorization has now been configured for the Tomcat Application Manager.

Apache Tomcat Virtual Host Manager

Authorization has now been configured for the Tomcat Virtual Host Manager

Tomcat Mac OS X Resources