惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Recent Announcements
Recent Announcements
阮一峰的网络日志
阮一峰的网络日志
爱范儿
爱范儿
博客园_首页
Last Week in AI
Last Week in AI
月光博客
月光博客
有赞技术团队
有赞技术团队
IT之家
IT之家
博客园 - Franky
P
Proofpoint News Feed
Hugging Face - Blog
Hugging Face - Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - 三生石上(FineUI控件)
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
V2EX
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
云风的 BLOG
云风的 BLOG
WordPress大学
WordPress大学
The GitHub Blog
The GitHub Blog
人人都是产品经理
人人都是产品经理
A
About on SuperTechFans
N
Netflix TechBlog - Medium
雷峰网
雷峰网
Recorded Future
Recorded Future
S
Securelist
C
CERT Recently Published Vulnerability Notes
Vercel News
Vercel News
F
Full Disclosure
C
Cybersecurity and Infrastructure Security Agency CISA
A
Arctic Wolf
Simon Willison's Weblog
Simon Willison's Weblog
L
LINUX DO - 热门话题
T
Tenable Blog
MongoDB | Blog
MongoDB | Blog
V
Visual Studio Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Jina AI
Jina AI
TaoSecurity Blog
TaoSecurity Blog
H
Hacker News: Front Page
D
DataBreaches.Net
Google DeepMind News
Google DeepMind News
T
The Exploit Database - CXSecurity.com
S
Security @ Cisco Blogs
W
WeLiveSecurity
酷 壳 – CoolShell
酷 壳 – CoolShell
D
Darknet – Hacking Tools, Hacker News & Cyber Security
SecWiki News
SecWiki News

秋水逸冰

丽萨主机:双ISP家宽住宅IP VPS/CN2 GIA精品网/G口大带宽 | 秋水逸冰 Linux Kernel 6.18.x 编译版 | 秋水逸冰 思考未来人与 AI 的关系 | 秋水逸冰 3X-UI 面板安装和使用教程 | 秋水逸冰 Xray-UI 面板安装和使用教程 | 秋水逸冰 WCMP (Windows + Caddy + MariaDB + PHP) Nginx for Windows | 秋水逸冰 Aria2 for Windows | 秋水逸冰 Curl for Windows | 秋水逸冰 Wget for Windows | 秋水逸冰 Windows 11 Enterprise LTSC DD 镜像 Windows Server 2025 Datacenter DD 镜像 重新编译 curl 以支持 HTTP3 | 秋水逸冰 tiny10 和 tiny11 23H2 的 Windows DD 镜像 从 Apache httpd 切换到 Caddy2 LCMP (Linux + Caddy + MariaDB + PHP) Windows 11 Pro for Workstations 22H2 DD 镜像 Shadowsocks 编译版 by Teddysun | 秋水逸冰 适用于 UEFI 启动的多个 Windows 系统 DD 镜像 Linux Kernel 5.15.x 编译版 | 秋水逸冰 制作适用于 WSL 的任意 Linux 镜像 Windows 11 Pro for Workstations 21H2 DD 镜像 Windows 10 Enterprise LTSC DD 镜像 Linux Kernel 5.14.x 编译版 | 秋水逸冰 Linux Kernel 5.13.x 编译版 | 秋水逸冰 Windows Server 2022 Datacenter DD 镜像 在 Windows 10 上安装 Rocky Linux 系统 Linux Kernel 5.12.x 编译版 | 秋水逸冰 Linux Kernel 5.11.x 编译版 | 秋水逸冰 在 Windows 10 上安装 CentOS 系统 Linux Kernel 5.10.x 编译版 | 秋水逸冰 Caddy v1.0.5 编译版 | 秋水逸冰 在 Windows 系统里轻松创建自定义服务 | 秋水逸冰 如何在 CentOS 8 下安装 Docker Engine 在 CentOS 7 下构建 Android 编译环境 使用 Docker Buildx 构建多种系统架构镜像 | 秋水逸冰 使用 Docker 快速部署 Shadowsocks-libev + v2ray-plugin 如何使用 FirewallD 开启 IP 白名单 WireGuard 一键安装脚本 | 秋水逸冰 域名那些事儿5 | 秋水逸冰 告别 | 秋水逸冰 Windows Server 2019/2016/2012R2 Datacenter DD 镜像 如何制作 Windows Server 2019 的 DD 镜像 介绍几款 Docker 镜像 | 秋水逸冰 如何启用 Shadowsocks 的多端口 | 秋水逸冰 一键安装KMS服务脚本 | 秋水逸冰 关于免费SSL证书的那些事儿 | 秋水逸冰 使用定时任务cron监视Shadowsocks进程 | 秋水逸冰 LAMP新增Letsencrypt支持 | 秋水逸冰 从编译到二进制安装 | 秋水逸冰 PHP模块一览及简要说明 | 秋水逸冰 使用 GPG 加密 Github Commits 一键安装最新内核并开启 BBR 脚本 | 秋水逸冰 Shadowsocks 一键安装脚本(四合一) | 秋水逸冰 FTP 上传一键脚本ftp_upload.sh | 秋水逸冰 限制 IP 访问 WordPress 登录画面 CentOS 6.10安装Python2.7.18 | 秋水逸冰 一键备份脚本backup.sh | 秋水逸冰 域名那些事儿4 | 秋水逸冰 域名那些事儿3 | 秋水逸冰 LAMP下SSL设置教程 | 秋水逸冰 L2TP/IPSec一键安装脚本 | 秋水逸冰 域名那些事儿2 | 秋水逸冰 一键测试脚本bench.sh | 秋水逸冰 解决pip安装M2Crypto失败的问题 | 秋水逸冰 在CentOS下编译安装GCC | 秋水逸冰 域名那些事儿 | 秋水逸冰 MySQL性能优化的简单说明 | 秋水逸冰 Zend Guard Loader简介及下载链接一览 | 秋水逸冰 Windows和Linux下Whois命令的安装和使用 | 秋水逸冰 Windows系统下安装dig命令 | 秋水逸冰 如何在Debian下安装Webmin | 秋水逸冰 Apache下部署SSL教程 | 秋水逸冰 Shadowsocks-go一键安装脚本 | 秋水逸冰 少壮不努力,一生在内地 | 秋水逸冰 Google日语输入法离线安装包 | 秋水逸冰 PHP加速缓存Zend Opcache | 秋水逸冰 CentOS下安装aria2教程 | 秋水逸冰 Linux多线程下载工具Axel | 秋水逸冰 phpMyAdmin导入文件错误的解决办法 | 秋水逸冰 PHP编译安装常见错误总结 | 秋水逸冰 phpMyAdmin从4.1.x升级到4.2.x注意事项 | 秋水逸冰 Debian下shadowsocks-libev一键安装脚本 | 秋水逸冰 CentOS下shadowsocks-libev一键安装脚本 | 秋水逸冰 又一家VPS:Vultr.com | 秋水逸冰 Linux系统中常用操作命令 | 秋水逸冰 Eclipse下搭建Python开发环境 | 秋水逸冰 Shadowsocks Python版一键安装脚本 | 秋水逸冰 Git初学者:msysgit和tortoisegit | 秋水逸冰 CentOS 6下编译PHP出错 | 秋水逸冰 Apache如何开启Gzip压缩 | 秋水逸冰 Linux Shell逻辑运算符和表达式详解 | 秋水逸冰 吐槽腾讯:PC用户也是用户 | 秋水逸冰 Webmin:如何安装Perl模块DBI和DBD-MySQL | 秋水逸冰 CentOS下如何手动添加Swap | 秋水逸冰 安装PHP的PDO MySQL扩展 | 秋水逸冰 Javascript获取URL参数值 | 秋水逸冰 总结我所用过的VPS商家 | 秋水逸冰 Apache索引(目录浏览)的那些事儿 | 秋水逸冰 如何新建最低权限的SSH帐号 | 秋水逸冰
LAMP一键安装脚本使用说明 | 秋水逸冰
秋水逸冰 · 2015-04-28 · via 秋水逸冰

LAMP shell

LAMP 一键安装脚本持续更新很长一段时间了。在这期间,经常被问到很多问题,回答的比较零散,因此有必要在这里归纳总结一下。
如果你在使用 LAMP 的过程中也遇到了问题,请参考此文,已经列出了常见的问题和解答,希望能对你有所帮助。

为什么选择 LAMP 一键安装脚本?
LAMP 是经典的建站环境,尤其适用于个人站长。
本脚本的软件版本更新及时,支持 PHP 及数据库自选安装。支持 PHP 和数据库程序自助升级。
安装方便,支持众多 PHP 插件,实际上是当初为安装 Moodle 而量身打造的 LAMP 环境。
安装建议:根据自己的 CMS 建站系统要求,选择合适的版本安装即可。

更新时间:2015 年 08 月 28 日

程序目录:
MySQL 安装目录: /usr/local/mysql
MySQL 数据库目录: /usr/local/mysql/data(默认,安装时可更改路径,参考问题 8 如何更改)
MariaDB 安装目录: /usr/local/mariadb
MariaDB 数据库目录: /usr/local/mariadb/data(默认,安装时可更改路径,参考问题 8 如何更改)
PHP 安装目录: /usr/local/php
Apache 安装目录: /usr/local/apache
phpMyAdmin 安装目录: /data/www/default/phpmyadmin(安装完成后出于安全,建议将此目录改名,比如改为 /data/www/default/admin_8989)

网站目录:
默认的网站根目录: /data/www/default
默认页位置: /data/www/default/index.html
新建站点默认目录: /data/www/域名/web
phpmyadmin 后台地址: http://域名或ip/phpmyadmin/(若目录已改名,此处应为改名后的地址,比如 http://域名或ip/admin_8989/)
phpmyadmin 默认用户名:root 密码:root(此密码即 MySQL 的 root 密码。在安装时会要求输入,如不输入则为默认值)
xcache 后台地址: http://域名或ip/xcache/ 
xcache 默认用户名:admin 密码:123456(用户名和密码在配置文件 /usr/local/php/php.d/xcache.ini 中定义)

配置文件:
Apache 日志目录: /usr/local/apache/logs
Apache SSL 配置文件: /usr/local/apache/conf/extra/httpd-ssl.conf
新建站点配置文件: /usr/local/apache/conf/vhost/域名.conf
PHP 配置文件: /usr/local/php/etc/php.ini
PHP 所有扩展配置文件目录: /usr/local/php/php.d/
MySQL 配置文件: /etc/my.cnf

命令一览:
MySQL 或 MariaDB 命令:
/etc/init.d/mysqld (start|stop|restart|status)
Apache命令:
/etc/init.d/httpd (start|stop|restart|status)
memcached
/etc/init.d/memcached (start|stop|restart|status)

安装LAMP及建站简单流程:
1、安装 LAMP 环境
2、添加虚拟主机。运行命令:lamp add (如果只建一个站,则可以直接将网站程序上传至 /data/www/default 目录下即可)
3、上传并解压网站程序到网站目录,默认位置为:/data/www/域名/web
4、更改网站目录权限。以 root 用户登录,运行:chown -R apache:apache /data/www/域名
5、运行网站安装程序完成网站安装

问1:安装完网站程序,升级或安装插件等报错,如何更改网站目录权限?
答:以 root 登录后,运行:chown -R apache:apache /data/www/域名

问2:安装时因内存不足报错,不能完成安装?
答:小于 512M 的 VPS 建议并开启 Swap,如何开启 Swap ,可以参考《如何在CentOS中添加Swap》一文。
更新(2015 年 08 月 28 日):本次更新优化了在小内存(480-512MB)下的安装体验。当 RAM + Swap 的容量小于 480MB 时,直接退出脚本运行;480-600MB 时,新增 PHP 编译选项 –disable-fileinfo 。
同时还优化了安装过程中对内存的占用。
备注:为什么写成 480 MB ?
这是因为基于 Xen 或者 KVM 虚拟的 VPS,内存容量一般会低于标注容量。一般说是 512MB,但实际也就只有 480MB 左右。

问3:域名跟 ip 地址都显示相同的网页,如何设置?
答:这是因为域名没与 IP 绑定。
修改配置文件 /usr/local/apache/conf/extra/httpd-vhosts.conf
在此文件的第 1 行开始,追加以下虚拟主机的配置:

<virtualhost *:80>
ServerName  公网 IP
Redirect 301 / 完整网址(如:http://teddysun.com)
</virtualhost>

注意,格式是301+空格+斜杠+空格+完整网址
此处是用到了 301 永久重定向来达到目的。
然后保存并重启 Apache,命令:/etc/init.d/httpd restart

问4:将 MySQL 换成 MariaDB ,应该怎么做?
答:
1、备份所有数据库,执行命令:/usr/local/mysql/bin/mysqldump -uroot -p你设定的root密码 –all-databases > /root/mysql.dump
2、卸载 LAMP,命令:lamp uninstall
3、重新安装 LAMP,选择 MariaDB
4、安装完成后,恢复数据库,命令:/usr/local/mariadb/bin/mysql -u root -p你设定的root密码 < /root/mysql.dump
卸载 LAMP 时,是不会删除 /data/www/default 的,也就是说不会删除网站数据。但数据库会被删掉,因此需要备份。
注意,考虑到程序兼容性问题,不建议这么做(生产环境换数据库程序不妥,应该事先就规划好用哪种数据库),除非你知道如何备份和恢复你的数据库。

问5:如何更改网站的默认目录?
答:修改配置文件 /etc/httpd/conf/extra/httpd-vhosts.conf 里的 DocmentRoot 目录以及下面的 Directory ,再重启 apache 即可

问6:全新安装后,无法引用 /data/www/ 之外的目录,如 /home/data/,如何解决?
答:这是因为出于安全考虑,做了目录权限的 open_basedir 限制。
如何添加比如 /home/data 目录呢?修改 /usr/local/apache/conf/extra/httpd-vhosts.conf 中的 php_admin_value open_basedir 后的值,将 /home/data 添加到最后,注意要用冒号分割。再重启 Apache 即可。

问7:请问如果网站是www.ccc.com, 如何让ccc.com跳转到www.ccc.com?
答:既可以在域名解析的时候设置域名跳转(比如 Dnspod 就可以),也可以通过 Apache 的 ServerAlias 设置多个域名。
比如 www.ccc.com 的配置文件是 /usr/local/apache/conf/vhost/www.ccc.com.conf ,在 ServerName 后新增一行 ServerAlias ccc.com 即可。
修改示例:
ServerName www.ccc.com
ServerAlias ccc.com

问8:安装时自定义 MySQL 或 MariaDB 的路径,系统自动初始化数据库时会出错。然后会提示启动失败?
答:自定义 MySQL 的数据库路径时,如果目录不存在的话 MySQL 或 MariaDB 会尝试创建该目录,但一般会由于权限不足而创建失败。
MySQL 编译安装后会将 /usr/local/mysql 目录的 user:group 设为 mysql:mysql,所以默认目录 /usr/local/mysql/data 是没有问题的。
因此自定义路径时,最好事先创建好该目录,并把目录 user:group 变更为 mysql:mysql,比如更改目录为 /home/mysql/data
当然,在还没有安装 LAMP 之前,系统不一定有 mysql 的用户和用户组。执行以下命令可以创建:

/usr/sbin/groupadd mysql
/usr/sbin/useradd -s /sbin/nologin -M -g mysql mysql

然后,在 root 用户下执行:chown -R mysql:mysql /home/mysql/data
更新(2015 年 08 月 28 日):本次更新优化了 MySQL 的安装过程,脚本会检测自定义路径是否存在,如果不存在会自行创建目录并改变其 owner 和 group,无需在此之前手动创建了。

问9:LAMP 能配合什么 Web 面板管理呢?
答:Webmin 免费面板。参考《使用webmin管理PPTP VPN Server》一文,有在 CentOS 下如何快速安装 webmin 的教程。

问10:请问 xcache 的后台怎么进去?
答:http://域名或IP/xcache/
用户名:admin
密码:123456
前提是你安装了 xcache 后才能进入该后台。

问11:如何修改 xcache 的后台用户名和密码?
答:修改 /usr/local/php/php.d/xcache.ini 中对应的 xcache.admin.user 和 xcache.admin.pass 的值。
注意 xcache.admin.pass 的值是密码 md5 后的值。
然后重启 Apache 即可。

问12:程序只能支持到PHP 5.3,不支持PHP 5.4,请问具体如何降级到PHP 5.3呢?是否可以直接卸载 PHP 然后单独重新安装PHP 5.3 ?
答:可以是可以,不过比较麻烦,你要自己重新编译 PHP 5.3.29 。
删除已有的 PHP 步骤:
rm -rf /etc/php.ini /usr/bin/php* /usr/local/php
编译 PHP 5.3.29 有几点需要注意的。你需要把环境里的 Apache, MySQL 或 MariaDB 配置一并 configure 好才行,具体可以参照 lamp.sh 脚本里的 install_php 函数。

当然还有一种办法就是备份好数据,卸载 LAMP 后再次安装时选择 PHP 5.3 版本即可。

问13:安装以后要如何关闭日志功能?
答:修改 Apache 的配置文件 /usr/local/apache/conf/httpd.conf ,
搜索关键字 CustomLog (第300行),在前面加一个“#”注释掉后再重启 Apache 后就不再产生访问日志了。

问14:FTP 安装使用是怎样的?
答:1、安装 LAMP 环境;
2、运行 pureftpd.sh 安装 pureftpd 软件(pureftpd 相关命令:service pure-ftpd start/stop/restart);
3、运行 lamp ftp add 命令新增 ftp 用户并根据提示绑定该用户的根目录(例:/data/www/default);
4、运行 lamp ftp del 命令删除 ftp 用户,但并不会删除数据;
5、运行 lamp ftp list 命令查看已有的 ftp 用户一览。
敬请注意:安装 FTP 会遇到各种权限问题,会和已有的 apache 用户和用户组产生冲突,导致通过 FTP 上传的文件在程序里不可用。
因此,不推荐使用。目前 SFTP 已经全面替代 FTP 了。你可以用 winscp 客户端 root 连接后上传文件,然后再改下用户和用户组权限为 apache 即可,简单方便。

问15:Apache 的 SSL 如何设置?
答:一般设置 /usr/local/apache/conf/extra/httpd-ssl.conf 就够了。
还需要在 /usr/local/apache/conf/httpd.conf 中开启 Include conf/extra/httpd-ssl.conf ,也就是将前面的 “#” 去掉。
可以参考《Apache下部署ssl教程》一文。

问16:安装 PHP 时出现以下错误,怎么处理?
cc: Internal error: Killed (program cc1)
Please submit a full bug report.
See for instructions.
make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1
Installing PHP failed, Please visit https://teddysun.com/lamp and contact.

答:内存不足,安装被 kill了。内存低于 512MB 的又没有 Swap 的话就会如此。如何开启 Swap ,可以参考《如何在CentOS中添加Swap》一文。
更多错误信息查询,参考《PHP编译安装常见错误总结》一文。

问17:请问如何卸载组件呢,比如 xcache memcached?
答:删掉对应的 .so 文件及配置文件再重启 Apache 即可。
比如安装了 PHP 5.4 的话:
/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/xcache.so
/usr/local/php/php.d/xcache.ini

问18:怎么卸载 phpMyAdmin?
答:phpMyAdmin 如果不需要的话,直接删除其目录就OK了。
默认安装位置是 /data/www/default/phpmyadmin/

问19:多个IP的VPS如何设置一个IP对应一个域名呢?
答:按照以下步骤:
1、创建虚拟主机,以域名命名;
2、修改配置文件/usr/local/apache/conf/vhost/域名.conf,将其中的第一行的 virtualhost *:80修改为 virtualhost IP:80;
3、解析对应的域名到第二步设定好的的 IP ,重启 Apache。

感谢 lxrmyc 以评论为基础的整理。
本文在原来的评论的基础上作了更为详细的说明,将会不定时更新。

转载请注明:秋水逸冰 » LAMP一键安装脚本使用说明