LAMP一键安装脚本

912169 次围观 1117 次吐槽

LAMP shell

本脚本适用环境:

  • 系统支持:CentOS/Redhat/Debian/Ubuntu
  • 内存要求:≥512M
  • 硬盘要求:5GB 以上的剩余空间
  • 服务器必须配置好软件源和可连接外网
  • 必须具有系统 root 权限
  • 建议使用干净系统全新安装
  • 日期:2016 年 11 月 12 日

关于本脚本:

  • 支持 PHP 自带几乎所有组件;
  • 支持 MySQL ,MariaDB, Percona 数据库;
  • 支持 memcached (可选安装);
  • 支持 ImageMagick (可选安装);
  • 支持 GraphicsMagick (可选安装);
  • 支持 Zend Guard Loader (可选安装);
  • 支持 ionCube PHP Loader (可选安装);
  • 支持 XCache ,Zend OPcache (可选安装);
  • 命令行新增虚拟主机,操作简便;
  • 自助升级 Apache,PHP,phpMyAdmin,MySQL/MariaDB/Percona 至最新版本;
  • 支持一键卸载(切记,卸载前请注意备份数据)。

特别说明:

常见问题:

更新日志:

详见:更新日志

旧版的更新日志:
https://teddysun.com/changelog.html

后记
折腾这个脚本的缘由请参照《新站开张》一文。实际上,这个脚本从一开始是参照Linux 服务器运维日志的脚本改编而来,改成符合我所做的项目需求,在这里感谢原作者。后来改得越来越多,于是干脆就作为一个项目发布出来,记录自己的折腾的过程,如果同时也能给一些需要的人用到,实在是与有荣焉。

发表我的评论
取消评论

请输入正确答案后提交评论 *

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1117)

  1. 我的网站xxxx.com想要跳转到www.xxxx.com,按照常见问题解答,我在下面添加了一行,发现原来文件也有一行ServerAlias ccc.com 于是我先改动这一行,把阿里云的www解析删除发现之后会变114,然后我添加Www解析然后再添加一行发现回跳到LAMP一键安装包界面 请问要怎么解决
    stone4年前 (2016-02-21)回复
    • 首先,dns 解析那里正常解析根域名和 www 子域。 其次,在 Apache 的配置文件里设置 ServerAlias ,再重启 Apache 即可。
      秋水逸冰4年前 (2016-02-21)回复
  2. 多谢秋水,又回来关注LAMP了。已经顺利安装了php7.
    datacool4年前 (2016-01-29)回复
  3. 你好! 之前有向你反馈过这个lamp的bug,但是经过几次版本的更新,我发现你的lamp一键安装包,始终没有解决这个bug问题,希望得到重视,问题描述: lamp安装包部署完成后,如果要安装magento程序,在phpmyadmin面板下,新建数据库,然后导入magento的数据库文件,会发生报错: SELECT `comment` FROM `phpmyadmin`.`pma__column_info` WHERE db_name = 'magento' AND table_name = '' AND column_name = '(db_comment)' MySQL 返回: 文档 #1100 - Table 'pma__column_info' was not locked with LOCK TABLES 测试的数据库文件可以到这里下载:http://23.226.228.27/magento_sample_data_sql_for_1.9.zip 目前我们使用2种方法处理该问题,一直是直接在ssh下使用命令导入数据库,另外一种,就是修改你的lamp安装文件,把phpmyadmin版本降到3.4.x版本,就可以解决这个问题,但是这个是治标不治本的,希望能够彻底修复这个bug.
    viscorpio4年前 (2016-01-13)回复
    • 看你的描述,应该是 phpmyadmin 的问题,或者说是 sql 的问题。 如果 phpmyadmin 不修复,我怎么能修复呢。 本脚本只是搭个环境而已。
      秋水逸冰4年前 (2016-01-13)回复
      • 已经测试过多个一键安装包,包括lamp和lnmp,只有你这个环境部署后,在phpmyadmin里面是无法正确导入的,原以为更新版本后会解决这个问题,但是你更新了几次版本,每次都有相同的这个问题,具体原因不详,你直接测试一下我发给你的数据库文件就知道了
        viscorpi4年前 (2016-01-13)回复
        • 区别就在于安装的 phpmyadmin 版本不一样。 更确切的说,这是 phpmyadmin 导致的问题,跟我更新不更新版本无关。
          秋水逸冰4年前 (2016-01-14)回复
          • 我只是反馈问题,至于要不要处理那是你的事情,军哥的lnmp和lamp安装脚本,onestack的lamp和lnmp脚本用的phpmyadmin版本和你的都一样,为什么都是可以正常导入的,是不是bug用的人最清楚.自己去研究吧!
            viscorpio4年前 (2016-01-14)回复
            • 原因已经找到了。 本脚本和他们脚本还是有区别的。因为,本脚本默认安装了 phpmyadmin 自带的数据库(数据库名:phpmyadmin)。也就是默认开启了phpmyadmin的高级功能。他们的则没有这种做法。 而报错信息正是来自于此。 我看了 sql 是 MySQL dump 导出来的。原则上,我是建议,用什么导出,就用什么导入的。 你用命令行导出的,再用 phpmyadmin 导入容易出问题。 如果你是用 phpmyadmin 导出的,那再次导入肯定就没问题。
              秋水逸冰4年前 (2016-01-15)回复
              • 我再研究一下,谢谢!
                viscorpio4年前 (2016-01-15)回复
                • 的确如此,将脚本中第878行注释,,取消phpmyadmin的高级功能安装,可以解决这个问题,导入任何数据库文件都没有问题了
                  viscorpio4年前 (2016-01-16)
              • magento的数据库有外键约束的功能,我之前通过安装博主这个环境通过phpmyadmin导入数据库也遇到各种各样的问题,之后在sql文件的开头和结尾分别加上: SET FOREIGN_KEY_CHECKS=0; 和 SET FOREIGN_KEY_CHECKS=1; 导入数据库的时候就一切正常了。 如果导出数据库的时候选择禁用外键约束即会自动加上以上参数。
                JOHN4年前 (2016-01-19)回复
              • 在这里顺便提个意见,在添加域名的时候希望能自动完成 https://lamp.sh/faq.html Q7里面修改示例的效果,不用手动修改。 再次感谢博主的一键脚本!它帮我省了好多功夫提高了工作效率 THANKS
                JOHN4年前 (2016-01-19)回复
  4. 不错呢~~加油~~参考下XAMPP的环境,那个环境比较好,不用补组件什么的.
    李博4年前 (2016-01-05)回复
  5. 你好 发现VPS换了IP 域名重新解析后 所有的网站都不可以访问,请问需要修改哪里的配置文件吗?
    tokyo4年前 (2015-12-19)回复
  6. 要lnmp
    11114年前 (2015-12-10)回复
  7. 博主 我遇到个问题 弄了2天了还是没解决 原本是自己手动编译安装,都装成功了,但是在安装php扩展插件的时候就出问题了 都是报一样的错误: /usr/local/php7777/include/php/Zend/zend_hash.h:171: 附注:需要类型‘HashPosition *’,但实参的类型为‘void **’ /root/memcache-3.0.8/memcache.c:1593: 错误:提供给函数‘zend_hash_get_current_data_ex’的实参太多 /root/memcache-3.0.8/memcache.c:1598: 警告:传递‘zend_hash_exists’的第 2 个参数时将整数赋给指针,未作类型转换 /usr/local/php7777/include/php/Zend/zend_hash.h:159: 附注:需要类型‘struct zend_string *’,但实参的类型为‘int’ /root/memcache-3.0.8/memcache.c:1598: 错误:提供给函数‘zend_hash_exists’的实参太多 /root/memcache-3.0.8/memcache.c: 在函数‘zif_memcache_get’中: /root/memcache-3.0.8/memcache.c:1650: 警告:传递‘zend_hash_get_current_data_ex’的第 2 个参数时在不兼容的指针类型间转换 /usr/local/php7777/include/php/Zend/zend_hash.h:171: 附注:需要类型‘HashPosition *’,但实参的类型为‘void **’ /root/memcache-3.0.8/memcache.c:1650: 错误:提供给函数‘zend_hash_get_current_data_ex’的实参太多 /root/memcache-3.0.8/memcache.c: 在函数‘zif_memcache_get_stats’中: /root/memcache-3.0.8/memcache.c:1785: 错误:‘IS_BOOL’未声明(在此函数内第一次使用) /root/memcache-3.0.8/memcache.c:1785: 警告:比较指针和整数 make: *** [memcache.lo] 错误 1 安装redis插件就报:make: *** [redis.lo] 错误 1 网上找了资料全都无法解决 后来就用了您的一键安装,在装扩展的时候还是报这个错误。奔溃了 博主救命
    lxg4年前 (2015-12-09)回复
    • 该扩展还不兼容 PHP 7.0 7.0 以下的版本可以正常安装。
      秋水逸冰4年前 (2015-12-09)回复
      • 我好像安装所有的扩展都是报这个错误啊 .lo 错误1 都是因为用的是Php7.0吗
        lxg4年前 (2015-12-09)回复
  8. php7.0正式版 快更新
    小林4年前 (2015-12-04)回复
    • 更新倒是简单,但是这个 7.0 与不少程序都还不兼容。比如雅黑探针在 7.0 下就显示不完全。
      秋水逸冰4年前 (2015-12-04)回复
    • 脚本安装 php 7.0 已更新。 并且已经修正了雅黑探针在 php 7.0 下的若干个错误,现已显示正常了。
      秋水逸冰4年前 (2015-12-08)回复
  9. 如何修改mysql的连接数? 直接修改/etc/my.cnf ,无法启动。
    大力4年前 (2015-12-03)回复
  10. 博主,请问我想搭载worpress主题博客是将wordpress解压好后放到网站的根目录data/www/default文件夹中吗?在放之前default文件夹需要清空吗?还是phpmyadmin需要保留?我的一直出现连接不上数据库的错误提示。wp-config.php文件中数据库信息也修改过了。能帮我解答一下吗?谢谢
    Jim4年前 (2015-11-30)回复
    • 没错,默认网站目录就是 /data/www/default ,wordpress解压到此目录并设置好权限就能安装了。 chown -R apache:apache /data/www/default phpmyadmin目录最好是改名后保留,方便以后自己使用。 连不上数据库,要么是配置问题,要么是数据库没有启动,具体原因以错误提示为准。
      秋水逸冰4年前 (2015-12-01)回复
      • 谢谢博主的热心解答,问题已解决,我在wp-config.php文件中¥hostname填写的是服务器的IP地址,所以一直连接不成功。填了localhost就好了。我有疑问,为什么主机地址是localhost?还有就是在登录phpmyadmin后服务器显示localhost.是不是可以更改为服务器IP地址,怎么改呢?这样就需要在$hostname里面也填写ip地址才能连接成功吗?谢谢,博主。
        JIm4年前 (2015-12-02)回复
        • 因为,程序在vps里连接本机的数据库,那就是 localhost
          秋水逸冰4年前 (2015-12-03)回复
  11. 博主太感谢了,初学者的福音,自带的探针脚本也很强大啊
    Jim4年前 (2015-11-30)回复
  12. 为什么装了之后,ss服务停不下来了? [[email protected] ~]# /etc/init.d/shadowsocks stop INFO: loading config from /etc/shadowsocks.json /usr/lib/python2.6/site-packages/shadowsocks/shell.py:154: DeprecationWarning: BaseException.message has been deprecated as of Python 2.6 e.message) ERROR: found an error in config.json: Expecting property name: line 7 column 1 (char 128) shadowsocks stop failed 什么问题?
    meng###4年前 (2015-11-24)回复
    • 请仔细看错误提示信息,那英文你应该能看得懂。 总之,就是配置文件错了导致的。
      秋水逸冰4年前 (2015-11-26)回复
  13. lamp安装的php是nts的,要怎么改php为ts的呢
    zero4年前 (2015-11-24)回复
    • Thread Safety disabled是NTS,enabled是TS TS指Thread Safety,即线程安全,一般在IIS以ISAPI方式加载的时候选择这个版本。 NTS即None-Thread Safe,一般以fast cgi方式运行的时候选择这个版本,具有更好的性能。 要想改成 TS,那也是只能重新编译了吧。
      秋水逸冰4年前 (2015-11-26)回复
  14. 楼主openssl需要更新到最新版,
    mrg1234年前 (2015-11-21)回复
    • openssl是 yum 安装的,需要升级的话,yum update 即可。
      秋水逸冰4年前 (2015-11-21)回复
  15. 非常感谢博主,感觉楼主是大神
    mrg1234年前 (2015-11-18)回复