找回密码
 立即注册
搜索
查看: 221|回复: 0

LAMP一键安装脚本使用说明

[复制链接]

991

主题

92

回帖

5万

积分

管理员

积分
55457
发表于 2022-7-4 16:59:04 | 显示全部楼层 |阅读模式

' ], @# {# N% Y                                                        6 |0 c1 o$ j0 X
LAMP 一键安装脚本持续更新很长一段时间了。在这期间,经常被问到很多问题,回答的比较零散,因此有必要在这里归纳总结一下。
' E+ ~' s1 |; B! l 如果你在使用 LAMP 的过程中也遇到了问题,请参考此文,已经列出了常见的问题和解答,希望能对你有所帮助。
& V! C  f; o$ _, F. b 为什么选择 LAMP 一键安装脚本?
' d% @( e  _0 x& H% K3 w& a/ b; x! R$ u LAMP 是经典的建站环境,尤其适用于个人站长。# H- J8 j: S+ D  ]3 ~9 k) s7 q
本脚本的软件版本更新及时,支持 PHP 及数据库自选安装。支持 PHP 和数据库程序自助升级。
/ z# H- n5 U' Q/ o 安装方便,支持众多 PHP 插件,实际上是当初为安装 Moodle 而量身打造的 LAMP 环境。
* Y. k% m5 u8 n; h' ~9 N 安装建议:根据自己的 CMS 建站系统要求,选择合适的版本安装即可。. o9 {; C$ ]  A$ p& R" x) O8 J
更新时间:2015 年 08 月 28 日
9 s8 L6 \$ k  g9 q4 k, c0 M        ) s1 q, i3 v6 _- v/ i
程序目录:9 Y; B0 I2 v1 G8 k
MySQL 安装目录: /usr/local/mysql
* {0 N) h& B. ^& }" f" F MySQL 数据库目录: /usr/local/mysql/data(默认,安装时可更改路径,参考问题 8 如何更改)% U; G6 t! G- ~  Q0 v# @$ m" x# G
MariaDB 安装目录: /usr/local/mariadb- K4 h$ R+ d- A  t) i( m
MariaDB 数据库目录: /usr/local/mariadb/data(默认,安装时可更改路径,参考问题 8 如何更改)% ^3 N" E* [) E
PHP 安装目录: /usr/local/php7 h' d& X, X( h8 x
Apache 安装目录: /usr/local/apache) }  x; {: e4 y- Y* g- j
phpMyAdmin 安装目录: /data/www/default/phpmyadmin(安装完成后出于安全,建议将此目录改名,比如改为 /data/www/default/admin_8989), p5 [  i! F$ v( Y" d, ?, R5 _$ T
网站目录:; Q; ]) Q  ]" X1 K  N; F
默认的网站根目录: /data/www/default) F$ [+ H- E: \/ B  z& g" o
默认页位置: /data/www/default/index.html( [/ Y1 e/ v1 r. u! r8 E
新建站点默认目录: /data/www/域名/web) I* ^3 X( B8 H1 r0 g. ~- j
phpmyadmin 后台地址: http://域名或ip/phpmyadmin/(若目录已改名,此处应为改名后的地址,比如 http://域名或ip/admin_8989/)( J, \; C' d" S6 F
phpmyadmin 默认用户名:root 密码:root(此密码即 MySQL 的 root 密码。在安装时会要求输入,如不输入则为默认值)
% |  ^  m( @: C xcache 后台地址: http://域名或ip/xcache/
9 O+ `' [! o8 Z6 t+ P! \  g xcache 默认用户名:admin 密码:123456(用户名和密码在配置文件 /usr/local/php/php.d/xcache.ini 中定义)0 U& v4 L, n& }* X
配置文件:( t& S" y/ t. Y6 V
Apache 日志目录: /usr/local/apache/logs
2 ^7 [3 \/ p1 f1 D" z Apache SSL 配置文件: /usr/local/apache/conf/extra/httpd-ssl.conf" n* E0 X' F* c  W
新建站点配置文件: /usr/local/apache/conf/vhost/域名.conf3 b' j- g, B& X5 g
PHP 配置文件: /usr/local/php/etc/php.ini
( E  ~# P* J4 B5 }7 v- F6 t: o PHP 所有扩展配置文件目录: /usr/local/php/php.d/
" B( T0 D, s; k) ?- r: }2 S& ^" f MySQL 配置文件: /etc/my.cnf4 {+ U+ X) u7 P( W. Z/ }, |0 e& T
命令一览:
! f' U. N& ]6 q" c MySQL 或 MariaDB 命令:2 U( n* H2 l2 @+ Z
/etc/init.d/mysqld (start|stop|restart|status)0 x! `: `3 C5 x
Apache命令:: L/ O% Q) J7 ~* r  J
/etc/init.d/httpd (start|stop|restart|status); b7 i9 d! }, Z7 v6 A
memcached
* ^+ ~) B# O* p7 n /etc/init.d/memcached (start|stop|restart|status)
+ ?$ y) o  }% m1 d3 v 安装LAMP及建站简单流程:
/ y7 c8 m+ \1 a; d) R% s( {! o 1、安装 LAMP 环境
9 ^" z1 C7 d7 P4 X& `. U 2、添加虚拟主机。运行命令:lamp add (如果只建一个站,则可以直接将网站程序上传至 /data/www/default 目录下即可). x) x/ D$ _9 ~
3、上传并解压网站程序到网站目录,默认位置为:/data/www/域名/web
5 R& k1 G3 w* \4 _& E$ m* P8 r 4、更改网站目录权限。以 root 用户登录,运行:chown -R apache:apache /data/www/域名
( X5 L  E, d" } 5、运行网站安装程序完成网站安装$ E' e! k9 n- z. c0 D
问1:安装完网站程序,升级或安装插件等报错,如何更改网站目录权限?4 t6 J. f# m4 a1 Y# b6 U
答:以 root 登录后,运行:chown -R apache:apache /data/www/域名3 Q- n5 D0 @' l- k
问2:安装时因内存不足报错,不能完成安装?9 O  K& u5 f. ~! M' r( z3 I
答:小于 512M 的 VPS 建议并开启 Swap,如何开启 Swap ,可以参考《如何在CentOS中添加Swap》一文。
) f: g9 }& Z) I0 m7 w3 r更新(2015 年 08 月 28 日):本次更新优化了在小内存(480-512MB)下的安装体验。当 RAM + Swap 的容量小于 480MB 时,直接退出脚本运行;480-600MB 时,新增 PHP 编译选项 –disable-fileinfo 。( D0 p, c0 z- W, r3 M
同时还优化了安装过程中对内存的占用。
- d( j- j4 p9 O- _$ u备注:为什么写成 480 MB ?; F% O  X& c; Y9 b* D* x5 ~
这是因为基于 Xen 或者 KVM 虚拟的 VPS,内存容量一般会低于标注容量。一般说是 512MB,但实际也就只有 480MB 左右。: w, _" |/ Y3 q! J0 \
问3:域名跟 ip 地址都显示相同的网页,如何设置?
# o5 G% Q; T8 y% p 答:这是因为域名没与 IP 绑定。
" \8 l" u% l* u) l2 f$ R9 b( J3 | 修改配置文件 /usr/local/apache/conf/extra/httpd-vhosts.conf; X( ?! x. r- C+ I7 U
在此文件的第 1 行开始,追加以下虚拟主机的配置:8 g2 x# E4 l$ y, H4 Q6 n
<virtualhost *:80>ServerName  公网 IPRedirect 301 / 完整网址(如:http://teddysun.com)</virtualhost> 注意,格式是301+空格+斜杠+空格+完整网址
" P  o3 c+ |6 o* v 此处是用到了 301 永久重定向来达到目的。( n/ {9 X7 Y9 _$ ~$ l; Z
然后保存并重启 Apache,命令:/etc/init.d/httpd restart9 h$ a0 o" R& H9 q6 ^
问4:将 MySQL 换成 MariaDB ,应该怎么做?
5 ^) d/ o6 L, y- h 答:0 k. R, h4 h- |" q4 O# \& q
1、备份所有数据库,执行命令:/usr/local/mysql/bin/mysqldump -uroot -p你设定的root密码 –all-databases > /root/mysql.dump5 b3 |$ i* u1 K
2、卸载 LAMP,命令:lamp uninstall, B1 l4 p0 Y' Y! @: q4 I
3、重新安装 LAMP,选择 MariaDB# k# M& {! i2 w8 Q( Y
4、安装完成后,恢复数据库,命令:/usr/local/mariadb/bin/mysql -u root -p你设定的root密码 < /root/mysql.dump
5 |) q6 u$ D8 I8 q) n 卸载 LAMP 时,是不会删除 /data/www/default 的,也就是说不会删除网站数据。但数据库会被删掉,因此需要备份。0 J+ v% A( P% w
注意,考虑到程序兼容性问题,不建议这么做(生产环境换数据库程序不妥,应该事先就规划好用哪种数据库),除非你知道如何备份和恢复你的数据库。. E$ W- b& ^8 O+ ^" L9 a
问5:如何更改网站的默认目录?
6 B+ M/ g$ Q$ R1 _2 F. N 答:修改配置文件 /etc/httpd/conf/extra/httpd-vhosts.conf 里的 DocmentRoot 目录以及下面的 Directory ,再重启 apache 即可
; j8 W) o+ C. l& R) m$ H2 t+ _8 E 问6:全新安装后,无法引用 /data/www/ 之外的目录,如 /home/data/,如何解决?+ w1 l+ C8 f7 |+ N
答:这是因为出于安全考虑,做了目录权限的 open_basedir 限制。0 F- q9 \5 M9 g+ |
如何添加比如 /home/data 目录呢?修改 /usr/local/apache/conf/extra/httpd-vhosts.conf 中的 php_admin_value open_basedir 后的值,将 /home/data 添加到最后,注意要用冒号分割。再重启 Apache 即可。4 c; y. {3 d5 H. d
问7:请问如果网站是www.ccc.com, 如何让ccc.com跳转到www.ccc.com?5 ?, w* X% E4 V+ z. t
答:既可以在域名解析的时候设置域名跳转(比如 Dnspod 就可以),也可以通过 Apache 的 ServerAlias 设置多个域名。# _# l8 i9 S" N3 J; C2 @
比如 www.ccc.com 的配置文件是 /usr/local/apache/conf/vhost/www.ccc.com.conf ,在 ServerName 后新增一行 ServerAlias ccc.com 即可。
* I0 a4 R. @2 S& q# E: t0 D 修改示例:
& ]4 D, J  f8 D2 N ServerName www.ccc.com4 Z! q- i5 p# {/ e- ^0 _3 L
ServerAlias ccc.com
' R/ ^$ X) }5 t$ K4 u9 P 问8:安装时自定义 MySQL 或 MariaDB 的路径,系统自动初始化数据库时会出错。然后会提示启动失败?# R) j# v: s( z7 _8 V
答:自定义 MySQL 的数据库路径时,如果目录不存在的话 MySQL 或 MariaDB 会尝试创建该目录,但一般会由于权限不足而创建失败。8 [; f: a- `' Q) ^6 I
MySQL 编译安装后会将 /usr/local/mysql 目录的 user:group 设为 mysql:mysql,所以默认目录 /usr/local/mysql/data 是没有问题的。0 v9 B8 Z+ e5 y/ Q8 |4 G  j, W
因此自定义路径时,最好事先创建好该目录,并把目录 user:group 变更为 mysql:mysql,比如更改目录为 /home/mysql/data
& y# H* y. K: ^2 l 当然,在还没有安装 LAMP 之前,系统不一定有 mysql 的用户和用户组。执行以下命令可以创建:
; ^* g  h- f" g, m7 n! b. o7 c/usr/sbin/groupadd mysql/usr/sbin/useradd -s /sbin/nologin -M -g mysql mysql 然后,在 root 用户下执行:chown -R mysql:mysql /home/mysql/data
; ~. j) m# v) h1 c更新(2015 年 08 月 28 日):本次更新优化了 MySQL 的安装过程,脚本会检测自定义路径是否存在,如果不存在会自行创建目录并改变其 owner 和 group,无需在此之前手动创建了。' O: T( U) h: B4 @# x1 j$ t
问9:LAMP 能配合什么 Web 面板管理呢?
! U8 a  y$ h' T; B3 ^+ C 答:Webmin 免费面板。参考《使用webmin管理PPTP VPN Server》一文,有在 CentOS 下如何快速安装 webmin 的教程。+ K1 I" |/ s/ k0 u* H$ |
问10:请问 xcache 的后台怎么进去?& t2 H" W. t3 O$ p0 V; K
答:http://域名或IP/xcache/4 B& s9 f+ n4 n4 b" _, m- L
用户名:admin
. ]* s  V* L" z$ K4 s 密码:123456! k$ K" M" k( }5 k- B
前提是你安装了 xcache 后才能进入该后台。+ U1 h1 {8 h& E1 G: R  g
问11:如何修改 xcache 的后台用户名和密码?
* ?) {# V( U; Q/ e; o& _$ V5 Z0 [ 答:修改 /usr/local/php/php.d/xcache.ini 中对应的 xcache.admin.user 和 xcache.admin.pass 的值。
+ s* a0 P, m, Z' k, r' M' \; z 注意 xcache.admin.pass 的值是密码 md5 后的值。) x& V; [, M  m. {3 K' ?  B2 s
然后重启 Apache 即可。! m  R. {# v- B5 [/ Z% Q: n' t
问12:程序只能支持到PHP 5.3,不支持PHP 5.4,请问具体如何降级到PHP 5.3呢?是否可以直接卸载 PHP 然后单独重新安装PHP 5.3 ?5 v8 ^- i( ~5 }. t+ M% j
答:可以是可以,不过比较麻烦,你要自己重新编译 PHP 5.3.29 。
1 }# s# _" K8 \: ?7 N 删除已有的 PHP 步骤:$ a: ~0 n6 P8 ]" F7 w+ s2 J! B9 s6 ^
rm -rf /etc/php.ini /usr/bin/php* /usr/local/php3 R0 M7 _' I( Z2 Y) N
编译 PHP 5.3.29 有几点需要注意的。你需要把环境里的 Apache, MySQL 或 MariaDB 配置一并 configure 好才行,具体可以参照 lamp.sh 脚本里的 install_php 函数。
8 G( Q. x) t/ I; U5 ^; J/ Q 当然还有一种办法就是备份好数据,卸载 LAMP 后再次安装时选择 PHP 5.3 版本即可。/ a* D! v& x" j& d( e$ Y
问13:安装以后要如何关闭日志功能?! t8 }$ L8 l0 c$ L9 U9 Q8 |) l5 |
答:修改 Apache 的配置文件 /usr/local/apache/conf/httpd.conf ,8 J, I8 H- K; x+ @. e. \1 ]$ T; _
搜索关键字 CustomLog (第300行),在前面加一个“#”注释掉后再重启 Apache 后就不再产生访问日志了。
: T# \# \. B  Z 问14:FTP 安装使用是怎样的?
& }1 E& B7 M9 Z0 t 答:1、安装 LAMP 环境;: C1 w3 k8 p9 r- `' I
2、运行 pureftpd.sh 安装 pureftpd 软件(pureftpd 相关命令:service pure-ftpd start/stop/restart);
0 h" W6 k/ L3 Q1 O" X 3、运行 lamp ftp add 命令新增 ftp 用户并根据提示绑定该用户的根目录(例:/data/www/default);& w' u, a# ^7 L+ h  L' f, a
4、运行 lamp ftp del 命令删除 ftp 用户,但并不会删除数据;# d5 b; M% D& g' p; M
5、运行 lamp ftp list 命令查看已有的 ftp 用户一览。% t4 F! R9 ~. t+ T9 ^) o3 x
敬请注意:安装 FTP 会遇到各种权限问题,会和已有的 apache 用户和用户组产生冲突,导致通过 FTP 上传的文件在程序里不可用。- S) l; d  @2 g# b
因此,不推荐使用。目前 SFTP 已经全面替代 FTP 了。你可以用 winscp 客户端 root 连接后上传文件,然后再改下用户和用户组权限为 apache 即可,简单方便。
/ U! V9 b" z3 P0 U 问15:Apache 的 SSL 如何设置?! D. H& _7 |( i
答:一般设置 /usr/local/apache/conf/extra/httpd-ssl.conf 就够了。2 }2 L$ ^2 y) l8 Z% e8 A
还需要在 /usr/local/apache/conf/httpd.conf 中开启 Include conf/extra/httpd-ssl.conf ,也就是将前面的 “#” 去掉。4 u4 [1 P( Y% V. R
可以参考《Apache下部署ssl教程》一文。0 P4 x+ a* i. |, F: v
问16:安装 PHP 时出现以下错误,怎么处理?4 J! P4 a6 S8 E9 K1 X
cc: Internal error: Killed (program cc1)7 f/ `, U8 M) V# X, P" h
Please submit a full bug report.
! L- f/ l8 b. e, J7 C See for instructions.3 v, r1 L+ E- {, x, @# ~+ z6 [! X
make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1
# f  r4 l7 F/ o# D: M Installing PHP failed, Please visit https://teddysun.com/lamp and contact.7 [, U6 \# h* R' B
答:内存不足,安装被 kill了。内存低于 512MB 的又没有 Swap 的话就会如此。如何开启 Swap ,可以参考《如何在CentOS中添加Swap》一文。4 o/ f! D+ s2 K: L" d2 v
更多错误信息查询,参考《PHP编译安装常见错误总结》一文。
' a8 [; @: N+ W. [( z! S( E4 p 问17:请问如何卸载组件呢,比如 xcache memcached?
4 X2 [$ a% T* K1 J: ?7 ]" o 答:删掉对应的 .so 文件及配置文件再重启 Apache 即可。& ]- M  }+ d1 s9 e6 l* {
比如安装了 PHP 5.4 的话:
; q+ S4 _/ [9 d  ]- [+ T& W /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/xcache.so
" F0 ~6 t8 R1 l /usr/local/php/php.d/xcache.ini  f5 A* C/ V/ j
问18:怎么卸载 phpMyAdmin?
+ m* _+ T+ K" f6 D. F; Y: y; s& b 答:phpMyAdmin 如果不需要的话,直接删除其目录就OK了。! ~5 H2 c% b% T- F4 `5 c& o
默认安装位置是 /data/www/default/phpmyadmin/
1 C: j. K) M$ o! b 问19:多个IP的VPS如何设置一个IP对应一个域名呢?
. f5 t3 _2 i& I5 b4 `6 y 答:按照以下步骤:3 o8 I9 R- j( ~  `7 d* i
1、创建虚拟主机,以域名命名;# E. [, d# k4 e7 j" B
2、修改配置文件/usr/local/apache/conf/vhost/域名.conf,将其中的第一行的 virtualhost *:80修改为 virtualhost IP:80;1 E) u% @- i, [) W  `! x
3、解析对应的域名到第二步设定好的的 IP ,重启 Apache。
  Z+ {2 h- |# w3 f7 w7 P: l6 u0 q: L+ S- @) K/ J9 n. c; X
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|

GMT+8, 2026-8-5 03:29 PM , Processed in 0.061494 second(s), 23 queries .

Powered by xyh-moon X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表