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

LAMP一键安装脚本使用说明

[复制链接]

979

主题

90

回帖

5万

积分

管理员

积分
53052
发表于 2022-7-4 16:59:04 | 显示全部楼层 |阅读模式
6 U& k7 ~3 n' d4 `/ f. P" S! j9 C
                                                        : c# P! f' \, `% g* ^2 _8 D: S# K, D
LAMP 一键安装脚本持续更新很长一段时间了。在这期间,经常被问到很多问题,回答的比较零散,因此有必要在这里归纳总结一下。
4 K" m% M# z( l' d; t7 G' A 如果你在使用 LAMP 的过程中也遇到了问题,请参考此文,已经列出了常见的问题和解答,希望能对你有所帮助。
0 F7 c% _: _' C; {- J3 p. i 为什么选择 LAMP 一键安装脚本?
" X% p# c; I  `0 K! a LAMP 是经典的建站环境,尤其适用于个人站长。
& x) I) v; t4 }% d& l& @1 M! p 本脚本的软件版本更新及时,支持 PHP 及数据库自选安装。支持 PHP 和数据库程序自助升级。( j5 Y  p8 C5 v. g2 x( [% n* q
安装方便,支持众多 PHP 插件,实际上是当初为安装 Moodle 而量身打造的 LAMP 环境。
% e  @+ J$ }. T, [ 安装建议:根据自己的 CMS 建站系统要求,选择合适的版本安装即可。( r/ @2 h, `4 A: i
更新时间:2015 年 08 月 28 日
$ m$ r! n) [: Z/ q4 _        % H0 M* z8 B6 U- S
程序目录:! O4 d! f9 c+ d
MySQL 安装目录: /usr/local/mysql2 i9 D) B2 _# g7 w
MySQL 数据库目录: /usr/local/mysql/data(默认,安装时可更改路径,参考问题 8 如何更改)
3 k/ T( x: w. g( j9 ] MariaDB 安装目录: /usr/local/mariadb; l! ?3 ~, {9 I- c
MariaDB 数据库目录: /usr/local/mariadb/data(默认,安装时可更改路径,参考问题 8 如何更改)
" Z" s  x; @6 Y- c5 c$ r0 K1 Y PHP 安装目录: /usr/local/php
3 A) V* s8 N& _- Z7 o6 e+ I. r Apache 安装目录: /usr/local/apache
) L' {% V4 t8 \( x! e. p. l5 a% e phpMyAdmin 安装目录: /data/www/default/phpmyadmin(安装完成后出于安全,建议将此目录改名,比如改为 /data/www/default/admin_8989)
3 S: G/ N6 W9 {3 n1 [+ q2 @% u 网站目录:
& M! ^6 p/ |7 }+ E 默认的网站根目录: /data/www/default5 i/ v8 F! b7 C" w0 O
默认页位置: /data/www/default/index.html
- ?1 k) Z7 Z8 N" }( h0 P7 e 新建站点默认目录: /data/www/域名/web
( _; [: p$ b6 G: q. P2 h! T8 k/ M5 N+ ] phpmyadmin 后台地址: http://域名或ip/phpmyadmin/(若目录已改名,此处应为改名后的地址,比如 http://域名或ip/admin_8989/)
5 h, Y$ T, |( L1 @ phpmyadmin 默认用户名:root 密码:root(此密码即 MySQL 的 root 密码。在安装时会要求输入,如不输入则为默认值); K6 R1 D8 l" Z0 T
xcache 后台地址: http://域名或ip/xcache/
9 {5 c" ?/ }2 ?1 n! J; g2 s xcache 默认用户名:admin 密码:123456(用户名和密码在配置文件 /usr/local/php/php.d/xcache.ini 中定义)6 Z9 k4 n$ ~5 {% h# S. ~7 F
配置文件:' s8 Z0 Z" }. t& O5 D
Apache 日志目录: /usr/local/apache/logs
, h& T2 _* i; B3 p% K# u$ Q Apache SSL 配置文件: /usr/local/apache/conf/extra/httpd-ssl.conf
/ u3 j: ?7 z. F  P1 h  w5 e 新建站点配置文件: /usr/local/apache/conf/vhost/域名.conf
2 b* l$ c# n4 W$ R/ ~) k6 I( o4 D PHP 配置文件: /usr/local/php/etc/php.ini
- M; M8 q. S# o* F* \ PHP 所有扩展配置文件目录: /usr/local/php/php.d/
2 j# K4 t6 w8 q4 q5 I" \6 f MySQL 配置文件: /etc/my.cnf: h" ~9 E4 ~: \) G7 O# M
命令一览:
. L% S( L3 C) w0 t) S2 H+ k MySQL 或 MariaDB 命令:& |+ o* p% Q( J5 S( a
/etc/init.d/mysqld (start|stop|restart|status)
0 c" y$ t! z( L2 \ Apache命令:
$ w  G8 r# m: g. i& ^( H /etc/init.d/httpd (start|stop|restart|status)
5 `# L8 K# v" [; d memcached
: l) P  m% a7 j# } /etc/init.d/memcached (start|stop|restart|status)
/ \# Q, D% y& W# w2 o0 a; ~# n 安装LAMP及建站简单流程:
6 M5 l1 K) c- \* L7 `$ j 1、安装 LAMP 环境
) d! Y5 P* N6 M# b* ]$ R1 ]! \ 2、添加虚拟主机。运行命令:lamp add (如果只建一个站,则可以直接将网站程序上传至 /data/www/default 目录下即可)
$ Y# A& q. c( k9 o: X4 j 3、上传并解压网站程序到网站目录,默认位置为:/data/www/域名/web4 y8 e9 R0 Y- r) P, Y* v' b8 Y4 o
4、更改网站目录权限。以 root 用户登录,运行:chown -R apache:apache /data/www/域名
# q( I" Q" r8 X# ^2 m) c 5、运行网站安装程序完成网站安装8 D* C/ P. c" M3 Q0 h
问1:安装完网站程序,升级或安装插件等报错,如何更改网站目录权限?' Z: ^$ R% y' ?; t$ r( b: @. L% G* }
答:以 root 登录后,运行:chown -R apache:apache /data/www/域名
% x& g& \5 a; v 问2:安装时因内存不足报错,不能完成安装?
  K% Q8 y$ n* u6 p8 _. \9 N6 v8 ` 答:小于 512M 的 VPS 建议并开启 Swap,如何开启 Swap ,可以参考《如何在CentOS中添加Swap》一文。# c, N& G' _! D" x) P2 T
更新(2015 年 08 月 28 日):本次更新优化了在小内存(480-512MB)下的安装体验。当 RAM + Swap 的容量小于 480MB 时,直接退出脚本运行;480-600MB 时,新增 PHP 编译选项 –disable-fileinfo 。
. e8 Y" W! v8 M% h; ]5 [1 i& p同时还优化了安装过程中对内存的占用。$ ~4 h7 ]. K' n% ]
备注:为什么写成 480 MB ?% n0 j, F2 L$ Q( U: n
这是因为基于 Xen 或者 KVM 虚拟的 VPS,内存容量一般会低于标注容量。一般说是 512MB,但实际也就只有 480MB 左右。2 h$ ?1 U* e. x. y$ s8 j& Z2 }; B; g
问3:域名跟 ip 地址都显示相同的网页,如何设置?
5 c5 K; ?% l+ p# Y5 l+ U 答:这是因为域名没与 IP 绑定。
2 ^2 C5 g, D) d" U1 o2 s 修改配置文件 /usr/local/apache/conf/extra/httpd-vhosts.conf
; N3 G0 `6 _9 m- K 在此文件的第 1 行开始,追加以下虚拟主机的配置:4 e3 u! `2 x" V) t) @' t$ N
<virtualhost *:80>ServerName  公网 IPRedirect 301 / 完整网址(如:http://teddysun.com)</virtualhost> 注意,格式是301+空格+斜杠+空格+完整网址7 Z! q7 o, m) [1 i% `
此处是用到了 301 永久重定向来达到目的。+ ^; t- }: R6 f0 ^' q3 U4 Z
然后保存并重启 Apache,命令:/etc/init.d/httpd restart4 u( _) s, C- s( f5 ~8 e
问4:将 MySQL 换成 MariaDB ,应该怎么做?
. N" y! Z* i2 J7 W$ r" Y' T' e 答:
/ Z# W! t4 Y4 |% \& p1 _ 1、备份所有数据库,执行命令:/usr/local/mysql/bin/mysqldump -uroot -p你设定的root密码 –all-databases > /root/mysql.dump$ v* {1 W! S% b0 V# V1 Y) k
2、卸载 LAMP,命令:lamp uninstall) i$ u/ E4 P2 }8 H
3、重新安装 LAMP,选择 MariaDB0 b6 d9 k) t1 j. e- M' P9 `
4、安装完成后,恢复数据库,命令:/usr/local/mariadb/bin/mysql -u root -p你设定的root密码 < /root/mysql.dump
: Y/ h& k: H  o' \2 P 卸载 LAMP 时,是不会删除 /data/www/default 的,也就是说不会删除网站数据。但数据库会被删掉,因此需要备份。+ J6 b* d$ X* T5 {5 H
注意,考虑到程序兼容性问题,不建议这么做(生产环境换数据库程序不妥,应该事先就规划好用哪种数据库),除非你知道如何备份和恢复你的数据库。
# K" f7 I9 i5 v+ v8 [' M' T 问5:如何更改网站的默认目录?: y. v" ~) f8 N! {
答:修改配置文件 /etc/httpd/conf/extra/httpd-vhosts.conf 里的 DocmentRoot 目录以及下面的 Directory ,再重启 apache 即可
( r' E1 }8 E2 p8 ?" S% \4 p: q 问6:全新安装后,无法引用 /data/www/ 之外的目录,如 /home/data/,如何解决?0 p: i; Q& g+ ^6 v
答:这是因为出于安全考虑,做了目录权限的 open_basedir 限制。- F+ L/ W5 C" V* s1 t
如何添加比如 /home/data 目录呢?修改 /usr/local/apache/conf/extra/httpd-vhosts.conf 中的 php_admin_value open_basedir 后的值,将 /home/data 添加到最后,注意要用冒号分割。再重启 Apache 即可。
5 S2 b* W$ a0 F6 U) @* U 问7:请问如果网站是www.ccc.com, 如何让ccc.com跳转到www.ccc.com?5 p  W4 Z& I  C' I
答:既可以在域名解析的时候设置域名跳转(比如 Dnspod 就可以),也可以通过 Apache 的 ServerAlias 设置多个域名。: S2 _6 @; f! P& i# t9 t
比如 www.ccc.com 的配置文件是 /usr/local/apache/conf/vhost/www.ccc.com.conf ,在 ServerName 后新增一行 ServerAlias ccc.com 即可。
/ A* B& D$ c" ~% M" [) s 修改示例:
5 Q$ a0 w5 [( ^9 y& R; v ServerName www.ccc.com! s) j* p7 @  ]. V
ServerAlias ccc.com
) k5 ?, p& J# J  U6 ? 问8:安装时自定义 MySQL 或 MariaDB 的路径,系统自动初始化数据库时会出错。然后会提示启动失败?
& c& j5 ~8 b! K5 a 答:自定义 MySQL 的数据库路径时,如果目录不存在的话 MySQL 或 MariaDB 会尝试创建该目录,但一般会由于权限不足而创建失败。
2 M3 |) h- c9 Q3 x  K' @* e MySQL 编译安装后会将 /usr/local/mysql 目录的 user:group 设为 mysql:mysql,所以默认目录 /usr/local/mysql/data 是没有问题的。% P, C; I: @, `
因此自定义路径时,最好事先创建好该目录,并把目录 user:group 变更为 mysql:mysql,比如更改目录为 /home/mysql/data3 e+ u+ m% i$ u" m; V3 p
当然,在还没有安装 LAMP 之前,系统不一定有 mysql 的用户和用户组。执行以下命令可以创建:2 ^, \$ ?; N/ Y$ H: s7 H* g& Y
/usr/sbin/groupadd mysql/usr/sbin/useradd -s /sbin/nologin -M -g mysql mysql 然后,在 root 用户下执行:chown -R mysql:mysql /home/mysql/data6 j8 ]' Q% M% A' H
更新(2015 年 08 月 28 日):本次更新优化了 MySQL 的安装过程,脚本会检测自定义路径是否存在,如果不存在会自行创建目录并改变其 owner 和 group,无需在此之前手动创建了。2 k9 A+ N( U9 A$ f5 D) r
问9:LAMP 能配合什么 Web 面板管理呢?
4 g: Z/ }, Q' {6 D! f* H9 g) i& ~3 u2 S 答:Webmin 免费面板。参考《使用webmin管理PPTP VPN Server》一文,有在 CentOS 下如何快速安装 webmin 的教程。
9 @$ t( j2 i. |9 Y2 k- v% F 问10:请问 xcache 的后台怎么进去?" F0 D7 `! ~6 H- e* Q: s  P
答:http://域名或IP/xcache/
6 p" C/ N3 k$ ^( v" ^, E6 k 用户名:admin
0 g! Z# ?" I7 E* d% ~6 D9 m 密码:123456
2 C+ _% O1 L' j4 |& r$ x 前提是你安装了 xcache 后才能进入该后台。& x2 U  @! {& A% z) s
问11:如何修改 xcache 的后台用户名和密码?: U, q- g8 v0 X# h# W2 H$ c) E9 z
答:修改 /usr/local/php/php.d/xcache.ini 中对应的 xcache.admin.user 和 xcache.admin.pass 的值。
; H# I, v, t- U; n  n1 c% C 注意 xcache.admin.pass 的值是密码 md5 后的值。+ v- ^. a- o8 \" R! `3 r0 ^
然后重启 Apache 即可。, x* G! ]/ _0 D- U. P* c: [5 w
问12:程序只能支持到PHP 5.3,不支持PHP 5.4,请问具体如何降级到PHP 5.3呢?是否可以直接卸载 PHP 然后单独重新安装PHP 5.3 ?) @2 D, X2 }& J2 z
答:可以是可以,不过比较麻烦,你要自己重新编译 PHP 5.3.29 。
5 T6 s2 d* _) y, S: b: p8 f 删除已有的 PHP 步骤:9 Y6 A0 r  K  c2 B
rm -rf /etc/php.ini /usr/bin/php* /usr/local/php. D- P, u6 Z  A# m5 m
编译 PHP 5.3.29 有几点需要注意的。你需要把环境里的 Apache, MySQL 或 MariaDB 配置一并 configure 好才行,具体可以参照 lamp.sh 脚本里的 install_php 函数。1 P, B" {& L7 G+ u+ [% ^: L% d7 X
当然还有一种办法就是备份好数据,卸载 LAMP 后再次安装时选择 PHP 5.3 版本即可。# F; i: y5 n  i6 f
问13:安装以后要如何关闭日志功能?# |( }$ R4 P8 g$ \9 |# Z
答:修改 Apache 的配置文件 /usr/local/apache/conf/httpd.conf ,+ q: a# ~" T: r$ |! F8 K  L; _
搜索关键字 CustomLog (第300行),在前面加一个“#”注释掉后再重启 Apache 后就不再产生访问日志了。7 \1 D% a+ n* a* b( ], B
问14:FTP 安装使用是怎样的?0 @* W8 a1 W; W7 r* J
答:1、安装 LAMP 环境;
- C+ T  S% R1 z( d, m4 N 2、运行 pureftpd.sh 安装 pureftpd 软件(pureftpd 相关命令:service pure-ftpd start/stop/restart);
7 H2 ?/ U, W, }+ q9 x2 N 3、运行 lamp ftp add 命令新增 ftp 用户并根据提示绑定该用户的根目录(例:/data/www/default);
! {* i' |" `) M7 h5 N 4、运行 lamp ftp del 命令删除 ftp 用户,但并不会删除数据;
4 [( Q8 c$ q1 A 5、运行 lamp ftp list 命令查看已有的 ftp 用户一览。7 j/ Y6 |$ b( ^0 ]9 q+ G
敬请注意:安装 FTP 会遇到各种权限问题,会和已有的 apache 用户和用户组产生冲突,导致通过 FTP 上传的文件在程序里不可用。, F' D$ u5 M0 H# @
因此,不推荐使用。目前 SFTP 已经全面替代 FTP 了。你可以用 winscp 客户端 root 连接后上传文件,然后再改下用户和用户组权限为 apache 即可,简单方便。- n6 i; E6 V% E, u) N. ~  k0 D3 y
问15:Apache 的 SSL 如何设置?
0 c& d/ I7 _5 h8 r/ Q9 W& F 答:一般设置 /usr/local/apache/conf/extra/httpd-ssl.conf 就够了。
+ S; `" F" A# g+ m; J* X- I6 K- z 还需要在 /usr/local/apache/conf/httpd.conf 中开启 Include conf/extra/httpd-ssl.conf ,也就是将前面的 “#” 去掉。
& j4 m: l5 P* @) t6 ~& b! t 可以参考《Apache下部署ssl教程》一文。8 M) D; h) R3 z. b1 {' {
问16:安装 PHP 时出现以下错误,怎么处理?
" S9 X0 ^" d" v. v cc: Internal error: Killed (program cc1)( ]1 ?" x7 K8 P2 J+ ]
Please submit a full bug report.
( F& c" z5 Y7 T: |% L1 ? See for instructions.! k  y, h" |: w1 ?! h3 J
make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1
1 D" j. s$ n8 N; P7 G2 q. T Installing PHP failed, Please visit https://teddysun.com/lamp and contact.
3 t/ R3 W$ ~0 O6 I* H5 S* \, a 答:内存不足,安装被 kill了。内存低于 512MB 的又没有 Swap 的话就会如此。如何开启 Swap ,可以参考《如何在CentOS中添加Swap》一文。; {0 q4 y7 Z$ a1 n) ?
更多错误信息查询,参考《PHP编译安装常见错误总结》一文。5 n& p, `" `7 x( w4 [
问17:请问如何卸载组件呢,比如 xcache memcached?$ Z0 c/ h/ o  \  @$ B7 H
答:删掉对应的 .so 文件及配置文件再重启 Apache 即可。) t) p1 w  h! M" i) O
比如安装了 PHP 5.4 的话:9 g* u! n8 B+ t8 }1 E- e/ Y
/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/xcache.so) Z; j3 P; M( _5 Z' f5 C8 G3 P# w
/usr/local/php/php.d/xcache.ini; J  h& c8 E/ K! H% T
问18:怎么卸载 phpMyAdmin?
) ~( k, h/ {% j+ W* M 答:phpMyAdmin 如果不需要的话,直接删除其目录就OK了。: ^' D2 a. x5 _2 ~* b1 S" U# A
默认安装位置是 /data/www/default/phpmyadmin/5 C( s9 i# g! C
问19:多个IP的VPS如何设置一个IP对应一个域名呢?
. ^8 P4 W9 N* }" e% T9 \8 A 答:按照以下步骤:
  c' ]- ^! T! ^4 U; B) K 1、创建虚拟主机,以域名命名;
8 y7 d/ n" V$ `) ?7 k$ q& z# I 2、修改配置文件/usr/local/apache/conf/vhost/域名.conf,将其中的第一行的 virtualhost *:80修改为 virtualhost IP:80;
9 B6 d! t- h- B' G5 X8 R 3、解析对应的域名到第二步设定好的的 IP ,重启 Apache。$ |% c6 [+ f  [

- S1 G. H% V' R. }/ a7 _
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|

GMT+8, 2025-2-25 08:04 , Processed in 0.120666 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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