Roundcube is a web browser based mail client & also known as webmail. It provides a GUI ( Graphical User Interface ) where end users can check their mails, can create & manage folders, can use address book to search email ids and lot of other webmail features.

To install roundcube on CentOS 7 followings are the prerequisite that should be installed.

  • PHP
  • Database ( MariaDB or MySQL )
  • Web Server ( Apache )
  • Any MTA – Postfix , Sendmail & Qmail

In My Case i have already installed Postfix with dovecot on CentOS 7 with

  • Domain name =
  • Hostname =

Follow below Steps to install & configure latest version of Roundcube :

Step:1 Install PHP , Database & Apache using below command :

[root@tec ~]# yum install httpd php php-common php-json php-xml php-mbstring php-imap php-pear-DB php-mysql mysql mariadb-server

Once the above package list is installed , set the time zone value in PHP .

root@tec ~]# vi /etc/php.ini
date.timezone = Asia/Kolkata

Save & exit the file

Step:2 Create & Configure Roundcube Database

Let us first set the Initial settings & root password of Mariadb Server :

[root@tec ~]# systemctl start mariadb
[root@tec ~]# systemctl enable mariadb
ln -s '/usr/lib/systemd/system/mariadb.service' '/etc/systemd/system/'
[root@tec ~]#
[root@tec ~]# mysql_secure_installation

Above Command “mysql_secure_installation” will allow us to set root password , remove anonymous users , disable remote root login and will remove test database.

Now Create database for Roundube and grant all the permissions to the database


Step:3 Download tar file of Roundcube

Download latest version of Roundcube tar file either from their official site “” or we can use below wget command.

[root@tec ~]# wget

Untar the downloaded file in your web server document root.

[root@tec ~]# tar -zxpvf roundcubemail-1.1.3-complete.tar.gz -C /var/www/html/

Rename the extracted file as Roundcube and set the required permissions

[root@tec html]# mv roundcubemail-1.1.3 roundcube
[root@tec html]# chown apache:apache roundcube
[root@tec html]#

Start the Apache service

[root@tec html]# systemctl start httpd
[root@tec html]# systemctl enable httpd
ln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/'
[root@tec html]#

Step:4 Start Roundcube installation using web browser installer.

To start the installation of Rouncube , access the below url in the web browser


click on Next…

Define the Database, Authentication Mechanism, SMTP & IMAP setting in this step. When We click on Create Config option it will ask us to Copy or download the configuration and save it as within the /var/www/html/roundcube/config/ directory of your Roundcube installation.

In my case i am using http based authentication mechanism , so i create one user on my Linux box and set its password using htpasswd command .

[root@tec ~]# htpasswd -c /home/linuxtechi/.htpasswd linuxtechi
New password:
Re-type new password:
Adding password for user linuxtechi
[root@tec ~]#




Remove the installer directory from your web server document root ( /var/www/html/roundcube )

[root@tec ~]# cd /var/www/html/roundcube/
[root@tec roundcube]# rm -rf installer
[root@tec roundcube]#

Step:5 Now access your account using Roundcube

Open the url in the browser “” , use the credentials that we set using htpasswd command.



Roundcube installation is completed, Now explore it and enjoy.

출처 :

After a long wait, finally Java SE Development Kit 8 is available to download. JDK 8 has been released on Mar,18 2014 for general availability with the many featured enhancements. You can find all the enhancements in JDK 8 here.

Java on Linux

This article will help you to Install JAVA 8 (JDK 8u66) or update on your system. Read the instruction carefully for downloading java from Linux command line. To Install Java 8 in Ubuntu and LinuxMint read This Article.

Downloading Latest Java Archive

Download latest Java SE Development Kit 8 release from its official download page or use following commands to download from shell.

For 64Bit

# cd /opt/
# wget --no-cookies --no-check-certificate --header "Cookie:; oraclelicense=accept-securebackup-cookie" ""

# tar xzf jdk-8u121-linux-x64.tar.gz

For 32Bit

# cd /opt/
# wget --no-cookies --no-check-certificate --header "Cookie:; oraclelicense=accept-securebackup-cookie" ""

# tar xzf jdk-8u121-linux-i586.tar.gz

Note: If Above wget command does not work for you watch this example video to download java source archive using terminal.

Install Java with Alternatives

After extracting archive file use alternatives command to install it. alternatives command is available in chkconfig package.

# cd /opt/jdk1.8.0_121/
# alternatives --install /usr/bin/java java /opt/jdk1.8.0_121/bin/java 2
# alternatives --config java

There are 3 programs which provide 'java'.

  Selection    Command
*  1           /opt/jdk1.7.0_71/bin/java
 + 2           /opt/jdk1.8.0_45/bin/java
   3           /opt/jdk1.8.0_91/bin/java
   4           /opt/jdk1.8.0_121/bin/java

Enter to keep the current selection[+], or type selection number: 4

At this point JAVA 8 has been successfully installed on your system. We also recommend to setup javac and jar commands path using alternatives

# alternatives --install /usr/bin/jar jar /opt/jdk1.8.0_121/bin/jar 2
# alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_121/bin/javac 2
# alternatives --set jar /opt/jdk1.8.0_121/bin/jar
# alternatives --set javac /opt/jdk1.8.0_121/bin/javac

Check Installed Java Version

Check the installed Java version on your system using following command.

root@tecadmin ~# java -version

java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode, sharing)

Configuring Environment Variables

Most of Java based application’s uses environment variables to work. Set the Java environment variables using following commands

  • Setup JAVA_HOME Variable
  • # export JAVA_HOME=/opt/jdk1.8.0_121
  • Setup JRE_HOME Variable
  • # export JRE_HOME=/opt/jdk1.8.0_121/jre
  • Setup PATH Variable
  • # export PATH=$PATH:/opt/jdk1.8.0_121/bin:/opt/jdk1.8.0_121/jre/bin

Also put all above environment variables in /etc/environment file for auto loading on system boot.

출처 :

How to manage LVM volumes on CentOS / RHEL 7 with System Storage Manager

Logical Volume Manager (LVM) is an extremely flexible disk management scheme, allowing you to create and resize logical disk volumes off of multiple physical hard drives with no downtime. However, its powerful features come with the price of somewhat steep learning curves, with more involved steps to set up LVM using multiple command line tools, compared to managing traditional disk partitions.

Here is good news for CentOS/RHEL users. The latest CentOS/RHEL 7 now comes with System Storage Manager (aka ssm) which is a unified command line interface developed by Red Hat for managing all kinds of storage devices. Currently there are three kinds of volume management backends available for ssm: LVM, Btrfs, and Crypt.

In this tutorial, I will demonstrate how to manage LVM volumes with ssm. You will be blown away how simple it is to create and manage LVM volumes now. :-)

Preparing SSM

On fresh CentOS/RHEL 7, you need to install System Storage Manager first.

$ sudo yum install system-storage-manager

First, let's check information about available hard drives and LVM volumes. The following command will show information about existing disk storage devices, storage pools, LVM volumes and storage snapshots. The output is from fresh CentOS 7 installation which uses LVM and XFS file system by default.

$ sudo ssm list

In this example, there are two physical devices ("/dev/sda" and "/dev/sdb"), one storage pool ("centos"), and two LVM volumes ("/dev/centos/root" and "/dev/centos/swap") created in the pool.

Add a Physical Disk to an LVM Pool

Let's add a new physical disk (e.g., /dev/sdb) to an existing storage pool (e.g., centos). The command to add a new physical storage device to an existing pool is as follows.

$ sudo ssm add -p <pool-name> <device>

After a new device is added to a pool, the pool will automatically be enlarged by the size of the device. Check the size of the storage pool named centos as follows.

As you can see, the centos pool has been successfully expanded from 7.5GB to 8.5GB. At this point, however, disk volumes (e.g., /dev/centos/root and /dev/centos/swap) that exist in the pool are not utilizing the added space. For that, we need to expand existing LVM volumes.

Expand an LVM Volume

If you have extra space in a storage pool, you can enlarge existing disk volumes in the pool. For that, use resize option with ssm command.

$ sudo ssm resize -s [size] [volume]

Let's increase the size of /dev/centos/root volume by 500MB.

$ sudo ssm resize -s+500M /dev/centos/root

Verify the updated size of existing volumes.

$ sudo ssm list volumes

We can confirm that the size of /dev/centos/root volume has increased from 6.7GB to 7.2GB. However, this does not mean that you can immediately utilize the extra space within the file system created inside the volume. You can see that the file system size ("FS size") still remains as 6.7GB.

To make the file system recognize the increased volume size, you need to "expand" an existing file system itself. Depending on which file system you are using, there are different tools to expand an existing filesystem. For example, use resize2fs for EXT2/EXT3/EXT4, xfs_growfs for XFS, btrfs for Btrfs, etc.

In this example, we are using CentOS 7, where XFS file system is created by default. Thus, we usexfs_growfs to expand an existing XFS file system.

After expanding an XFS file system, verify that file system fully occupies the entire disk volume 7.2GB.

Create a New LVM Pool/Volume

In this experiment, let's see how we can create a new storage pool and a new LVM volume on top of a physical disk drive. With traditional LVM tools, the entire procedure is quite involved; preparing partitions, creating physical volumes, volume groups, and logical volumes, and finally building a file system. However, with ssm, the entire procedure can be completed at one shot!

What the following command does is to create a storage pool named mypool, create a 500MB LVM volume named disk0 in the pool, format the volume with XFS file system, and mount it under /mnt/test. You can immediately see the power of ssm.

$ sudo ssm create -s 500M -n disk0 --fstype xfs -p mypool /dev/sdc /mnt/test

Let's verify the created disk volume.

Take a Snapshot of an LVM Volume

Using ssm tool, you can also take a snapshot of existing disk volumes. Note that snapshot works only if the back-end that the volumes belong to support snapshotting. The LVM backend supports online snapshotting, which means we do not have to take the volume being snapshotted offline. Also, since the LVM backend of ssm supports LVM2, the snapshots are read/write enabled.

Let's take a snapshot of an existing LVM volume (e.g., /dev/mypool/disk0).

$ sudo ssm snapshot /dev/mypool/disk0

Once a snapshot is taken, it is stored as a special snapshot volume which stores all the data in the original volume at the time of snapshotting.

After a snapshot is stored, you can remove the original volume, and mount the snapshot volume to access the data in the snapshot.

Note that when you attempt to mount the snapshot volume while the original volume is mounted, you will get the following error message.

kernel: XFS (dm-3): Filesystem has duplicate UUID 27564026-faf7-46b2-9c2c-0eee80045b5b - can't mount

Remove an LVM Volume

Removing an existing disk volume or storage pool is as easy as creating one. If you attempt to remove a mounted volume, ssm will automatically unmount it first. No hassle there.

To remove an LVM volume:

$ sudo ssm remove <volume>

To remove a storage pool:

$ sudo ssm remove <pool-name>


Hopefully by now you see the power of ssm. In enterprise storage environments, it is quite common to deal with a wide array of storage devices, disk volumes and file systems. Instead of struggling with a number of different tools to manage a complex mix of storage configurations, you can master the single command-line tool ssm, and have its backends get the job done for you. ssm is definitely a must-have tool for any system administrators working in a complex storage management environment.

출처 :

RHEL 4.8버전을 꼭 써야 한단다. 흠.. 구조가 뭐 어찌고어쩐다해서 그냥 설치해 주기로 한다.

일단 이분의 도움은 얻었다.


RHEL은 RedHat Enterprise Liunx로서 레드햇에서 배포하는 상용 리눅스 입니다.

즉, 돈을 주고 구입해야 하는데, 시험 버전을 구하게 되면 입력키가 없어서 사용상에 제한이 있습니다.

특히, 업데이트에서도 어려움을 겪습니다. 그래서 RHEL과 쌍둥이인 CentOS의 YUM 이라는 업데이트 툴이 있습니다.

그 중 yum을 사용할 수 없는데, 간단히 사용할 수 있는 방법을 적어보겠습니다.

사용 환경은
* RHEL 5.4 x86
* Intel Pentium 4 2.6c

다음은 RHEL 5.x에 yum을 설치할때 필요한 패키지들이고, 순서대로 설치하면 됩니다.

1. libsqlite-3.2.1-1.i386.rpm
2. python-elementtree-1.2.6-7.el4.rf.i386.rpm
3. python-sqlite-0.5.0-1.2.el4.rf.i386.rpm
4. python-urlgrabber-2.9.6-1.2.el4.rf.noarch.rpm
5. yum-2.4.2-0.4.el4.rf.noarch.rpm

RHEL 5.4에서는 위의 5개 중 1번을 제외한 나머지가 이미 최신 버전으로 설치되어 있어서 설치할 필요는 없다.
다만, 1번을 설치하게되면 sqlite라는 것이 이미 설치되어 있어서 종속문제에 걸린다.
삭제하고 없앨까 하다가 1번은 설치 안하고 RHEL 5.4의 sqlite를 써보기로 했다. (전혀다른 파일인지 아직 확신 못함)

yum 설정 확인

/etc/yum.conf 파일을 찾아보면, distroverpkg=redhat-release 라는 부분이 있는데 이부분이 현재 배포본의 버전을 찾는 부분이다.

yum.repos.d 설정

/etc/yum.repos.d/rhel-debuginfo.repo 파일을 다음과 같이 만든다.

하지만, 아래처럼 편집하기 전에, rhel-debuginfo.repo 파일을 백업한다.

name=CentOS-$releasever - Base

#released updates
name=CentOS-$releasever - Updates

위에서 "4.8"이라는 숫자는 현재 OS의 버전과 맞지 않아다. 
5 또는 5.3으로 해봤는데 잘 되지 않아서 4.x의 마지막 버전인 4.8로 해보니 되는것 같아서 이렇게 편집했다.

yum 사용
$ yum list 입력하고 엔터하면,
길게 목록이 보여진다..

CentOS 패키지가 변조되지 않았는지 체크하기 위한 키가 없는 경우 설치가 중단될 것이다.
이때는 다음과 같이 키를 서버에 설치한다. (

# rpm --import


다 좋은데 Base가 바뀌었다.


왜 안되는지 들어가보면 읽어보라는 글귀가 나온다.


This directory (and version of CentOS) is depreciated.  For normal users,
you should use /4/ and not /4.8/ in your path. Please see this FAQ
concerning the CentOS release scheme:

If you know what you are doing, and absolutely want to remain at the 4.8
level, go to for packages.


변경하면 잘 된다.


너무 오래된 자료라 최근에 들어가기위해서는 위와 같이 경로 변경이 필요하다.













Red Hat Enterprise Linux Version 4의 경우 AS (Advanced Server)와 ES (Enterprise Server)의 차이는 간단하게 아래와 같다.

  • IBM POWER PC Architecture 지원: AS는 Yes, ES는 No.
  • Maximum physical CPUs/sockets: AS는 무제한, ES는 2개
  • Maximum memory: AS는 무제한, ES는 16GB

더 상세한 비교는 RHEL Server Version Comparison Chart를 참고.

RHEL Version 5에서는 AS와 ES로 구분하지 않고, Base Server와 Advanced Platform으로 구분한다.





기본적으로 현재 레드햇의 Enterprise Linux 제품군으로써 AS, ES, WS로 나뉘는것을 알고 계실 듯 합니다. AS와 ES의 차이는 최대 지원할 수 있는 CPU의 물리적 갯수 및 메모리의 최대 사용량의 차이입니다. 일반적으로 물리적 코어 갯수를 기준으로 볼때 2cpu까지를 ES로 보고 그 이상을 AS로 보고 있습니다. 메모리는 ES의 경우 16GB까지로 보고 있고 그 이상을 AS로 보시면 될 것입니다.(CPU 및 메모리 지원 용량에 대해서는 버전 및 아키텍쳐별로 차이를 보입니다.)


ES와 WS의 경우 하드웨어 최대 지원 사항은 동일하고, 대신 특정 서버 패키지등이 빠져있어 주요 엔터프라이즈 환경에서의 구동시 약간의 불편함을 갖게 되는, 일반적인 워크스테이션 환경으로 사용을 하게 되는 제품이라고 보시면 될 것입니다.

RedHat Desktop은 여기에서 좀 더 제한된, Single CPU와 4GB의 제한적인 메모리만을 사용 가능합니다. 실제로 데스크탑을 위한 좀 더 나은 패키지 구성을 제공하는가 하면 그렇지는 않습니다. :)


그리고 언급하신 Proxy Starter Pack, Satellite Starter Pack, Extension Pack 등은 각각 레드햇의 시스템의 중앙 집중화 관리를 위한 솔루션들을 지칭하며, 이와 관련된 사항은 내용이 많이 길어지는 부분이기 때문에 길게 언급하지는 않겠습니다. 각각 RedHat Network Proxy 라는 솔루션 및 Satellite Server라는 솔루션 등을 이용한다고 보시면 되며 레드햇의 중앙 집중화 관리를 위한 RedHat Network의 아키텍쳐에 대한 좀 더 자세한 내용은 다음의 링크를 참조하시면 간략하게 보실 수 있으니 참조바랍니다.


실제 고객분들께서 일반적인 레드햇 제품을 구매하게 되시면 저희 RedHat Network이라는 사이트를 통하여 웹을 통한 시스템 관리를 진행하실 수 있는데, 이 부분이 일반적으로는 각 시스템별로 이루어지게 되는데 이것을 그룹화하여 진행할 수도 있고, 기타 여러가지 방법으로 통합 관리를 할 수 있도록 관련 모듈들을 따로 판매하고 있습니다. 기타 rhn과 통신하는 방법에 따라서 세가지 방법으로 나뉘며 그것이 위에서 언급한 RedHat Network의 세가지 아키텍쳐들이라고 보시면 됩니다.

참고로 Proxy Starter Packd은 기본 10개 데스크탑 모듈을 기준으로 판매하고, Satellite Starter Pack, Extension Pack의 경우 50개의 데스크탑 모듈을 기준으로 판매를 하게 됩니다.

단순한 답변을 원하셨으리라 생각되는데, 답변이 길어져서 상당히 죄송스럽군요. :)










출처 :









+ Recent posts