1. #!/bin/bash
  2. #set -x
  3. #date: 2018-12-13
  4. #Description: 一键安装LNMP环境 or LAMP 环境
  5. #Version: 0.4
  6. #Author: simon
  7. #定义命令搜索路径
  8. PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
  9. export PATH
  10. src_dir=/usr/src
  11. nginx_dir=/usr/local/nginx
  12. mysql_dir=/usr/local/mysql
  13. php_dir=/usr/local/php
  14. libmcrypt_dir=/usr/local/libmcypt
  15. apache_dir=/usr/local/apache
  16. #关闭SELiunx
  17. echo "Disabled SELinux"
  18. if [ -s /etc/selinux/config ]
  19. then
  20. sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
  21. fi
  22.  
  23. /usr/sbin/setenforce 0
  24. # Check if user is root
  25. if [ "$UID" -ne 0 ]
  26. then
  27. printf "Error: You must be root to run this script!\n"
  28. exit 1
  29. fi
  30.  
  31. #检查需要的软件包是否存在,如果没有就下载。
  32. download_src(){
  33. cd $src_dir
  34.  
  35. if [ -s libiconv-1.13.1.tar.gz ]
  36. then
  37. echo "libiconv-1.13.1.tar.gz found"
  38. else
  39. echo "libiconv-1.13.1.tar.gz not found. download new...."
  40. wget http://mozbuildtools.googlecode.com/files/libiconv-1.13.1.tar.gz
  41. fi
  42.  
  43. if [ -s mhash-0.9.9.9.tar.gz ]
  44. then
  45. echo "mhash-0.9.9.9.tar.gz found"
  46. else
  47. echo "mhash-0.9.9.9.tar.gz not found. download new....."
  48. wget http://acelnmp.googlecode.com/files/mhash-0.9.9.9.tar.gz
  49. fi
  50.  
  51. if [ -s mysql-5.5.25a.tar.gz ]
  52. then
  53. echo "mysql-5.5.25a.tar.gz found"
  54. else
  55. echo "mysql-5.5.25a.tar.gz not found. download new....."
  56. wget http://mysql.ntu.edu.tw/Downloads/MySQL-5.5/mysql-5.5.25a.tar.gz
  57. fi
  58.  
  59. if [ -s php-5.3.13.tar.gz ]
  60. then
  61. echo "php-5.3.13.tar.gz found"
  62. else
  63. echo "php-5.3.13.tar.gz not found. download new....."
  64. wget http://us1.php.net/distributions/php-5.3.13.tar.gz
  65. fi
  66.  
  67. if [ -s google-perftools-1.6.tar.gz ]
  68. then
  69. echo "google-perftools-1.6.tar.gz found"
  70. else
  71. echo "google-perftools-1.6.tar.gz not found. download new....."
  72. wget http://gperftools.googlecode.com/files/google-perftools-1.6.tar.gz
  73. fi
  74.  
  75. if [ -s cmake-2.8.4.tar.gz ]
  76. then
  77. echo "cmake-2.8.4.tar.gz found......"
  78. else
  79. echo "cmake-2.8.4.tar.gz not found. download new....."
  80. wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz
  81. fi
  82.  
  83. if [ -s libmcrypt-2.5.7.tar.gz ]
  84. then
  85. echo "libmcrypt-2.5.7.tar.gz found"
  86. else
  87. echo "libmcrypt-2.5.7.tar.gz not found. download new..."
  88. wget http://nchc.dl.sourceforge.net/project/mcrypt/Libmcrypt/Production/libmcrypt-2.5.7.tar.gz
  89. fi
  90.  
  91. if [ -s memcache-2.2.5.tgz ]
  92. then
  93. echo "memcache-2.2.5.tgz found"
  94. else
  95. echo "memcache-2.2.5.tgz not found. download new......"
  96. wget http://vps.googlecode.com/files/memcache-2.2.5.tgz
  97. fi
  98.  
  99. if [ -s eaccelerator-0.9.5.3.tar.bz2 ]
  100. then
  101. echo "eaccelerator-0.9.5.3.tar.bz2 found"
  102. else
  103. echo "eaccelerator-0.9.5.3.tar.bz2 not found. download new.."
  104. wget http://autosetup1.googlecode.com/files/eaccelerator-0.9.5.3.tar.bz2
  105. fi
  106.  
  107. if [ -s ImageMagick.tar.gz ]
  108. then
  109. echo "ImageMagick.tar.gz found"
  110. else
  111. echo "ImageMagick.tar.gz not found. download nrw."
  112. wget http://www.imagemagick.org/download/ImageMagick.tar.gz
  113. fi
  114.  
  115. if [ -s imagick-2.3.0.tgz ]
  116. then
  117. echo "imagick-2.3.0.tgz found"
  118. else
  119. echo "imagick-2.3.0.tgz not found. download new"
  120. wget http://lnmpp.googlecode.com/files/imagick-2.3.0.tgz
  121. fi
  122. }
  123.  
  124. #初始化服务器
  125. init_server(){
  126. for src in dialog ntp vim-enhanced vixie-cron gcc gcc-c++ gcc-g77 flex bison autoconf automake glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel libtool* zlib-devel libxml2-devel libjpeg-devel libpng-devel libtiff-devel fontconfig-devel freetype-devel libXpm-devel gettext-devel curl curl-devel pam-devel e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel net-snmp net-snmp-devel nss_ldap openldap-clients openldap-servers libtidy libtidy-devel wget libc-client libc-client-devel pcre pcre-devel
  127. do
  128. yum -y install $src
  129. done
  130.  
  131. ln -s /usr/lib64/libc-client.so* /usr/lib/
  132. ln -s /usr/lib64/libldap* /usr/lib
  133. }
  134.  
  135. #先检测apache是否已经安装,如果已经安装就不在安装,如果没有安装就安装apache
  136. cd $src_dir
  137. inst_apache () {
  138. if [ -d $apache_dir ]
  139. then
  140. echo "Apache is installed"
  141. exit 1
  142. else
  143. cd $src_dir
  144. echo "Apache not install. install run..."
  145. if [ -s httpd-2.2.24.tar.gz ]
  146. then
  147. echo "httpd-2.2.24.tar.gz found."
  148. else
  149. echo "httpd-2.2.24.tar.gz not found. download new...."
  150. wget http://mirror.apache-kr.org/httpd/httpd-2.2.24.tar.gz
  151. fi
  152.  
  153. if [ "$apache_mo" = "" ]
  154. then
  155. echo "你没有输入编译参数,使用默认的参数进行编译......."
  156. tar zxvf httpd-2.2.24.tar.gz
  157. cd $src_dir/httpd-2.2.24
  158. ./configure --prefix=/usr/local/apache3 --enable-so --enable-rewrite --enable-mods-shared=most --with-mpm=worker
  159. make && make install
  160. cd ../
  161. else
  162. tar zxvf httpd-2.2.24.tar.gz
  163. cd $src_dir/httpd-2.2.24
  164. $apache_mo
  165. make && make install
  166. fi
  167. fi
  168. }
  169.  
  170. #先检测mysql是否已经安装,如果已经安装了就不再安装,如果没安装就安装mysql
  171. inst_mysql(){
  172. useradd -s /sbin/nologin -M mysql
  173. tar zxvf cmake-2.8.4.tar.gz
  174. cd $src_dir/cmake-2.8.4
  175. ./configure && make && make install
  176.  
  177. if [ -d $mysql_dir ]
  178. then
  179. echo "MySQL is installed"
  180. else
  181. if [ "$mysql_mo" = "" ]
  182. then
  183. echo "你没有输入mysql编译参数,使用本脚本默认参数进行编译......"
  184. echo "MySQL not install. install run..."
  185. cd $src_dir
  186. tar zxvf mysql-5.5.25a.tar.gz
  187. cd mysql-5.5.25a
  188. cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_SSL=yes -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_READLINE=on
  189. gmake && make install
  190. else
  191. echo "MySQL not install. install run..."
  192. cd $src_dir
  193. tar zxvf mysql-5.5.25a.tar.gz
  194. cd mysql-5.5.25a
  195. $mysql
  196. fi
  197. fi
  198.  
  199. if [ -f /ect/my.cnf ]
  200. then
  201. cd $src_dir/mysql-5.5.25a
  202. echo "MySQL config file my.cnf found. backup my.cnf to my.cnf.bak"
  203. mv /etc/my.cnf /etc/my.cnf.bak
  204. /bin/cp support-files/my-small.cnf /etc/my.cnf
  205. /bin/cp support-files/mysql.server /etc/rc.d/init.d/mysqld
  206. chmod 755 /etc/rc.d/init.d/mysqld
  207. chown mysql:mysql /usr/local/mysql -R
  208. fi
  209. /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql --defaults-file=/etc/my.cnf
  210. chown mysql:mysql /usr/local/mysql -R
  211. }
  212.  
  213. inst_libmcypt(){
  214. if [ -d $libmcrypt_dir ]
  215. then
  216. echo "libmcrypt is installed."
  217. else
  218. cd $src_dir
  219. tar zxvf libmcrypt-2.5.7.tar.gz
  220. cd libmcrypt-2.5.7
  221. ./configure --prefix=/usr/local/libmcypt && make && make install
  222. /sbin/ldconfig
  223. cd libltdl/
  224. ./configure --enable-ltdl-install
  225. make
  226. make install
  227. fi
  228.  
  229. cd $src_dir
  230. tar zxf mhash-0.9.9.9.tar.gz
  231. cd mhash-0.9.9.9/
  232. ./configure
  233. make
  234. make install
  235. ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a
  236. ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la
  237. ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so
  238. ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
  239. ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
  240. }
  241. #先检测PHP是否已经编译安装,如果安装了就不再进行安装,如果没安装就安装PHP
  242. inst_php_apache(){
  243. cd $src_dir
  244. tar zxf libiconv-1.13.1.tar.gz
  245. cd libiconv-1.13.1/
  246. ./configure --prefix=/usr/local
  247. make
  248. make install
  249. cd $src_dir
  250. if [ -d $php_dir ]
  251. then
  252. echo "PHP is installed"
  253. else
  254. if [ "$php_mo" = "" ]
  255. then
  256. echo "你没有输入编译安装参数,使用本脚本默认的参数进行编译安装.........."
  257. echo "PHP not install. install run...."
  258. cd $src_dir
  259. tar zxvf php-5.3.13.tar.gz
  260. cd php-5.3.13
  261. ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/lib --with-mysql=/usr/local/mysql/bin/mysql_config --with-enable-sysvsem --with-apxs2=/usr/local/apache/bin/apxs --with-openssl --with-zlib --with-bz2 --with-curl --with-libxml-dir=/usr --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --enable-gd-native-ttf --enable-gd-jis-conv --without-iconv --with-ldap --with-mcrypt=/usr/local/libmcypt --with-zlib-dir --with-snmp --enable-zip --with-curlwrappers --with-imap --with-kerberos --with-imap-ssl --with-freetype-dir --with-mysql=/usr/local/mysql
  262. make && make install
  263. cp php.ini-development /usr/local/php/lib/php.ini
  264. cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
  265. else
  266. echo "使用你输入的参数进行编译安装......."
  267. echo "PHP not install. install run...."
  268. cd $src_dir
  269. tar zxvf php-5.3.13.tar.gz
  270. cd php-5.3.13
  271. $php_mo
  272. make && make install
  273. cp php.ini-development /usr/local/php/lib/php.ini
  274. cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
  275. fi
  276. fi
  277. }
  278. inst_php(){
  279. cd $src_dir
  280. tar zxf libiconv-1.13.1.tar.gz
  281. cd libiconv-1.13.1/
  282. ./configure --prefix=/usr/local/libiconv
  283. make
  284. make install
  285. cd $src_dir
  286. if [ -d $php_dir)
  287. then
  288. echo "PHP is installed"
  289. else
  290. if [ "$php_mo" = "" ]
  291. then
  292. echo "你没有输入PHP安装编译参数,将使用本脚本默认参数进行编译......"
  293. sleep 5
  294. echo "请选择安装方式,1,安装和Nginx结合使用的PHP,2,安装和apache结合使用的PHP....."
  295. read -p "请输入一个数字[1 | 2]: " php_num
  296. case $php_num in
  297. 1)
  298. echo "正在安装和nginx结合使用的PHP.........."
  299. sleep 5
  300. echo "PHP not install. install run...."
  301. cd $src_dir
  302. tar zxvf php-5.3.13.tar.gz
  303. cd php-5.3.13
  304. ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/lib --with-mysql=/usr/local/mysql/bin/mysql_config --with-enable-sysvsem --enable-fpm --with-openssl --with-zlib --with-bz2 --with-curl --with-libxml-dir=/usr --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --enable-gd-native-ttf --enable-gd-jis-conv --with-iconv=/use/local/libiconv --with-ldap --with-mcrypt=/usr/local/libmcypt --with-zlib-dir --with-snmp --enable-zip --with-curlwrappers --with-imap --with-kerberos --with-imap-ssl --with-freetype-dir --with-mysql=/usr/local/mysql
  305. make && make install
  306. cp php.ini-development /usr/local/php/lib/php.ini
  307. cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
  308. ;;
  309. 2)
  310. echo "正在安装和apache结合使用的PHP......."
  311. sleep 5
  312. ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/lib --with-mysql=/usr/local/mysql/bin/mysql_config --with-enable-sysvsem --with-apxs2=/usr/local/apache/bin/apxs --with-openssl --with-zlib --with-bz2 --with-curl --with-libxml-dir=/usr --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --enable-gd-native-ttf --enable-gd-jis-conv --without-iconv --with-ldap --with-mcrypt=/usr/local/libmcypt --with-zlib-dir --with-snmp --enable-zip --with-curlwrappers --with-imap --with-kerberos --with-imap-ssl --with-freetype-dir --with-mysql=/usr/local/mysql
  313. make && make install
  314. cp php.ini-development /usr/local/php/lib/php.ini
  315. cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
  316. ;;
  317. *)
  318. echo "请输入一个数字[1 | 2]: "
  319. esac
  320. else
  321. echo "你输入了PHP编译安装参数,使用你输入的参数进行编译......."
  322. sleep 5
  323. echo "PHP not install. install run...."
  324. cd $src_dir
  325. tar zxvf php-5.3.13.tar.gz
  326. cd php-5.3.13
  327. $php_mo
  328. make && make install
  329. cp php.ini-development /usr/local/php/lib/php.ini
  330. cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
  331. fi
  332. fi
  333. }
  334.  
  335. inst_php_nginx () {
  336. cd $src_dir
  337. tar zxf libiconv-1.13.1.tar.gz
  338. cd libiconv-1.13.1/
  339. ./configure --prefix=/usr/local
  340. make
  341. make install
  342. cd $src_dir
  343. if [ -d $php_dir)
  344. then
  345. echo "PHP is installed"
  346. else
  347. if [ "$php_mo" = "" ]
  348. then
  349. echo "你没有输入编译安装参数,使用本脚本默认的参数进行安装"
  350. echo "PHP not install. install run...."
  351. cd $src_dir
  352. tar zxvf php-5.3.13.tar.gz
  353. cd php-5.3.13
  354. ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/lib --with-mysql=/usr/local/mysql/bin/mysql_config --with-enable-sysvsem --enable-fpm --with-openssl --with-zlib --with-bz2 --with-curl --with-libxml-dir=/usr --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --enable-gd-native-ttf --enable-gd-jis-conv --without-iconv --with-ldap --with-mcrypt=/usr/local/libmcypt --with-zlib-dir --with-snmp --enable-zip --with-curlwrappers --with-imap --with-kerberos --with-imap-ssl --with-freetype-dir --with-mysql=/usr/local/mysql
  355. make && make install
  356. cp php.ini-development /usr/local/php/lib/php.ini
  357. cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
  358. else
  359. echo "你输入了mysql编译参数,使用你输入的参数进行编译........"
  360. echo "PHP not install. install run...."
  361. sleep 5
  362. cd php-5.3.13
  363. $php_mo
  364. make && make install
  365. cp php.ini-development /usr/local/php/lib/php.ini
  366. cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
  367. fi
  368.  
  369. fi
  370. }
  371. #安装PHP扩展
  372. inst_php_ex(){
  373. cd $src_dir
  374. tar zxf memcache-2.2.5.tgz
  375. cd memcache-2.2.5/
  376. ${php_dir}/bin/phpize
  377. ./configure --with-php-config=${php_dir}/bin/php-config
  378. make
  379. make install
  380. cd ../
  381.  
  382. tar jxf eaccelerator-0.9.5.3.tar.bz2
  383. cd eaccelerator-0.9.5.3
  384. ${php_dir}/bin/phpize
  385. ./configure --enable-eaccelerator=shared --with-eaccelerator-shared-memory --with-php-config=${php_dir}/bin/php-config
  386. make
  387. make install
  388. cd $src_dir
  389.  
  390. tar zxf ImageMagick.tar.gz
  391. cd ImageMagick-6.8.1-9/
  392. ./configure
  393. make
  394. make install
  395. cd ../
  396.  
  397. tar zxf imagick-2.3.0.tgz
  398. cd imagick-2.3.0/
  399. ${php_dir}/bin/phpize
  400. ./configure --with-php-config=${php_dir}/bin/php-config
  401. make
  402. make install
  403. cd ..
  404. echo "php extension installed successfully!"
  405. }
  406. #安装nginx
  407. inst_nginx(){
  408. if [ -s nginx-1.3.10.tar.gz ]
  409. then
  410. echo "nginx-1.3.10.tar.gz found."
  411. else
  412. echo "nginx-1.3.10.tar.gz not found. download new...."
  413. wget http://www.nginx.org/download/nginx-1.3.10.tar.gz
  414. fi
  415.  
  416. cd $src_dir
  417. tar zxf google-perftools-1.6.tar.gz
  418. cd google-perftools*
  419. ./configure
  420. make
  421. make install
  422. cd $src_dir
  423.  
  424. if [ -d $nginx_dir ]
  425. then
  426. echo "Nginx is installed"
  427. else
  428. if [ "$nginx_mo" = "" ]
  429. then
  430. echo "你没有输入安装参数,使用本脚本默认的参数进行编译安装"
  431. cd $src_dir
  432. tar zxvf nginx-1.3.10.tar.gz
  433. cd nginx-1.3.10
  434. ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_stub_status_module
  435. make && make install
  436. else
  437. echo "你输入了安装参数,使用你输入的参数进行安装......"
  438. cd $src_dir
  439. tar zxvf nginx-1.3.10.tar.gz
  440. cd nginx-1.3.10
  441. $nginx_mo
  442. make && make install
  443. fi
  444. fi
  445. }
  446.  
  447. #生成一个PHP启动脚本,可以用service phpd start | restart | stop | show 进行启动、重启、关闭、查看运行状态
  448. phpd(){
  449. cat <<EOF >>phpd
  450. #!/bin/bash
  451. #Author: simon
  452. #Date: 2018-12-13
  453. #
  454. #chkconfig: - 85 15
  455. #processname: php
  456. php=/usr/local/php/sbin/php-fpm
  457. conf=/usr/local/php/etc/php-fpm.conf
  458. case $1 in
  459. start)
  460. echo -n "Starting php"
  461. $php
  462. echo " done"
  463. ;;
  464. stop)
  465. echo -n "Stopping php"
  466. killall -9 php-fpm
  467. echo " done"
  468. ;;
  469. restart)
  470. $0 stop
  471. $0 start
  472. ;;
  473. show)
  474. ps -aux|grep php
  475. ;;
  476. *)
  477. echo -n "Usage: $0 {start|restart|reload|stop|test|show}"
  478. ;;
  479. esac
  480. EOF
  481. if [ -f /usr/src/phpd ]
  482. then
  483. /bin/cp /usr/src/phpd /etc/rc.d/init.d/phpd
  484. chmod +x /etc/rc.d/init.d/phpd
  485. fi
  486. }
  487. #生成nginx启动脚本,可以用service nginxd start | restart | stop | reload | test | show 进行重启、关闭、启动>、测试配置文件、查看状态和重新加载。
  488. nginxd(){
  489. cat <<EOF >>/usr/src/nginxd
  490. #!/bin/bash
  491. #Author: simon
  492. #Date: 2018-12-13
  493. #
  494. #chkconfig: - 85 15
  495. #description: Nginx is a World Wide Web server.
  496. #processname: nginx
  497. nginx=/usr/local/nginx/sbin/nginx
  498. conf=/usr/local/nginx/conf/nginx.conf
  499. case $1 in
  500. start)
  501. echo -n "Starting Nginx"
  502. $nginx -c $conf
  503. echo " done"
  504. ;;
  505. stop)
  506. echo -n "Stopping Nginx"
  507. killall -9 nginx
  508. echo " done"
  509. ;;
  510. test)
  511. $nginx -t -c $conf
  512. ;;
  513. reload)
  514. echo -n "Reloading Nginx"
  515. ps auxww | grep nginx | grep master | awk '{print $2}' | xargs kill -HUP
  516. echo " done"
  517. ;;
  518. restart)
  519. $0 stop
  520. $0 start
  521. ;;
  522. show)
  523. ps -aux|grep nginx
  524. ;;
  525. *)
  526. echo -n "Usage: $0 {start|restart|reload|stop|test|show}"
  527. ;;
  528. esac
  529. EOF
  530. if [ -s /usr/src/nginxd ]
  531. then
  532. /bin/cp /usr/src/nginxd /etc/rc.d/init.d/nginxd
  533. chmod +x /etc/rc.d/init.d/nginxd
  534. fi
  535. }
  536. cat <<EOF
  537. ############################################
  538. 1 install Nginx
  539. 2 install PHP
  540. 3 install MySQL
  541. 4 install LNMP
  542. 5 install Apache
  543. 6 install LAMP
  544. ############################################
  545. ############################################
  546. Select your web server(1 | 2 | 3 | 4 | 5 | 6)
  547. EOF
  548.  
  549. echo "Input a number: "
  550. read num
  551. case $num in
  552. 1)
  553. read -p "请输入nginx的编译参数:" nginx_mo
  554. echo "Nginx installing........... have a rest"
  555. init_server
  556. download_src
  557. inst_nginx
  558. ;;
  559. 2)
  560. read -p "请输入PHP的安装参数" php_mo
  561. echo "PHP installing....... have a rest"
  562. download_src
  563. init_server
  564. inst_mysql
  565. inst_libmcypt
  566. inst_php
  567. inst_php_ex
  568. ;;
  569. 3)
  570. read -p "请输入mysql编译安装参数: " mysql_mo
  571. echo "MySQL installing...... have a rest"
  572. init_server
  573. download_src
  574. inst_mysql
  575. ;;
  576. 4)
  577. read -p "请输入nginx的编译参数:" nginx_mo
  578. read -p "请输入PHP的安装参数" php_mo
  579. read -p "请输入mysql编译安装参数: " mysql_mo
  580. echo "LNMP installing...... have a rest"
  581. download_src
  582. init_server
  583. inst_mysql
  584. inst_libmcypt
  585. inst_php
  586. inst_php_ex
  587. inst_nginx
  588. ;;
  589. 5)
  590. read -p "请输入apache编译安装参数: " apache_mo
  591. echo "apache installing....... nave a rest."
  592. download_src
  593. init_server
  594. inst_apache
  595. ;;
  596. 6)
  597. read -p "请输入apache的安装参数: " apache_mo
  598. read -p "请输入mysql的安装参数: " mysql_mo
  599. read -p "请输入php的安装参数: " php_mo
  600. echo "LAMP installing......... nave a rest."
  601. download_src
  602. init_server
  603. inst_apache
  604. inst_mysql
  605. inst_libmcypt
  606. inst_php_apache
  607. inst_php_ex
  608. ;;
  609. *)
  610. echo "Input error"
  611. echo "Select your service(1 | 2 | 3 | 4| 5| 6)"
  612. ;;
  613. esac
  614.  
  615. #检查安装是否成功
  616. case $num in
  617. 4)
  618. if [ -s /usr/local/nginx ] && [ -s /usr/local/php ] && [ -s /usr/local/mysql ]
  619. then
  620. echo "LNMP is install completed"
  621. echo "Nginx basedir: /usr/local/nginx"
  622. echo "PHP basedir: /usr/local/php"
  623. echo "MySQL basedir: /usr/local/mysql"
  624. echo "MySQL datadir: /usr/local/mysql/data"
  625. else
  626. echo "LNMP is install fail"
  627. fi
  628. ;;
  629. 3)
  630. if [ -s /usr/local/mysql ]
  631. then
  632. echo "Nginx is install completed"
  633. echo "MySQL basedir: /usr/local/mysql"
  634. echo "MySQL datadir: /usr/local/mysql/data"
  635. phpd
  636. nginxd
  637. else
  638. echo "Nginx is install fail"
  639. fi
  640. ;;
  641. 2)
  642. if [ -s /usr/local/php ]
  643. then
  644. echo "PHP is install completed"
  645. echo "PHP basedir: /usr/local/php"
  646. phpd
  647. else
  648. echo "PHP is install fail"
  649. fi
  650. ;;
  651. 1)
  652. if [ -s /usr/local/nginx ]
  653. then
  654. echo "Nginx is install completed"
  655. echo "Nginx basedir: /usr/local/nginx "
  656. nginxd
  657. else
  658. echo "Nginx is install fail"
  659. fi
  660. ;;
  661. 5)
  662. if [ -s /usr/local/apache ]
  663. then
  664. echo "Apache is installed completed."
  665. echo "Apache basedir: /usr/local/nginx."
  666. else
  667. echo "Apache is install fail."
  668. fi
  669. ;;
  670. 6)
  671. if [ -s /usr/local/apache ] && [ -s /usr/local/php ] && [ -s /usr/local/mysql ]
  672. then
  673. echo "LNMP is install completed"
  674. echo "Apache basedir: /usr/local/apache"
  675. echo "PHP basedir: /usr/local/php"
  676. echo "MySQL basedir: /usr/local/mysql"
  677. echo "MySQL datadir: /usr/local/mysql/data"
  678. else
  679. echo "LNMP is install fail"
  680. fi
  681. ;;
  682. esac

  

LNMP shell的更多相关文章

  1. LNMP Shell脚本发布

    #!/bin/bash # : #This author is DKS #auto install nginx mysql php ################################## ...

  2. Ansible 实战:一键安装 LNMP

    Ansible 配置文件 : [root@center /data/ansiblework]# cat ansible.cfg [defaults] remote_user = root remote ...

  3. 使用shell安装lnmp

    1.简介 使用shell脚本安装lnmp,纯粹是偷懒,平时安装一些东西都写成脚本了,方便以后在其他机器安装的时候不用再去查找文档. PHP版本5.6.6 MYSQL版本5.6.26 NGINX版本1. ...

  4. centos shell编程5 LANMP一键安装脚本 lamp sed lnmp 变量和字符串比较不能用-eq cat > /usr/local/apache2/htdocs/index.php <<EOF重定向 shell的变量和函数命名不能有横杠 平台可以用arch命令,获取是i686还是x86_64 curl 下载 第三十九节课

    centos shell编程5  LANMP一键安装脚本 lamp  sed  lnmp  变量和字符串比较不能用-eq  cat > /usr/local/apache2/htdocs/ind ...

  5. Shell脚本一键安装LNMP环境

    https://sourceforge.net/projects/opensourcefile/files/ Nginx是一款高性能的HTTP和反向代理服务器.Nginx在反向代理,Rewrite规则 ...

  6. 一个自动安装LNMP的简洁Shell脚本

    此脚本在生产服务器上使用了一年多,本脚本崇尚简单唯美,只需要一个脚本就可以在任何一台有网络的服务器上自动配置LNMP.本脚本会在脚本执行目录下,建packages目录用于存放LNMP所需要的软件.大家 ...

  7. shell脚本之lnmp的搭建

    !/bin/bash #this script is source packages installed lnmp .xmal yum -y install wget #"========= ...

  8. 【shell脚本】一键部署LNMP===deploy.sh

    一键部署mysql,php,nginx,通过源码安装部署 #!/bin/bash # 一键部署 LNMP(源码安装版本) menu() { clear echo " ############ ...

  9. 部署 LNMP(源码安装版本)shell脚本

    #!/bin/bash # 一键部署 LNMP(源码安装版本) menu() { clear echo " ##############‐‐‐‐Menu‐‐‐‐##############& ...

随机推荐

  1. 初识Java NIO

    原文链接:http://tutorials.jenkov.com/java-nio/index.html Java NIO是java 1.4之后新出的一套IO接口,这里的新是相对于原有标准的Java ...

  2. springCloud系列 Config配置中心

    1.config服务的部署 2.yum文件的格式 大小写敏感 使用缩进表示层级关系 缩进时不允许使用Tab键,只允许使用空格. 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可 3.热部署 4.配 ...

  3. 《Linux/Unix系统编程手册》 时间子系统

    Linux下操作系统编程有两本经典APUE即<Advanced Programming in the UNIX Environment>和TLPI<The Linux Program ...

  4. Java生成名片式的二维码源码分享

    世界上25%的人都有拖延症——但我觉得这统计肯定少了,至少我就是一名拖延症患者.一直想把“Java生成名片式(带有背景图片.用户网络头像.用户昵称)的二维码”这篇博客分享出来,但一直拖啊拖,拖到现在, ...

  5. SpringMvc 这篇文章写得不错 多多学习2017.6.29

    http://www.cnblogs.com/bigdataZJ/p/springmvc1.html  博客园链接

  6. 利用java反射机制实现读取excel表格中的数据

    如果直接把excel表格中的数据导入数据库,首先应该将excel中的数据读取出来. 为了实现代码重用,所以使用了Object,而最终的结果是要获取一个list如List<User>.Lis ...

  7. 15.app后端怎么设计用户登录方案

    在很多app中,都需要用户的登录操作.登录,就需要用到用户名和密码.为了安全起见,暴露明文密码的次数越少越好.怎么能最大程度避免泄露用户的密码呢?在登录后,app后端怎么去验证和维持用户的登录状态呢? ...

  8. spring创建bean及数据注入

    通过spring的IoC可以实现由配置文件来创建类的对象,可以降低类鱼类之间的耦合, 通常我们都是在代码中控制对象的生成和属性注入,而使用IoC后,就可以将设计好的类交给IoC容器,让容器去控制对象的 ...

  9. Linux下快速比较两个目录的不同

    曾多次想要在Linux下比较目录a和目录b中文件列表的差别,然后对目录a比目录b中多出的文件.少掉的文件分别做处理.但是,在网上搜索了多次也都没找到能直接处理好的工具. 所以想了很多不少方法,自我感觉 ...

  10. Java 学习笔记 (三) Java 日期类型

    以下内容摘自:  https://www.cnblogs.com/crazylqy/p/4172324.html import java.sql.Timestamp; import java.text ...