12. 為LAMP的網站增加專案
一臺執行LAMP環境的伺服器,上面有幾十個網站,每一個網站都分配了單獨的虛擬主機和MySQL庫。目前網站的數量還在持續增加,每增加一個網站需要做的操作如下:
1)新增一個Apache虛擬主機;
2)新增一個ftp賬號對該網站目錄有管理許可權;
3)新增一個庫;
4)新增一個資料庫使用者管理新增的庫。
由於這些操作具有非常高的重複度,所以適合用shell指令碼實現。
參考指令碼如下:
#!/bin/bash
#在LAMP環境下新增站點,包括Apache配置、FTP增加使用者、MySQL增加庫及使用者
#網站目錄
webdir=/data/wwwroot
#FTP的虛擬使用者配置檔案目錄
ftpuserdir=/etc/vsftpd/vuuser
#FTP虛擬使用者密碼檔案
ftpuserfile=/root/login
#mysql命令列登陸root
mysqlc="/usr/local/mysql/bin/mysql -uroot -pjk1hYUcnt6"
#Apache虛擬主機配置檔案
httpd_config_f="/usr/local/apache/conf/extra/httpd-vhosts.conf"
#定義增加MySQL庫和使用者的函式
add_mysql_user()
{
mysql_p=`mkpasswd -s 0 -l 12` #生成隨機密碼
#將密碼儲存到臨時檔案裡,這裡的 $pro 為自定義的專案名字
echo "$pro $mysql_p" >/tmp/$pro.txt
#將建立使用者並授權的命令傳遞給mysql
$mysqlc << EOF
create database $pro;
grant all on $pro.* to "$pro"@'127.0.0.1' identified by "$mysql_p";
EOF
}
#定義增加FTP使用者的函式
add_ftp_user()
{
ftp_p=`mkpasswd -s 0 -l 12`
echo "$pro" >> $ftpuserfile
echo "$ftp_p" >> $ftpuserfile
#將使用者、密碼檔案轉換成密碼db檔案
db_load -T -t hash -f $ftpuserfile /etc/vsftpd/vsftpd_login.db
cd $ftpuserdir
#這裡的aaa表示之前的專案檔案,作為配置模板
cp aaa $pro
sed -i "s/aaa/$pro/" $pro
/etc/init.d/vsftpd restart #重啟vsftpd服務
}
#定義增加Apache虛擬主機的函式
config_httpd()
{
mkdir $webdir/$dom #增加網站根目錄,$dom為自定義的域名
chown vsftpd:vsftpd $webdir/$dom
cat >> $httpd_config_f << EOF
<VirtualHost *:80>
DocumentRoot $webdir/$dom
ServerName $dom
<Directory $webdir/$dom>
AllowOverride none
Require all granted
</Directory>
</VirtualHost>
EOF
/usr/local/apache/bin/apachectl graceful #過載apache服務
}
read -p "input the project name: " pro #自定義專案名
read -p "input the domain: " dom #自定義域名
add_mysql_user
add_ftp_user
config_httpd
相關文章
- 談網站專案的WBS分解網站
- 專案管理主要網站專案管理網站
- 使用xml http為網站增加域名查詢功能(轉)XMLHTTP網站
- 十問Web網站專案Web網站
- LAMP架構部署和動態網站環境的配置LAMP架構網站
- [譯] 多網站專案的 CSS 架構網站CSS架構
- 網站增加程式碼監測網站
- 網站專案建設流程概述網站
- 為什麼網站專案只需測試5個使用者網站
- 網站專案管理-專案模型及業務流程分析(轉)網站專案管理模型
- 《淘寶技術這十年》之LAMP架構的網站LAMP架構網站
- 一個高效搜尋github專案的網站Github網站
- 自查Web網站專案的10個問題Web網站
- 關於網站專案報價的問題網站
- 網站流量增加100個方法網站
- django 開發網站-建立 django 專案Django網站
- 網站專案管理規範手冊網站專案管理
- 商務網站專案開發外包網站
- 雅虎網站專案工作流程(轉)網站
- maven專案增加web.xmlMavenWebXML
- 小記:為開源專案增加一個新功能的開發歷程
- 專案管理相關網站(不斷更新)專案管理網站
- PyThon模組與專案熱度網站Python網站
- 10.15 品優購網站專案網站
- 大型商城網站爬蟲專案實戰網站爬蟲
- pipeline釋出java網站專案Java網站
- 如何在已有內網網路中增加專案專用域名解析伺服器(DNS)內網伺服器DNS
- 為開源專案 go-gin-api 增加後臺任務模組GoAPI
- VS中新建網站和新建WEB專案的區別網站Web
- 【VIP視訊網站專案上線】基於Nodejs的Express框架開發的VIP視訊網站專案及完整程式碼分享...網站NodeJSExpress框架
- 第一次做web專案購物網站專案總結Web網站
- 小說網站-自動收集小說功能-Django專案網站Django
- 記錄一個開源專案排名網站網站
- 零基礎創作專業wordpress網站03-為網站新增頁面網站
- 基於web網站專案的效能測試結果分析Web網站
- 蘋果推出重新設計的開源專案主題網站蘋果網站
- 為rac資料庫增加控制檔案資料庫
- 分類目錄 網址收藏網站 Thinkphp + Bootstrap 練習做的專案網站PHPboot