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

LAMP一键安装脚本使用说明

[复制链接]

979

主题

90

回帖

5万

积分

管理员

积分
53052
发表于 2022-7-4 16:59:04 | 显示全部楼层 |阅读模式
: D3 `4 K+ k; h
                                                       
$ F5 ]4 G+ P& L$ rLAMP 一键安装脚本持续更新很长一段时间了。在这期间,经常被问到很多问题,回答的比较零散,因此有必要在这里归纳总结一下。# s& ^; `1 D) c
如果你在使用 LAMP 的过程中也遇到了问题,请参考此文,已经列出了常见的问题和解答,希望能对你有所帮助。1 P9 K* x" }! D8 o
为什么选择 LAMP 一键安装脚本?. a5 v6 s: ^& P, x! X6 T* d
LAMP 是经典的建站环境,尤其适用于个人站长。) `0 }* c% s$ l
本脚本的软件版本更新及时,支持 PHP 及数据库自选安装。支持 PHP 和数据库程序自助升级。
2 x7 @0 t( ?  t9 I+ v 安装方便,支持众多 PHP 插件,实际上是当初为安装 Moodle 而量身打造的 LAMP 环境。
6 ^- H* g" N: D9 |0 S 安装建议:根据自己的 CMS 建站系统要求,选择合适的版本安装即可。& U/ D$ N6 E' n* m
更新时间:2015 年 08 月 28 日
% C9 b( ^3 j& {3 ]        3 `% t' ^% N% J2 Z+ o
程序目录:0 o9 F6 j$ j0 K) [* l; `/ f, _
MySQL 安装目录: /usr/local/mysql7 v$ O. S: |7 |+ j7 d2 B
MySQL 数据库目录: /usr/local/mysql/data(默认,安装时可更改路径,参考问题 8 如何更改)/ b3 M  W0 Y! }5 ~5 o# ~) f
MariaDB 安装目录: /usr/local/mariadb  \: N) E* k* O, a( E$ N0 d
MariaDB 数据库目录: /usr/local/mariadb/data(默认,安装时可更改路径,参考问题 8 如何更改)
/ a2 d% P* U% C9 l! w0 |6 t# z2 h" t PHP 安装目录: /usr/local/php/ \$ M! i" A9 {! q) d1 w: T$ X1 V
Apache 安装目录: /usr/local/apache; o  U# z! h  C- r+ K8 b0 Y( V& `
phpMyAdmin 安装目录: /data/www/default/phpmyadmin(安装完成后出于安全,建议将此目录改名,比如改为 /data/www/default/admin_8989)
1 j- u* e! H5 e- u 网站目录:
9 Q+ e2 O" h6 O+ w$ A; T 默认的网站根目录: /data/www/default
' z3 w5 [- P! T 默认页位置: /data/www/default/index.html$ M# t% ^6 Z" l2 F
新建站点默认目录: /data/www/域名/web
  b8 L: i0 `) O phpmyadmin 后台地址: http://域名或ip/phpmyadmin/(若目录已改名,此处应为改名后的地址,比如 http://域名或ip/admin_8989/)
# ~& x' \1 d$ ]  c phpmyadmin 默认用户名:root 密码:root(此密码即 MySQL 的 root 密码。在安装时会要求输入,如不输入则为默认值)7 b. l8 \6 y0 T# Q- p# j
xcache 后台地址: http://域名或ip/xcache/
& m  h" G. e% w5 ?4 ?. }/ @ xcache 默认用户名:admin 密码:123456(用户名和密码在配置文件 /usr/local/php/php.d/xcache.ini 中定义)! Z5 x# y0 z# F
配置文件:
% m% S- d  D7 f3 u Apache 日志目录: /usr/local/apache/logs5 m- r* q# s% H. Q1 _
Apache SSL 配置文件: /usr/local/apache/conf/extra/httpd-ssl.conf8 g$ A5 z3 [! M# o: f( t8 S
新建站点配置文件: /usr/local/apache/conf/vhost/域名.conf3 o/ W% g/ X6 B% ?4 n7 l, q
PHP 配置文件: /usr/local/php/etc/php.ini, L1 ?% f6 L1 U  ~
PHP 所有扩展配置文件目录: /usr/local/php/php.d/9 H! |* v+ L. K3 J5 K: u, p
MySQL 配置文件: /etc/my.cnf3 p3 h( o- Z& Y3 z9 {8 }
命令一览:. {& V- ^+ f. w" s
MySQL 或 MariaDB 命令:
! u$ D; o; ]# @6 c6 a /etc/init.d/mysqld (start|stop|restart|status): |) \0 w$ x4 T0 D
Apache命令:
* u9 n" i- U# s$ V; {) N) F4 ` /etc/init.d/httpd (start|stop|restart|status)
0 A, b1 j" W, v. A  C memcached/ S- P5 \# p' D4 X) v/ g
/etc/init.d/memcached (start|stop|restart|status)) V! F! ^0 N# @  }& E; q- V' V6 ]
安装LAMP及建站简单流程:+ @* q% C" y. C) W& K
1、安装 LAMP 环境3 I3 ^6 u( }( D0 v' l* W
2、添加虚拟主机。运行命令:lamp add (如果只建一个站,则可以直接将网站程序上传至 /data/www/default 目录下即可)
7 |& d7 u: u5 q 3、上传并解压网站程序到网站目录,默认位置为:/data/www/域名/web& R0 T7 O) Y% G
4、更改网站目录权限。以 root 用户登录,运行:chown -R apache:apache /data/www/域名
4 o! {3 K* z: U8 Q 5、运行网站安装程序完成网站安装6 @1 ^) B2 o1 u$ n
问1:安装完网站程序,升级或安装插件等报错,如何更改网站目录权限?9 i5 S9 ]- f1 P5 |0 r# L' k
答:以 root 登录后,运行:chown -R apache:apache /data/www/域名
9 d4 D; _# q) x: ~6 f: ? 问2:安装时因内存不足报错,不能完成安装?
4 X, r. ?# H4 A/ D' n1 B 答:小于 512M 的 VPS 建议并开启 Swap,如何开启 Swap ,可以参考《如何在CentOS中添加Swap》一文。" X' o: D, n7 B' v; B6 w8 a; @/ {
更新(2015 年 08 月 28 日):本次更新优化了在小内存(480-512MB)下的安装体验。当 RAM + Swap 的容量小于 480MB 时,直接退出脚本运行;480-600MB 时,新增 PHP 编译选项 –disable-fileinfo 。. ^1 [  e" j& |5 Z
同时还优化了安装过程中对内存的占用。: d( l1 o- I' b& {" s
备注:为什么写成 480 MB ?4 m' ?& u, i# p+ W9 e9 g" j% z$ h1 I
这是因为基于 Xen 或者 KVM 虚拟的 VPS,内存容量一般会低于标注容量。一般说是 512MB,但实际也就只有 480MB 左右。0 M& l0 ]! n/ c5 P. m
问3:域名跟 ip 地址都显示相同的网页,如何设置?# D" k, ~. X4 k! g7 U* {, Y+ x
答:这是因为域名没与 IP 绑定。8 ~# D+ M6 }- H; i# e+ n
修改配置文件 /usr/local/apache/conf/extra/httpd-vhosts.conf
0 R( f4 ?0 B  j 在此文件的第 1 行开始,追加以下虚拟主机的配置:" E. ~1 P2 Z1 H: b
<virtualhost *:80>ServerName  公网 IPRedirect 301 / 完整网址(如:http://teddysun.com)</virtualhost> 注意,格式是301+空格+斜杠+空格+完整网址
! A) B7 k' p' A. ?. T. g 此处是用到了 301 永久重定向来达到目的。( n. B4 d4 k' p& W( K2 z
然后保存并重启 Apache,命令:/etc/init.d/httpd restart
+ V4 h% w7 n% {: W, |& G: V7 ~ 问4:将 MySQL 换成 MariaDB ,应该怎么做?
' C3 c" J8 X; @/ |. @ 答:
& \; F% ^2 E' w; O% f 1、备份所有数据库,执行命令:/usr/local/mysql/bin/mysqldump -uroot -p你设定的root密码 –all-databases > /root/mysql.dump  ~# t, e0 _/ _' F- `. r
2、卸载 LAMP,命令:lamp uninstall
1 x) Z# u$ h1 S1 T7 O% \ 3、重新安装 LAMP,选择 MariaDB2 m7 J8 N4 {6 i  G0 }0 _+ F
4、安装完成后,恢复数据库,命令:/usr/local/mariadb/bin/mysql -u root -p你设定的root密码 < /root/mysql.dump' P) C9 K3 J5 E8 g. c# I( S2 e
卸载 LAMP 时,是不会删除 /data/www/default 的,也就是说不会删除网站数据。但数据库会被删掉,因此需要备份。8 b0 n& W1 T3 n% |; \4 \; H& x" y
注意,考虑到程序兼容性问题,不建议这么做(生产环境换数据库程序不妥,应该事先就规划好用哪种数据库),除非你知道如何备份和恢复你的数据库。
$ _! m6 t3 E. G3 y. D6 E- S( L, g 问5:如何更改网站的默认目录?
0 n, X# n5 C5 {" e/ M$ P+ J 答:修改配置文件 /etc/httpd/conf/extra/httpd-vhosts.conf 里的 DocmentRoot 目录以及下面的 Directory ,再重启 apache 即可* O4 h6 \. q/ u0 n' n' k2 O
问6:全新安装后,无法引用 /data/www/ 之外的目录,如 /home/data/,如何解决?
6 k6 ]4 v2 l+ I1 A1 M) V1 M0 N 答:这是因为出于安全考虑,做了目录权限的 open_basedir 限制。- F# j9 h4 I! Z1 b
如何添加比如 /home/data 目录呢?修改 /usr/local/apache/conf/extra/httpd-vhosts.conf 中的 php_admin_value open_basedir 后的值,将 /home/data 添加到最后,注意要用冒号分割。再重启 Apache 即可。
- i- I4 R3 n, u5 ^2 i 问7:请问如果网站是www.ccc.com, 如何让ccc.com跳转到www.ccc.com?) {! s# r+ C; F
答:既可以在域名解析的时候设置域名跳转(比如 Dnspod 就可以),也可以通过 Apache 的 ServerAlias 设置多个域名。( \  H+ Y: n( Z7 V7 H) [
比如 www.ccc.com 的配置文件是 /usr/local/apache/conf/vhost/www.ccc.com.conf ,在 ServerName 后新增一行 ServerAlias ccc.com 即可。3 C& C4 ^0 u$ y# c' w
修改示例:
* @( N4 r, I% a) B ServerName www.ccc.com9 h; L1 A, M% C2 G/ h' g7 s
ServerAlias ccc.com
) V3 c8 Q" j' o 问8:安装时自定义 MySQL 或 MariaDB 的路径,系统自动初始化数据库时会出错。然后会提示启动失败?
, w6 d$ O  B3 [+ Q' t' H' a 答:自定义 MySQL 的数据库路径时,如果目录不存在的话 MySQL 或 MariaDB 会尝试创建该目录,但一般会由于权限不足而创建失败。6 \/ a& N* P+ j0 H' [* }3 M
MySQL 编译安装后会将 /usr/local/mysql 目录的 user:group 设为 mysql:mysql,所以默认目录 /usr/local/mysql/data 是没有问题的。
' {% H3 ?' m" S- }/ } 因此自定义路径时,最好事先创建好该目录,并把目录 user:group 变更为 mysql:mysql,比如更改目录为 /home/mysql/data$ G7 Q( z( f. }' j4 n
当然,在还没有安装 LAMP 之前,系统不一定有 mysql 的用户和用户组。执行以下命令可以创建:8 e9 J$ h1 m; n% X& U
/usr/sbin/groupadd mysql/usr/sbin/useradd -s /sbin/nologin -M -g mysql mysql 然后,在 root 用户下执行:chown -R mysql:mysql /home/mysql/data
  \/ T1 E* R& v( P- g更新(2015 年 08 月 28 日):本次更新优化了 MySQL 的安装过程,脚本会检测自定义路径是否存在,如果不存在会自行创建目录并改变其 owner 和 group,无需在此之前手动创建了。
2 B/ s8 u" n4 l( r/ S) I6 f5 n 问9:LAMP 能配合什么 Web 面板管理呢?3 P! Y4 x6 k2 Q5 U. m
答:Webmin 免费面板。参考《使用webmin管理PPTP VPN Server》一文,有在 CentOS 下如何快速安装 webmin 的教程。
" M( r9 A8 q% J& n9 O  w: K 问10:请问 xcache 的后台怎么进去?
0 \6 ], O: V. f' M. q5 d 答:http://域名或IP/xcache/
- D  p0 V! Y6 h6 s6 m, Q 用户名:admin5 m4 r+ ]0 _& q( _. B: X
密码:123456$ y6 z% O1 M& o( T/ `
前提是你安装了 xcache 后才能进入该后台。
. X4 U4 S- J$ X6 M, T8 b 问11:如何修改 xcache 的后台用户名和密码?* \# O; c0 b& k- [4 E/ p: o
答:修改 /usr/local/php/php.d/xcache.ini 中对应的 xcache.admin.user 和 xcache.admin.pass 的值。
# O4 `" N1 m- N& P 注意 xcache.admin.pass 的值是密码 md5 后的值。, O7 T1 k' g  B( M3 i  X" n2 ]0 D
然后重启 Apache 即可。4 R  Z2 d$ F+ \2 m. Z. q
问12:程序只能支持到PHP 5.3,不支持PHP 5.4,请问具体如何降级到PHP 5.3呢?是否可以直接卸载 PHP 然后单独重新安装PHP 5.3 ?7 u( D8 I/ K- r' ]
答:可以是可以,不过比较麻烦,你要自己重新编译 PHP 5.3.29 。
1 b: r- G9 V$ k: b. ^: `  q' n 删除已有的 PHP 步骤:
+ G. l2 @) s: Q' |4 X rm -rf /etc/php.ini /usr/bin/php* /usr/local/php" R( d" Z" l$ p" m* ]! h, S
编译 PHP 5.3.29 有几点需要注意的。你需要把环境里的 Apache, MySQL 或 MariaDB 配置一并 configure 好才行,具体可以参照 lamp.sh 脚本里的 install_php 函数。5 \  ~) \  g! O8 d
当然还有一种办法就是备份好数据,卸载 LAMP 后再次安装时选择 PHP 5.3 版本即可。8 a/ g. i, Q; U9 Y9 k) V' _
问13:安装以后要如何关闭日志功能?
! {+ a+ ]9 y8 _7 G, ]: U  A 答:修改 Apache 的配置文件 /usr/local/apache/conf/httpd.conf ,( j; w' \( K5 ]1 y
搜索关键字 CustomLog (第300行),在前面加一个“#”注释掉后再重启 Apache 后就不再产生访问日志了。
3 U! o: K7 [: @, u" b; Z 问14:FTP 安装使用是怎样的?
9 H* y2 |9 [* J3 I* d' i7 e/ |+ F 答:1、安装 LAMP 环境;
* }* B: [  F, D8 L) m9 A3 Z' l% r 2、运行 pureftpd.sh 安装 pureftpd 软件(pureftpd 相关命令:service pure-ftpd start/stop/restart);
6 i+ M, x% ]" r5 s, h* k4 \& w- s( Q. F 3、运行 lamp ftp add 命令新增 ftp 用户并根据提示绑定该用户的根目录(例:/data/www/default);; u4 ~3 R. T( e( R  z7 e0 Z3 R
4、运行 lamp ftp del 命令删除 ftp 用户,但并不会删除数据;% y" ~: Y7 z4 Y
5、运行 lamp ftp list 命令查看已有的 ftp 用户一览。4 H; ^& Y) v$ j. B
敬请注意:安装 FTP 会遇到各种权限问题,会和已有的 apache 用户和用户组产生冲突,导致通过 FTP 上传的文件在程序里不可用。' }; `8 W4 r, Q0 T3 `$ n
因此,不推荐使用。目前 SFTP 已经全面替代 FTP 了。你可以用 winscp 客户端 root 连接后上传文件,然后再改下用户和用户组权限为 apache 即可,简单方便。
& E& k8 z' U2 b 问15:Apache 的 SSL 如何设置?
% c) m/ x6 j) h3 K; W4 o 答:一般设置 /usr/local/apache/conf/extra/httpd-ssl.conf 就够了。
. m5 M$ ?4 ]+ J; X! M" c5 ^ 还需要在 /usr/local/apache/conf/httpd.conf 中开启 Include conf/extra/httpd-ssl.conf ,也就是将前面的 “#” 去掉。4 s: U/ K9 @- H5 ?: p
可以参考《Apache下部署ssl教程》一文。
' E3 o: E: c6 ?% L; S 问16:安装 PHP 时出现以下错误,怎么处理?: M& c' K/ P8 L6 W- V5 C
cc: Internal error: Killed (program cc1)& y' D4 \, L7 K7 X
Please submit a full bug report.2 L" T1 ]. I+ O1 v  `; V
See for instructions.! V& P$ O: b& I5 C: R- \8 \. W
make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1
: \; _2 H, }& W5 e Installing PHP failed, Please visit https://teddysun.com/lamp and contact.' W2 g, U# s* v$ e- T5 `5 O
答:内存不足,安装被 kill了。内存低于 512MB 的又没有 Swap 的话就会如此。如何开启 Swap ,可以参考《如何在CentOS中添加Swap》一文。* J+ l$ o. Y, V0 u3 l; @
更多错误信息查询,参考《PHP编译安装常见错误总结》一文。3 P6 b$ I* O( O0 I
问17:请问如何卸载组件呢,比如 xcache memcached?# g" K& U+ x( s
答:删掉对应的 .so 文件及配置文件再重启 Apache 即可。1 s( c0 j5 u, u5 _1 T) u& u
比如安装了 PHP 5.4 的话:
2 g$ H& Y3 R; R7 V! }8 G7 N+ B /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/xcache.so  q& `* X7 x1 v9 m( o, T
/usr/local/php/php.d/xcache.ini
" s. o. Y8 |( y, d2 v$ \ 问18:怎么卸载 phpMyAdmin?
( W! c- B: y4 T  e 答:phpMyAdmin 如果不需要的话,直接删除其目录就OK了。
: |  ?6 p3 n1 L0 r. m; R 默认安装位置是 /data/www/default/phpmyadmin/% [$ t. V  F/ r' P# c7 [
问19:多个IP的VPS如何设置一个IP对应一个域名呢?
, z3 N0 M0 q# u2 B' c5 r 答:按照以下步骤:  }& x3 |8 ~# [6 o4 X- d
1、创建虚拟主机,以域名命名;( |. W' @% A+ l, Q$ s
2、修改配置文件/usr/local/apache/conf/vhost/域名.conf,将其中的第一行的 virtualhost *:80修改为 virtualhost IP:80;
' h$ `' V1 _, U 3、解析对应的域名到第二步设定好的的 IP ,重启 Apache。
3 U% l  n5 j+ f$ x) |4 n$ ~4 c( ~2 {/ Z1 k
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|

GMT+8, 2025-2-25 00:30 , Processed in 0.083116 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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