搜尋
首頁運維linux運維怎麼搭建lamp的腳本?

怎麼搭建lamp的腳本?

Jun 25, 2017 am 10:06 AM
lamp搭建腳本

环境:Centos6.6        事先将需要的源码包打包放在lamp.tar.gz中,并解压到/root下

[root@zengqingfu ~]# cat /etc/centos-release 
CentOS release 6.6 (Final)
[root@zengqingfu ~]# uname -a
Linux zengqingfu 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

[root@zengqingfu ~]# ls
anaconda-ks.cfg      lamp.sh                 phpMyAdmin-4.2.5-all-languages.tar.gz                模板
avg_score.awk        lamp.tar.gz             pxe_kickstart.sh                                     视频
cmake-2.8.6.tar.gz   libmcrypt-2.5.8.tar.gz  rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm           图片
history.txt          lines                   sturecord.txt                                        文档
httpd-2.2.17.tar.gz  mcrypt-2.6.8.tar.gz     test                                                 下载
input.txt            mhash-0.9.9.9.tar.gz    var_of_shell.sh                                      音乐
install.log          mysql-5.5.22.tar.gz     ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz  桌面
install.log.syslog   php-5.3.28.tar.gz       公共的

执行步骤:每一步执行之后的输出过程省略了

[root@zengqingfu ~]# ./lamp.sh y   加载光盘搭建本地yum仓库(可选的,已经搭建好yum仓库的可以不执行,直接到下一步)

[root@zengqingfu ~]# ./lamp.sh a    安装Apache web服务

[root@zengqingfu ~]# ./lamp.sh m     安装mysql

[root@zengqingfu ~]# ./lamp.sh p     编译安装PHP


[root@zengqingfu ~]# ./lamp.sh P(大写的)      再次安装PHP,并修改httpd.conf以支持PHP解析
  

[root@zengqingfu ~]# ./lamp.sh o          测试PHP能否成功连接MySQL,http网页能否解析PHP

下面看完整代码:

  1 [root@zengqingfu ~]# cat lamp.sh   2 #!/bin/bash  3 #Filename: lamp.sh  4 #Author: Zeng Qingfu  5 #####  6 if [ $# -ne 1 ];then  7     echo '''  8         Usage:input one option at a time;order to install lamp:first y,second a,third m,fourth p,fifth P,sixth o;  9         Options:y[install yum and stop iptables,selinux];a[install httpd];m[install mysql];p[install php];o[djust httpd.conf,test,install phpMyAdmin]; 10     ''' 11         exit 1 12 elif [ $# -eq 1 ];then 13     if [ $1 != "a" -a $1 != "m" -a $1 != "p" -a $1 != "o" -a $1 != "y" -a $1 != "P" -o $1 == "h" ];then 14          echo ''' 15              Usage:input one option at a time;order to install lamp:first y,second a,third m,fourth p,fifth o; 16              Options:y[install yum and stop iptables,selinux];a[install httpd];m[install mysql];p[install php];o[djust httpd.conf,test,install phpMyAdmin]; 17          ''' 18         exit 1 19     fi 20 fi 21  22 case $1 in 23  24 y) 25 ######stop  iptables and off selinux  and set yum repository################ 26 service iptables stop 27 chkconfig iptables off 28 setenforce 0 29 sed -i '7 s/enforcing/disabled/' /etc/selinux/config 30 umount /dev/cdrom 31 mkdir -p /media/cdrom 32 mount /dev/cdrom /media/cdrom 33 cd /etc/yum.r* 34 mkdir a 35 mv C* a/ 36 /bin/cp a/*M* ./ 37 sed -i '20 s/0/1/' C* 38 rpm --import /media/cdrom/*K* 39 yum -y clean all 40 yum makecache 41 ;; 42 ############################################################################# 43  44 a) 45 echo "installing httpd" 46 ##---------------install httpd------------------ 47     IP=$(hostname -I | awk '{print $1}') 48     echo "$IP www.zengqingfu.com" >> /etc/hosts 49     tar xf httpd-2.2.17.tar.gz -C /usr/src/ 50     rpm -qa make gcc gcc-c++ 51     if  [ $? -eq 0 ];then 
 52         cd /usr/src/httpd-2.2.17/ 53         ./configure --prefix=/usr/local/httpd  --enable-so --enable-rewrite --enable-charset-lite --enable-cgi &&make&&make install  &> /dev/null 54     else 55         yum -y install make gcc gcc-c++   &> /dev/null 56         ./configure --prefix=/usr/local/httpd  --enable-so --enable-rewrite --enable-charset-lite --enable-cgi &&make&&make install  &> /dev/null 57     fi 58     ln -s /usr/local/httpd/bin/*  /usr/local/bin/ 59     /bin/cp /usr/local/httpd/bin/apachectl  /etc/init.d/httpd 60     chmod +x /etc/init.d/httpd 61     sed -i '1a#chkconfig: 35 85 21\n#description: Startup script for the Apache HTTP Server' /etc/init.d/httpd 62     sed -n '1,3p' /etc/init.d/httpd 63     chkconfig --add httpd 64     chkconfig --list httpd 65     cd  /usr/local/httpd/conf/ 66     /bin/cp httpd.conf httpd.conf.origin 67     ROW=$(awk '/#ServerName/{print NR,$0}' httpd.conf | awk '{print $1}') 68     sed -i "$ROW s/#//;s/example/zengqingfu/" httpd.conf 69     apachectl -t 70     [ $? -eq 0 ] && /etc/init.d/httpd start 71     cat /usr/local/httpd/htdocs/index.html 72 ;; 73  74 m) 75 echo "installing mysql" 76 #########-------------------install mysql------------------- 77     cd /root 78     rpm -q mysql-server mysql 79     rpm -e mysql --nodeps 80     rpm -e mysql-server --nodeps 81     rpm -q ncurses-devel 82     [ $? -ne 0 ] && yum -y install ncurses-devel 83     cd /root 84     tar -xf cmake-2.8.6.tar.gz -C /usr/src/  
 85     cd /usr/src/cmake-2.8.6/ 86     ./configure && gmake && gmake install    &> /dev/null 87     groupadd mysql 88     useradd -M -s /sbin/nologin -g mysql mysql 89     cd /root 90     tar xf mysql-5.5.22.tar.gz -C /usr/src/ 91     cd /usr/src/mysql-5.5.22/ 92     cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci  -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc  && make && make install    &> /dev/null 93     chown -R mysql:mysql /usr/local/mysql/ 94     cat support-files/my-medium.cnf > /etc/my.cnf 95     /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/  --datadir=/usr/local/mysql/data/  --user=mysql        &> /dev/null 96     echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile 97     source /etc/profile 98     /bin/cp support-files/mysql.server /etc/init.d/mysqld 99     chmod +x /etc/init.d/mysqld100     chkconfig --add mysqld101     /etc/init.d/mysqld start102     netstat -anpt | grep mysqld103     mysqladmin -uroot password "123456"104     mysqladmin -uroot -p123456 password "zengqingfu";history -c105 ;;106 107 p)108 echo "installing php"109 #####---------------------install php----------------------110     rpm -q php && rpm -e php --nodeps111     rpm -q php-cli && rpm -e php-cli --nodeps112     rpm -q php-ldap && rpm -e php-ldap --nodeps113     rpm -q php-common && rpm -e php-common -nodeps114     rpm -q php-mysql  && rpm -e php-mysql --nodeps115     rpm -q zlib-devel libxml2-devel  
116     if [ $? -ne 0 ];then117         yum -y install zlib-devel libxml2-devel    
118     fi119     cd /root120     rpm -q libmcrypt || tar xf libmcrypt-2.5.8.tar.gz -C /usr/src/121     cd /usr/src/libmcrypt-2.5.8/122     ./configure &&make &&make install &> /dev/null123     ln -s /usr/local/lib/libmcrypt* /usr/lib124     cd /root125     rpm -q mhash ||  tar xf mhash-0.9.9.9.tar.gz -C /usr/src/126     cd /usr/src/mhash-0.9.9.9/127     ./configure &&make&&make install  &> /dev/null128     ln -s /usr/local/lib/libmhash.* /usr/lib/129     cd /root130     rpm -q mcrypt || tar xf mcrypt-2.6.8.tar.gz -C /usr/src/131     cd /usr/src/mcrypt-2.6.8/132     export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH133     ./configure &&make &&make install    &> /dev/null134     cd /root135     tar xf php-5.3.28.tar.gz -C /usr/src/136     cd /usr/src/php-5.3.28/137     ./configure --prefix=/usr/local/php5  --with-mcrypt  --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql/ --with-config-file-path=/usr/local/php5 --enable-mbstring && make && make install    &> /dev/null138     /bin/cp -f php.ini-development /usr/local/php5/php.ini139     cd /root140     ROW=$(awk '/^short_open_tag/{print NR,$0}' /usr/local/php5/php.ini | awk '{print $1}') 
141     sed -i "$ROW s/Off/On/" /usr/local/php5/php.ini142     ROW=$(awk '/default_charset/{print NR,$0}' /usr/local/php5/php.ini | awk '{if(NR==1)print $1}')143     sed -i "$ROW s/;//;s/iso-8859-1/utf-8/" /usr/local/php5/php.ini 
144     cd /root145     tar xf ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz -C /usr/src/146     cd /usr/src/ZendGuardLoader-php-5.3-linux-glibc23-x86_64/147     cd php-5.3.x/148     /bin/cp ZendGuardLoader.so /usr/local/php5/lib/php/149     echo -e "zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so\nzend_loader.enable=1" >> /usr/local/php5/php.ini150     tail -2 /usr/local/php5/php.ini151 152 echo "adjust httpd.conf,test,install phpMyAdmin"153 #############--------------------adjust httpd.conf---------------154 ROW=$(awk '/LoadModule php5_module/{print NR,$0}' /usr/local/httpd/conf/httpd.conf | awk '{print $1}')155 sed -i "$ROW a AddType application/x-httpd-php .php" /usr/local/httpd/conf/httpd.conf156 sed -n "$(($ROW+1)) p" /usr/local/httpd/conf/httpd.conf157 ROW=$(awk '/DirectoryIndex/{print NR,$0}' /usr/local/httpd/conf/httpd.conf | awk '{if(NR==2)print $1}')158 sed -i "$ROW s/$/ index.php/" /usr/local/httpd/conf/httpd.conf159 sed -n "$ROW p" /usr/local/httpd/conf/httpd.conf160 httpd -t161 [ $? -eq 0 ] && /etc/init.d/httpd restart162 163 ;;164 165 P)166   cd /usr/src/php-5.3.28/167   make install168   /bin/cp -f php.ini-development /usr/local/php5/php.ini169   cd /root170   ROW=$(awk '/^short_open_tag/{print NR,$0}' /usr/local/php5/php.ini | awk '{print $1}') 
171   sed -i "$ROW s/Off/On/" /usr/local/php5/php.ini172   ROW=$(awk '/default_charset/{print NR,$0}' /usr/local/php5/php.ini | awk '{if(NR==1)print $1}')173   sed -i "$ROW s/;//;s/iso-8859-1/utf-8/" /usr/local/php5/php.ini 
174   cd /root175   tar xf ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz -C /usr/src/176   cd /usr/src/ZendGuardLoader-php-5.3-linux-glibc23-x86_64/177   cd php-5.3.x/178   /bin/cp ZendGuardLoader.so /usr/local/php5/lib/php/179   echo -e "zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so\nzend_loader.enable=1" >> /usr/local/php5/php.ini180   tail -2 /usr/local/php5/php.ini181 182 ROW=$(awk '/LoadModule php5_module/{print NR,$0}' /usr/local/httpd/conf/httpd.conf | awk '{print $1}')183 sed -i "$ROW a AddType application/x-httpd-php .php" /usr/local/httpd/conf/httpd.conf184 sed -n "$(($ROW+1)) p" /usr/local/httpd/conf/httpd.conf185 ROW=$(awk '/DirectoryIndex/{print NR,$0}' /usr/local/httpd/conf/httpd.conf | awk '{if(NR==2)print $1}')186 sed -i "$ROW s/$/ index.php/" /usr/local/httpd/conf/httpd.conf187 sed -n "$ROW p" /usr/local/httpd/conf/httpd.conf188 httpd -t189 [ $? -eq 0 ] && /etc/init.d/httpd restart190 service httpd restart191 ;;192 193 o)194 ###########----------------------test---------------195 cd /usr/local/httpd/htdocs/196 echo -e "<?php \nphpinfo();\n?>" > test.php197 echo -e "<?php \n\$link=mysql_connect(&#39;localhost&#39;,&#39;root&#39;,&#39;zengqingfu&#39;);\nif(\$link) echo &#39;Successfully connected mysql&#39;;\nmysql_close();\n?>" > test1.php 
198 ##############------install phpMyAdmin----------------199 cd /root200 tar xf phpMyAdmin-4.2.5-all-languages.tar.gz201 mv phpMyAdmin-4.2.5-all-languages /usr/local/httpd/htdocs/phpMyAdmin202 cd /usr/local/httpd/htdocs/phpMyAdmin/203 /bin/cp config.sample.inc.php config.inc.php204 205 service httpd start206 ;;207 esac

 

以上是怎麼搭建lamp的腳本?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Linux的5個基本要素:解釋Linux的5個基本要素:解釋May 07, 2025 am 12:14 AM

Linux的五個核心元素是:1.內核,2.命令行界面,3.文件系統,4.包管理,5.社區與開源。這些元素共同定義了Linux的本質和功能。

Linux操作:安全和用戶管理Linux操作:安全和用戶管理May 06, 2025 am 12:04 AM

Linux用戶管理和安全性可以通過以下步驟實現:1.創建用戶和組,使用命令如sudouseradd-m-gdevelopers-s/bin/bashjohn。 2.批量創建用戶和設置密碼策略,使用for循環和chpasswd命令。 3.檢查和修復常見錯誤,如家目錄和shell設置。 4.實施最佳實踐,如強密碼策略、定期審計和最小權限原則。 5.優化性能,使用sudo和調整PAM模塊配置。通過這些方法,可以有效管理用戶和提升系統安全性。

Linux操作:文件系統,進程等Linux操作:文件系統,進程等May 05, 2025 am 12:16 AM

Linux文件系統和進程管理的核心操作包括文件系統的管理和進程的控制。 1)文件系統操作包括創建、刪除、複製和移動文件或目錄,使用命令如mkdir、rmdir、cp和mv。 2)進程管理涉及啟動、監控和終止進程,使用命令如./my_script.sh&、top和kill。

Linux操作:外殼腳本和自動化Linux操作:外殼腳本和自動化May 04, 2025 am 12:15 AM

Shell腳本是Linux系統中用於自動化執行命令的強大工具。 1)Shell腳本通過解釋器逐行執行命令,處理變量替換和條件判斷。 2)基本用法包括備份操作,如使用tar命令備份目錄。 3)高級用法涉及使用函數和case語句管理服務。 4)調試技巧包括使用set-x開啟調試模式和set-e在命令失敗時退出。 5)性能優化建議避免子Shell,使用數組和優化循環。

Linux操作:了解核心功能Linux操作:了解核心功能May 03, 2025 am 12:09 AM

Linux是一個基於Unix的多用戶、多任務操作系統,強調簡單性、模塊化和開放性。其核心功能包括:文件系統:以樹狀結構組織,支持多種文件系統如ext4、XFS、Btrfs,使用df-T查看文件系統類型。進程管理:通過ps命令查看進程,使用PID管理進程,涉及優先級設置和信號處理。網絡配置:靈活設置IP地址和管理網絡服務,使用sudoipaddradd配置IP。這些功能在實際操作中通過基本命令和高級腳本自動化得以應用,提升效率並減少錯誤。

Linux:進入和退出維護模式Linux:進入和退出維護模式May 02, 2025 am 12:01 AM

進入Linux維護模式的方法包括:1.編輯GRUB配置文件,添加"single"或"1"參數並更新GRUB配置;2.在GRUB菜單中編輯啟動參數,添加"single"或"1"。退出維護模式只需重啟系統。通過這些步驟,你可以在需要時快速進入維護模式,並安全地退出,確保系統的穩定性和安全性。

了解Linux:定義的核心組件了解Linux:定義的核心組件May 01, 2025 am 12:19 AM

Linux的核心組件包括內核、shell、文件系統、進程管理和內存管理。 1)內核管理系統資源,2)shell提供用戶交互界面,3)文件系統支持多種格式,4)進程管理通過fork等系統調用實現,5)內存管理使用虛擬內存技術。

Linux的構建塊:關鍵組件解釋了Linux的構建塊:關鍵組件解釋了Apr 30, 2025 am 12:26 AM

Linux系統的核心組成部分包括內核、文件系統和用戶空間。 1.內核管理硬件資源並提供基本服務。 2.文件系統負責數據存儲和組織。 3.用戶空間運行用戶程序和服務。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中