DebianLNMP采用shell腳本快速安裝Nginx MySQL PHP phpMyAdmin軟體
該腳本适用于Debian6系統下安裝LNMP伺服器套件。
安裝腳本采用的核心原理
1、通過apt-get指令安裝。是以安裝速度快,擷取的軟體是編譯好的二進制檔案。
2、采用最新的Debian開源軟體庫。腳本自動向系統添加dotdeb.gpg庫key。
3、安裝時自動向debian官方最快的debian CDN源擷取所需的軟體包,基礎工具包。
4、快速update系統依賴的軟體包,自動解除安裝與Nginx MySQL PHP元件沖突的其他工具包,保障正常安裝。
5、可覆寫安裝,可與官方軟體庫的最新穩定版本保持一緻,Nginx MySQL PHP 可保持同步更新。
6、nginx預設配置一包含discuz、discuzx、sablog、wordpress、wp2、none、phpwind、supesite、typecho、uchome、dabr僞靜态規則,僞靜态規則直接可适用(添加新虛拟主機時用include引用,無需更改即可使用)。
總之DebianLNMP-Jimmyli.sh腳本的特色是“最快最新”一鍵安裝包。
在Debian6系統下安裝LNMP(Debian6 + Nginx1.2.x + PHP5.3.x + MySQL5.5.x 最省資源一鍵安裝包)隻需要簡單兩條指令。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
<code>#!/bin/bash</code>
<code>#Author: Jimmy Li </code>
<code># Created by http://jimmyli.blog.51cto.com/ </code>
<code>PATH=</code><code>/bin</code><code>:</code><code>/sbin</code><code>:</code><code>/usr/bin</code><code>:</code><code>/usr/sbin</code><code>:</code><code>/usr/local/bin</code><code>:</code><code>/usr/local/sbin</code><code>:~</code><code>/bin</code>
<code>export</code> <code>PATH</code>
<code>cur_dir=$(</code><code>pwd</code><code>)</code>
<code>source_dir=$cur_dir</code><code>/debian-lnmp</code>
<code>echo</code> <code>"$source_dir"</code>
<code>echo</code> <code>-e </code><code>"\033[47;30m Compiled by Jimmy Li http://jimmyli.blog.51cto.com \033[0m"</code>
<code>servername=</code><code>"www.jimmyli.com"</code>
<code>echo</code> <code>-e </code><code>"\033[41;37m Please enter the server domain name, the default is: $servername < \033[0m"</code>
<code>echo</code> <code>-e </code><code>"\033[41;37m Example: www.jimmyli.com \033[0m"</code>
<code>read</code> <code>-p </code><code>" --Enter: "</code> <code>hostname</code>
<code>if</code> <code>[ </code><code>"$hostname"</code> <code>= </code><code>""</code> <code>]; </code><code>then</code>
<code> </code><code>hostname</code><code>=</code><code>"$servername"</code>
<code>fi</code>
<code>echo</code> <code>""</code>
<code>echo</code> <code>-e </code><code>"\033[41;37m Server domain name: $hostname \033[0m"</code>
<code>get_char()</code>
<code>{</code>
<code>SAVEDSTTY=`stty -g`</code>
<code>stty -</code><code>echo</code>
<code>stty cbreak</code>
<code>dd</code> <code>if</code><code>=</code><code>/dev/tty</code> <code>bs=1 count=1 2> </code><code>/dev/null</code>
<code>stty -raw</code>
<code>stty </code><code>echo</code>
<code>stty $SAVEDSTTY</code>
<code>}</code>
<code>echo</code> <code>-e </code><code>"\033[47;30m * Press any key to start installing DebianLNMP-Jimmyli ... \033[0m"</code>
<code>echo</code> <code>-e </code><code>"\033[47;30m * Or press Ctrl + C to cancel the installation and exit \033[0m"</code>
<code>char=`get_char`</code>
<code># Check if user is root</code>
<code>if</code> <code>[ $(</code><code>id</code> <code>-u) != </code><code>"0"</code> <code>]; </code><code>then</code>
<code> </code><code>echo</code> <code>"Error: You must be root to run this script, please use root to install lnmp"</code>
<code> </code><code>exit</code> <code>1</code>
<code>apt-get </code><code>install</code> <code>-y gcc g++ </code><code>make</code> <code>wget</code>
<code>wget -c http:</code><code>//sourceforge</code><code>.net</code><code>/projects/debian-lnmp/files/DebianLNMP/conf</code><code>.</code><code>tar</code><code>.gz</code>
<code>if</code> <code>[ -s conf.</code><code>tar</code><code>.gz ]; </code><code>then</code>
<code> </code><code>echo</code> <code>"conf.tar.gz [found]"</code>
<code> </code><code>else</code>
<code> </code><code>echo</code> <code>"Error: conf.tar.gz not found!!!download now......"</code>
<code> </code><code>wget -c http:</code><code>//sourceforge</code><code>.net</code><code>/projects/debian-lnmp/files/DebianLNMP/conf</code><code>.</code><code>tar</code><code>.gz</code>
<code> </code><code>exit</code> <code>1</code>
<code>tar</code> <code>zxvf conf.</code><code>tar</code><code>.gz</code>
<code>if</code> <code>[ -s </code><code>/etc/selinux/config</code> <code>]; </code><code>then</code>
<code>sed</code> <code>-i </code><code>'s/SELINUX=enforcing/SELINUX=disabled/g'</code> <code>/etc/selinux/config</code>
<code>dpkg -l |</code><code>grep</code> <code>mysql | </code><code>awk</code> <code>-F </code><code>" "</code> <code>'{print $2}'</code> <code>| </code><code>xargs</code> <code>dpkg -P</code>
<code>dpkg -P libmysqlclient15off libmysqlclient15-dev mysql-common </code>
<code>dpkg -l |</code><code>grep</code> <code>apache | </code><code>awk</code> <code>-F </code><code>" "</code> <code>'{print $2}'</code> <code>| </code><code>xargs</code> <code>dpkg -P</code>
<code>dpkg -P apache2 apache2-doc apache2-mpm-prefork apache2-utils apache2.2-common</code>
<code>dpkg -l |</code><code>grep</code> <code>php5 | </code><code>awk</code> <code>-F </code><code>" "</code> <code>'{print $2}'</code> <code>| </code><code>xargs</code> <code>dpkg -P</code>
<code>apt-get clean</code>
<code>apt-get autoclean</code>
<code>rm</code> <code>/var/lib/apt/lists/</code><code>* -vf</code>
<code>apt-get check</code>
<code>apt-get upgrade</code>
<code>apt-get update</code>
<code>apt-get autoremove -y</code>
<code>apt-get -fy </code><code>install</code>
<code>dpkg -P mysql-server mysql-client</code>
<code>dpkg -P nginx php5-fpm php5-gd php5-mysql</code>
<code>apt-get remove -y apache2 apache2-doc apache2-utils apache2.2-common apache2.2-bin apache2-mpm-prefork apache2-doc apache2-mpm-worker mysql-client mysql-server mysql-common</code>
<code>apt-get -y </code><code>install</code> <code>unzip</code>
<code>wget -N -t 0 http:</code><code>//www</code><code>.dotdeb.org</code><code>/dotdeb</code><code>.gpg</code>
<code>apt-key add dotdeb.gpg</code>
<code>cat</code> <code>>> </code><code>/etc/apt/sources</code><code>.list<<EOF</code>
<code>deb http:</code><code>//packages</code><code>.dotdeb.org oldstable all</code>
<code>deb-src http:</code><code>//packages</code><code>.dotdeb.org oldstable all</code>
<code>deb http:</code><code>//cdn</code><code>.debian.net</code><code>/debian/</code> <code>squeeze main</code>
<code>deb-src http:</code><code>//cdn</code><code>.debian.net</code><code>/debian/</code> <code>squeeze main</code>
<code>deb http:</code><code>//cdn</code><code>.debian.net</code><code>/debian/</code> <code>squeeze-updates main</code>
<code>deb-src http:</code><code>//cdn</code><code>.debian.net</code><code>/debian/</code> <code>squeeze-updates main</code>
<code>EOF</code>
<code>apt-get </code><code>install</code> <code>-y mysql-server mysql-client</code>
<code>apt-get </code><code>install</code> <code>-y nginx php5-fpm php5-gd php5-mysql</code>
<code>sed</code> <code>-i </code><code>"s#;cgi.fix_pathinfo=1#cgi.fix_pathinfo=0#g"</code> <code>/etc/php5/fpm/php</code><code>.ini</code>
<code>sed</code> <code>-i </code><code>"s#disable_functions =#disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,#g"</code> <code>/etc/php5/fpm/php</code><code>.ini</code>
<code>sed</code> <code>-i </code><code>'s/short_open_tag = Off/short_open_tag = On/g'</code> <code>/etc/php5/fpm/php</code><code>.ini</code>
<code>sed</code> <code>-i </code><code>"s#;open_basedir =#open_basedir = /tmp/:/home/www/:/proc/#g"</code> <code>/etc/php5/fpm/php</code><code>.ini</code>
<code>rm</code> <code>-rf </code><code>/etc/php5/fpm/pool</code><code>.d</code><code>/www</code><code>.conf</code>
<code>mv</code> <code>www.conf </code><code>/etc/php5/fpm/pool</code><code>.d</code><code>/www</code><code>.conf</code>
<code>rm</code> <code>-rf </code><code>/home/wwwlogs</code>
<code>rm</code> <code>-rf </code><code>/home/wwwroot</code>
<code>rm</code> <code>-rf </code><code>/home/www</code>
<code>mkdir</code> <code>/home/wwwlogs</code>
<code>mkdir</code> <code>/home/wwwroot</code>
<code>mkdir</code> <code>/home/www</code>
<code>mkdir</code> <code>/var/run/php5</code>
<code>mkdir</code> <code>/etc/nginx</code>
<code>mkdir</code> <code>/etc/nginx/host</code>
<code>rm</code> <code>-rf </code><code>/etc/nginx/sites-enabled/</code><code>*</code>
<code>rm</code> <code>-rf </code><code>/etc/nginx/nginx</code><code>.conf</code>
<code>rm</code> <code>-rf </code><code>/etc/nginx/fastcgi_params</code>
<code>mv</code> <code>nginx.conf </code><code>/etc/nginx/nginx</code><code>.conf</code>
<code>mv</code> <code>fastcgi_params </code><code>/etc/nginx/fastcgi_params</code>
<code>sed</code> <code>-i </code><code>"s,lnmp.jimmyli.com,$hostname,g"</code> <code>/etc/nginx/nginx</code><code>.conf</code>
<code>mv</code> <code>discuz.conf </code><code>/etc/nginx</code>
<code>mv</code> <code>discuzx.conf </code><code>/etc/nginx</code>
<code>mv</code> <code>sablog.conf </code><code>/etc/nginx</code>
<code>mv</code> <code>wordpress.conf </code><code>/etc/nginx</code>
<code>mv</code> <code>wp2.conf </code><code>/etc/nginx</code>
<code>mv</code> <code>none.conf </code><code>/etc/nginx</code>
<code>mv</code> <code>phpwind.conf </code><code>/etc/nginx</code>
<code>mv</code> <code>supesite.conf </code><code>/etc/nginx</code>
<code>mv</code> <code>typecho.conf </code><code>/etc/nginx</code>
<code>mv</code> <code>uchome.conf </code><code>/etc/nginx</code>
<code>mv</code> <code>dabr.conf </code><code>/etc/nginx</code>
<code>mv</code> <code>index.html </code><code>/home/www/index</code><code>.html</code>
<code>mv</code> <code>nginx_small.png </code><code>/home/www/nginx_small</code><code>.png</code>
<code>mv</code> <code>prober.php </code><code>/home/www/php</code><code>.php</code>
<code>wget -c http:</code><code>//nchc</code><code>.dl.sourceforge.net</code><code>/project/phpmyadmin/phpMyAdmin/3</code><code>.4.10.1</code><code>/phpMyAdmin-3</code><code>.4.10.1-all-languages.zip</code>
<code>unzip phpMyAdmin-3.4.10.1-all-languages.zip</code>
<code>mv</code> <code>phpMyAdmin-3.4.10.1-all-languages </code><code>/home/www/phpMyAdmin</code>
<code>rm</code> <code>-rf phpMyAdmin-3.4.10.1-all-languages.zip</code>
<code>chown</code> <code>-R www-data </code><code>/home/www</code>
<code>chown</code> <code>-R www-data </code><code>/home/wwwroot</code>
<code>/etc/init</code><code>.d</code><code>/nginx</code> <code>start</code>
<code>/etc/init</code><code>.d</code><code>/php5-fpm</code> <code>start</code>
<code>/etc/init</code><code>.d</code><code>/php5-fpm</code> <code>restart</code>
<code>## info ##</code>
<code>echo</code> <code>-e </code><code>"\033[41;37m ******************************************************** \033[0m"</code>
<code>echo</code> <code>-e </code><code>"\033[41;37m * LNMP Installer for Debian * \033[0m"</code>
<code>echo</code> <code>-e </code><code>"\033[41;37m * * \033[0m"</code>
<code>echo</code> <code>-e </code><code>"\033[41;37m * apt-get install Nginx+PHP+MySql * \033[0m"</code>
<code>echo</code> <code>-e </code><code>"\033[41;37m * Compiled by Jimmy Li http://jimmyli.blog.51cto.com * \033[0m"</code>
<code>echo</code> <code>-e </code><code>"\033[41;37m * Website: http://sourceforge.net/p/debian-lnmp * \033[0m"</code>
<code>## END ##</code>
本文轉自jimmy_lixw 51CTO部落格,原文連結:http://blog.51cto.com/jimmyli/1275678,如需轉載請自行聯系原作者