环境: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('localhost','root','zengqingfu');\nif(\$link) echo 'Successfully connected mysql';\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中文網其他相關文章!

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

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

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

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

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

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

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

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


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

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

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

SublimeText3漢化版
中文版,非常好用

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

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