`
bbsunchen
  • 浏览: 225215 次
  • 性别: Icon_minigender_1
  • 来自: 天朝帝都
社区版块
存档分类
最新评论

LNMP 0.4-CentOS/Debian下Nginx+MySQL+PHP一键安装包

    博客分类:
  • work
阅读更多

有非debian系的可以到这个链接下做:

VPS 快速安装 Linux+Nginx+MySQL+PHP 环境

 

下面是ubuntu的安装:

LNMP 0.4-CentOS/Debian下Nginx+MySQL+PHP一键安装包(5月21日再次更新)

   

LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat、Debian/Ubuntu  VPS(VDS)或独立主机安装LNMP(Nginx、MySQL、PHP、phpMyAdmin)生产环境的Shell程序。

LNMP一键安装包 0.4版更新记录:
  • 添加LNMP状态管理
  • 添加PureFTPd状态管理
  • PHP增加suhosin
  • 增加VsFTPd、PureFTPd安装及管理
  • 增强Nginx虚拟主机添加功能,添加多域名、伪静态支持、日志是否启用的功能
  • 升级Nginx到0.7.65、MySQL到5.1.44
4月8日更新了Debian上php没有安装成功的bug。
4月20日再次更新Debian上几个lib安装不成功的bug。
5月19日更新pureftpd无法覆盖文件的问题。
5月19日更新phpmyadmin
5月21日更新nginx文件类型错误解析漏洞

LNMP一键安装包 0.4版下载地址:

下载版:http://soft.vpser.net/lnmp/lnmp0.4.tar.gz
完整版:http://soft.vpser.net/lnmp/lnmp0.4-full.tar.gz

LNMP一键安装包 0.4版安装步骤:


1、下载LNMP一键安装包:

可以选择使用下载版(推荐国外或者美国VPS使用)或者完整版(推荐国内VPS使用),如果使用下载版执行命令 wget -c http://soft.vpser.net/lnmp/lnmp0.4.tar.gz,如果使用完整版,执行命令 wget -c http://soft.vpser.net/lnmp/lnmp0.4-full.tar.gz,执行上述命令后LNMP一键安装包就会被下载到VPS上。

2、解压LNMP一键安装包:

执行tar zxvf lnmp0.4.tar.gz 或者tar zxvf lnmp0.4-full.tar.gz 就会将LNMP一键安装包解压缩。

3、CentOS下安装步骤

下载版执行命令 cd lnmp0.4/ ,完整版执行命令:cd lnmp0.4-full/
然后再执行./centos.sh ,输入要绑定的域名,回车,再输入要设置的MySQL root的密码,再次回车确认。程序会自动安装编译Nginx、PHP、MySQL、phpMyAdmin、Zend这几个软件。

4、Debian/Ubuntu下安装步骤

下载版执行命令 cd lnmp0.4/ ,完整版执行命令:cd lnmp0.4-full/
然后32位系统执行./debian.sh,输入要绑定的域名,回车,再次输入VPS/服务器所在位置:asia、america、europe、oceania或africa,回车,再输入要设置的MySQLroot的密码,回车后,再次回车确认。程序会自动安装编译Nginx、PHP、MySQL、phpMyAdmin、Zend这几个软件。安装大约10分钟左右需要设置MySQL root用户的密码。

安装其他组件

1、安装eAccelerator,执行如下命令:./eaccelerator.sh 就会自动安装并重启web服务。
2、安装PureFTPd和管理面板,执行如下命令:./pureftpd.sh 就会自动安装PureFTPd,安装完PureFTPd,需要在浏览器执行http://你的域名或IP/ftp/install.php 安装PureFTPd用户管理。

虚拟主机管理

1、添加虚拟主机,执行如下命令:./vhost.sh根据提示输入要绑定的域名,回车,如果需要添加更多的域名,输入y,再输入要另外绑定的域名,多个域名可以用空格隔开。再输入域名绑定的目录(绝对目录,如/home/wwwroot/lnmp,如果不填默认是/home/wwwroot/绑定的域名),再选择是否添加伪静态规则,默认已经有了Discuz、Wordpress、Sablog、emlog、dabr,可直接输入以上名称即可,如果需要添加自定义伪静态规则,直接输入一个想要的名字,程序会自动创建伪静态文件,直接在/usr/local/nginx/conf/你自定义的伪静态名字.conf里面添加伪静态规则就行。接下来会提示是否需要启用日志功能,一般情况下不需要启动,直接输入n就行,如需启动,输入y,再输入要定义的日志文件名字,回车就会自动添加虚拟主机。

LNMP状态管理: /root/lnmp {start|stop|reload|restart|kill|status}
PureFTPd状态管理 /root/pureftpd {start|stop|restart|kill|status}
phpinfo : http://$domain/phpinfo.php
phpMyAdmin : http://$domain/phpmyadmin/
探针 : http://$domain/p.php

LNMP相关目录:
mysql :   /usr/local/mysql
php :     /usr/local/php
nginx :   /usr/local/nginx
网站目录 :     /home/wwwroot

注:已经在DiaHostingPhotonVPS(感谢提供测试VPS)、Burst、VPS.net、VPSYou及几位lnmp网友提供的VPS上的CentOS 32/64bit、Debian 4/5 32/64bit上测试成功。同时感谢提供测试VPS的商家及网友。

技术支持
————————
LNMP官网:http://www.lnmp.org/
作者技术支持邮箱:www@lnmp.org
技术支持论坛:http://bbs.vpser.net/forum-25-1.html (注册需注明原因,人工审核。)


友情提示:Linux下操作请注意大小写。

分享到:
评论
9 楼 bbsunchen 2010-07-22  
需要说明的是,安装完毕后,会有几个warning,可以不管
=========================================================================
Reload LNMP...
Reload Nginx configure...
the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
configuration file /usr/local/nginx/conf/nginx.conf test is successful
Nginx program is reloding!
Shutting down MySQL
.. *
Starting MySQL
. *
Shutting down php_fpm warning, no pid file found - php-fpm is not running ?
Starting php_fpm PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/memcache.so' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/memcache.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613//usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/pdo.so' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613//usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/pdo.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613//usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/pdo_mysql.so' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613//usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/pdo_mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0
. done
8 楼 bbsunchen 2010-07-22  
php.ini文件缺省放在/usr/local/lib上面,因为缺省的存放路径是<install-path> /lib,但是可以在编译的时候使用--with-config-file-path参数来修改php.ini的位置,在本例中,位置是/usr/local/php/etc
7 楼 bbsunchen 2010-07-22  
PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/pdo_mysql.so'

问题解决方案
1.安装pdo
/usr/local/php/bin/pecl install pdo
2.安装pdo_mysql
wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
tar xzvf PDO_MYSQL-1.0.2.tgz
cd PDO_MYSQL-1.0.2
/usr/local/php/bin/phpize
./configure –with-php-config=/usr/local/php/bin/php-config –with-pdo-mysql=/usr/local/mysql
make
make install
3.修改php.ini
加入:
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/pdo.so
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/pdo_mysql.so
6 楼 bbsunchen 2010-07-21  
嗯,这个样子比较好,一边安装,一边把有效的方法以评论的形式记录下来!以后再做类似工作的时候,就酱紫弄了!!
5 楼 bbsunchen 2010-07-21  
./configure --with-mysql=/backup/mysql --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-curl --with-gd --enable-gd-native-ttf --with-apxs2=/usr/local/apache/bin/apxs --enable-sockets --with-iconv
make时提示:
.....................................................
ext/iconv/.libs/iconv.o(.text+0x1738): In function `zif_iconv_mime_encode':
/home/jjdai/work/zhupiter/php-5.2.0/ext/iconv/iconv.c:1017: undefined reference to `libiconv_open'
ext/iconv/.libs/iconv.o(.text+0x1756):/home/jjdai/work/zhupiter/php-5.2.0/ext/iconv/iconv.c:1031: undefined reference to `libiconv_open'
ext/iconv/.libs/iconv.o(.text+0x1993):/home/jjdai/work/zhupiter/php-5.2.0/ext/iconv/iconv.c:1290: undefined reference to `libiconv_close'
ext/iconv/.libs/iconv.o(.text+0x19ad):/home/jjdai/work/zhupiter/php-5.2.0/ext/iconv/iconv.c:1293: undefined reference to `libiconv_close'
ext/iconv/.libs/iconv.o(.text+0x1b01):/home/jjdai/work/zhupiter/php-5.2.0/ext/iconv/iconv.c:1102: undefined reference to `libiconv'
ext/iconv/.libs/iconv.o(.text+0x1b33):/home/jjdai/work/zhupiter/php-5.2.0/ext/iconv/iconv.c:1134: undefined reference to `libiconv'
ext/iconv/.libs/iconv.o(.text+0x1b5e):/home/jjdai/work/zhupiter/php-5.2.0/ext/iconv/iconv.c:1150: undefined reference to `libiconv'
ext/iconv/.libs/iconv.o(.text+0x1e10):/home/jjdai/work/zhupiter/php-5.2.0/ext/iconv/iconv.c:1202: undefined reference to `libiconv'
ext/iconv/.libs/iconv.o(.text+0x1e3c):/home/jjdai/work/zhupiter/php-5.2.0/ext/iconv/iconv.c:1233: undefined reference to `libiconv'
ext/iconv/.libs/iconv.o(.text+0x207f):/home/jjdai/work/zhupiter/php-5.2.0/ext/iconv/iconv.c:1277: more undefined references to `libiconv' follow
ext/iconv/.libs/iconv.o(.text+0x2c08): In function `php_iconv_stream_filter_dtor':
/home/jjdai/work/zhupiter/php-5.2.0/ext/iconv/iconv.c:2393: undefined reference to `libiconv_close'
ext/iconv/.libs/iconv.o(.text+0x2cf2): In function `php_iconv_stream_filter_append_bucket':
/home/jjdai/work/zhupiter/php-5.2.0/ext/iconv/iconv.c:2543: undefined reference to `libiconv'
ext/iconv/.libs/iconv.o(.text+0x2d34):/home/jjdai/work/zhupiter/php-5.2.0/ext/iconv/iconv.c:2543: undefined reference to `libiconv'
ext/iconv/.libs/iconv.o(.text+0x2de7):/home/jjdai/work/zhupiter/php-5.2.0/ext/iconv/iconv.c:2465: undefined reference to `libiconv'
ext/iconv/.libs/iconv.o(.text+0x30e2): In function `php_iconv_stream_filter_factory_create':
/home/jjdai/work/zhupiter/php-5.2.0/ext/iconv/iconv.c:2419: undefined reference to `libiconv_open'
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1

解决方法:
#wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
#tar -zxvf libiconv-1.13.1.tar.gz
#cd libiconv-1.13.1
# ./configure --prefix=/usr/local/libiconv
# make
# make install

再检查php
#./configure --with-mysql=/backup/mysql --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-curl --with-gd --enable-gd-native-ttf --with-apxs2=/usr/local/apache/bin/apxs --enable-sockets --with-iconv=/usr/local/libiconv
#make
#make install

另一种解决方法为去除iconv模块也能正常编译php,如下:
編輯 Makefile 大約 77 行左右的地方:
EXTRA_LIBS = ..... -lcrypt
在最後加上 -liconv,例如:
EXTRA_LIBS = ..... -lcrypt -liconv
再运行make就可以了。

最后一种方法:bbsunchen就是这样成功的!!:

#make ZEND_EXTRA_LIBS='-liconv'
#make install
4 楼 bbsunchen 2010-07-21  
在安裝 PHP 的时要是发生「undefined reference to libiconv_open'」之类的错误信息,那表示在「./configure 」沒抓好一些环境变数值。错误发生点在建立「-o sapi/cli/php」是出错,没給到要 link 的 iconv 函式库参数。解决方法:编辑Makefile 大约100行左右的地方: EXTRA_LIBS = ..... -lcrypt 在最后加上 -liconv,

例如: EXTRA_LIBS = ..... -lcrypt -liconv然后重新再次 make 即可。
3 楼 bbsunchen 2010-07-20  
./configure -prefix=/usr/local/php -with-config-file-path=/usr/local/php/etc -with-mysql=/usr/local/mysql -with-mysqli=/usr/local/mysql/bin/mysql_config -with-iconv-dir=/usr/local -with-freetype-dir -with-jpeg-dir -with-png-dir -with-zlib -with-libxml-dir=/usr -enable-xml -disable-rpath -enable-discard-path -enable-safe-mode -enable-bcmath -enable-shmop -enable-sysvsem -enable-inline-optimization -with-curl -with-curlwrappers -enable-mbregex -enable-fastcgi -enable-fpm -enable-force-cgi-redirect -enable-mbstring -with-mcrypt –with-gd -enable-gd-native-ttf -with-openssl -with-mhash -enable-pcntl -enable-sockets -with-ldap -with-ldap-sasl -with-xmlrpc -enable-zip -enable-soap
2 楼 bbsunchen 2010-07-20  
本来以为很轻松的装个lnmp0.4就能完事的,结果麻烦出来了,lnmp0.4对ubuntu的支持性不是很好,安装完后发现php根本就没编译上……于是开始着手折腾..找到一些文献
一键安装完全毕,和官网提示的一样,出现502错误。

发现原来是PHP没安装好。以下常规操作,新手可以直接复制。
下载
PHP wget http://www.php.net/get/php-5.2.13.tar.gz/from/this/mirror
下载FCGI
wget http://php-fpm.org/downloads/php-5.2.13-fpm-0.5.13.diff.gz

(如果你下载其它PHP版本,例如PHP5.3.X 那么FPM同样要对应版本,否则出错)
(http://php-fpm.org/downloads/ FPM全系列版本)
解压:
tar zxvf php-5.2.13.tar.gz
对PHP打FPM补丁:
gzip -cd php-5.2.13-fpm-0.5.13.diff.gz | patch -d php-5.2.13 -p1
进入目录:
cd php-5.2.13/
加载参数
./configure –prefix=/usr/local/php –with-config-file-path=/usr/local/php/etc –with-mysql=/usr/local/mysql –with-mysqli=/usr/local/mysql/bin/mysql_config –with-iconv-dir=/usr/local –with-freetype-dir –with-jpeg-dir –with-png-dir –with-zlib –with-libxml-dir=/usr –enable-xml –disable-rpath –enable-discard-path –enable-safe-mode –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –with-curl –with-curlwrappers –enable-mbregex –enable-fastcgi –enable-fpm –enable-force-cgi-redirect –enable-mbstring –with-mcrypt –with-gd –enable-gd-native-ttf –with-openssl –with-mhash –enable-pcntl –enable-sockets –with-ldap –with-ldap-sasl –with-xmlrpc –enable-zip –enable-soap
如果目录名没改过,理论上测试通过
编译:
make
make install
完成。
重启lnmp:
sudo /root/lnmp restart
显示一堆文字:
====================
……
Starting MySQL
. *
Shutting down php_fpm . done
Starting php_fpm done
=====================
说明P发装成功,打开浏览器

http://localhost/phpinfo.php

PHP Version 5.2.13

php的问题解决了,然后就是phpmyadmin又出现问题了,通过127.0.0.1/phpmyadmin/无法登录mysql,提示#2002 无法链接mysql服务器,在网上找了半天最终也找到了解决办法
要将 config.inc.php 中
$cfg['Servers'][$i]['host'] = ’localhost’;
改成 $cfg['Servers'][$i]['host'] = ’127.0.0.1′;
还要添加
$cfg['Servers'][$i]['hide_db'] = ‘information_schema’;//使用登陆后看不见information_schema数据库

终于,世界美好了….
1 楼 bbsunchen 2010-07-20  
http://www.kklinux.com/html/Love-Linux/Debian/200909/16-6146.html
如果不用一键式,可以参考这个链接中的东西

相关推荐

Global site tag (gtag.js) - Google Analytics