您好,登錄后才能下訂單哦!
我的linux主機的ip為172.16.29.2,系統為centos7.2。使用centos6的操作內容可能不同,主要是因為兩個,一個是數據庫,centos7使用的數據庫是mariadb,6使用的是mysql;二是httpd程序不同,并且兩個版本變化很大。寫這個博客之前本來打算寫一個腳本自動化實現,寫的中間的時候發現需要更改的內容有些需要借用網絡傳輸一些文件,并且通用性比較差,就整理了一下把腳本拆分組織了一下語言寫了這個博客。有一個寫到一半的腳本我也貼到文章的附件內,有興趣可以看看。
之所以要https是因為全站https正在流行開來。
setenforce 0 #關閉selinux iptables -F #關閉防火墻 yum install mariadb-server httpd phpphp-mysql unzip php-mbstring mod_ssl -y
安裝各種組件,組件按順序分別是數據庫,Apache,php,php連接數據庫組件,linux解壓zip文件的工具,phpMyAdmin需要的組件,加密組件
wget http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_UTF8.zip#下載 wget https://files.phpmyadmin.net/phpMyAdmin/4.6.5.2/phpMyAdmin-4.6.5.2-all-languages.zip#下載 mkdir /www #創建文件夾 unzip phpMyAdmin-4.6.5.2-all-languages.zip-d /www #解壓 unzip Discuz_X3.2_SC_UTF8.zip -d/www/discuz/ #解壓 chown -R apache:apache /www #更改權限
systemctl start mariadb.service #開啟數據庫
接下來是一鍵建庫
mysql <<eof create database dcdb; create database weblog; use weblog; create table apachelog(ID int not nullprimary key,DATE varchar(100),LOGCONTENT text); grant all privileges on dcdb.* todcuser@'%'identified by "oldking"; grant all privileges on *.* to admin@'%'identifiedby "oldking"; eof
這部分內容我寫的不是很全,可以產考我之前的博客
http://oldking.blog.51cto.com/10402759/1882421 cd /etc/pki/CA/ touch index.txt echo 01 > serial (umask 066;openssl genrsa -outprivate/cakey.pem 2048) #生成ca的私鑰 openssl req -new -x509 -keyprivate/cakey.pem -out cacert.pem #ca自簽證書,把這個證書改名為.crt結尾,導入瀏覽器就可使用了 cd /etc/httpd/ mkdir ssl cd ssl/ (umask 066;openssl genrsa -out httpd.key2048; ) #http服務的私鑰 openssl req -new -key httpd.key -outhttpd.csr -days 365 #生成證書 cd /etc/pki/CA/ openssl ca -in /etc/httpd/ssl/httpd.csr -outcerts/httpd.crt -days 700 cp certs/httpd.crt /etc/httpd/ssl/
cd /www/ vim phpMyAdmin-4.6.5.2-all-languages /.htaccess#添加以下內容,實現http協議的內容轉發到https上,現在很流行全站https RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^.*$https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
以下的配置是配置phpMyAdmin管理的數據庫和賬號密碼
vim /www/ phpMyAdmin-4.6.5.2-all-languages /libraries/config.default.php $cfg['Servers'][$i]['host'] = '172.16.29.2'; $cfg['Servers'][$i]['user'] = 'admin'; $cfg['Servers'][$i]['password'] = 'oldking';
這里我使用一鍵配置命令,注意ip,現在基本上所有網站都在使用壓縮傳輸
cat > /etc/httpd/conf.d/vhost.conf<<eof <VirtualHost 172.16.29.2:80> ServerAdminwebmaster@dummy-host.example.com DocumentRoot/www/discuz/upload #網站路徑 ServerName bbs.oldking.org #網站名稱 ErrorLoglogs/oldking.bbs-error_log #錯誤日志的位置 CustomLoglogs/oldking.bbs-access_log common #訪問日志的位置 <Directory"/www/discuz/upload"> Options None AllowOverride None Require all granted #以下三行是實現壓縮傳輸的 SetOutputFilter DEFLATE AddOutputFilterByType DEFLATEtext/html text/plain text/css text/xml text/javascript BrowserMatch"^Mozilla/2" no-gzip </Directory> </VirtualHost> <VirtualHost 172.16.29.2:80> ServerAdminwebmaster@dummy-host.example.com DocumentRoot /www/phpMyAdmin-4.6.5.2-all-languages ServerName admin.oldking.org ErrorLoglogs/oldking.admin-error_log CustomLoglogs/oldking.admin-access_log common <Directory "/www/ phpMyAdmin-4.6.5.2-all-languages"> #這兩行必須開,否則http協議的數據轉發到https協議就實現不了 Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost> eof
7 https配置
vim /etc/httpd/conf.d/ssl.conf DocumentRoot "/www/ phpMyAdmin-4.6.5.2-all-languages" ServerName admin.oldking.org SSLCertificateFile /etc/httpd/ssl/httpd.crt #授權證書 SSLCertificateKeyFile/etc/httpd/ssl/httpd.key #http私鑰 <Directory "/www/ phpMyAdmin-4.6.5.2-all-languages"> Options None AllowOverride None Require all granted </Directory>
把證書導到瀏覽器內,更改主機hosts文件加以下兩行
bbs.oldking.org 172.16.29.2
admin.oldking.org 172.16.29.2
配置步驟無非是環境和文件的準備,數據庫和證書的,配置網頁需要環境,最后配置httpd,https也無非是一個比較特殊的httpd的虛擬主機。配置的重點也是當下主要網站都使用的手段在于,文件壓縮傳輸和把HTTP協議的數據轉發到https上。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。