Wednesday, September 14, 2011

Installing LAMP on Ubuntu 11.0

LAMP (Linux Apache Mysql and Php) is one of the most popular web component for a web server.
In this tutorial we will learn to install LAMP on ubuntu server(most popular server for web hosting).

1.Install Apache Web server.
  apt-get install apache2
  now test it on your browser by typing http://localhost or http://ip-address

2.Install Mysql server
  apt-get mysql-server mysql-client
  Upon installing you have to provide the root password.

3.Install PHP
  install php5 libapache2-mod-php5

4.Now Restart Apache
 /etc/init.d/apache2 restart

5.Make Apache and Mysql start on boot
  i.chkconfig --level 235 mysql on
  ii.chkconfig --level 235 apache2 on

6.Now test for Php installation.
 i.create a file called info.php on /var/www
 vi /var/www/info.php

copy the following lines.
<?php
phpinfo();
?>

ii.Open your browser and type http://localhost/info.php
 it should shows the information of installed php installaion

Wednesday, September 7, 2011

Installing Webmin on CentOS 5.5 Tutorial

Webmin is a web-based interface for system administration for Unix and Linux based Systems. Using any modern web browser, you can setup user accounts, Apache, DNS, file sharing and much more. Webmin removes the need to manually edit Unix configuration files like /etc/passwd, and lets you manage a system from the console or remotely.

Installing Webmin on CentOS 5.5 Tutorial
1.First install the GPG key with which the packages are signed

    # rpm --import http://www.webmin.com/jcameron-key.asc

2.Add the Webmin YUM Repository

  # vi /etc/yum.repos.d/webmin.repo
Copy and paste the following lines.

[Webmin]
name=Webmin Distribution Neutral
baseurl=http://download.webmin.com/download/yum
enabled=1

3.Now to install Webmin

    # yum install webmin

Finally browse to your machine on port 10000

https://localhost.localdomain:10000/
as root with your root password.

Install MySQL 5.5.15 on Fedora 15/14, CentOS/Red Hat (RHEL) 5.6/6

Mysql is one of the most populor open source Relational database management system.

1. Change root user
su -
## OR ##
sudo -i

2. Install Remi repository
## Remi Dependency on CentOS 5 and Red Hat (RHEL) 5 ##
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm

## CentOS 5 and Red Hat (RHEL) 5 ##
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm

3. Check Available MySQL versions

yum --enablerepo=remi,remi-test list mysql mysql-server

4. Update or Install MySQL 5.5.15

yum --enablerepo=remi install mysql mysql-server

5. Start MySQL server and autostart MySQL on boot

/etc/init.d/mysqld start
## OR ##
service mysqld start

chkconfig --levels 235 mysqld on

6. MySQL Secure Installation

    * Set (Change) root password
    * Remove anonymous users
    * Disallow root login remotely
    * Remove test database and access to it
    * Reload privilege tables

Start MySQL Secure Installation with following command

/usr/bin/mysql_secure_installation

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y
 ... Success!

By default, MySQL comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y
 ... Success!



Note: If you don’t want some reason, do a “MySQL Secure Installation” then at least it’s very important to change the root user’s password

mysqladmin -u root password [your_password_here]

## Example ##
mysqladmin -u root password myownsecrectpass

7. Connect to MySQL database (localhost) with password

mysql -u root -p

## OR ##
mysql -h localhost -u root -p

8. Create Database, Create MySQL User and Enable Remote Connections to MySQL Database

This example uses following parameters:

    * DB_NAME = testdb
    * USER_NAME = test_user
    * REMOTE_IP = 10.1.1.35
    * PASSWORD = password
    * PERMISSIONS = ALL

## CREATE DATABASE ##
mysql> CREATE DATABASE testdb;

## CREATE USER ##
mysql> CREATE USER 'test_user'@'10.1.1.35' IDENTIFIED BY 'password';

## GRANT PERMISSIONS ##
mysql> GRANT ALL ON testdb.* TO test_user@'10.1.1.35';

##  FLUSH PRIVILEGES, Tell the server TO reload the GRANT TABLES  ##
mysql> FLUSH PRIVILEGES;

Enable Remote Connection to MySQL Server –> Open MySQL Port (3306) on Iptables Firewall (as root user again)

1. Edit /etc/sysconfig/iptables file:

nano -w /etc/sysconfig/iptables

2. Add following line before COMMIT:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

3. Restart Iptables Firewall:

service iptables restart
## OR ##
/etc/init.d/iptables restart

4. Test remote connection:

mysql -h dbserver_name_or_ip_address -u test_user -p testdb