Archives For Ubuntu Server

LEMP Ubuntu 14.04

Want to build a website on your Ubuntu Server? Well, LEMP may be a good choice and here’s how to install and set it up.

LEMP stands for Linux, Nginx (pronounced “engine x”), MySQL and PHP. The nginx project started with a strong focus on high concurrency, high performance and low memory usage. So it’s a good alternative to Apache webserver for building websites on low memory hosts.

To get started, log in your Ubuntu Server and follow the steps below:

1. Install MySQL

MySQL is a database management system which stores and organizes references to the information the webserver needs.

To install Mysql 5.5.36, run command:

sudo apt-get install mysql-server mysql-client

To install Mysql 5.6.16, run:

sudo apt-get install mysql-server-5.6 mysql-client-5.6

While the installing process, you’ll be asked to type a password for MySQL root user.

2. Install Nginx

Nginx 1.4.6 is available in Ubuntu repositories. To install it, run:

sudo apt-get install nginx

If you want, install the latest stable Nginx 1.4.7 from PPA:

sudo apt-get install python-software-properties

sudo add-apt-repository ppa:nginx/stable

sudo apt-get update

sudo apt-get install nginx

Once installed, start the web service via:

sudo service nginx start

And check out if it is working by going to http://serverip

nginx is working ubuntu 14.04

nginx is working ubuntu 14.04

3. Install PHP5

PHP is a reflective programming language, which makes it possible for all these different parts to work together.

We can make PHP5 work in nginx through PHP-FPM, which is an alternative PHP FastCGI implementation with some additional features useful for sites of any size, especially busier sites.

Run command below to install php5-fpm:

sudo apt-get install php5-fpm

4. Setup Nginx

The nginx configuration files are available in /etc/nginx/nginx.conf, read this configuration example.

To modify the default site example:

sudo vi /etc/nginx/sites-available/default

Here you can define the root directory (to put WordPress files there), your site domain name, as well as other settings. See the example below:

server {
	listen 80 default_server;
	listen [::]:80 default_server ipv6only=on;

	root /usr/share/nginx/html;
	index index.php index.html index.htm;

	# Make site accessible from http://localhost/
	server_name localhost;

	location / {

		try_files $uri $uri/ /index.php;

	}

	location /doc/ {
		alias /usr/share/doc/;
		autoindex on;
		allow 127.0.0.1;
		allow ::1;
		deny all;
	}

	#
	error_page 500 502 503 504 /50x.html;
	location = /50x.html {
		root /usr/share/nginx/html;
	}

	location ~ \.php$ {

		# With php5-fpm:
                try_files $uri =404;
		fastcgi_pass unix:/var/run/php5-fpm.sock;
		fastcgi_index index.php;
		include fastcgi_params;
	}

	# deny access to .htaccess files, if Apache's document root
	# concurs with nginx's one
	#
	location ~ /\.ht {
		deny all;
	}
}

Remember to restart the web service to apply changes:

sudo service nginx reload

5. Check if PHP is working

Create the test file:

sudo vi /usr/share/nginx/html/info.php

Add following lines and save the file:

<?php
phpinfo();
?>

Go to http://serverip/info.php in client’s web browser and you’ll see:

php is working

php is working

6 Get MySQL working with PHP: Install Xcache (list of PHP accelerators), a free and open PHP opcode cacher for caching and optimizing PHP intermediate code, as well as other PHP modules:

sudo apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-xcache

Then restart php5:

sudo service php5-fpm restart

Now reload http://serverip/info.php page and scroll down to find out if there’s a section about MySQL:

mysql is working with php

mysql is working with php

For security reason, remove the info.php after the test:

sudo rm /usr/share/nginx/html/info.php

7. Install Phpmyadmin to manage Mysql Database via web:

First install phpmyadmin:

sudo apt-get install phpmyadmin

During the installation, it will ask you if you want to configure the database with dbconfig. Go ahead and choose yes.

Input MySQL’s database password when prompted and click ok.

When phpmyadmin prompts you to choose a server (either apache or lighttpd) hit tab, and select neither one.

Second, create a symbolic link between phpMyAdmin and your site’s directory:

sudo ln -s /usr/share/phpmyadmin/ /usr/share/nginx/html

Restart nginx and finally you’re able to access phpmyadmin by going to http://serverip/phpmyadmin and typing Mysql username and password.

sudo service nginx restart

Done!

Nginx, php, mysql

This tutorial shows you how to install LEMP stack in Ubuntu 13.10. LEMP stands for Linux, Nginx (pronounced “engine x”), MySQL and PHP. The nginx project started with a strong focus on high concurrency, high performance and low memory usage. So it’s a good alternative to Apache webserver for building websites on low memory hosts.

Tutorial Objectives:

  • Install Nginx, Php5, MySQL (LEMP) in Ubuntu 13.10 Server
  • Enjoy!

To get started, first login your Ubuntu Server and follow the steps below:

1. Intall MySQL

MySQL is a database management system which stores and organizes references to the information the webserver needs.

To install it, run command:

sudo apt-get install mysql-server mysql-client

While the installing process, you’ll be asked to type a password for MySQL root user.

2. Install Nginx

Nginx is available in Ubuntu’s repository, run command below to install it:

sudo apt-get install nginx

Or you can install the latest stable version from Nginx PPA:

sudo apt-get install python-software-properties

sudo add-apt-repository ppa:nginx/stable

sudo apt-get update

sudo apt-get install nginx

Once installed, start Nginx by:

sudo service nginx start

To check out if nginx is working, go to http://serverip:

nginx is working ubuntu 13.10

nginx is working ubuntu 13.10

3. Install PHP5

PHP is a reflective programming language, which makes it possible for all these different parts to work together.

We can make PHP5 work in nginx through PHP-FPM, which is an alternative PHP FastCGI implementation with some additional features useful for sites of any size, especially busier sites.

Run command below to install php5-fpm:

sudo apt-get install php5-fpm

4. Setup Nginx

The nginx configuration is in /etc/nginx/nginx.conf, read this configuration example.

Now, let’s modify the default site example:

sudo vi /etc/nginx/sites-available/default

Here you can define root directory (to put WordPress files there), your site domain, as well as other settings. See the example below:

server {
	listen 80 default_server;
	listen [::]:80 default_server ipv6only=on;

	root /usr/share/nginx/html;
	index index.php index.html index.htm;

	# Make site accessible from http://localhost/
	server_name localhost;

	location / {

		try_files $uri $uri/ /index.php;

	}

	location /doc/ {
		alias /usr/share/doc/;
		autoindex on;
		allow 127.0.0.1;
		allow ::1;
		deny all;
	}

	#
	error_page 500 502 503 504 /50x.html;
	location = /50x.html {
		root /usr/share/nginx/html;
	}

	location ~ \.php$ {

		# With php5-fpm:
                try_files $uri =404;
		fastcgi_pass unix:/var/run/php5-fpm.sock;
		fastcgi_index index.php;
		include fastcgi_params;
	}

	# deny access to .htaccess files, if Apache's document root
	# concurs with nginx's one
	#
	location ~ /\.ht {
		deny all;
	}
}

After that, reload Nginx:

sudo service nginx reload

4. Check out if PHP is working

Create the test file:

sudo vi /usr/share/nginx/html/info.php

Add following lines and save the file:

<?php
phpinfo();
?>

Go to http://serverip/info.php in client’s web browser and you’ll see:

php is working

php is working

5. Get MySQL working with PHP

Install Xcache, a free and open PHP opcode cacher for caching and optimizing PHP intermediate code, as well as other PHP modules:

sudo apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-xcache

Then restart php5:

sudo service php5-fpm restart

Now reload http://serverip/info.php page and scroll down to find out if there’s a section about MySQL:

mysql is working with php

mysql is working with php

Now your LEMP server is up and running, see how to install wordpress on Ubuntu 13.10

Ubuntu 13.10 Server gui

I’ve written about how to install Ubuntu 13.10 Server. If you’re not familiar with command console you can install GUI on Ubuntu Server:

  • Desktop Environment on local server
  • Webmin on remote server.

Install Desktop Environment in Ubuntu 13.10 Server:

Before getting started, update system package lists by running the command below:

sudo apt-get update

1. To install Ubuntu Unity Desktop, run:

sudo apt-get install ubuntu-desktop

For ‘minimal’ install without all the desktop add-on and other things that come with Ubuntu Desktop Edition, run:

sudo apt-get install --no-install-recommends ubuntu-desktop

Once installed, restart Ubuntu server and you’ll see the graphical login screen. Or run command below to start without reboot:

startx

2. To install the light weight desktop Xfce, run:

sudo apt-get install xubuntu-desktop

3. To install KDE, run:

sudo apt-get install kubuntu-desktop

Install Webmin in Ubuntu 13.10 Server:

Webmin is a web-interface for remote users to configure Apache, DNS, FTP, and others on your Ubuntu server.

To install Webmin in Ubuntu server, run command below to download the DEB package:

wget http://prdownloads.sourceforge.net/webadmin/webmin_1.660_all.deb

Then install it as well as the dependencies:

sudo dpkg -i webmin_1.660_all.deb; sudo apt-get -f install

Once installed, go to https://your-ubuntu-serverip:10000 on your client PC’s web browser and login with Administrator account:

webmin login ubuntu server

Ubuntu 13.10 Server installation

This is a step by step guide for beginners how to create bootable Ubuntu 13.10 Server USB and install it on your computer.

Requirements:

  • A Windows, Linux or Mac OS PC for burning the iso into USB
  • 1GB+ USB stick
  • Ubuntu 13.10 Server ISO downloaded from releases.ubuntu.com/13.10

How to Create Bootable Ubuntu Server USB

First download Unetbootin executable, a simple tool to install Linux/BSD distributions to a partition or USB drive. It works on Windows, Linux and Mac.

Insert USB stick to computer and format (don’t use’Quick format’) to FAT. Open Unetbootin, in the picture below choose the Ubuntu 13.10 Server iso and your usb device and finally click OK to start the burning process.

create bootable ubuntu server usb

create bootable ubuntu server usb

Once finished, connect the USB to the machine which you want to install Ubuntu Server on. Boot from the USB and you’ll see a screen with list of options include ‘Install Ubuntu Server’

Install Ubuntu 13.10 Server

Select ‘Install Ubuntu Server’ from the Unetbootin boot screen, then select your desired language in the screen below:

Ubuntu 13.10 Server select language

Ubuntu 13.10 Server select language

Click Install Ubuntu Server

install ubuntu 13.10 server

install ubuntu 13.10 server

Choose the language for installation process and installed system:

Ubuntu 13.10 server installation language

Ubuntu 13.10 server installation language

Select your Country which will used to set your time zone:

Ubuntu 13.10 Server select location

Ubuntu 13.10 Server select location

Choose your locale settings. Then select YES to detect keyboard layout or NO to select from list.

Ubuntu1310Server-install4

Setup the hostname (Computer name).

Ubuntu 13.10 Server hostname

Ubuntu 13.10 Server hostname

Enter your username and password to create an Administrator account. You can login with this user after installation:

Ubuntu 13.10 Server create user

Ubuntu 13.10 Server create user

Encrypt previous created user’s home directory or not:

Ubuntu 13.10 Server encrypt home directory

Ubuntu 13.10 Server encrypt home directory

Select the partitioning method:

  • Guided – use the entire disk: it will automatically create the main EXT4 partition and swap area for Ubuntu using all disk storage.
  • Guided – use the entire disk and setup (encrypted) LVM: it will use the whole disk storage and you need to manually create EXT partition and Swap for Ubuntu Server.
  • Manual: If you have a dual-boot system or you want to keep a non-system partition on the disk, do it manually.
Ubuntu 13.10 Server partition

Ubuntu 13.10 Server partition

Confirm the partition and the installation will begin:

Ubuntu 13.10 Server installing process

Ubuntu 13.10 Server installing process

Input HTTP proxy server IP. Leave it empty if you don’t have one.

Ubuntu 13.10 Server HTTP setup

Ubuntu 13.10 Server HTTP setup

It’ll take a few minutes configuring apt. If want, cancel it and do it afterwards.

Ubuntu 13.10 Server configure apt

Ubuntu 13.10 Server configure apt

In order to keep your system security, select ‘Install security updates Automatically’ in next screen:

Ubuntu 13.10 Server security updates

Ubuntu 13.10 Server security updates

Now you can select to install OpenSSH server, DNS, LAMP, MAIL, PostgreSQL, Print, Samba, Tomcat, Virtual Machine Host from the list. Use arrow keys to highlight and Space to select, finally press Enter to go on.

Ubuntu 13.10 Server install software

Ubuntu 13.10 Server install software

Select to install Grub boot loader and finish the installation. Restart and login with the username and password you created:

Ubuntu 13.10 server login

Ubuntu 13.10 server login

Your Ubuntu 13.10 server is running now!

phpMyAdmin is an open-source tool written in PHP intended to handle the administration of MySQL over the Web. The latest phpMyAdmin 4.0.6 has fixed a lot of security problems and bugs since version 3.x.x is the default in Ubuntu repository.

latest phpmyadmin ubuntu

Here’s how to install or upgrade to the latest version of phpMyAdmin (4.0.6) in Ubuntu 12.04 LTS Server, Ubuntu 10.04 Server, Ubuntu 13.04 and Ubuntu 12.10 via PPA.

To get started, connect to your Ubuntu server. When you’re log in, run below command to add the PPA:

sudo add-apt-repository ppa:tuxpoldo/phpmyadmin

Update package lists on your system:

sudo apt-get update

Install or upgrade phpMyAdmin to the latest:

sudo apt-get install phpmyadmin

That’s it. If you want to remove this PPA after installation (without removing any packages you may have installed / upgraded from the PPA), run:

sudo add-apt-repository --remove ppa:tuxpoldo/phpmyadmin

If you want to remove the PPA as well as downgrade phpMyAdmin to the version available in the official Ubuntu repositories, run:

sudo apt-get install ppa-purge; sudo ppa-purge ppa:tuxpoldo/phpmyadmin

Enjoy!