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

LAMP一键安装脚本使用说明

[复制链接]

986

主题

92

回帖

5万

积分

管理员

积分
55255
发表于 2022-7-4 16:59:04 | 显示全部楼层 |阅读模式
- E% H% s$ \3 x
                                                       
& G4 Z0 V' A& P2 R1 `LAMP 一键安装脚本持续更新很长一段时间了。在这期间,经常被问到很多问题,回答的比较零散,因此有必要在这里归纳总结一下。
4 K) r# s# ?0 `4 [* n/ A* r: y 如果你在使用 LAMP 的过程中也遇到了问题,请参考此文,已经列出了常见的问题和解答,希望能对你有所帮助。4 X7 Q7 ~& V, \; S( ]
为什么选择 LAMP 一键安装脚本?
; p# w  Q5 M! J& A3 S2 h LAMP 是经典的建站环境,尤其适用于个人站长。: }! [3 i8 i8 N; r& k5 g
本脚本的软件版本更新及时,支持 PHP 及数据库自选安装。支持 PHP 和数据库程序自助升级。
% o  u7 U  ^+ [4 ^  Z( M 安装方便,支持众多 PHP 插件,实际上是当初为安装 Moodle 而量身打造的 LAMP 环境。
) U/ X/ k: D5 X. F' s 安装建议:根据自己的 CMS 建站系统要求,选择合适的版本安装即可。
  s0 u( A3 L, x. z+ ]/ [( _ 更新时间:2015 年 08 月 28 日
' ]+ J  C/ d% e) J, d: \        6 b. l1 E6 g! w' {
程序目录:
) j% H/ G' \3 `3 c! m( N9 Y$ Y MySQL 安装目录: /usr/local/mysql  ?5 y7 A# W) ?# P  ~
MySQL 数据库目录: /usr/local/mysql/data(默认,安装时可更改路径,参考问题 8 如何更改)
6 {% D2 ~3 _1 k4 x0 F. m MariaDB 安装目录: /usr/local/mariadb# _. E: k- H/ m- e! P
MariaDB 数据库目录: /usr/local/mariadb/data(默认,安装时可更改路径,参考问题 8 如何更改)) h8 J- r) T7 S# v! d6 ?2 j9 t0 {% p
PHP 安装目录: /usr/local/php
% S7 m7 L0 ^7 D/ q3 e Apache 安装目录: /usr/local/apache
# g6 |' v0 E) j+ _  E5 p* J: k phpMyAdmin 安装目录: /data/www/default/phpmyadmin(安装完成后出于安全,建议将此目录改名,比如改为 /data/www/default/admin_8989)2 f" n+ B7 k+ k7 q2 W
网站目录:. c5 _9 F  ^3 h/ H1 G
默认的网站根目录: /data/www/default
2 c8 ~5 y# K& u. h3 e1 |6 m' w: E 默认页位置: /data/www/default/index.html
. E2 Q% a4 ~$ D- O 新建站点默认目录: /data/www/域名/web
1 n& a, b# T/ \8 ?& i phpmyadmin 后台地址: http://域名或ip/phpmyadmin/(若目录已改名,此处应为改名后的地址,比如 http://域名或ip/admin_8989/)
5 [% Q  M3 [; X" O% N: s# T8 f phpmyadmin 默认用户名:root 密码:root(此密码即 MySQL 的 root 密码。在安装时会要求输入,如不输入则为默认值)
. `- J' d% T0 M/ b) T5 g* s! _ xcache 后台地址: http://域名或ip/xcache/
* f  n# b# k8 v( I; P# g. ]1 h xcache 默认用户名:admin 密码:123456(用户名和密码在配置文件 /usr/local/php/php.d/xcache.ini 中定义)  Z* N0 K: U0 `8 L4 j9 t
配置文件:
. ?' \" {/ @6 P8 B9 W8 J7 _1 @ Apache 日志目录: /usr/local/apache/logs
# N6 O. P. Y2 ^7 z Apache SSL 配置文件: /usr/local/apache/conf/extra/httpd-ssl.conf$ m" E# l7 i/ s2 i, R
新建站点配置文件: /usr/local/apache/conf/vhost/域名.conf
  p) v2 v/ ]: y/ y* _ PHP 配置文件: /usr/local/php/etc/php.ini
$ j% G! W+ A9 M, t9 z& l PHP 所有扩展配置文件目录: /usr/local/php/php.d/% z9 }! Y; u2 s
MySQL 配置文件: /etc/my.cnf9 t! `- u3 P/ V% u
命令一览:% w! K' S. a: p5 A0 E
MySQL 或 MariaDB 命令:
7 I; H$ p4 B; s# V- [9 ?$ ^ /etc/init.d/mysqld (start|stop|restart|status)
! t& v" |" Z5 C" m7 C- }0 W3 x Apache命令:  D: R( K- @* \8 s, }4 c* Y
/etc/init.d/httpd (start|stop|restart|status)! @, o; ^: n, s5 D0 @$ ]/ ~
memcached
( d: k8 f, P' ?/ b' A /etc/init.d/memcached (start|stop|restart|status)  C! |% y, U3 {" O0 ?9 o# b
安装LAMP及建站简单流程:3 }; z, M5 Y( c* @' b' r
1、安装 LAMP 环境
; {5 r/ n# x  G# c 2、添加虚拟主机。运行命令:lamp add (如果只建一个站,则可以直接将网站程序上传至 /data/www/default 目录下即可)5 d! z/ D) m+ t6 @* `/ @
3、上传并解压网站程序到网站目录,默认位置为:/data/www/域名/web0 x; W$ |0 R2 U
4、更改网站目录权限。以 root 用户登录,运行:chown -R apache:apache /data/www/域名3 i8 v" n4 V2 k- G/ T; Z4 L
5、运行网站安装程序完成网站安装
* ^  b# [+ d7 V1 e/ a" t) W: E 问1:安装完网站程序,升级或安装插件等报错,如何更改网站目录权限?  p5 f1 _& f) w& Q
答:以 root 登录后,运行:chown -R apache:apache /data/www/域名, f4 H& W+ J8 I) }
问2:安装时因内存不足报错,不能完成安装?; C, @7 {7 _8 \- Y$ ]: ~/ c: @
答:小于 512M 的 VPS 建议并开启 Swap,如何开启 Swap ,可以参考《如何在CentOS中添加Swap》一文。
: Q, J$ v5 M" s6 J更新(2015 年 08 月 28 日):本次更新优化了在小内存(480-512MB)下的安装体验。当 RAM + Swap 的容量小于 480MB 时,直接退出脚本运行;480-600MB 时,新增 PHP 编译选项 –disable-fileinfo 。3 M2 v0 y$ L5 Z* o$ s* N
同时还优化了安装过程中对内存的占用。; G  Q1 x. f7 G( X
备注:为什么写成 480 MB ?1 J6 H) ~  y* b
这是因为基于 Xen 或者 KVM 虚拟的 VPS,内存容量一般会低于标注容量。一般说是 512MB,但实际也就只有 480MB 左右。
+ Q8 l6 U  ^; H! g9 Q8 y6 V6 k- \ 问3:域名跟 ip 地址都显示相同的网页,如何设置?3 o2 j; k: e" F. b5 _
答:这是因为域名没与 IP 绑定。& X  z& `, C# ^- @- s4 V
修改配置文件 /usr/local/apache/conf/extra/httpd-vhosts.conf6 d" N1 Z9 R" |1 _
在此文件的第 1 行开始,追加以下虚拟主机的配置:) O, n( K! R4 `
<virtualhost *:80>ServerName  公网 IPRedirect 301 / 完整网址(如:http://teddysun.com)</virtualhost> 注意,格式是301+空格+斜杠+空格+完整网址
8 ]4 |  I: e; H# _% o, l/ { 此处是用到了 301 永久重定向来达到目的。: }% f- r; B( m# @  Z7 A! }
然后保存并重启 Apache,命令:/etc/init.d/httpd restart
4 _* ~$ \1 x3 A0 D* c2 u4 v/ [ 问4:将 MySQL 换成 MariaDB ,应该怎么做?$ B% S* Y; ]' y
答:, ~' Q) {: r/ p8 m
1、备份所有数据库,执行命令:/usr/local/mysql/bin/mysqldump -uroot -p你设定的root密码 –all-databases > /root/mysql.dump
! z* |6 T% ?2 w: a3 X; Y5 H" P9 O 2、卸载 LAMP,命令:lamp uninstall
$ H& ?5 ~5 l% d5 D 3、重新安装 LAMP,选择 MariaDB
4 t: F+ }* {: u! V8 J( }* v+ }% z 4、安装完成后,恢复数据库,命令:/usr/local/mariadb/bin/mysql -u root -p你设定的root密码 < /root/mysql.dump1 U0 P! Q" p3 ?% h! p
卸载 LAMP 时,是不会删除 /data/www/default 的,也就是说不会删除网站数据。但数据库会被删掉,因此需要备份。
: ~, j9 i6 Z( K6 T) C6 V 注意,考虑到程序兼容性问题,不建议这么做(生产环境换数据库程序不妥,应该事先就规划好用哪种数据库),除非你知道如何备份和恢复你的数据库。
7 g" `* F3 z/ S, Z 问5:如何更改网站的默认目录?
9 j: O; y/ F6 X, A5 K4 i) ]7 a( K1 m$ r 答:修改配置文件 /etc/httpd/conf/extra/httpd-vhosts.conf 里的 DocmentRoot 目录以及下面的 Directory ,再重启 apache 即可
) v9 Z2 Z4 N7 t! x9 E9 M 问6:全新安装后,无法引用 /data/www/ 之外的目录,如 /home/data/,如何解决?5 f4 S2 T! x1 q2 L" f2 S
答:这是因为出于安全考虑,做了目录权限的 open_basedir 限制。  {8 j9 l* M, w* ~/ T
如何添加比如 /home/data 目录呢?修改 /usr/local/apache/conf/extra/httpd-vhosts.conf 中的 php_admin_value open_basedir 后的值,将 /home/data 添加到最后,注意要用冒号分割。再重启 Apache 即可。8 n7 a; S* f2 n* @8 b5 h7 H% E
问7:请问如果网站是www.ccc.com, 如何让ccc.com跳转到www.ccc.com?
! I4 p$ u2 Y7 c# ]9 b 答:既可以在域名解析的时候设置域名跳转(比如 Dnspod 就可以),也可以通过 Apache 的 ServerAlias 设置多个域名。. w# o( l$ j+ M9 u$ S+ y
比如 www.ccc.com 的配置文件是 /usr/local/apache/conf/vhost/www.ccc.com.conf ,在 ServerName 后新增一行 ServerAlias ccc.com 即可。
6 A: n, e5 i, ^6 K0 l1 ^ 修改示例:0 \7 N5 H/ p/ @
ServerName www.ccc.com
& F4 H3 h1 z5 U) L. _/ a$ }$ l& x ServerAlias ccc.com' z: y2 y% X' v1 N. {; Z
问8:安装时自定义 MySQL 或 MariaDB 的路径,系统自动初始化数据库时会出错。然后会提示启动失败?
+ P# S% c. j. Y5 a 答:自定义 MySQL 的数据库路径时,如果目录不存在的话 MySQL 或 MariaDB 会尝试创建该目录,但一般会由于权限不足而创建失败。8 E( D  Z+ d4 x. B7 L
MySQL 编译安装后会将 /usr/local/mysql 目录的 user:group 设为 mysql:mysql,所以默认目录 /usr/local/mysql/data 是没有问题的。' C& \: y  X# ]9 J3 ~) r. o
因此自定义路径时,最好事先创建好该目录,并把目录 user:group 变更为 mysql:mysql,比如更改目录为 /home/mysql/data
& O( B1 y. |$ T* r, a# H 当然,在还没有安装 LAMP 之前,系统不一定有 mysql 的用户和用户组。执行以下命令可以创建:
9 `; q( o( R# b/ R/usr/sbin/groupadd mysql/usr/sbin/useradd -s /sbin/nologin -M -g mysql mysql 然后,在 root 用户下执行:chown -R mysql:mysql /home/mysql/data
6 r9 h; r3 k8 D% `" O8 U更新(2015 年 08 月 28 日):本次更新优化了 MySQL 的安装过程,脚本会检测自定义路径是否存在,如果不存在会自行创建目录并改变其 owner 和 group,无需在此之前手动创建了。2 L; y7 U. Q' E- n! h
问9:LAMP 能配合什么 Web 面板管理呢?
' Y8 N  W5 {: |( z, z/ g3 N! \' { 答:Webmin 免费面板。参考《使用webmin管理PPTP VPN Server》一文,有在 CentOS 下如何快速安装 webmin 的教程。" ]. X+ p) ~$ {' u( I1 X6 N& T
问10:请问 xcache 的后台怎么进去?
, S! i' T  Y  z  Y" H 答:http://域名或IP/xcache/: X! \# V' N7 ]% n) N8 Q3 b
用户名:admin- W6 i5 p# k# M4 ], ~
密码:123456
1 {: K3 Z( B6 t 前提是你安装了 xcache 后才能进入该后台。
) y5 a" C( [$ ?( D9 W' O 问11:如何修改 xcache 的后台用户名和密码?& |! F8 G( ~& a9 p
答:修改 /usr/local/php/php.d/xcache.ini 中对应的 xcache.admin.user 和 xcache.admin.pass 的值。
5 z6 |8 H! v: i 注意 xcache.admin.pass 的值是密码 md5 后的值。( x. f) C, t& Y3 U
然后重启 Apache 即可。
& W: O6 Z& D5 Y 问12:程序只能支持到PHP 5.3,不支持PHP 5.4,请问具体如何降级到PHP 5.3呢?是否可以直接卸载 PHP 然后单独重新安装PHP 5.3 ?
8 A  u: p, R  Y  T1 F 答:可以是可以,不过比较麻烦,你要自己重新编译 PHP 5.3.29 。# ?( K6 m) }* C! w; S# }% V& m
删除已有的 PHP 步骤:
  p, n/ |% ]# b0 {1 W rm -rf /etc/php.ini /usr/bin/php* /usr/local/php
2 e$ S: Z: u+ h$ [6 N% R 编译 PHP 5.3.29 有几点需要注意的。你需要把环境里的 Apache, MySQL 或 MariaDB 配置一并 configure 好才行,具体可以参照 lamp.sh 脚本里的 install_php 函数。5 f$ ^4 j" f4 n
当然还有一种办法就是备份好数据,卸载 LAMP 后再次安装时选择 PHP 5.3 版本即可。! g% Y7 m4 U. M! ]( {4 f8 K
问13:安装以后要如何关闭日志功能?
. N  E% g  b) M 答:修改 Apache 的配置文件 /usr/local/apache/conf/httpd.conf ,& a0 O- s% o" m$ X$ a2 O7 w+ i
搜索关键字 CustomLog (第300行),在前面加一个“#”注释掉后再重启 Apache 后就不再产生访问日志了。2 ?& Z/ S% o, D/ e5 \4 Z. ?- s/ \1 X
问14:FTP 安装使用是怎样的?
: {# p: |$ k' T6 D5 G4 c 答:1、安装 LAMP 环境;
' A5 |, m8 ?$ i7 q# _ 2、运行 pureftpd.sh 安装 pureftpd 软件(pureftpd 相关命令:service pure-ftpd start/stop/restart);% l0 c! m. D+ u! }
3、运行 lamp ftp add 命令新增 ftp 用户并根据提示绑定该用户的根目录(例:/data/www/default);
0 v/ w7 ]- g1 L. ?& G. b 4、运行 lamp ftp del 命令删除 ftp 用户,但并不会删除数据;7 j8 S0 w, s' f
5、运行 lamp ftp list 命令查看已有的 ftp 用户一览。, x  ~8 T8 {  B, j! R
敬请注意:安装 FTP 会遇到各种权限问题,会和已有的 apache 用户和用户组产生冲突,导致通过 FTP 上传的文件在程序里不可用。
* Z0 T3 _* m& q/ {+ x 因此,不推荐使用。目前 SFTP 已经全面替代 FTP 了。你可以用 winscp 客户端 root 连接后上传文件,然后再改下用户和用户组权限为 apache 即可,简单方便。+ T5 p+ O/ N2 Z5 f' U
问15:Apache 的 SSL 如何设置?. T: Z7 A8 y# r5 J3 F7 p2 Z
答:一般设置 /usr/local/apache/conf/extra/httpd-ssl.conf 就够了。: J5 z1 _! q2 s  H
还需要在 /usr/local/apache/conf/httpd.conf 中开启 Include conf/extra/httpd-ssl.conf ,也就是将前面的 “#” 去掉。
5 ~% V8 J. f$ v4 W$ P( ]1 } 可以参考《Apache下部署ssl教程》一文。: V+ W6 L; R3 e7 q$ |" G0 z
问16:安装 PHP 时出现以下错误,怎么处理?
  X2 U( M* C; V. x% z8 l+ d- ] cc: Internal error: Killed (program cc1)
: c2 R) K) c+ N8 Z" J Please submit a full bug report.
, ~& t9 O% ^, w! i$ q, D See for instructions.
1 C7 t: ]/ l; e! j make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1
9 M* j' F- P+ [; R Installing PHP failed, Please visit https://teddysun.com/lamp and contact.4 |- E0 E  P; t+ x( b- O" Y
答:内存不足,安装被 kill了。内存低于 512MB 的又没有 Swap 的话就会如此。如何开启 Swap ,可以参考《如何在CentOS中添加Swap》一文。
9 |/ D/ a6 m2 z& H1 Y2 @" j 更多错误信息查询,参考《PHP编译安装常见错误总结》一文。
8 W& r- z) m8 I5 n+ ]. P9 X8 c 问17:请问如何卸载组件呢,比如 xcache memcached?
  ~: H& M/ i% Z, o  m 答:删掉对应的 .so 文件及配置文件再重启 Apache 即可。
: k1 x+ K9 f' t; z5 N! R 比如安装了 PHP 5.4 的话:
% I; {% a: I" Z3 P /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/xcache.so& |7 V/ K) W/ P, l4 }
/usr/local/php/php.d/xcache.ini
: g* U- U; d2 S3 o+ c/ q, p+ _: Q) m6 a 问18:怎么卸载 phpMyAdmin?4 i/ l4 A8 W* z/ e
答:phpMyAdmin 如果不需要的话,直接删除其目录就OK了。
) c2 u' J4 u9 I: E) S 默认安装位置是 /data/www/default/phpmyadmin/
; d& v  j& X' c 问19:多个IP的VPS如何设置一个IP对应一个域名呢?, n) i  }: P& u+ W
答:按照以下步骤:' T) u6 O6 ~+ Y$ h) O7 ^+ b- a  _" v
1、创建虚拟主机,以域名命名;2 M0 N2 K# c" a: x, |# D
2、修改配置文件/usr/local/apache/conf/vhost/域名.conf,将其中的第一行的 virtualhost *:80修改为 virtualhost IP:80;
* e* \7 e# Y7 w) N 3、解析对应的域名到第二步设定好的的 IP ,重启 Apache。
5 Z1 B0 I" d+ i) Y( z1 M4 p) r. E! k% D' p# d& V
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|

GMT+8, 2026-3-21 11:54 PM , Processed in 0.105015 second(s), 23 queries .

Powered by xyh-moon X3.5

© 2001-2025 Discuz! Team.

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