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

LAMP一键安装脚本使用说明

[复制链接]

989

主题

92

回帖

5万

积分

管理员

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

0 F% I. `4 k+ o                                                       
$ M& a& k+ o* W4 lLAMP 一键安装脚本持续更新很长一段时间了。在这期间,经常被问到很多问题,回答的比较零散,因此有必要在这里归纳总结一下。& f/ \# d* \8 p" Y( g) ?
如果你在使用 LAMP 的过程中也遇到了问题,请参考此文,已经列出了常见的问题和解答,希望能对你有所帮助。
* h, c' f  y% y% X( J 为什么选择 LAMP 一键安装脚本?: f7 c$ b' U  p, o
LAMP 是经典的建站环境,尤其适用于个人站长。
3 @8 O) y5 m# { 本脚本的软件版本更新及时,支持 PHP 及数据库自选安装。支持 PHP 和数据库程序自助升级。
8 Q  f' b) D: @9 z2 n8 S, N 安装方便,支持众多 PHP 插件,实际上是当初为安装 Moodle 而量身打造的 LAMP 环境。
5 j: B. P4 j4 C' S- H' A2 G" M& M 安装建议:根据自己的 CMS 建站系统要求,选择合适的版本安装即可。
" L. Q& ?6 {8 I# U4 d. M 更新时间:2015 年 08 月 28 日3 x. I- x* P+ Q1 u4 N1 Z2 b
        & z& W& k6 R2 ^5 X. \( l8 M* r
程序目录:- M/ v* g% e% B* v  g+ A
MySQL 安装目录: /usr/local/mysql
& H$ L* v$ Y4 U# a MySQL 数据库目录: /usr/local/mysql/data(默认,安装时可更改路径,参考问题 8 如何更改)4 E) Z, H0 L; t6 Y
MariaDB 安装目录: /usr/local/mariadb" y8 i! m4 E3 I& A9 L1 L/ \# X. J. }
MariaDB 数据库目录: /usr/local/mariadb/data(默认,安装时可更改路径,参考问题 8 如何更改)
) J( _) S* M0 f3 B9 _/ z( Y9 d PHP 安装目录: /usr/local/php. m1 r- ^* y4 n, T0 ]7 x
Apache 安装目录: /usr/local/apache6 x3 Z; x7 d5 }( c0 c) u7 I
phpMyAdmin 安装目录: /data/www/default/phpmyadmin(安装完成后出于安全,建议将此目录改名,比如改为 /data/www/default/admin_8989)8 V0 m  {+ P1 ~1 _. r9 U
网站目录:& i- H/ v: E+ M. J# G) V) f
默认的网站根目录: /data/www/default
1 R0 @( g0 v! @ 默认页位置: /data/www/default/index.html' F0 z& T8 W) n& Z4 o5 W* ]" w7 @/ k
新建站点默认目录: /data/www/域名/web
9 R& X% c% I* ?) y6 e) p% v# | phpmyadmin 后台地址: http://域名或ip/phpmyadmin/(若目录已改名,此处应为改名后的地址,比如 http://域名或ip/admin_8989/)! @: v3 o/ _! l- _. X& R
phpmyadmin 默认用户名:root 密码:root(此密码即 MySQL 的 root 密码。在安装时会要求输入,如不输入则为默认值)
5 a: e8 O0 r9 y7 m6 N+ F xcache 后台地址: http://域名或ip/xcache/   g- S* N" x, m# m% F, g
xcache 默认用户名:admin 密码:123456(用户名和密码在配置文件 /usr/local/php/php.d/xcache.ini 中定义)
0 `% H' y8 P8 }3 h0 W' \' I 配置文件:
: h" t$ k0 Z- L( g: @5 w+ R6 B Apache 日志目录: /usr/local/apache/logs
- Q, f& N. x$ `' { Apache SSL 配置文件: /usr/local/apache/conf/extra/httpd-ssl.conf$ ]( C3 W# ]8 _7 j
新建站点配置文件: /usr/local/apache/conf/vhost/域名.conf: P. B! [2 l2 b& f3 J7 G  ]+ `
PHP 配置文件: /usr/local/php/etc/php.ini+ A6 n) q: H* a( y$ X
PHP 所有扩展配置文件目录: /usr/local/php/php.d/  C! E# S/ s+ {; w" n% [
MySQL 配置文件: /etc/my.cnf
+ |4 D% @# v  m. B" v# j  a 命令一览:
/ u! B: g' u, s" O9 q. J% | MySQL 或 MariaDB 命令:
9 ^! ?+ A# _# y. A, t /etc/init.d/mysqld (start|stop|restart|status)) s  q* @' B" ^8 f5 f! ?
Apache命令:
9 ^# Y" V9 M3 D6 |5 C4 \: x! f, b/ D /etc/init.d/httpd (start|stop|restart|status)
* D8 f, [& ^1 _% g" `( c5 [! c memcached
, w' r. J0 U: z1 w1 |2 b, K /etc/init.d/memcached (start|stop|restart|status)' p  K) P( S  X5 a
安装LAMP及建站简单流程:6 i) @3 E  q( b+ v! u
1、安装 LAMP 环境" d9 S) r+ g: a4 K" q0 }; P
2、添加虚拟主机。运行命令:lamp add (如果只建一个站,则可以直接将网站程序上传至 /data/www/default 目录下即可)1 t# E0 `+ U5 Y- ?; h, g5 \6 [0 C
3、上传并解压网站程序到网站目录,默认位置为:/data/www/域名/web( k1 X; |% T2 D
4、更改网站目录权限。以 root 用户登录,运行:chown -R apache:apache /data/www/域名
% A6 a1 |1 J( a! z4 ? 5、运行网站安装程序完成网站安装( G+ M  l: q9 f- E& W
问1:安装完网站程序,升级或安装插件等报错,如何更改网站目录权限?3 L& M& \0 d( X! ]" A3 A+ o+ Q
答:以 root 登录后,运行:chown -R apache:apache /data/www/域名& j7 Z& C) E/ A/ w! Y/ b
问2:安装时因内存不足报错,不能完成安装?/ f! q) Y% X. B" ?4 I  d% ~
答:小于 512M 的 VPS 建议并开启 Swap,如何开启 Swap ,可以参考《如何在CentOS中添加Swap》一文。
& F. ^8 i# X9 t3 o更新(2015 年 08 月 28 日):本次更新优化了在小内存(480-512MB)下的安装体验。当 RAM + Swap 的容量小于 480MB 时,直接退出脚本运行;480-600MB 时,新增 PHP 编译选项 –disable-fileinfo 。
4 D, ~7 {% n6 J' n同时还优化了安装过程中对内存的占用。8 U7 t2 S4 {- J. N9 e
备注:为什么写成 480 MB ?. H) w( o( N6 g2 t  v' l8 q8 ^2 s
这是因为基于 Xen 或者 KVM 虚拟的 VPS,内存容量一般会低于标注容量。一般说是 512MB,但实际也就只有 480MB 左右。
! Y4 H) X3 ]8 p1 Q9 ~4 x7 Y7 Q7 P3 [& a7 [ 问3:域名跟 ip 地址都显示相同的网页,如何设置?
6 C/ U- W2 @5 w* T) ` 答:这是因为域名没与 IP 绑定。' s+ [0 J# d7 `% N0 o/ u" O6 F7 a8 a
修改配置文件 /usr/local/apache/conf/extra/httpd-vhosts.conf# Z0 E: C$ c- x
在此文件的第 1 行开始,追加以下虚拟主机的配置:
" w+ Y0 X0 [5 P% w<virtualhost *:80>ServerName  公网 IPRedirect 301 / 完整网址(如:http://teddysun.com)</virtualhost> 注意,格式是301+空格+斜杠+空格+完整网址
7 }7 g; N& R. D 此处是用到了 301 永久重定向来达到目的。% K- p2 _$ K+ R: B0 x' e
然后保存并重启 Apache,命令:/etc/init.d/httpd restart  O1 v$ j% Q5 l3 h& U+ e3 X  @: U
问4:将 MySQL 换成 MariaDB ,应该怎么做?- y0 c* N" @& e) ~/ N3 s, c
答:( z: A& p5 D* M4 n* k
1、备份所有数据库,执行命令:/usr/local/mysql/bin/mysqldump -uroot -p你设定的root密码 –all-databases > /root/mysql.dump/ S. c' F; ]" V& m0 f$ i  m: B- I0 s# g
2、卸载 LAMP,命令:lamp uninstall9 |" w) }+ e1 T1 S. u& ^+ K" k
3、重新安装 LAMP,选择 MariaDB
7 P0 z8 o, Z1 a5 X0 Z3 O' v, a 4、安装完成后,恢复数据库,命令:/usr/local/mariadb/bin/mysql -u root -p你设定的root密码 < /root/mysql.dump) ]) n+ \2 |/ K5 W4 U4 i
卸载 LAMP 时,是不会删除 /data/www/default 的,也就是说不会删除网站数据。但数据库会被删掉,因此需要备份。
& {) E$ M& E- Q) P1 c8 B" H 注意,考虑到程序兼容性问题,不建议这么做(生产环境换数据库程序不妥,应该事先就规划好用哪种数据库),除非你知道如何备份和恢复你的数据库。
# `0 ~; ~8 m  B6 w7 t8 u* n 问5:如何更改网站的默认目录?
0 J5 a. V5 ?' v, V 答:修改配置文件 /etc/httpd/conf/extra/httpd-vhosts.conf 里的 DocmentRoot 目录以及下面的 Directory ,再重启 apache 即可
7 l' r4 I; Z# e; y% u) ^+ m 问6:全新安装后,无法引用 /data/www/ 之外的目录,如 /home/data/,如何解决?
4 o* @# t! H6 L" v( ]% I- l+ _ 答:这是因为出于安全考虑,做了目录权限的 open_basedir 限制。
5 H1 x& ?% S: U# F6 H 如何添加比如 /home/data 目录呢?修改 /usr/local/apache/conf/extra/httpd-vhosts.conf 中的 php_admin_value open_basedir 后的值,将 /home/data 添加到最后,注意要用冒号分割。再重启 Apache 即可。  V* R% r) v# ?5 |; ?* f9 Q
问7:请问如果网站是www.ccc.com, 如何让ccc.com跳转到www.ccc.com?0 z, q/ |; u6 h* S0 N
答:既可以在域名解析的时候设置域名跳转(比如 Dnspod 就可以),也可以通过 Apache 的 ServerAlias 设置多个域名。6 n: \* B; t7 x
比如 www.ccc.com 的配置文件是 /usr/local/apache/conf/vhost/www.ccc.com.conf ,在 ServerName 后新增一行 ServerAlias ccc.com 即可。  H0 ~& h7 p: w0 q. g
修改示例:
' _1 F) u5 g5 t; u4 Z& r+ {" M1 r7 s, B ServerName www.ccc.com
2 A# a& ]4 B1 p' x ServerAlias ccc.com
# J7 e. I' [6 ~, ?' ^ 问8:安装时自定义 MySQL 或 MariaDB 的路径,系统自动初始化数据库时会出错。然后会提示启动失败?8 f2 g  B* r7 X" ]" z8 w1 R
答:自定义 MySQL 的数据库路径时,如果目录不存在的话 MySQL 或 MariaDB 会尝试创建该目录,但一般会由于权限不足而创建失败。
6 H1 Z, S( A% B# L2 N3 v6 |, o( R MySQL 编译安装后会将 /usr/local/mysql 目录的 user:group 设为 mysql:mysql,所以默认目录 /usr/local/mysql/data 是没有问题的。
! A! p8 Q/ W) H: H+ b. W 因此自定义路径时,最好事先创建好该目录,并把目录 user:group 变更为 mysql:mysql,比如更改目录为 /home/mysql/data
0 V9 g+ {* u5 d9 j6 o  h' Q 当然,在还没有安装 LAMP 之前,系统不一定有 mysql 的用户和用户组。执行以下命令可以创建:
4 |( S5 s2 m3 l3 C* M) o, n& D/usr/sbin/groupadd mysql/usr/sbin/useradd -s /sbin/nologin -M -g mysql mysql 然后,在 root 用户下执行:chown -R mysql:mysql /home/mysql/data
/ V9 v7 d6 k2 B. U) t3 Z! Y6 Z更新(2015 年 08 月 28 日):本次更新优化了 MySQL 的安装过程,脚本会检测自定义路径是否存在,如果不存在会自行创建目录并改变其 owner 和 group,无需在此之前手动创建了。/ Q9 j0 `/ {0 P- W+ z& z* h
问9:LAMP 能配合什么 Web 面板管理呢?
8 x& q% ~  t- }* j 答:Webmin 免费面板。参考《使用webmin管理PPTP VPN Server》一文,有在 CentOS 下如何快速安装 webmin 的教程。
+ t; y7 Y' I* p0 ^ 问10:请问 xcache 的后台怎么进去?& `% ?3 n- Y+ h1 ?- P
答:http://域名或IP/xcache/
( l+ l. X( Q( l* }5 f7 z$ \% L* m4 z 用户名:admin
% K. {) y2 e3 ~+ D 密码:123456! G- [! a& `. `7 ~- ?% r
前提是你安装了 xcache 后才能进入该后台。
, N8 S/ H* C1 M4 ]* R' E 问11:如何修改 xcache 的后台用户名和密码?3 o. Z/ W0 U5 N
答:修改 /usr/local/php/php.d/xcache.ini 中对应的 xcache.admin.user 和 xcache.admin.pass 的值。8 D( m+ l7 v6 o5 K# _& P% V
注意 xcache.admin.pass 的值是密码 md5 后的值。, B3 V' S8 u" W9 Z; L
然后重启 Apache 即可。
  N7 }# i9 W6 o* N1 Z 问12:程序只能支持到PHP 5.3,不支持PHP 5.4,请问具体如何降级到PHP 5.3呢?是否可以直接卸载 PHP 然后单独重新安装PHP 5.3 ?
" J7 m" L1 v) E 答:可以是可以,不过比较麻烦,你要自己重新编译 PHP 5.3.29 。
9 z- z* [, d8 ? 删除已有的 PHP 步骤:
1 _% |) A0 F9 ?0 F. H0 E; i( J rm -rf /etc/php.ini /usr/bin/php* /usr/local/php  z/ K% q8 w% c' B$ K5 Q8 @( h' m' a
编译 PHP 5.3.29 有几点需要注意的。你需要把环境里的 Apache, MySQL 或 MariaDB 配置一并 configure 好才行,具体可以参照 lamp.sh 脚本里的 install_php 函数。: D  {4 p% P4 K  F- h0 L& S
当然还有一种办法就是备份好数据,卸载 LAMP 后再次安装时选择 PHP 5.3 版本即可。
3 u4 b! U( W* z9 R& P  C6 o 问13:安装以后要如何关闭日志功能?  Y$ [' I; A1 F7 P" P5 i
答:修改 Apache 的配置文件 /usr/local/apache/conf/httpd.conf ,. F9 Y7 i7 @  g* b+ \
搜索关键字 CustomLog (第300行),在前面加一个“#”注释掉后再重启 Apache 后就不再产生访问日志了。
# d# y8 P2 M3 d% Z& T8 f6 q 问14:FTP 安装使用是怎样的?
5 c; d  B% b: d. X! W3 e 答:1、安装 LAMP 环境;4 w. a8 z. @* Z# Q# g) Q  s
2、运行 pureftpd.sh 安装 pureftpd 软件(pureftpd 相关命令:service pure-ftpd start/stop/restart);
9 ?/ z4 a9 s' V( U 3、运行 lamp ftp add 命令新增 ftp 用户并根据提示绑定该用户的根目录(例:/data/www/default);* L& F9 J" ]3 D8 C4 T* S
4、运行 lamp ftp del 命令删除 ftp 用户,但并不会删除数据;% I9 |$ N1 i6 O) ^5 `. ^
5、运行 lamp ftp list 命令查看已有的 ftp 用户一览。$ _2 h. g8 K! z5 Y, L$ P' n
敬请注意:安装 FTP 会遇到各种权限问题,会和已有的 apache 用户和用户组产生冲突,导致通过 FTP 上传的文件在程序里不可用。
1 A& k7 \' e+ E2 P; r& w2 n 因此,不推荐使用。目前 SFTP 已经全面替代 FTP 了。你可以用 winscp 客户端 root 连接后上传文件,然后再改下用户和用户组权限为 apache 即可,简单方便。
$ s) F* C* C% A( R 问15:Apache 的 SSL 如何设置?
4 F- |3 P" }$ P3 t5 k 答:一般设置 /usr/local/apache/conf/extra/httpd-ssl.conf 就够了。6 U/ u7 J4 _( S/ ]% B3 N8 G5 q+ j
还需要在 /usr/local/apache/conf/httpd.conf 中开启 Include conf/extra/httpd-ssl.conf ,也就是将前面的 “#” 去掉。
2 s2 q* N8 p, F7 ~5 O$ E 可以参考《Apache下部署ssl教程》一文。! x& V5 ?( Y+ I: n/ Y0 j1 L9 w& `( W
问16:安装 PHP 时出现以下错误,怎么处理?; W* z/ U0 k! Z# z' V
cc: Internal error: Killed (program cc1)) r/ ~" q' ?# `0 v
Please submit a full bug report.9 N6 P4 S! \2 |2 ?2 `! m4 O
See for instructions.
( S, l6 \8 E7 y/ h" I7 _, Z0 k make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1$ v. p7 n( n3 a! B& A) c
Installing PHP failed, Please visit https://teddysun.com/lamp and contact., ]  L1 n# |, {0 U! S2 ]* s+ |
答:内存不足,安装被 kill了。内存低于 512MB 的又没有 Swap 的话就会如此。如何开启 Swap ,可以参考《如何在CentOS中添加Swap》一文。6 _& R4 E8 s# C7 z
更多错误信息查询,参考《PHP编译安装常见错误总结》一文。
5 F9 r7 }0 z5 v8 F 问17:请问如何卸载组件呢,比如 xcache memcached?
7 k. [1 Y. J: K5 z: y+ j" j 答:删掉对应的 .so 文件及配置文件再重启 Apache 即可。3 R* d% J* P$ i8 P6 j9 O
比如安装了 PHP 5.4 的话:3 E* s) w% N8 c) n1 s& r
/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/xcache.so
' E% r6 n* z3 E% w /usr/local/php/php.d/xcache.ini
" j- ~  O( J" c; E1 y8 V2 p% c 问18:怎么卸载 phpMyAdmin?. J+ E  [. b2 w4 h( i
答:phpMyAdmin 如果不需要的话,直接删除其目录就OK了。
, R- y+ n* V0 k* K: p# U: d& T  j$ \ 默认安装位置是 /data/www/default/phpmyadmin/5 A/ @7 B0 Y/ z) y2 Y
问19:多个IP的VPS如何设置一个IP对应一个域名呢?
" F2 B+ s( c2 x) g 答:按照以下步骤:
: r" e3 r# d. ^: ^1 I 1、创建虚拟主机,以域名命名;  w  X! U1 L) J
2、修改配置文件/usr/local/apache/conf/vhost/域名.conf,将其中的第一行的 virtualhost *:80修改为 virtualhost IP:80;5 T8 j, @/ w* A# P0 T4 s% a" w
3、解析对应的域名到第二步设定好的的 IP ,重启 Apache。& |, Q0 {1 B1 q* ]+ R; r; B
7 W8 `, k+ }. [8 w) G7 z7 [) F
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|

GMT+8, 2026-5-6 08:39 AM , Processed in 0.090711 second(s), 23 queries .

Powered by xyh-moon X3.5

© 2001-2025 Discuz! Team.

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