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

LAMP一键安装脚本使用说明

[复制链接]

989

主题

92

回帖

5万

积分

管理员

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

$ q8 W" t/ y& ]* m) C                                                       
9 W1 o) H7 u/ J8 dLAMP 一键安装脚本持续更新很长一段时间了。在这期间,经常被问到很多问题,回答的比较零散,因此有必要在这里归纳总结一下。
- u7 i! ]7 i! y, D. b, ` 如果你在使用 LAMP 的过程中也遇到了问题,请参考此文,已经列出了常见的问题和解答,希望能对你有所帮助。
) m: q4 Z' `! [: u 为什么选择 LAMP 一键安装脚本?
6 ], r1 U7 B) B$ v+ v" | LAMP 是经典的建站环境,尤其适用于个人站长。
9 U8 Y+ N, m% ~( Y 本脚本的软件版本更新及时,支持 PHP 及数据库自选安装。支持 PHP 和数据库程序自助升级。% W& p% a/ S# E
安装方便,支持众多 PHP 插件,实际上是当初为安装 Moodle 而量身打造的 LAMP 环境。
! F  ]8 S9 k( J! r" R 安装建议:根据自己的 CMS 建站系统要求,选择合适的版本安装即可。! v0 J( C: G% t+ C. v! i
更新时间:2015 年 08 月 28 日
2 I3 N/ \: N' ^8 ]& V       
; N1 U% M0 R# S& E 程序目录:
( ^- U) Z) a  X* h; P( t4 r MySQL 安装目录: /usr/local/mysql) X+ I2 u0 L( U, c3 b
MySQL 数据库目录: /usr/local/mysql/data(默认,安装时可更改路径,参考问题 8 如何更改)
/ h/ m# E4 q0 ^' U+ ?$ \ MariaDB 安装目录: /usr/local/mariadb4 K: _+ X- l2 e! z) z
MariaDB 数据库目录: /usr/local/mariadb/data(默认,安装时可更改路径,参考问题 8 如何更改)
: Z' I1 M1 P  |4 h* J3 p. ]3 i1 A PHP 安装目录: /usr/local/php
5 o- N) |. H" e3 {: z Apache 安装目录: /usr/local/apache
) N  d# ?8 ]; t5 R/ X0 M" m phpMyAdmin 安装目录: /data/www/default/phpmyadmin(安装完成后出于安全,建议将此目录改名,比如改为 /data/www/default/admin_8989)( H( S( d* C7 d1 h7 i
网站目录:
, o5 k% H) ^: V: m' U  \5 Q 默认的网站根目录: /data/www/default; J/ t0 m2 ~& e
默认页位置: /data/www/default/index.html8 k4 d0 E3 R+ C) d' l1 k
新建站点默认目录: /data/www/域名/web- k. ~% M8 w" T& [
phpmyadmin 后台地址: http://域名或ip/phpmyadmin/(若目录已改名,此处应为改名后的地址,比如 http://域名或ip/admin_8989/)/ F& [! ~1 X& D
phpmyadmin 默认用户名:root 密码:root(此密码即 MySQL 的 root 密码。在安装时会要求输入,如不输入则为默认值)  g& S: ^# ~5 t, A
xcache 后台地址: http://域名或ip/xcache/
- Z* J7 R( P6 @& @ xcache 默认用户名:admin 密码:123456(用户名和密码在配置文件 /usr/local/php/php.d/xcache.ini 中定义)
# _% Y( r7 N& i2 [' W 配置文件:, u3 W, {7 j. z
Apache 日志目录: /usr/local/apache/logs
# A3 ]3 x& S' v# u1 u% y Apache SSL 配置文件: /usr/local/apache/conf/extra/httpd-ssl.conf
; I0 A6 |) K# _/ k. A5 F; b  r 新建站点配置文件: /usr/local/apache/conf/vhost/域名.conf$ k: J; F8 _5 y0 y& r  J
PHP 配置文件: /usr/local/php/etc/php.ini
; l" w% ^( {* g$ L1 I+ W( d  W# a8 A PHP 所有扩展配置文件目录: /usr/local/php/php.d/
' W, Q+ C" V( B' c3 b MySQL 配置文件: /etc/my.cnf
/ s6 c, [, `3 F$ G1 S& u 命令一览:$ j- N9 k) H, T6 e
MySQL 或 MariaDB 命令:
1 U0 |3 L2 U6 L- p- x2 b /etc/init.d/mysqld (start|stop|restart|status)& @4 l. a8 a7 E- b5 d
Apache命令:9 r/ ~1 j& w# D& ~- `) c" C
/etc/init.d/httpd (start|stop|restart|status). w) \4 m/ o7 e+ _' |/ N
memcached' N! R; ^% m$ m; M" Z
/etc/init.d/memcached (start|stop|restart|status)  x5 n& o6 z3 H' s9 y- B, b) y
安装LAMP及建站简单流程:
/ V! I) n" k3 G+ E9 t9 H8 z3 A8 A 1、安装 LAMP 环境
4 E# p9 S# k2 B' M8 [; t  d 2、添加虚拟主机。运行命令:lamp add (如果只建一个站,则可以直接将网站程序上传至 /data/www/default 目录下即可)4 n/ M% z% W% R% h! L
3、上传并解压网站程序到网站目录,默认位置为:/data/www/域名/web. m3 v3 c, M7 s/ p* S  O- P# h
4、更改网站目录权限。以 root 用户登录,运行:chown -R apache:apache /data/www/域名
+ b4 t/ A: K" p. v; @! G5 W 5、运行网站安装程序完成网站安装. s, M# B  H% |; W% F; p
问1:安装完网站程序,升级或安装插件等报错,如何更改网站目录权限?1 k1 d# w2 j4 E8 r
答:以 root 登录后,运行:chown -R apache:apache /data/www/域名
1 V# G! I/ k+ Z' x 问2:安装时因内存不足报错,不能完成安装?
7 j6 a* Q9 u1 V% L 答:小于 512M 的 VPS 建议并开启 Swap,如何开启 Swap ,可以参考《如何在CentOS中添加Swap》一文。
  ]- k$ }/ e- P% G( H更新(2015 年 08 月 28 日):本次更新优化了在小内存(480-512MB)下的安装体验。当 RAM + Swap 的容量小于 480MB 时,直接退出脚本运行;480-600MB 时,新增 PHP 编译选项 –disable-fileinfo 。* a3 b& L2 A' k7 b
同时还优化了安装过程中对内存的占用。1 R, o4 k& p, p- L9 g2 i
备注:为什么写成 480 MB ?, Q* E) A+ I) v( {: z4 C) o
这是因为基于 Xen 或者 KVM 虚拟的 VPS,内存容量一般会低于标注容量。一般说是 512MB,但实际也就只有 480MB 左右。
2 C3 I3 x' T* ~1 g# C+ h" { 问3:域名跟 ip 地址都显示相同的网页,如何设置?
1 [: F" A5 |: R5 M 答:这是因为域名没与 IP 绑定。
! [# l8 c4 m' G8 g" h 修改配置文件 /usr/local/apache/conf/extra/httpd-vhosts.conf
6 c# m! f+ T* F  N" ]7 @ 在此文件的第 1 行开始,追加以下虚拟主机的配置:
( e" @& @! M- ]8 F( C<virtualhost *:80>ServerName  公网 IPRedirect 301 / 完整网址(如:http://teddysun.com)</virtualhost> 注意,格式是301+空格+斜杠+空格+完整网址
9 ~; x9 }5 B) X$ w 此处是用到了 301 永久重定向来达到目的。/ u+ B! v3 K, S5 R% c1 n9 j
然后保存并重启 Apache,命令:/etc/init.d/httpd restart- o9 D! _1 C/ s1 R; j% ~6 z
问4:将 MySQL 换成 MariaDB ,应该怎么做?
  V; ^" \& S" L( W" S  b( n, u3 J 答:& O. q( k3 e0 V. {
1、备份所有数据库,执行命令:/usr/local/mysql/bin/mysqldump -uroot -p你设定的root密码 –all-databases > /root/mysql.dump
4 @. U# {7 S  F9 P" q' Z" R8 l 2、卸载 LAMP,命令:lamp uninstall
3 ^+ z! X1 D; U- M4 ^3 ]/ q/ r+ { 3、重新安装 LAMP,选择 MariaDB
- q/ M- `' M9 p; g 4、安装完成后,恢复数据库,命令:/usr/local/mariadb/bin/mysql -u root -p你设定的root密码 < /root/mysql.dump% i! F0 j, r% @$ G3 R+ {" c
卸载 LAMP 时,是不会删除 /data/www/default 的,也就是说不会删除网站数据。但数据库会被删掉,因此需要备份。
2 J/ x7 `- Z  w 注意,考虑到程序兼容性问题,不建议这么做(生产环境换数据库程序不妥,应该事先就规划好用哪种数据库),除非你知道如何备份和恢复你的数据库。
; d: A# G0 K( B( N* J" q9 X 问5:如何更改网站的默认目录?
3 M  l* p7 ^- Z; Q/ k' e" ]* n 答:修改配置文件 /etc/httpd/conf/extra/httpd-vhosts.conf 里的 DocmentRoot 目录以及下面的 Directory ,再重启 apache 即可
: ]% ]2 u7 R0 c- F2 p& k) P 问6:全新安装后,无法引用 /data/www/ 之外的目录,如 /home/data/,如何解决?
/ A" @( B6 i" |! o9 w7 Z 答:这是因为出于安全考虑,做了目录权限的 open_basedir 限制。' i3 x+ `% D) s/ B
如何添加比如 /home/data 目录呢?修改 /usr/local/apache/conf/extra/httpd-vhosts.conf 中的 php_admin_value open_basedir 后的值,将 /home/data 添加到最后,注意要用冒号分割。再重启 Apache 即可。$ l1 R0 j' z% X6 t  o  Y: r
问7:请问如果网站是www.ccc.com, 如何让ccc.com跳转到www.ccc.com?
- }4 F" p& M$ h" n8 l! ~! r0 b 答:既可以在域名解析的时候设置域名跳转(比如 Dnspod 就可以),也可以通过 Apache 的 ServerAlias 设置多个域名。' S! ?5 Z' i; H0 l0 J; T
比如 www.ccc.com 的配置文件是 /usr/local/apache/conf/vhost/www.ccc.com.conf ,在 ServerName 后新增一行 ServerAlias ccc.com 即可。; b, k$ ]/ A4 [: E1 n+ c# s% |) b
修改示例:
! o# s" {! i$ J# ~$ B ServerName www.ccc.com0 D( T0 R3 b" U+ e) m: A
ServerAlias ccc.com
5 D' _. L, e0 e& W" d$ e  s2 R 问8:安装时自定义 MySQL 或 MariaDB 的路径,系统自动初始化数据库时会出错。然后会提示启动失败?
$ n9 ~; Y. h: G: |# o 答:自定义 MySQL 的数据库路径时,如果目录不存在的话 MySQL 或 MariaDB 会尝试创建该目录,但一般会由于权限不足而创建失败。2 M, W, D; D9 h5 P; u. h- X- C
MySQL 编译安装后会将 /usr/local/mysql 目录的 user:group 设为 mysql:mysql,所以默认目录 /usr/local/mysql/data 是没有问题的。  l# R0 _1 [5 ]' n0 [0 B
因此自定义路径时,最好事先创建好该目录,并把目录 user:group 变更为 mysql:mysql,比如更改目录为 /home/mysql/data
& Q" y% s' P, M1 | 当然,在还没有安装 LAMP 之前,系统不一定有 mysql 的用户和用户组。执行以下命令可以创建:
0 h8 _% t# s8 s0 q9 Y- m/usr/sbin/groupadd mysql/usr/sbin/useradd -s /sbin/nologin -M -g mysql mysql 然后,在 root 用户下执行:chown -R mysql:mysql /home/mysql/data
# q! f" B& U, O! I8 x; y! d更新(2015 年 08 月 28 日):本次更新优化了 MySQL 的安装过程,脚本会检测自定义路径是否存在,如果不存在会自行创建目录并改变其 owner 和 group,无需在此之前手动创建了。
2 t0 E* s6 C* t7 g: n2 R 问9:LAMP 能配合什么 Web 面板管理呢?
1 C+ j2 S2 j  e$ C3 c 答:Webmin 免费面板。参考《使用webmin管理PPTP VPN Server》一文,有在 CentOS 下如何快速安装 webmin 的教程。
6 }6 D6 P& i" J8 q% R! T; a; G. W 问10:请问 xcache 的后台怎么进去?. g4 O( O  F9 |- q
答:http://域名或IP/xcache/
, q# S- X; q" T( e3 F4 d 用户名:admin
( ]- G: `1 c9 S" d# l) v 密码:123456& j- n1 A5 A& I: q9 G; l. ?; `
前提是你安装了 xcache 后才能进入该后台。
; X% F$ z" J/ n 问11:如何修改 xcache 的后台用户名和密码?
9 g! i6 V! j4 @/ e/ ^/ c; Y 答:修改 /usr/local/php/php.d/xcache.ini 中对应的 xcache.admin.user 和 xcache.admin.pass 的值。3 g. a# \- l7 Q
注意 xcache.admin.pass 的值是密码 md5 后的值。
- [% m+ l5 S  g: u' x 然后重启 Apache 即可。- n$ [% T: T# p9 k; _
问12:程序只能支持到PHP 5.3,不支持PHP 5.4,请问具体如何降级到PHP 5.3呢?是否可以直接卸载 PHP 然后单独重新安装PHP 5.3 ?) h2 }1 Y/ w9 N$ p
答:可以是可以,不过比较麻烦,你要自己重新编译 PHP 5.3.29 。- N) O' O/ P+ Z% V3 y: j
删除已有的 PHP 步骤:
) e5 q: C3 ^& u5 q* @% u rm -rf /etc/php.ini /usr/bin/php* /usr/local/php
, @) L/ w: K' x9 d  n 编译 PHP 5.3.29 有几点需要注意的。你需要把环境里的 Apache, MySQL 或 MariaDB 配置一并 configure 好才行,具体可以参照 lamp.sh 脚本里的 install_php 函数。# z% b4 |4 n* ^# S; r: B, B
当然还有一种办法就是备份好数据,卸载 LAMP 后再次安装时选择 PHP 5.3 版本即可。' I- Y. j$ z# a2 N  D+ |  E( u" Y) x
问13:安装以后要如何关闭日志功能?
7 t, X  a. e" o( b 答:修改 Apache 的配置文件 /usr/local/apache/conf/httpd.conf ,3 b  p7 J0 h5 }/ n4 Q/ F
搜索关键字 CustomLog (第300行),在前面加一个“#”注释掉后再重启 Apache 后就不再产生访问日志了。# l7 q, h( a4 r
问14:FTP 安装使用是怎样的?
- F/ R# J) B5 j0 w7 \% Y- M 答:1、安装 LAMP 环境;
& f7 V+ J5 G1 r 2、运行 pureftpd.sh 安装 pureftpd 软件(pureftpd 相关命令:service pure-ftpd start/stop/restart);( q8 I! |8 x3 f
3、运行 lamp ftp add 命令新增 ftp 用户并根据提示绑定该用户的根目录(例:/data/www/default);# N0 R, x1 A# X. Q# L2 a. S! C# `
4、运行 lamp ftp del 命令删除 ftp 用户,但并不会删除数据;
8 h$ L; b0 ~8 z" F) B( N6 _ 5、运行 lamp ftp list 命令查看已有的 ftp 用户一览。+ r' z' _3 ^7 M
敬请注意:安装 FTP 会遇到各种权限问题,会和已有的 apache 用户和用户组产生冲突,导致通过 FTP 上传的文件在程序里不可用。
& {/ j$ t  f* D. i, @" M 因此,不推荐使用。目前 SFTP 已经全面替代 FTP 了。你可以用 winscp 客户端 root 连接后上传文件,然后再改下用户和用户组权限为 apache 即可,简单方便。8 W, G0 V$ L6 y2 h( K9 N- g- j
问15:Apache 的 SSL 如何设置?
3 r- o. m5 N# v! V2 x2 i- `3 U 答:一般设置 /usr/local/apache/conf/extra/httpd-ssl.conf 就够了。
0 t4 D, O; i, K6 g2 w. \! A 还需要在 /usr/local/apache/conf/httpd.conf 中开启 Include conf/extra/httpd-ssl.conf ,也就是将前面的 “#” 去掉。
# v( J8 b- K* `$ h8 T 可以参考《Apache下部署ssl教程》一文。
) y' K* e$ V9 s! I) r7 Z 问16:安装 PHP 时出现以下错误,怎么处理?3 e' |& N5 k! p# \& o4 N
cc: Internal error: Killed (program cc1)
, L- M' O: ]' d! B# T Please submit a full bug report.
; R- M8 [5 E: E( o& c: t" G See for instructions.
& Z' M$ T+ @5 f' a  ]; o0 a+ l# i make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1
. i) c$ s% W5 L$ f: g Installing PHP failed, Please visit https://teddysun.com/lamp and contact." q! K9 G$ T. l( s
答:内存不足,安装被 kill了。内存低于 512MB 的又没有 Swap 的话就会如此。如何开启 Swap ,可以参考《如何在CentOS中添加Swap》一文。( e5 {' \0 S4 L
更多错误信息查询,参考《PHP编译安装常见错误总结》一文。
7 E4 u* {# J+ f3 m' M 问17:请问如何卸载组件呢,比如 xcache memcached?
" q/ z& \* j" {  `, _/ m. N5 r 答:删掉对应的 .so 文件及配置文件再重启 Apache 即可。
- O2 q6 ]4 y7 @0 e 比如安装了 PHP 5.4 的话:
6 n- p3 D  c' \ /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/xcache.so0 b0 f7 T6 s7 S: R
/usr/local/php/php.d/xcache.ini/ r  J2 {8 S% `
问18:怎么卸载 phpMyAdmin?) G+ U" R6 {3 I; R' u" M. Q; \" L5 |
答:phpMyAdmin 如果不需要的话,直接删除其目录就OK了。
, A- y- B: q/ I' N, j& P 默认安装位置是 /data/www/default/phpmyadmin/
$ u. L" P: z& ~/ O" r! o2 H* F 问19:多个IP的VPS如何设置一个IP对应一个域名呢?
9 s* N. Q/ `1 A0 s* t; r6 {$ c 答:按照以下步骤:
9 f# B. J9 U$ j8 n7 t7 j% Q6 w 1、创建虚拟主机,以域名命名;
6 U4 h5 R3 z4 T7 ?" Q* ?; \: w  N6 j! d 2、修改配置文件/usr/local/apache/conf/vhost/域名.conf,将其中的第一行的 virtualhost *:80修改为 virtualhost IP:80;- T8 o: U) X; K2 X, d- G
3、解析对应的域名到第二步设定好的的 IP ,重启 Apache。0 n9 O* u: B( X) ^: Z7 ^4 M1 l4 K
& Z& }. ~' x/ N( v' U
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|

GMT+8, 2026-5-6 01:39 PM , Processed in 0.109905 second(s), 22 queries .

Powered by xyh-moon X3.5

© 2001-2025 Discuz! Team.

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