Tuesday, March 5, 2013

CentOS / RHEL: Install and Configure phpMyAdmin Administration Of MySQL Database Server

Source: http://www.cyberciti.biz/faq/centos-fedora-redhat-linux-installing-phpmyadmin-webtool/


CentOS / RHEL: Install and Configure phpMyAdmin Administration Of MySQL Database Server

by  on JULY 25, 2012 · 7 COMMENTS· last updated at JULY 25, 2012
How do I install phpMyAdmin to handle the administration of MySQL database server over the World Wide Web under Fedora / Scientific / CentOS / RHEL / Red Hat Enterprise Linux 6.x server systems?

phpMyAdmin is a tool written in PHP intended to handle the administration of MySQL over the World Wide Web. Most frequently used operations are supported by the user interface (managing databases, tables, fields, relations, indexes, users, permissions, while you still have the ability to directly execute any SQL statement. It comes with an intuitive web interface, support for most MySQL features.

Step #1: Turn on EPEL repo

phpMyAdmin is not included in default RHEL / CentOS repo. So turn on EPEL repo as described here:
$ cd /tmp
$ wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm
# rpm -ivh epel-release-6-5.noarch.rpm

Step #2: Install phpMyAdmin

Type the following command:
# yum search phpmyadmin
# yum -y install phpmyadmin

Sample outputs:
Loaded plugins: rhnplugin
Setting up Install Process
Resolving Dependencies
There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them.
--> Running transaction check
---> Package phpMyAdmin.noarch 0:3.5.1-1.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
==================================================================================================
 Package                  Arch                 Version                   Repository          Size
==================================================================================================
Installing:
 phpMyAdmin               noarch               3.5.1-1.el6               epel               4.2 M
Transaction Summary
==================================================================================================
Install       1 Package(s)
Total download size: 4.2 M
Installed size: 17 M
Downloading Packages:
phpMyAdmin-3.5.1-1.el6.noarch.rpm                                          | 4.2 MB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : phpMyAdmin-3.5.1-1.el6.noarch                                                  1/1
  Verifying  : phpMyAdmin-3.5.1-1.el6.noarch                                                  1/1
Installed:
  phpMyAdmin.noarch 0:3.5.1-1.el6

Step #3: Configure phpMyAdmin

You need to edit /etc/httpd/conf.d/phpMyAdmin.conf, enter:
# vi /etc/httpd/conf.d/phpMyAdmin.conf
It allows only localhost by default. You can setup HTTPD SSL as described here (mod_ssl) and allow LAN / WAN users or DBA user to manage the database over www. Find line that read follows
Require ip 127.0.0.1
Replace with your workstation IP address:
Require ip 10.1.3.53
Again find the following line:
Allow from 127.0.0.1
Replace as follows:
Allow from 10.1.3.53
Save and close the file. Restart Apache / httpd server:
# service httpd restart
Open a web browser and type the following url:
https://your-server-ip/phpMyAdmin/
OR
http://your-server-ip/phpMyAdmin/
Sample outputs:
phpMyAdmin in Action
Fig.01: phpMyAdmin in Action
Please note that you will be prompted for a username and password. You need to provide your database username and password to login into the user interface. If you want to manage all database use mysql admin user account called root. phpMyAdmin configuration file is located at /etc/phpMyAdmin/config.inc.php. You can edit this file using a text editor:
# vi /etc/phpMyAdmin/config.inc.php
All directives are explained in Documentation.html and on phpMyAdmin wiki.

Check out related media

This tutorial is also available in video format:

(Video.01: Installing phpMyAdmin Demo)


You should follow me on twitter here or grab rss feed to keep track of new changes.

Compile PHP with mysql extension

1. Download PHP at http://php.net/releases/index.php

2. Compile
./configure --enable-mbstring --with-mysql=yes --with-mcrypt=yes --with-libdir=lib64 --with-mysql-sock=/var/lib/mysql/mysql.sock --with-apxs2=/usr/sbin/apxs --prefix=/usr
make
make install

Linux Tune Network Stack

Source: http://www.cyberciti.biz/faq/linux-tcp-tuning/

 

Linux Tune Network Stack (Buffers Size) To Increase Networking Performance

by  on MAY 20, 2009 · 27 COMMENTS· last updated at JULY 8, 2009
I've two servers located in two different data center. Both server deals with a lot of concurrent large file transfers. But network performance is very poor for large files and performance degradation take place with a large files. How do I tune TCP under Linux to solve this problem?

By default the Linux network stack is not configured for high speed large file transfer across WAN links. This is done to save memory resources. You can easily tune Linux network stack by increasing network buffers size for high-speed networks that connect server systems to handle more network packets.
The default maximum Linux TCP buffer sizes are way too small. TCP memory is calculated automatically based on system memory; you can find the actual values by typing the following commands:
$ cat /proc/sys/net/ipv4/tcp_mem
The default and maximum amount for the receive socket memory:
$ cat /proc/sys/net/core/rmem_default
$ cat /proc/sys/net/core/rmem_max

The default and maximum amount for the send socket memory:
$ cat /proc/sys/net/core/wmem_default
$ cat /proc/sys/net/core/wmem_max

The maximum amount of option memory buffers:
$ cat /proc/sys/net/core/optmem_max

Tune values

Set the max OS send buffer size (wmem) and receive buffer size (rmem) to 12 MB for queues on all protocols. In other words set the amount of memory that is allocated for each TCP socket when it is opened or created while transferring files:
WARNING! The default value of rmem_max and wmem_max is about 128 KB in most Linux distributions, which may be enough for a low-latency general purpose network environment or for apps such as DNS / Web server. However, if the latency is large, the default size might be too small. Please note that the following settings going to increase memory usage on your server.
# echo 'net.core.wmem_max=12582912' >> /etc/sysctl.conf
# echo 'net.core.rmem_max=12582912' >> /etc/sysctl.conf

You also need to set minimum size, initial size, and maximum size in bytes:
# echo 'net.ipv4.tcp_rmem= 10240 87380 12582912' >> /etc/sysctl.conf
# echo 'net.ipv4.tcp_wmem= 10240 87380 12582912' >> /etc/sysctl.conf

Turn on window scaling which can be an option to enlarge the transfer window:
# echo 'net.ipv4.tcp_window_scaling = 1' >> /etc/sysctl.conf
Enable timestamps as defined in RFC1323:
# echo 'net.ipv4.tcp_timestamps = 1' >> /etc/sysctl.conf
Enable select acknowledgments:
# echo 'net.ipv4.tcp_sack = 1' >> /etc/sysctl.conf
By default, TCP saves various connection metrics in the route cache when the connection closes, so that connections established in the near future can use these to set initial conditions. Usually, this increases overall performance, but may sometimes cause performance degradation. If set, TCP will not cache metrics on closing connections.
# echo 'net.ipv4.tcp_no_metrics_save = 1' >> /etc/sysctl.conf
Set maximum number of packets, queued on the INPUT side, when the interface receives packets faster than kernel can process them.
# echo 'net.core.netdev_max_backlog = 5000' >> /etc/sysctl.conf
Now reload the changes:
# sysctl -p
Use tcpdump to view changes for eth0:
# tcpdump -ni eth0

Recommend readings: