開發環境——基於RHEL 6.8開發環境的搭建

開發環境——基於RHEL 6.8開發環境的搭建

    本文講述了基於RHEL 6.8操做系統搭建開發環境,主要安裝了GCC 4.9.3Qt 5.7Apache 2.4.25MySQL 5.6.35。本文同時適用於在Linux主機無互聯網環境下搭建開發環境,只須要將所需安裝包下載後拷貝到Linux主機便可。html

1、RHEL6.8安裝

一、RHEL 6.8下載

下載RHEL 6.8安裝包:rhel-server-6.8-x86_64-dvd.isonode

2RHEL 6.8安裝

安裝過程當中選擇Development Tools安裝包,安裝GCC編譯環境。也能夠在創建RHEL 6.8本地倉庫後使用命令行進行安裝,命令行安裝以下:python

    yum groupinstall "Development Tools"mysql

2、yum源更換

一、刪除RHELyum

A、查看RHEL 6.8版本自帶的yumlinux

        rpm -qa|grep yum
c++

RHEL 6.8版本的yum包以下:sql

    PackageKit-yum-0.5.8-26.el6.x86_64數據庫

    yum-3.2.29-73.el6.noarchapache

    PackageKit-yum-plugin-0.5.8-26.el6.x86_64vim

    yum-metadata-parser-1.1.2-16.el6.x86_64

    yum-utils-1.1.30-37.el6.noarch

    yum-rhn-plugin-0.9.1-60.el6.noarch

    yum-plugin-security-1.1.30-37.el6.noarch

B強制刪除RHEL 6.8版本的yum

    rpm -qa|grep yum|xargs rpm -e --nodeps

二、下載CentOS yum安裝包

CentOS yum包下載地址http://mirrors.163.com/centos/

        wget http://mirrors.163.com/centos/6/os/x86_64/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm
    wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-3.2.29-73.el6.centos.noarch.rpm
    wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
    wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.30-37.el6.noarch.rpm

三、安裝CentOS yum

安裝CentOS yum包命令以下:

    rpm -ivh python-iniparse-0.3.1-2.1.el6.noarch.rpm
    rpm -ivh yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
    rpm -ivh yum-3.2.29-73.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1.30-37.el6.noarch.rpm

或使用

    rpm -ivh yum-metadata-parser-1.1.2-16.el6.x86_64.rpm yum-3.2.29-73.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1.30-37.el6.noarch.rpm --force --nodeps

四、修改yum源配置文件

新建CentOS6-Base-163.repo文件,內容以下:

# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#

[base]
name=CentOS-6 - Base - 163.com
baseurl=http://mirrors.163.com/centos/6/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=os
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
#released updates
[updates]
name=CentOS-6 - Updates - 163.com
baseurl=http://mirrors.163.com/centos/6/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
#additional packages that may be useful
[extras]
name=CentOS-6 - Extras - 163.com
baseurl=http://mirrors.163.com/centos/6/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-6 - Plus - 163.com
baseurl=http://mirrors.163.com/centos/6/centosplus/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
#contrib - packages by Centos Users
[contrib]
name=CentOS-6 - Contrib - 163.com
baseurl=http://mirrors.163.com/centos/6/contrib/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=contrib
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

將其餘的redhat.reporhel-media.repo備份爲.bak文件

清楚緩存:yum clean all

加載緩存:yum makecache

更新軟件:yum update

5、啓用yum緩存

修改yum配置文件/etc/yum.conf

[main]

cachedir=/var/cache/yum/$basearch/$releasever

keepcache=1

debuglevel=2

logfile=/var/log/yum.log

exactarch=1

obsoletes=1

gpgcheck=1

plugins=1

installonly_limit=5

    默認狀況下,yum會在成功下載和安裝軟件包後刪除文件,打開緩存能夠保存軟件包在/var/cache/yum目錄下

    默認狀況下,yum/var/cache/yum/目錄保存臨時文件,每一個倉庫都有本身的子目錄。倉庫目錄中packages/錄包含了緩存的件包。例如目錄/var/cache/yum/development/packages/包含從 development倉庫下載的軟件包。

    要在沒有網絡的狀況下執行yum,只要啓用了緩存,就能夠用 -C選項。yum就不會檢查網絡上的倉庫,只使用緩存。在這個模式中,yum只能安裝已下載並緩存的軟件包。

    要在沒有網絡鏈接的時候搜索軟件包tsclient,輸入命令:

    su -c 'yum -C list tsclient'

    /var/cache/yum/目錄下的全部文件包目錄複製到另外一臺機子下的相同目錄執行
yum -C update

yum -C install <軟件包名>

六、設置CentOS本地源

A、創建本地倉庫目錄

mkdir yum-local

B、掛載CentOS 6.8鏡像

mount /dev/sr0/media

C、拷貝CentOS 6.8到本地倉庫yum-local目錄

cp -rf/media/*/yum-local/

D、配置yum倉庫

vim /etc/yum.repos.d/CentOS6-Base-163.repo

修改內容爲:

[base]

name=RHEL-6.8

baseurl=file:///yum-local/

gpgcheck=1

enabled=1

gpgkey=file:///yum-local/RPM-GPG-KEY-redhat-release

E、清理yum緩存

yum clean all

F、刷新yum緩存

yum makecache

3、GCC安裝

1GCC開發環境安裝

    確保RHEL 6.8安裝了gccg++。安裝系統時選擇安裝Development Tools軟件包便可。

        yum groupinstall "Development Tools"

2GCC及編譯支持插件下載

GCC 4.9.3下載:

wget http://ftp.gnu.org/gnu/gcc/gcc-4.9.3/gcc-4.9.3.tar.gz

GCC編譯支持插件下載:

#Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+
wget http://www.multiprecision.org/mpc/download/mpc-0.9.tar.gz
wget http://ftp.gnu.org/gnu/gmp/gmp-5.0.1.tar.gz
wget http://ftp.gnu.org/gnu/mpfr/mpfr-3.1.0.tar.gz

3GMP插件安裝

解壓GMP,命令以下:

tar -zxvf gmp-5.0.1.tar.gz

進入gmp-5.0.1目錄進行編譯配置,命令以下:

./configure --prefix=/usr/local/gmp-5.0.1

編譯,命令以下:

make

安裝,命令以下:

make install

4MPFR插件安裝

解壓MPFR,命令以下:

tar -zxvf mpfr-3.1.0.tar.gz

進入mpfr-3.1.0目錄進行編譯配置,命令以下:

    ./configure --prefix=/usr/local/mpfr-3.1.0 --with-gmp=/usr/local/gmp-5.0.1

編譯,命令以下:

make

安裝,命令以下:

make install

5MPC插件安裝

解壓MPC,命令以下:

tar -zxvf mpc-0.9.tar.gz

進入mpc-0.9目錄進行編譯配置,命令以下:

    configure --prefix=/usr/local/mpc-0.9 --with-gmp=/usr/local/gmp-5.0.1 --with-mpfr=/usr/local/mpfr-3.1.0

編譯,命令以下:

make

安裝,命令以下:

make install

6、設置連接

    在/etc/profile文件末尾加上,

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-0.9/lib:/usr/local/gmp-5.0.1/lib:/usr/local/mpfr-3.1.0/lib

    修改後運行source/etc/profile使其生效

7GCC安裝

解壓GCC,命令以下:

tar -zxvf gcc-4.9.3.tar.gz

進入gcc-4.9.3目錄進行編譯配置,命令以下:

    configure --prefix=/usr/local/gcc-4.9.3  --with-mpc=/usr/local/mpc-0.9 --with-gmp=/usr/local/gmp-5.0.1 --with-mpfr=/usr/local/mpfr-3.1.0 --disable-multilib --enable-languages=c,c++ --enable-threads=posix --disable-checking

編譯,命令以下:

make

安裝,命令以下:

make install

8、更新GCC版本

進入gcc目錄

cd /usr/bin

將原GCC版本重命名

mv gcc gcc-4.4.7

創建GCC新連接

ln -s /usr/local/gcc-4.9.3/bin/gcc /usr/bin/gcc

G++版本重命名

mv g++ g++-4.4.7

創建G++新連接

ln -s /usr/local/gcc-4.9.3/bin/g++ /usr/bin/g++

GCC版本查看

gcc -v

g++ -v

4、QT5.7安裝

1QT 5.7下載

下載linux版本Qt 5.7安裝包:qt-opensource-linux-x64-5.7.0.run

Qt 5.7要求GCC 4.9.1以上版本支持。

2QT5.7安裝

更改Qt 5.7安裝包可執行權限

chmod 777 qt-opensource-linux-x64-5.7.0.run

安裝Qt 5.7安裝包

./qt-opensource-linux-x64-5.7.0.run

三、OpenGL庫安裝

RHEL 6.8安裝包內含OpenGL安裝軟件包,使用本地RHEL 6.8倉庫安裝命令以下:

yum install mesa-libGL-devel mesa-libGLU-devel

yum install freeglut-devel

四、環境變量設置

/etc/profile文件添加以下內容

QTDIR=/opt/Qt5.7.0/Tools/QtCreator

PATH=$QTDIR/bin:$PATH

MANPATH=$QTDIR/man:$MANPATH

LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

export QTDIR MANPATH PATH LD_LIBRARY_PATH

更新環境變量

source /etc/profile

五、運行測試

直接在命令行運行qtcreator打開Qt,建立工程,經過編譯測試。

6Qt MySQL驅動安裝

安裝好MySQL數據庫後

5、MySQL安裝

一、MySQL下載

MySQL版本的選擇

MySQL Community Server 社區版本,開源免費,但不提供官方技術支持。
MySQL Enterprise Edition 企業版本,需付費,能夠試用30天。
MySQL Cluster 集羣版,開源免費。可將幾個MySQL Server封裝成一個Server
MySQL Cluster CGE 高級集羣版,需付費。
MySQL WorkbenchGUITOOL)一款專爲MySQL設計的ER/數據庫建模工具是著名的數據庫設計工具DBDesigner4的繼任者。MySQLWorkbench又分爲兩個版本,分別是社區版(MySQL Workbench OSS)、商用版(MySQL WorkbenchSE)。

本文選擇MySQL Community Server 5.6.35

下載網址:

https://dev.mysql.com/downloads/mysql/5.6.html#downloads

操做系統選擇:

Red Hat Enterprise Linux/ Oracle Linux

操做系統版本選擇:

Red Hat Enterprise Linux 6 / Oracle Linux 6 (x86, 64-bit)

下載MySQL捆綁包:

MySQL-5.6.35-1.el6.x86_64.rpm-bundle.tar

MySQL捆綁包包含七個部分:

RHEL兼容包MySQL-shared-compat-5.6.35-1.el6.x86_64.rpm

MySQL服務端程序MySQL-server-5.6.35-1.el6.x86_64.rpm

MySQL客戶端程序MySQL-client-5.6.35-1.el6.x86_64.rpm

MySQL開發庫:MySQL-devel-5.6.35-1.el6.x86_64.rpm

MySQL共享庫MySQL-shared-5.6.35-1.el6.x86_64.rpm

嵌入式版本:MySQL-embedded-5.6.35-1.el6.x86_64.rpm

測試組件:MySQL-test-5.6.35-1.el6.x86_64.rpm

二、卸載低版本MySQL

查看RHEL 6.8安裝的MySQL版本:

rpm -qa|grep mysql

卸載低版本MySQL

rpm -e mysql-libs-5.1.73-7.el6.x86_64 --nodeps

三、安裝MySQL

解包MySQL捆綁包:

tar -xvf MySQL-5.6.35-1.el6.x86_64.rpm-bundle.tar

A、安裝RHEL兼容包

rpm -ivh MySQL-shared-compat-5.6.35-1.el6.x86_64.rpm

B、安裝MySQL共享庫

rpm -ivh MySQL-shared-5.6.35-1.el6.x86_64.rpm

C、安裝MySQL服務端程序

rpm -ivh MySQL-server-5.6.35-1.el6.x86_64.rpm

D、安裝MySQL客戶端程序

rpm -ivh MySQL-client-5.6.35-1.el6.x86_64.rpm

E、安裝MySQL開發庫

rpm -ivh MySQL-devel-5.6.35-1.el6.x86_64.rpm

四、MySQL配置

拷貝MySQL配置文件到/etc目錄

cp /usr/share/mysql/my-default.cnf /etc/mysql.conf

修改/etc/mysql.conf以下:

[client]

password = 123456

port = 3306

default-character-set=utf8

[mysqld]

port = 3306

character_set_server=utf8

character_set_client=utf8

collation-server=utf8_general_ci

lower_case_table_names=1

##設置最大鏈接數,默認爲 151MySQL服務器容許的最大鏈接數16384

max_connections=1000

[mysql]

default-character-set = utf8

初始化MySQL數據庫:

/usr/bin/mysql_install_db

五、管理密碼修改

獲取安裝時隨機管理密碼

cat /root/.mysql_secret

# The random password set for the root user at Sun Apr  2 00:52:59 2017 (local time): MwgPucEp8gMz0e20

重設root密碼

mysql -u root -p

提示輸入密碼後輸入隨機管理密碼,進入mysql

執行SQL語句設置管理密碼

SET PASSWORD FOR 'root'@'localhost'=PASSWORD('123456');

退出mysql

6、設置開機啓動MySQL

chkconfig mysql on

查看

chkconfig --list | grep mysql

七、MySQL默認安裝目錄說明

/var/lib/mysql/   #數據庫目錄

/usr/share/mysql  #配置文件目錄

/usr/bin          #相關命令目錄

/etc/init.d/mysql #啓動腳本     

6、Apache模塊編譯環境搭建

一、Apache版本下載

官方網址:http://httpd.apache.org/

下載源碼:httpd-2.4.25.tar.gz

編譯支持工具:apr-1.5.2.tar.gzapr-util-1.5.4.tar.gz

2、低版本Apache卸載

A、查詢安裝版本

rpm -qa | grep httd

B、卸載低版本apache

rpm -e --nodeps httpd-tools-2.2.15-53.el6.x86_64

rpm -e --nodeps httpd-2.2.15-53.el6.x86_64

三、Apache編譯插件安裝

Aapr安裝

解壓apr壓縮包:

tar -zxvf apr-1.5.2.tar.gz

編譯配置:

./configure --prefix=/usr/local/apr

編譯

Make

安裝

make install

Bapr-util安裝

解壓apr-util壓縮包:

tar -zxvf apr-util-1.5.4.tar.gz

編譯配置:

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

編譯

make

安裝

make install

Cpcre-devel安裝

yum install pcre-devel

RHEL 6.8倉庫支持

Dopenssl安裝

yum install openssl-devel

RHEL 6.8倉庫支持

4apache安裝

A、解包

tar -zxvf httpd-2.4.25.tar.gz

B、編譯配置

./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-cgi --enable-cgid --enable-modules=most --enable-mods-shared=most --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-mpms-shared=all --with-mpm=event

選項說明:

--sysconfdir=/etc/httpd:指定配置文件安裝位置

--enable-so:支持動態共享模塊若是沒有這個模塊PHP將沒法與apache結合工做

--enable-ssl:啓用支持ssl

--enable-cgi:支持cgi

--enable-rewrite:支持URL重寫

 --with-zlib:壓縮庫,在互聯網上傳播時可節約帶寬

--with-apr=/usr/local/apr:指定apr路徑

--with-apr-util=/usr/local/apr-util:指定apr-util路徑

--enable-mpms-shared=all :支持多道處理模塊

--with-mpm=event:設定默認的模塊

C、編譯

make

D、安裝

make install

E、修改配置

 

配置文件爲/etc/httpd/httpd.conf

F、重啓Apache服務器

/usr/local/apache/bin/apachectl start

GApache主要文件

/etc/httpd/httpd.conf配置文件
/usr/local/apache/modules/擴展模塊
/usr/local/apache/logs/apache默認的log
/usr/local/apache/htdocsapache默認的首頁所在目錄

5apxs編譯apache模塊

    apxs是一個爲Apache HTTP服務器編譯和安裝擴展模塊的工具,用於編譯一個或多個源程序或目標代碼文件爲動態共享對象,使之能夠用由mod_so提供的LoadModule指令在運行時加載到Apache服務器中。

ln -s /usr/local/apache/bin/apxs     /usr/local/bin/apxs

模塊編譯和安裝

apxs -iac mod_concatx.c

查看已經加載的模塊:

 httpd -M

Apxs使用選項以下:

-n modname

    它明確設置了-i(install)-g (template generation)選項的模塊名稱。 對-g選項,它是必須的; 對-i選項,apxs工具會按文件名判斷至少是推測出這個模塊名稱。

-q

    查詢某種apxs設置的信息。 query參數能夠是下列一個或多個字串:CC, CFLAGS, CFLAGS_SHLIB, INCLUDEDIR, LD_SHLIB, LDFLAGS_SHLIB, LIBEXECDIR, LIBS_SHLIB, SBINDIR, SYSCONFDIR, TARGET.這個參數用於手動查詢某些設置。好比,要手動處理ApacheC頭文件,能夠在Makefile中使用

-g

    此選項生成一個名爲name的子目錄(見選項-n)和其中的兩個文件: 一個是名爲mod_name.c的樣板模塊源程序, 能夠用做創建你本身的模塊的模板,或是學習使用apxs機制的良好開端; 另外一個則是對應的Makefile,用於編譯和安裝此模塊。

-c

    此選項表示須要執行編譯操做。 它首先會編譯C源程序(.c)files爲對應的目標代碼文件(.o), 而後,鏈接這些目標代碼和files中其他的目標代碼文件(.o and .a), 以生成動態共享對象dsofile。若是沒有指定-o選項, 則此輸出文件名由files中的第一個文件名推測獲得, 因此,缺省時,它通常會是mod_name.so

-i

    此選項表示須要執行安裝操做, 以安裝一個或多個動態共享對象到服務器的modules目錄中。

-a

    此選項自動在httpd.conf文件中增長一個LoadModule行,以激活此模塊,或者,若是此行已經存在,則啓用之。

-A

    與-a選項相似,可是它增長的LoadModule指令由一個井號前綴(#), 即,此模塊已經準備就緒,但尚處於禁用狀態。

-e

    此選項表示須要執行編輯操做,它能夠與-a-A選項配合使用, 與-i操做相似,修改Apachehttpd.conf配置文件,可是並不安裝此模塊。