使用指令碼一鍵安裝個人部落格
本指令碼分為兩個:一個用於安裝LAP,另一個用於安裝資料庫,所以需要用到兩臺主機;同時這兩個指令碼都是基於 CentOS 7 作業系統編輯的,使用時請注意系統版本!!
1、安裝LAP
#!/bin/bash
#檢查系統是否已經安裝相應軟體
rpm -ql php && yum -y remove php
if [ `sed -r 's/.* ([0-9]+)\..*/\1/' /etc/centos-release` -eq 7 ]; then
rpm -ql httpd && systemctl stop httpd
rpm -ql php-fpm && systemctl stop php-fpm
else
rpm -ql httpd && service httpd stop
rpm -ql php-fpm && service php-fpm stop
fi
mkdir -p /app/lamp-src
cd /app/lamp-src
#下載http2.4.X,apr-1.6.X,apr-util-1.6.X,php-7.1.X,wordpress-4.8.X等原始碼包
wget ftp://twenty-six:[email protected]172.17.0.1/files/lamp/httpd-2.4.28.tar.bz2
wget ftp://twenty-six:[email protected]172.17.0.1/files/lamp/apr-1.6.2.tar.gz
wget ftp://twenty-six:[email protected]172.17.0.1/files/lamp/apr-util-1.6.0.tar.gz
wget ftp://twenty-six:[email protected]172.17.0.1/files/lamp/php-7.1.10.tar.xz
wget ftp://twenty-six:[email protected]172.17.0.1/files/lamp/wordpress-4.8 .1-zh_CN.tar.gz
#對下載好的原始碼包進行解壓
tar -xvf httpd-2.4.28.tar.bz2
mkdir -p httpd-2.4.28/srclib/apr
mkdir /app/lamp-src/httpd-2.4.28/srclib/apr-util
tar -xvf /app/lamp-src/apr-1.6.2.tar.gz
tar -xvf /app/lamp-src/apr-util-1.6.0.tar.gz
cp -r apr-1.6.2/* httpd-2.4.28/srclib/apr
cp -r apr-util-1.6.0/* httpd-2.4.28/srclib/apr-util
#安裝開發工具包組
yum groupinstall "Development tools" -y
#安裝http相關的依賴包
yum install openssl-devel expat-devel pcre-devel -y
#編譯安裝http2.4.X
cd httpd-2.4.28/
./configure --prefix=/app/httpd24 \
--sysconfdir=/etc/httpd24 \
--enable-so \
--enable-ssl \
--enable-cgi \
--enable-rewrite \
--with-zlib \
--with-pcre \
--with-included-apr \
--enable-modules=most \
--enable-mpms-shared=all \
--with-mpm=prefork
make && make install
#新增環境變數
cd /etc/profile.d/
echo PATH=$PATH:/app/httpd24/bin/ > lamp.sh
. lamp.sh
#啟動httpd服務
apachectl
#首先安裝php依賴包
yum install libxml2-devel bzip2-devel libmcrypt-devel -y
cd /app/lamp-src/
tar -xvf php-7.1.10.tar.xz
cd php-7.1.10
#編譯安裝php
./configure --prefix=/app/php \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-openssl \
--enable-mbstring \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--enable-sockets \
--enable-fpm \
--with-mcrypt \
--with-config-file-path=/etc/ \
--with-config-file-scan-dir=/etc/php.d \
--enable-maintainer-zts \
--with-bz2
make && make install
#將php的初始化檔案拷貝到 /etc/目錄下,並改名為php.ini
cp php.ini-production /etc/php.ini
#將php的服務啟動指令碼拷貝到 /etc/rc.d/init.d/ 目錄下,並改名為php-fpm
#同時設定該服務的執行級別
cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
chmod +x /etc/rc.d/init.d/php-fpm
systemctl enable php-fpm
cd /app/php/etc/
#啟用php-pfm服務的配置檔案
cp php-fpm.conf.default php-fpm.conf
#把pid的註釋行取消掉,啟用php-pfm服務的pid設定檔案
sed -i '/pid/s/;//' php-fpm.conf
#啟用php-fpm服務的一些其他配置選項
#該檔案裡可以配置php-fpm服務的程序、使用者等選項
#一般情況下預設即可,有特殊需求的可以根據自身需求進行修改
cd /app/php/etc/php-fpm.d/
cp www.conf.default www.conf
#開啟php-fpm服務
systemctl start php-fpm
cd /etc/httpd24/
echo '
#這兩項是用來設定httpd程式可以識別 .php和.phps 結尾的php程式檔案的
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
#關閉正向代理
ProxyRequests Off
#匹配httpd服務主機上的PHP程式檔案路徑
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/app/httpd24/htdocs/$1' >> httpd.conf
#將httpd服務主頁修改成一個PHP程式檔案生成的頁面
sed -i 's/index.html/index.php &/' httpd.conf
#將 /etc/httpd24/httpd.conf 檔案中以下兩行的註釋取消掉
#httpd2.4中這兩個模組是專門針對FastCGI進行實現的
#proxy_fcgi.so是對proxy.so的擴充套件
sed -i '/proxy.so/s/#//' httpd.conf
sed -i '/proxy_fcgi.so/s/#//' httpd.conf
#重啟httpd服務
apachectl restart
#建立測試php連線Mariadb的檔案
cd /app/httpd24/htdocs/
echo '<html><body><h1> LAMP </h1></body></html>
<?php
$mysqli=new mysqli("172.17.254.98","wpuser","123456");
if(mysqli_connect_errno()){
echo "連線資料庫失敗!";
$mysqli=null;
exit;
}
echo "連線資料庫成功!";
$mysqli->close();
phpinfo();
?>' > index.php
#安裝配置wordpress
cd
wget ftp://twenty-six:[email protected]172.17.0.1/files/lamp/wordpress-4.8.1-zh_CN.tar.gz
tar xvf wordpress-4.8.1-zh_CN.tar.gz -C /app/httpd24/htdocs
cd /app/httpd24/htdocs
mv wordpress/ blog/
cd /app/httpd24/htdocs/blog/
cp wp-config-sample.php wp-config.php
sed -i 's/database_name_here/wpdb/' wp-config.php
sed -i 's/username_here/wpuser/' wp-config.php
sed -i 's/password_here/123456/' wp-config.php
sed -i 's/localhost/172.17.254.98/' wp-config.php
#關閉防火牆
iptables -F
#檢視httpd服務80埠是否開啟
ss -ntl
#檢視php-fpm服務是否設定為開機自啟動
chkconfig --list php-fpm
2、安裝資料庫
#!/bin/bash
#判斷系統是否已經安裝mariadb資料庫軟體,若安裝則進行提醒,並退出該指令碼。
rpm -q mariadb >> /dev/null && echo `rpm -q mariadb` is installed && exit 0
###注意:rpm查詢,只能查詢以rpm機制安裝的軟體,以其他方式安裝的軟體可能查詢不到。
#建立資料庫程式的使用者,並指定其工作目錄與登入方式,
#在建立該使用者時,系統也會自動建立其所屬的同名使用者組
useradd -d /app/mysqldb -r -m -s /sbin/nologin mysql
#以下兩條指令可以用來建立指定資訊的使用者及使用者組
##groupadd -r -g 306 mysql
##useradd -r -g 306 -u 306 –m –d /app/data mysql
#切回root使用者目錄下
cd
#下載mariadb壓縮包,並將其解壓縮到指定目錄/usr/local
wget ftp://twenty-six:[email protected]/files/lamp/mariadb-10.2.9-linux-x86_64.tar.gz
tar -xf /root/mariadb-10.2.9-linux-x86_64.tar.gz -C /usr/local/
cd /usr/local
#建立軟連結
ln -s mariadb-10.2.9-linux-x86_64 mysql
#將 /usr/local/mysql/ 目錄的屬組設定為 mysql 使用者組
chown -R root:mysql /usr/local/mysql/
cd /usr/local/mysql
mkdir /etc/mysql/
#拷貝配置檔案樣例
cp support-files/my-huge.cnf /etc/mysql/my.cnf
#使用sed直接對/etc/mysql/my.cnf進行編輯
sed -i '/\[mysqld\]/a\datadir\ \=\ \/app\/mysqldb\ninnodb_file_per_table\ \=\ on\nskip_name_resolve\ \=\ on' /etc/mysql/my.cnf
#datadir = /app/data 設定資料存放目錄
#innodb_file_per_table = on 設定資料儲存引擎
#skip_name_resolve = on 禁止主機名解析
#初始化資料庫,建立資料庫檔案
scripts/mysql_install_db --user=mysql --datadir=/app/mysqldb
#建立mariadb的服務程式
cp support-files/mysql.server /etc/init.d/mysqld
#判斷系統版本,以便建立不同的資料庫日誌檔案
if [ `sed -r 's/.* ([0-9]+)\..*/\1/' /etc/centos-release` -eq 7 ]; then
#以下兩條指令是用來建立資料庫日誌檔案的,
#並將該檔案的屬主更改為 mysql
mkdir /var/log/mariadb/
chown mysql /var/log/mariadb/
#設定開機自啟動
#開啟資料庫服務
systemctl enable mysqld
systemctl start mysqld
else
#以下兩條指令是用來建立資料庫日誌檔案的,
#並將該檔案的屬主更改為 mysql
touch /var/log/mysqld.log
chown mysql /var/log/mysqld.log
#設定開機自啟動
#開啟資料庫服務
chkconfig --add mysqld
service mysqld start
fi
#設定環境變數,並使其生效
echo 'PATH=$PATH:/usr/local/mysql/bin' > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh
#執行安全初始化指令碼
#執行 mysql_secure_installation 指令會設定一下內容
#是否設定資料庫管理員root口令,本指令碼預設選擇設定root口令
#是否禁止root遠端登入,本指令碼預設選擇允許root遠端登入
#是否刪除anonymous使用者帳號,本指令碼預設選擇刪除匿名使用者賬號
#是否刪除test資料庫,本指令碼預設選擇保留test資料庫
echo -e "\ny\n123456\n123456\ny\nn\nn\ny" | mysql_secure_installation
#執行mysql服務,並建立wpdb資料庫與wpuser使用者,
#並對該使用者進行許可權設定,設定該使用者為wpdb資料庫的管理員
echo -e "\ncreate database wpdb; \
\ngrant all on wpdb.* to [email protected]'172.17.254.%' identified by '123456'; \
\ngrant all on wpdb.* to [email protected]'127.%' identified by '123456'; \
\ngrant all on wpdb.* to [email protected]'localhost' identified by '123456';" \
|mysql -uroot -p123456
相關推薦
使用指令碼一鍵安裝個人部落格
本指令碼分為兩個:一個用於安裝LAP,另一個用於安裝資料庫,所以需要用到兩臺主機;同時這兩個指令碼都是基於 CentOS 7 作業系統編輯的,使用時請注意系統版本!! 1、安裝LAP #!/bin/bash #檢查系統是否已經安裝相應軟體 rpm -ql
shell指令碼--一鍵安裝openfire服務
在之前的服務架構中,IM服務需要用到openfire,這裡編寫一個指令碼實現一鍵安裝openfire服務。 注:此部署指令碼為單機部署指令碼,若為叢集環境,請自行配置!! #!/bin/bash #############################################
shell指令碼一鍵安裝nginx[最終版]
直接上指令碼了, 支援離線線上安裝, 發現本地包則安裝本地版, 無本地包則檢測是否聯網, 聯網則下載依賴和安裝包自動編譯安裝, 無本地包無聯網則退出。 #!/bin/bash #------------------------------------
shell指令碼一鍵安裝jdk
直接上shell #!/bin/bash #offline jdk install ipath="/usr/local" installpath=$(cd `dirname $0`; pwd) j=`whereis java` java=$(echo ${j} | grep "jdk")
shell指令碼--一鍵安裝python3.6.1+pip
#!/bin/bash yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel wget https://www.python.org/ftp/python/3.6.1/Python-3
【高效率】shell指令碼一鍵安裝Tomcat服務
指令碼環境 1.linux centos 7或redhat 62.光碟映象檔案已掛載3.系統在可連線外網的環境中4.先下載jdk和tomcat軟體包百度雲連結提取碼:89be 實驗步驟 1.上傳軟體包到Linux系統中2.編寫指令碼vim tomcat.sh #!/bin/bash#t
使用github+jekyll一小時搭建個人部落格(小白專用)
很早就聽過github的大名,但一直不知道github是什麼,只知道別人會把他們的程式碼放上去。那就在這裡簡單介紹一下github。 百度是這樣說的: gitHub是一個面向開源及私有軟體專案的託管平臺,因為只支援git 作為唯一的版本庫格式進行託管,故名g
python3和pip3、pip指令碼一鍵安裝
建立python.sh檔案然後貼上下面的內容yum -y install wget && yum -y groupinstall "Development tools" &&am
一鍵搭建WordPress部落格環境(OneStep to WordPress)
WordPress介紹 現在有很多的個人部落格框架,比如靜態頁面的Jekyll/hexo,PHP語言框架的emlog/zblog,以及本文講到的WordPress。雖然WordPress已經是一個10年前誕生的產物,但隨著不斷的版本更新,今天WordPress依然在
shell指令碼一鍵安裝LNMP(liunx+nginx+mysql+php)環境
#!/bin/bash # author:kwin # Email:[email protected] src="/usr/local/src/" cd $src #找到指定程序,並殺死 #findPortKill 80 findPortKi
Centos Nginx指令碼一鍵安裝
指令碼在 阿里雲 Centos 以及 Linode Centos 測試通過,還是有一定通用性的。 下載地址:nginx.sh #!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/u
從零到一快速搭建個人部落格網站(域名備案 + https免費證書)(一)
## 前言 為什麼選擇搭建個人部落格?一方面是各個平臺經常下架原創文章,另一個方面是為了熟悉整個建站流程。 通過搭建個人部落格,我們可以自由的
使用GitHub + Hexo搭建個人部落格(一)- 安裝
最近在同事那瞭解到,使用GitHub + Hexo可以搭建自己的個人部落格,很早之前就想自己搞個網站做部落格,由於種種原因一直沒有實現 現在可以使用開源的工具搞個部落格還是蠻不錯的,這裡和大家分享下。 1. Hexo簡介 GitHub的簡單介紹,大家可以參考我前面的部落格,
一鍵安裝ghost輕部落格
從強悍的全球最大的gaoji平臺GitHUB上找到這個一鍵安裝指令碼,可以在常規的Ubuntu/Debian/CentOS VPS主機中快速安裝Ghost輕部落格程式。我們一起看看如何配置的。 一鍵指令碼如下 wget -N --no-check-certi
輕鬆代建個人部落格 Hexo+Github一步步搭建屬於自己的部落格
使用Hexo+Github一步步搭建屬於自己的部落格(基礎) 前言:電腦系統為window 10專業版,64位 歡迎預覽 我的部落格
MySQL5.7一鍵安裝指令碼
本文寫作說明:MySQL的配置檔案my.cnf引數調整參考來源於iMySQL | 老葉茶館此指令碼是本博主生產環境中經常使用的進行批量部署mysql服務時採用。指令碼比較陋,寫此處主要是方便自己使用時及時查閱,同時也希望可以幫助初級的DBA同學,指令碼中如有寫法不當之處歡迎拍磚,但是也希望不喜勿噴。 指令碼
記錄自己用python搭建個人部落格系統的完整過程(一)
零、前言 本博文記錄搭建個人部落格系統的完整過程,網上有許多相關的教程,但是沒找到一個(適合自己能力的)快速搭建的完整教程。藉此篇博文梳理一下前不久學習到的有關整個過程前前後後的各種知識點。 一、搭建環境 採用架構:python3.6 + django1.10 + ngi
Red5一鍵安裝指令碼(Linux&Win):一鍵搭建你的直播平臺
Red5一鍵部署script(Linux&Win):一鍵搭建你的直播平臺 看到bilibili,熊貓TV,鬥魚TV等直播平臺你是不是也很眼紅呢,這裡站長為大夥寫了一個Red5一鍵部署script。 Red5供給基於Flash的流媒體服務的一款基於Java的開源流媒體伺服器。它由Java言語編寫,使
VPS網路優化各種方法彙總——銳速-BBR-BBR魔改版一鍵安裝指令碼
雲主機網路優化各類方式彙總——銳速/BBR/BBR改裝版一鍵部署script 大夥的大有些雲主機都是放在海外的,在海外的伺服器上由於受各類要素影響,就算海外的伺服器都是百兆同享或者G口到大陸下載速率都不是很讓人滿足,而大有些的friend們都用的低廉Linux
VDVESTA一鍵安裝指令碼-VESTACP-PHP7.1-檔案管理器-vDDoSProxy
VDVESTA一鍵部署script/VESTACP/PHP7.1/檔案管理器/vDDoS Proxy 簡介 VDVESTA是一個小型的shellscript,為您的CentOS7 x86_64主動定製並部署VESTACP面板,與官方面板不同的是,此script支援php7。並增加了需付費使用的檔案管理面板