CentOS7安裝lamp並實現https訪問

題目:新建三個基於域名的虛擬主機,如下:

vhost1: pma.xujunmin.com, phpMyAdmin, 同時提供https服務;

vhost2: wp.xujunmin.com, wordpress

vhost3: dz.xujunmin.com, Discuz

工具/原料

CentOS

方法/步驟

一、編譯安裝Apache

1、編譯安裝apr及apr-util

apr是Apache的可移植運行庫,主要為上層的應用程式提供一個可以跨越多作業系統平台使用的底層支持接口庫。

[root@localhost PKGS]# tar -xf apr-1.5.2.tar.bz2[root@localhost PKGS]# cd apr-1.5[root@localhost apr-1.5.2]# ./configure --prefix=/usr/local/apr[root@localhost apr-1.5.2]# make && make install

[root@localhost PKGS]# tar -xf apr-util-1.5.4.tar.bz2[root@localhost PKGS]# cd apr-util-1.5.4[root@localhost apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

[root@localhost ~]# vim /etc/ld.so.conf.d/apr_apr-util.conf[root@localhost apr-util-1.5.4]# make && make install

# 導出庫文件

[root@localhost ~]# vim /etc/ld.so.conf.d/apr_apr-util.conf添加:/usr/local/apr/lib      /usr/local/apr-util/lib

# 使庫文件生效並驗證

[root@localhost ~]# ldconfig[root@localhost ~]# ldconfig -p | grep apr

2、安裝依賴包

pcre-devel為http進行正則匹配的時候需要,而openssl-devel為http開啟ssl功能的時候需要。

[root@localhost PKGS]# yum install pcre-devel openssl-devel.x86_64

3、編譯httpd包

[root@localhost PKGS]# tar xf httpd-2.4.16.tar.gz[root@localhost PKGS]# cd httpd-2.4.16[root@localhost httpd-2.4.16]# ./configure --prefix=/usr/local/apache \> --sysconfdir=/etc/httpd  --enable-so --enable-ssl --enable-cgi \> --with-pcre --with-zlib --enable-rewrite --with-apr=/usr/local/apr \> --with-apr-util=/usr/local/apr-util --enable-modules=most \> --enable-mpms-shared=all --with-mpm=event [root@localhost ~]# make && make install

4、其他操作

#編輯httpd,指定PidFile

[root@localhost ~]# vim /etc/httpd/httpd.conf添加:PidFile "/var/run/httpd.pid"

# 導出庫文件

[root@localhost ~]# vim /etc/ld.so.conf.d/httpd.conf/usr/local/apache/lib

# 為可執行程序添加PATH路徑

[root@localhost ~]# echo 'export PATH=$PATH:/usr/local/apache/bin' > /etc/profile.d/httpd.sh[root@localhost ~]# . /etc/profile.d/httpd.sh

# 導出man文件

[root@localhost ~]# vim /etc/man_db.conf添加:MANDATORY_MANPATH                       /usr/local/apache/man

# 添加服務

[root@localhost ~]# httpd -k start

二、編譯mysql

此處使用MariaDB的二進位程序安裝,無需編譯

1、 解壓到指定目錄

[root@localhost PKGS]# tar -xf mariadb-5.5.36-linux-x86_64.tar.gz -C /usr/local/[root@localhost PKGS]# cd /usr/local/

2、建立軟連結,方便管理及以後升級

[root@localhost local]#ln -sv mariadb-5.5.36-linux-x86_64 mysql[root@localhost ~]# mkdir /data   # 建立mysql數據存放目錄[root@localhost ~]# chown -R mysql:mysql /data

3、創建mysql系統用戶

[root@localhost mysql]# groupadd -r mysql[root@localhost mysql]# useradd -g mysql -r -s /sbin/nologin -d /data mysql[root@localhost mysql]# chown -R mysql:mysql *

4、進行資料庫安裝

[root@localhost mysql]# scripts/mysql_install_db --datadir=/data --user=mysql

5、編輯mysql配置文件

[root@localhost mysql]# cp support-files/my-large.cnf /etc/my.cnf   # 覆蓋/etc/my.cnf下的                                                                       配置文件[root@localhost mysql]# vim /etc/my.cnfdatadir = /data      #  在[mysqld]添加datadir

6、添加mysql的服務腳本

[root@localhost mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld[root@localhost mysql]# chkconfig --add mysqld[root@localhost mysql]# chkconfig mysqld on[root@localhost mysql]# service mysql start[root@localhost mysql]# ps -ef | grep mysqld       # 查看進程啟動是否正常

7、查看埠監聽是否正常

[root@localhost mysql]# ss -ant | grep 3306      LISTEN     0     50                       *:3306                     *:*

8、其他操作

# 添加二進位程序的PATH路徑

[root@localhost mysql]# echo 'export PATH=$PATH:/usr/local/mysql/bin' > /etc/profile.d/mysqld.sh

[root@localhost mysql]# . /etc/profile.d/mysqld.sh

# 導出頭文件

[root@localhost mysql]# ln -sv include /usr/include/mysql

# 導出庫文件

[root@localhost mysql]# echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf

# 修改root密碼

MariaDB [(none)]>UPDATE mysql.user SET Password = password('123456') where User = 'root';MariaDB [(none)]>create database wordpress;      # 為安裝wordpress做準備Query OK, 1 row affected(0.00 sec) MariaDB [(none)]> showdatabases;+--------------------+| Database           |+--------------------+| information_schema || mysql              || performance_schema || test               || wordpress          |+--------------------+5 rows in set (0.13 sec) MariaDB [(none)]>flush privileges;Query OK, 0 rows affected(0.00 sec)

三、編譯安裝PHP

1、解壓

[root@localhost PKGS]# tar xf php-5.4.40.tar.bz2        [root@localhost PKGS]# cd php-5.4.40

2、編譯安裝

[root@localhost ~]# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql \> --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config \> --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir \> --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets \> --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt --with-config-file-path=/etc \> --with-config-file-scan-dir=/etc/php.d --with-bz2  --enable-maintainer-zts

[root@localhost php-5.4.40]# make && make install

3、為php提供配置文件

[root@localhost php-5.4.40]# cp php.ini-production /etc/php.ini

4、編輯apache配置文件httpd.conf,使apache支持php

[root@localhost ~]# vim /etc/httpd/httpd.conf # AddType 添加對.php及.phps後綴文件的支持   AddType application/x-httpd-php  .php   AddType application/x-httpd-php-source  .phps

# 添加php的索引文件

DirectoryIndex  index.php index.html

四、建立虛擬主機

三個基於域名的虛擬主機:

vhost1: pma.xujunmin.com, phpMyAdmin, 同時提供https服務;

vhost2: wp.xujunmin.com, wordpress

vhost3: dz.xujunmin.com, Discuz

1、 分別創建三個虛擬主機的家目錄,並將phpMyAdmin,wordpress,Discuz分別移至對應的目 錄下

[root@localhost ~]# mkdir -pv /www/{vhost1,vhost2,vhost3}[root@localhost PKGS]# unzip phpMyAdmin-4.4.14.1-all-languages.zip[root@localhost PKGS]# mv phpMyAdmin-4.4.14.1-all-languages/*/www/vhost1/[root@localhost PKGS]# unzip wordpress-4.3.1-zh_CN.zip[root@localhost PKGS]# mv wordpress/* /www/vhost2/[root@localhost PKGS]# unzip Discuz_X3.2_SC_UTF8.zip[root@localhost PKGS]# mv upload/* /www/vhost3/[root@localhost PKGS# cd /www/vhost3/[root@localhost vhost3]# chown -R daemon:root *  # 更改屬主信息否則安裝過程中提示無權限

2、配置httpd.conf文件:

[root@localhost ~]# vim /etc/httpd/httpd.conf#DocumentRoot "/usr/local/apache/htdocs"        # 注釋掉DocumentRoot#Virtual hosts Include /etc/httpd/extra/httpd-vhosts.conf   #去掉注釋,使httpd-vhosts配置生效# Secure (SSL/TLS) connectionsInclude /etc/httpd/extra/httpd-ssl.conf   # 去掉前面的注釋,開啟httpsLoadModule ssl_module modules/mod_ssl.so  # 去掉前面的注釋,開始ssl功能LoadModule socache_shmcb_module modules/mod_socache_shmcb.so   # 去掉前面的注釋

3、 配置 httpd-vhosts.conf:

[root@localhost ~]# vim/etc/httpd/extra/httpd-vhosts.conf# 配置基於域名wp.xujunmin.com的虛擬主機<VirtualHost *:80>    ServerAdmin admin@wp.xujunmin.com    DocumentRoot /www/vhost2    ServerName wp.xujunmin.com        <Directory /www/vhost2>            Options None            AllowOverride None            Require all granted        </Directory>    ErrorLog "logs/wp.com-error_log"    CustomLog"logs/wp.com-access_log" combine</VirtualHost> # 配置基於域名dz.xujunmin.com的虛擬主機<VirtualHost *:80>    ServerAdmin admin@dz.xujunmin.com    DocumentRoot /www/vhost3    ServerName dz.xujunmin.com        <Directory /www/vhost3>            Options None            AllowOverride None            Require all granted        </Directory>    ErrorLog "logs/dz.com-error_log"    CustomLog"logs/dz.com-access_log" combine</VirtualHost>

# 重啟httpd服務

[root@localhost ~]# httpd -k start[root@localhost ~]# ss -ant | grep 443LISTEN     0     128                     :::443                     :::*

4、 配置httpd-ssl.conf:

[root@localhost ~]# vim /etc/httpd/extra/httpd-ssl.conf<VirtualHost 192.168.52.132:443>    DocumentRoot "/www/vhost1/"    ServerName pma.xujunmin.com:443    ServerAdmin admin@xujunmin.com    <Directory /www/vhost1/>        Options None        AllowOverride None        Require all granted    </Directory>    ErrorLog "/usr/local/apache/logs/pma.com-rror_log"    TransferLog "/usr/local/apache/logs/pma.com-access_log"    ... </VirtualHost>

5、HTTPS認證:

#自建CA:

root@localhost ~]# cd /etc/pki/CA/[root@localhost CA]# (umask 077;openssl genrsa -out private/cakey.pem 2048)   # 生成密鑰對[root@localhost CA]# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650  # 生成自簽證書[root@localhost CA]# touch index.txt serial crlnumber[root@localhost CA]# echo 01 > serial

# 客戶端:

[root@localhost ~]# mkdir /etc/httpd/ssl[root@localhost ~]# cd /etc/httpd/ssl[root@localhost ssl]# (umask 077;openssl genrsa -out httpd.key 1024)   # 生成密鑰對[root@localhost ssl]# openssl req -new -key httpd.key -out httpd.csr # 生成證書申請請求Country Name (2 letter code) [XX]:CNState or Province Name (full name) []:BeijingLocality Name (eg, city) [Default City]:BeijingOrganization Name (eg,company) [Default Company Ltd]:MageduOrganizational Unit Name (eg, section) []:OPS               Common Name (eg, your name or your server's hostname) []:pma.xujunmin.com   Email Address []:admin.xujunmin.com Please enter the following 'extra' attributes to be sent with your certificate requestA challenge password []:An optional company name []:

[root@localhost ssl]# lshttpd.csr  httpd.key

# CA簽署客戶申請證書:

[root@localhost CA]# openssl ca -in /etc/httpd/ssl/httpd.csr -out /etc/httpd/ssl/httpd.crt -days 365

# 將證書導入到IE證書的受信任的根證書頒發機構欄

# 在window hosts(C:\Windows\System32\drivers\etc)中添加域名解析項

192.168.52.132 pma.xujunmin.com

192.168.52.132 wp.xujunmin.com

192.168.52.132 dz.xujunmin.com

五、測試

1、 vhost1: pma.xujunmin.com

2、wp.xujunmin.com(安裝具體過程省略)

3、dz.xujunmin.com(安裝過程省略)

相關文章

  1. 華為雲伺服器 yum安裝Lamp環境攻略

    centos 6.5版本 工具/原料 Xshell5,WinSCP 筆記本 方法/步驟 更新yum yum -y update 安裝Apache yum install httpd httpd-dev ...
  2. linux下安裝lamp環境 centos系統

    基於源碼包安裝    一點點總結出來的 源碼安裝有先後順序  所需要的源碼有 安裝libxml2 必須先安裝yum -y install python-devel ./configure --pref ...
  3. 使用ubuntu 12.04 安裝Lamp時如何更換新源

    在裝好ubuntu系統後,我要搭建php開發環境需要安裝安裝Lamp.第一件事就是替換自帶的更新源,apt-get update 更新本地軟體源列表,但是出現了"W: 無法下載 gzip:/ ...
  4. win7系統上jboss6 設置https訪問

    最近項目發布需要在jboss6中 設置https的方式訪問,在這裡將我處理的過程記錄一下,供有需要的人參考.我這裡先講講用自己生成證書的方式.SSL分問單向和雙向認證,如下解釋 單向認證:       ...
  5. CentOS7安裝配置Hadoop2.7.3

    1.掌握Hadoop平台的搭建方法. 2.掌握在單機上運行Hadoop的方法. 3.配置偽分布式並測試wordcount例子 工具/原料 Centos7 putty(連接終端) FlashFXP(上傳 ...
  6. CentOS7安裝virtualBox

    安裝了centos7,想通過virtualBox安裝個WIN7來運行一些必要的程序.但在安裝virtualBox過程中,出現了很多問題.現在把安裝過程記錄下來,希望有所幫助. 方法/步驟 下載virt ...
  7. 如何安裝LAMP環境部署wordpress

    介紹如何安裝LAMP環境並部署wordpress 工具/原料 LNMP軟體包 CentOS系統 方法/步驟 登錄CentOS主機,使用wget命令下載並安裝 LNMP安裝包 #wget -c http ...
  8. rhel7/centos7安裝apache服務配置及訪問控制

    因公司用redhat5系統已經過時啦,現在公司要求用高版本的redhat來裝apache服務,下面就看一下如何安裝及設置. 工具/原料 redhat7/centos7系統 一安裝apche服務及配置 ...
  9. 在CentOS 6.5上安裝vncserver實現圖形化訪問

    系統是CentOS 6.5的阿里雲伺服器開通後,默認是能用SSH遠程訪問伺服器,在Windows下推薦是PuTTY,而MAC系統下默認是有SSH的.由於PuTTY無法實現在多個遠程終端之間切換,而這導 ...
  10. CentOS7 安裝SVN客戶端

    CentOS 7.2 系統默認安裝的SVN客戶端是1.7版本的,先卸載再安裝1.8版本. 工具/原料 CentOS 7.2 方法/步驟 卸載舊版本的svn yum remove subversion ...
  11. 如何安裝Chrome遠程桌面程序訪問任何遠程PC

    尋找一個快速簡便的方法從蘋果設備訪問您的Windows,Mac或Linux計算機,Android設備,甚至從另一個Windows,Mac或Linux的機器? 如果是這樣,那麼有一個解決方案,它的作品真 ...
  12. CentOS7安裝django1.7

    最近在學習django,不過電腦沒有安裝,由於用的是最新的CentOS和最新的django1.71,網上這類的教程還不好找.由於這個原因,我想把自己的安裝過程及經驗心得記錄下來,供大家參考. 工具/原 ...
  13. phpStudy下Apache環境安裝SSL證書實現https連結

    phpstudy的Apache環境下如何安裝SSL證書?網上很多教程,然並卵.本文真實可靠實際操作,為大家教學phpstudy下A環境安裝SSL證書的正確方法.不用花錢請大神,希望大家分享該知識為ht ...
  14. emlog啟用https訪問詳細教程

    https支持已集成到Emlog 6.0,以下內容僅適用於Emlog 5.x用戶,在進行修改之前,請先確定伺服器已正確配置https,並且備份所有文件,防止遇到兼容性問題. 方法/步驟 include ...
  15. centos5如何安裝vncserver實現圖形化訪問

    下面來介紹如何在Centos5.8 32bit安裝vnc-server,實現圖形化訪問 工具/原料 Centos5.8 32bit​ vnc-server 方法/步驟 先檢查一下vnc-server軟 ...
  16. IIS7/IIS8全站https訪問的配置方法

    其實IIS7/IIS8全站https訪問的配置方法並不難,只要改動一個文件就可以了,和景安網絡一起看看吧 方法/步驟 配置web.config文件 1.找到網站根目錄web.config文件,替換一下 ...
  17. centos7安裝後缺少網卡的解決方法

    centos7安裝後缺少網卡的解決方法 方法/步驟 問題一: 最近要重新拿起來python,然後在裝虛擬機,為了偷懶,用VM裝的是centos7的系統,裝完之後發現只有ifg-lo,沒有其他的網卡.網 ...
  18. linux快速安裝lamp的方法

    lamp是指Linux+Apache+Mysql+PHP組合,而很多人會考慮在Linux系統下載安裝lamp,本人在這裡教大家如何來安裝! 方法/步驟 #sudo apt-get update 注:s ...
  19. qq無法安裝和卸載,無法訪問windows installer

    有很多網友反應在安裝QQ的時候出現問題,提示"無法訪問windows installer服務"出現此種情況多半和我們的註冊表設置有關係,下面小編就為大家分享下具體解決辦法 方法/步 ...
  20. Centos7 安裝配置 redis 3

    Centos7 安裝配置 redis 3 工具/原料 Centos7 redis 方法/步驟 安裝EPEL源 以64位為例 # wget http://dl.fedoraproject.org/pub ...