本文講述了基於RHEL 6.8操做系統搭建開發環境,主要安裝了GCC 4.9.3、Qt 5.7、Apache 2.4.25、MySQL 5.6.35。本文同時適用於在Linux主機無互聯網環境下搭建開發環境,只須要將所需安裝包下載後拷貝到Linux主機便可。html
下載RHEL 6.8安裝包:rhel-server-6.8-x86_64-dvd.isonode
安裝過程當中選擇Development Tools安裝包,安裝GCC編譯環境。也能夠在創建RHEL 6.8本地倉庫後使用命令行進行安裝,命令行安裝以下:python
yum groupinstall "Development Tools"mysql
A、查看RHEL 6.8版本自帶的yum包linux
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包下載地址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包命令以下:
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
新建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.repo、rhel-media.repo備份爲.bak文件
清楚緩存:yum clean all
加載緩存:yum makecache
更新軟件:yum update
修改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 <軟件包名>
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
確保RHEL 6.8安裝了gcc、g++。安裝系統時選擇安裝Development Tools軟件包便可。
yum groupinstall "Development Tools"
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
解壓GMP,命令以下:
tar -zxvf gmp-5.0.1.tar.gz
進入gmp-5.0.1目錄進行編譯配置,命令以下:
./configure --prefix=/usr/local/gmp-5.0.1
編譯,命令以下:
make
安裝,命令以下:
make install
解壓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
解壓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
在/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使其生效
解壓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
進入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
下載linux版本Qt 5.7安裝包:qt-opensource-linux-x64-5.7.0.run
Qt 5.7要求GCC 4.9.1以上版本支持。
更改Qt 5.7安裝包可執行權限
chmod 777 qt-opensource-linux-x64-5.7.0.run
安裝Qt 5.7安裝包
./qt-opensource-linux-x64-5.7.0.run
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,建立工程,經過編譯測試。
安裝好MySQL數據庫後
MySQL版本的選擇
MySQL Community Server 社區版本,開源免費,但不提供官方技術支持。
MySQL Enterprise Edition 企業版本,需付費,能夠試用30天。
MySQL Cluster 集羣版,開源免費。可將幾個MySQL Server封裝成一個Server。
MySQL Cluster CGE 高級集羣版,需付費。
MySQL Workbench(GUITOOL)一款專爲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
查看RHEL 6.8安裝的MySQL版本:
rpm -qa|grep mysql
卸載低版本MySQL:
rpm -e mysql-libs-5.1.73-7.el6.x86_64 --nodeps
解包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配置文件到/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
##設置最大鏈接數,默認爲 151,MySQL服務器容許的最大鏈接數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
chkconfig mysql on
查看
chkconfig --list | grep mysql
/var/lib/mysql/ #數據庫目錄
/usr/share/mysql #配置文件目錄
/usr/bin #相關命令目錄
/etc/init.d/mysql #啓動腳本
官方網址:http://httpd.apache.org/
下載源碼:httpd-2.4.25.tar.gz
編譯支持工具:apr-1.5.2.tar.gz、apr-util-1.5.4.tar.gz
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
A、apr安裝
解壓apr壓縮包:
tar -zxvf apr-1.5.2.tar.gz
編譯配置:
./configure --prefix=/usr/local/apr
編譯
Make
安裝
make install
B、apr-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
C、pcre-devel安裝
yum install pcre-devel
RHEL 6.8倉庫支持
D、openssl安裝
yum install openssl-devel
RHEL 6.8倉庫支持
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
G、Apache主要文件
/etc/httpd/httpd.conf配置文件
/usr/local/apache/modules/擴展模塊
/usr/local/apache/logs/apache默認的log
/usr/local/apache/htdocsapache默認的首頁所在目錄
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.這個參數用於手動查詢某些設置。好比,要手動處理Apache的C頭文件,能夠在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操做相似,修改Apache的httpd.conf配置文件,可是並不安裝此模塊。