CentOS7下LAMP及基于https的虛擬化主機(jī)怎么實現(xiàn)

本文小編為大家詳細(xì)介紹“CentOS7下LAMP及基于https的虛擬化主機(jī)怎么實現(xiàn)”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“CentOS7下LAMP及基于https的虛擬化主機(jī)怎么實現(xiàn)”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。

蘇尼特右網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項目制作,到程序開發(fā),運營維護(hù)。成都創(chuàng)新互聯(lián)公司于2013年創(chuàng)立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。

系統(tǒng)環(huán)境:

centos 7
apache 2.4
php 5.4
mariadb 5.5

項目需求:

創(chuàng)建3個虛擬主機(jī),分別架設(shè)phpmyadmin,wordpress,discuz

其中phpmyadmin提供https服務(wù).

一、使用yum安裝環(huán)境所需組件

httpd,php,php-MySQL,mariadb-server

# yum install httpd php php-mysql mariadb-server

二、關(guān)閉selinux并配置防火墻

1.為了測試方便,先關(guān)閉selinux

臨時關(guān)閉:

setenforce 0

永久關(guān)閉:

vim /etc/sysconfig/selinux
  selinux=disabled

2.在centos 7自帶防火墻中添加80,443,3306端口

查看firewall運行狀態(tài)

# firewall-cmd --state

添加端口

# firewall-cmd --add-port=80/tcp --permanent
  # firewall-cmd --add-port=443/tcp --permanent
  # firewall-cmd --add-port=3306/tcp --permanent

重載firewall配置

# firewall-cmd --reload

查看已有規(guī)則

# iptables -l -n

三、測試一下各軟件是否正常

1.啟動httpd并測試訪問:

# systemctl start httpd

沒什么意外的話,此時瀏覽器訪問測試頁應(yīng)該是成功的.

2.測試數(shù)據(jù)庫

啟動mariadb

# systemctl start mariadb

能進(jìn)入mariadb命令行即可

# mysql

CentOS7下LAMP及基于https的虛擬化主機(jī)怎么實現(xiàn)

3.查看php版本,我的版本是5.4.16

# php -v

CentOS7下LAMP及基于https的虛擬化主機(jī)怎么實現(xiàn)

四、配置apache

1.新建所需文件夾

在/web/vhosts下創(chuàng)建三個虛擬主機(jī)分別需要的文件夾 ,pma,wp,dz

# mkdir -p /web/vhosts/{pma,wp,dz}

2.賦予apache用戶對整個/web目錄的訪問權(quán):

# chown -r apache:apache /web

3.創(chuàng)建測試頁面

# vim /web/vhosts/pma/index.php

內(nèi)容為: 

 <?php
    echo "this is pma"
    ?>
    # vim /web/vhosts/wp/index.php
    內(nèi)容為:
    <?php
    echo "this is wp"
    ?>
    # vim /web/vhosts/dz/index.php
    內(nèi)容為:
    <?php
    echo "this is dz"
    ?>

4.取消歡迎頁,否則會有干擾

# mv /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.conf.bak

5.添加三個虛擬主機(jī)

創(chuàng)建一個叫vhosts.conf配置文件

# vim /etc/httpd/conf.d/vhosts.conf

內(nèi)容:

  <virtualhost *:80>
    documentroot /web/vhosts/pma
    servername pma.buybybuy.com
    errorlog logs/pma.err
    customlog logs/pma.access combined
    </virtualhost>
    <directory "/web/vhosts/pma">
    options indexes followsymlinks
    allowoverride none
    require all granted
    </directory>
    <virtualhost *:80>
    documentroot /web/vhosts/wp
    servername wp.buybybuy.com
    errorlog logs/wp.err
    customlog logs/wp.access combined
    </virtualhost>
    <directory "/web/vhosts/wp">
    options indexes followsymlinks
    allowoverride none
    require all granted
    </directory>
    <virtualhost *:80>
    documentroot /web/vhosts/dz
    servername dz.buybybuy.com
    errorlog logs/dz.err
    customlog logs/dz.access combined
    </virtualhost>
    <directory "/web/vhosts/dz">
    options indexes followsymlinks
    allowoverride none
    require all granted
    </directory>

6.重新載入httpd配置:

# systemctl reload httpd

7.測試一下三個虛擬主機(jī):

CentOS7下LAMP及基于https的虛擬化主機(jī)怎么實現(xiàn)

CentOS7下LAMP及基于https的虛擬化主機(jī)怎么實現(xiàn)

CentOS7下LAMP及基于https的虛擬化主機(jī)怎么實現(xiàn)

測試成功!

五、配置mariadb

1.剛安裝完mariadb后先初始化安全設(shè)置

運行安全初始化腳本

# /usr/bin/mysql_secure_installation

以下給出我自己的選項作為參考

CentOS7下LAMP及基于https的虛擬化主機(jī)怎么實現(xiàn)

1)是否設(shè)置root用戶密碼? (是)

2)是否刪除匿名用戶? (是)

3)禁止root用戶遠(yuǎn)程登錄嗎? (否,但如果生產(chǎn)環(huán)境推薦禁止)

4)要刪除測試數(shù)據(jù)庫嗎? (否,如果將來有測試需求就保留)

5)重載授權(quán)表嗎? (是,剛剛的設(shè)置立即生效)

2.附上root用戶改密碼命令

 # mysql
    set password for 'root'@'localhost'=password('123456');
    set password for 'root'@'127.0.0.1'=password('123456');

六.安裝程序包

1.安裝phpmyadmin,discuz,wordpress

下載安裝包到家目錄

可以用wget或者使用ftp工具,我這里因為用了xshell連接服務(wù)器,所以直接使用了配套的xftp將控制機(jī)中的安裝包直接扔進(jìn)家目錄.

CentOS7下LAMP及基于https的虛擬化主機(jī)怎么實現(xiàn)

2.確保已安裝必要的壓縮/解壓縮工具

我這里缺少bzip2,zip和unzip,所以

# yum -y install bzip2 zip unzip

分別解壓縮

# unzip discuz_x3.2_sc_utf8.zip -d discuz_x3.2_sc_utf8
    # tar -xf wordpress-4.5.3-zh_cn.tar.gz
    # tar -xf phpmyadmin-4.4.15.8-all-languages.tar.bz2

3.分別復(fù)制到定義好的虛擬主機(jī)目錄下,注意只復(fù)制需要的文檔 

 # cp -a phpmyadmin-4.4.15.8-all-languages/* /web/vhosts/pma/
    # cp -a wordpress/* /web/vhosts/wp/
    # cp -a discuz_x3.2_sc_utf8/upload/* /web/vhosts/dz/

七、調(diào)試網(wǎng)站

1.配置phpmyadmin

#cd /web/vhosts/pma

找到默認(rèn)配置文件并重命名為標(biāo)準(zhǔn)名稱

# cp config.sample.inc.php config.inc.php

編輯配置文件
  大概17行找到

$cfg['blowfish_secret'] = '';

這里需要加入一個隨機(jī)字串,可以在bash下用以下命令生成:
  # tr -d 'a-za-z0-9' < /dev/urandom | head -30 | md5sum

比如生成的字串為

e2d8e1132dc737b3dc1f05cd44c0cc9e

將生成的字串加入到上面的參數(shù)的引號中.如圖:

CentOS7下LAMP及基于https的虛擬化主機(jī)怎么實現(xiàn)

保存退出.

訪問pma.buybybuy.com的時候發(fā)現(xiàn)程序報錯:

CentOS7下LAMP及基于https的虛擬化主機(jī)怎么實現(xiàn)

意思是需要mbstring模塊支持,mbstring是一個多語言包.

所以要安裝這個包

# yum install php-mbstring

重載httpd以便配置生效

# systemctl reload httpd

重新訪問pma.buybybuy.com,頁面成功打開

CentOS7下LAMP及基于https的虛擬化主機(jī)怎么實現(xiàn)

此時可以使用之前配置的mysql的root用戶登陸.

2.創(chuàng)建所需數(shù)據(jù)庫

為了安裝wordpress和discuz,可以先使用phpmyadmin來為他們創(chuàng)建數(shù)據(jù)庫.

新增->填寫數(shù)據(jù)庫名稱->選擇排序編碼->建立

CentOS7下LAMP及基于https的虛擬化主機(jī)怎么實現(xiàn)

另外我們希望每個網(wǎng)站可以使用單獨的數(shù)據(jù)庫用戶進(jìn)行訪問,所以這里為每個數(shù)據(jù)庫創(chuàng)建自己的用戶并綁定到對應(yīng)的數(shù)據(jù)庫.

回到首頁->用戶->添加用戶

CentOS7下LAMP及基于https的虛擬化主機(jī)怎么實現(xiàn)

為了方便,我將數(shù)據(jù)庫名與對應(yīng)的用戶名保持一致,可以按下圖來創(chuàng)建

CentOS7下LAMP及基于https的虛擬化主機(jī)怎么實現(xiàn)

CentOS7下LAMP及基于https的虛擬化主機(jī)怎么實現(xiàn)

因為已經(jīng)提前創(chuàng)建數(shù)據(jù)庫,所以紅色下劃線的命令會跳過創(chuàng)建數(shù)據(jù)庫的步驟,后面藍(lán)色下劃線的命令會把用戶綁定給這個數(shù)據(jù)庫.

3.配置wordpress

進(jìn)入wp目錄
  # cd /web/vhosts/wp
  復(fù)制一個配置文件并重命名為配置文件的標(biāo)準(zhǔn)名稱
  # cp wp-config-sample.php wp-config.php
  編輯配置文件
  # vim /web/vhosts/wp/wp-config.php

CentOS7下LAMP及基于https的虛擬化主機(jī)怎么實現(xiàn)

修改對應(yīng)的值.

訪問wp.buybybuy.com和dz.buybybuy.com,會顯示安裝界面.分別使用之前設(shè)定的參數(shù)安裝即可.

八、給pma.buybybuy.com配置https

1.確保openssl已安裝,因為要使用openssl生成自簽名證書

# httpd -m | grep ssl

如果沒有則安裝

# yum install mod_ssl openssl

2.配置ca服務(wù)器

我的方法是先配置一臺ca服務(wù)器 (centos a),之后再讓當(dāng)前這臺服務(wù)器(centos b)向centos a申請認(rèn)證.

3.配置ca服務(wù)器(centos a)

3.1 初始化ca服務(wù),創(chuàng)建所需要的文件

# cd /etc/pki/ca/
    # touch index.txt //創(chuàng)建索引文件
    # echo 01 > serial //創(chuàng)建序列號文件


  3.2 ca自簽證書

生成私鑰

# (umask 077; openssl genrsa -out /etc/pki/ca/private/cakey.pem 2048)

使用私鑰生成簽名證書

# openssl req -new -x509 -key /etc/pki/ca/private/cakey.pem -days 7300 -out /etc/pki/ca/cacert.pem

4.申請證書(centos b):

4.1 創(chuàng)建一個存放證書的目錄
    # mkdir /etc/httpd/ssl
    # cd /etc/httpd/ssl

4.2 生成秘鑰

# (umask 007;openssl genrsa -out httpd.key 1024)

4.3 生成請求文件

# openssl req -new -key httpd.key -out httpd.csr

4.4 填表,按照自己情況寫

country name (2 letter code) [xx]:cn
    state or province name (full name) []:beijing
    locality name (eg, city) [default city]:beijing
    organization name (eg, company) [default company ltd]:quintin ltd
    organizational unit name (eg, section) []:ops
    common name (eg, your name or your server's hostname) []:pma.buybybuy.com
    email address []:admin@buybybuy.com

4.5 把生成的文件發(fā)送到ca服務(wù)器 centos a,這里我使用scp命令:

# scp httpd.csr root@192.168.3.67:/tmp/

4.6 按照提示操作成功之后,httpd.csr 應(yīng)該已經(jīng)在centos a的/tmp/目錄中.

5.簽署證書(centos a):

5.1 簽署,有效期十年
    # openssl ca -in /tmp/httpd.csr -out /etc/pki/ca/certs/pma.buybybuy.com.crt -days 3650
  5.2 將生成的crt傳回centos b
    # scp /etc/pki/ca/certs/pma.buybybuy.com.crt root@192.168.3.77:/etc/httpd/ssl/
  5.3 按照提示操作成功之后,pma.buybybuy.com.crt 應(yīng)該已經(jīng)在centos b的/etc/httpd/ssl/目錄中.

6.配置ssl(centos b):

6.1 事先備份

# cd /etc/httpd/conf.d/
    # cp ssl.conf{,.bak}

6.2 編輯ssl.conf

# vim ssl.conf

以下為修改項

<virtualhost _default_:443>
    =>
    <virtualhost *:443>

基本設(shè)置

documentroot "/web/vhosts/pma"
    servername pma.buybybuy.com:443

證書位置

sslcertificatefile /etc/pki/tls/certs/localhost.crt
    =>
    sslcertificatefile /etc/httpd/ssl/pma.buybybuy.com.crt

私鑰位置

sslcertificatekeyfile /etc/pki/tls/private/localhost.key
    =>
    sslcertificatekeyfile /etc/httpd/ssl/httpd.key

保存退出.

6.3 檢查配置文件語法錯誤:

# httpd -t

6.4 重啟httpd:

# systemctl restart httpd

6.5 查看443端口是否已開啟:

# ss -tnl

CentOS7下LAMP及基于https的虛擬化主機(jī)怎么實現(xiàn)

6.6 去瀏覽器訪問格式:

看見https字樣就對了.但會提示無效,添加信任即可. 

CentOS7下LAMP及基于https的虛擬化主機(jī)怎么實現(xiàn)

讀到這里,這篇“CentOS7下LAMP及基于https的虛擬化主機(jī)怎么實現(xiàn)”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站標(biāo)題:CentOS7下LAMP及基于https的虛擬化主機(jī)怎么實現(xiàn)
本文URL:http://bm7419.com/article20/jdcsjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、電子商務(wù)、App設(shè)計、域名注冊、外貿(mào)網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)