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

LAMP一键安装脚本使用说明

[复制链接]

986

主题

92

回帖

5万

积分

管理员

积分
55255
发表于 2022-7-4 16:59:04 | 显示全部楼层 |阅读模式
% \% D! y4 Y6 m# C; _
                                                       
9 {6 \. S5 O4 H, D# C0 HLAMP 一键安装脚本持续更新很长一段时间了。在这期间,经常被问到很多问题,回答的比较零散,因此有必要在这里归纳总结一下。9 \4 ^6 @* Y, k- l: u: j: j9 R" a
如果你在使用 LAMP 的过程中也遇到了问题,请参考此文,已经列出了常见的问题和解答,希望能对你有所帮助。$ V) g2 Q' r, d0 i( G# l
为什么选择 LAMP 一键安装脚本?
* X( P0 N# G. N LAMP 是经典的建站环境,尤其适用于个人站长。- Q/ O; A2 [+ e# z3 _8 t9 q
本脚本的软件版本更新及时,支持 PHP 及数据库自选安装。支持 PHP 和数据库程序自助升级。; i  {* Q* \8 w! M4 P7 A/ ~
安装方便,支持众多 PHP 插件,实际上是当初为安装 Moodle 而量身打造的 LAMP 环境。0 X2 T- q) o, ]
安装建议:根据自己的 CMS 建站系统要求,选择合适的版本安装即可。
& `1 y' k$ {1 g 更新时间:2015 年 08 月 28 日2 n3 t- v; N* @1 Y! Z4 I! d1 d
        4 G! N- I2 j  O
程序目录:5 s3 n. \. D5 C/ p& h1 O- u0 H3 A
MySQL 安装目录: /usr/local/mysql" d2 C3 L+ [. m. w: `5 o
MySQL 数据库目录: /usr/local/mysql/data(默认,安装时可更改路径,参考问题 8 如何更改)
$ z" g: K& d2 s5 W MariaDB 安装目录: /usr/local/mariadb
9 H8 w$ a' z; |# F7 [& e MariaDB 数据库目录: /usr/local/mariadb/data(默认,安装时可更改路径,参考问题 8 如何更改)
  E# d: \  o& x; { PHP 安装目录: /usr/local/php$ G# K1 Y- I& p9 D" ~8 c
Apache 安装目录: /usr/local/apache
5 d& C: C- ~9 O( E! @ phpMyAdmin 安装目录: /data/www/default/phpmyadmin(安装完成后出于安全,建议将此目录改名,比如改为 /data/www/default/admin_8989)
  U1 Y- K  k7 B5 a% p 网站目录:8 _" U  J0 Q8 [6 h) K6 b# D
默认的网站根目录: /data/www/default
9 g6 H( e4 n- z! e! n 默认页位置: /data/www/default/index.html2 r7 F" J3 \2 D, e1 [7 ]
新建站点默认目录: /data/www/域名/web
) _, o& v4 A0 j: L* c phpmyadmin 后台地址: http://域名或ip/phpmyadmin/(若目录已改名,此处应为改名后的地址,比如 http://域名或ip/admin_8989/)
0 c7 N! e$ l6 \ phpmyadmin 默认用户名:root 密码:root(此密码即 MySQL 的 root 密码。在安装时会要求输入,如不输入则为默认值)0 \& r4 H9 P) y7 O
xcache 后台地址: http://域名或ip/xcache/
% U) I8 z5 ]- s6 {: Y# i' W xcache 默认用户名:admin 密码:123456(用户名和密码在配置文件 /usr/local/php/php.d/xcache.ini 中定义)3 t! B9 ^* s8 k6 {# P8 d
配置文件:
9 T+ y" P" Q+ s* \7 g Apache 日志目录: /usr/local/apache/logs
  W1 w( w% n0 w, e, G3 b Apache SSL 配置文件: /usr/local/apache/conf/extra/httpd-ssl.conf
! O7 n- J7 W8 w# k( d/ y2 x 新建站点配置文件: /usr/local/apache/conf/vhost/域名.conf! b% \* [, l* c
PHP 配置文件: /usr/local/php/etc/php.ini* M3 I; k$ W8 r7 A/ N
PHP 所有扩展配置文件目录: /usr/local/php/php.d/9 L% s5 f! W4 s* @$ @1 m4 d- S
MySQL 配置文件: /etc/my.cnf
( p1 K6 c; k* o 命令一览:
0 W9 ?' {' \& I, r1 }8 N MySQL 或 MariaDB 命令:: @9 D" n" A$ V6 y
/etc/init.d/mysqld (start|stop|restart|status)
  _% r0 y, d5 h, J# x Apache命令:
- {. ?8 O+ w, p8 I$ v3 I: @+ ^: X /etc/init.d/httpd (start|stop|restart|status)
2 i# I% \& q$ l" I0 y( |) B3 ^ memcached
' R7 A: I9 [+ P) ^3 v /etc/init.d/memcached (start|stop|restart|status), X6 g/ G- Z+ A/ g. S6 L8 `
安装LAMP及建站简单流程:, h; @$ m$ t7 h$ P) `, X; c
1、安装 LAMP 环境  x. u- r. `4 W; b' L' Y* K
2、添加虚拟主机。运行命令:lamp add (如果只建一个站,则可以直接将网站程序上传至 /data/www/default 目录下即可)1 P/ _  E0 A2 q# C7 N
3、上传并解压网站程序到网站目录,默认位置为:/data/www/域名/web
. h7 v6 R' {7 Y, v; H 4、更改网站目录权限。以 root 用户登录,运行:chown -R apache:apache /data/www/域名% n% Z* Y( W, U; }5 J, `# N
5、运行网站安装程序完成网站安装
3 K# P( T0 L, m, ^, O3 W 问1:安装完网站程序,升级或安装插件等报错,如何更改网站目录权限?# [" X5 J7 z, [  O% n3 a
答:以 root 登录后,运行:chown -R apache:apache /data/www/域名
0 C& p% ]" V) D% q1 U* r 问2:安装时因内存不足报错,不能完成安装?8 z# t( i* ~5 [5 [$ Q1 z) t* H
答:小于 512M 的 VPS 建议并开启 Swap,如何开启 Swap ,可以参考《如何在CentOS中添加Swap》一文。  |5 z7 j' D8 {6 z: `# z5 L
更新(2015 年 08 月 28 日):本次更新优化了在小内存(480-512MB)下的安装体验。当 RAM + Swap 的容量小于 480MB 时,直接退出脚本运行;480-600MB 时,新增 PHP 编译选项 –disable-fileinfo 。# ~7 N* `9 ]7 A* M, r3 c
同时还优化了安装过程中对内存的占用。
# ]9 k# [2 {9 u& S7 i, ~5 j备注:为什么写成 480 MB ?# c' _+ n8 e! \* c/ c7 ~' B
这是因为基于 Xen 或者 KVM 虚拟的 VPS,内存容量一般会低于标注容量。一般说是 512MB,但实际也就只有 480MB 左右。
& O7 n9 N* ]9 @% W. l1 t5 y2 f 问3:域名跟 ip 地址都显示相同的网页,如何设置?! S6 L8 r- H- U( N
答:这是因为域名没与 IP 绑定。4 d% b, `' H: T# I0 r2 y  M: c  q
修改配置文件 /usr/local/apache/conf/extra/httpd-vhosts.conf
2 v( n7 B2 V8 h: H6 W/ B) x+ ^% E 在此文件的第 1 行开始,追加以下虚拟主机的配置:7 Z( c( U1 q8 u4 {- ~) k
<virtualhost *:80>ServerName  公网 IPRedirect 301 / 完整网址(如:http://teddysun.com)</virtualhost> 注意,格式是301+空格+斜杠+空格+完整网址+ m/ a  Q4 ]0 s' k$ v
此处是用到了 301 永久重定向来达到目的。
" z) L0 M" H) @# r4 s) y  A! L" c 然后保存并重启 Apache,命令:/etc/init.d/httpd restart
$ |& {# {8 _/ L2 G6 R3 x 问4:将 MySQL 换成 MariaDB ,应该怎么做?
" \. M- d  l4 P, N% q 答:
, E* d( A% N: K$ Y5 P 1、备份所有数据库,执行命令:/usr/local/mysql/bin/mysqldump -uroot -p你设定的root密码 –all-databases > /root/mysql.dump
, p9 h2 r  c  g. ^4 K! V 2、卸载 LAMP,命令:lamp uninstall
5 s. W/ }1 n; d" W5 N: v 3、重新安装 LAMP,选择 MariaDB
3 y) k' n6 Z* Q+ q( i 4、安装完成后,恢复数据库,命令:/usr/local/mariadb/bin/mysql -u root -p你设定的root密码 < /root/mysql.dump
* f0 \0 X, G( ^! F# w 卸载 LAMP 时,是不会删除 /data/www/default 的,也就是说不会删除网站数据。但数据库会被删掉,因此需要备份。- @/ a" g1 m% c8 u4 z
注意,考虑到程序兼容性问题,不建议这么做(生产环境换数据库程序不妥,应该事先就规划好用哪种数据库),除非你知道如何备份和恢复你的数据库。8 n' w" }, \8 n6 f
问5:如何更改网站的默认目录?' |: Q0 J, `9 b4 ]7 W9 P5 N
答:修改配置文件 /etc/httpd/conf/extra/httpd-vhosts.conf 里的 DocmentRoot 目录以及下面的 Directory ,再重启 apache 即可" C# }; |$ X0 K4 f! n, f
问6:全新安装后,无法引用 /data/www/ 之外的目录,如 /home/data/,如何解决?7 X; R1 o2 Q' L, q" u, @
答:这是因为出于安全考虑,做了目录权限的 open_basedir 限制。$ U6 Q% _0 X: ^1 G; ~: M
如何添加比如 /home/data 目录呢?修改 /usr/local/apache/conf/extra/httpd-vhosts.conf 中的 php_admin_value open_basedir 后的值,将 /home/data 添加到最后,注意要用冒号分割。再重启 Apache 即可。
- B) j5 Q; z9 f( {+ }" U7 ^ 问7:请问如果网站是www.ccc.com, 如何让ccc.com跳转到www.ccc.com?( ~% R- F  S) F# H$ J- z* _- U
答:既可以在域名解析的时候设置域名跳转(比如 Dnspod 就可以),也可以通过 Apache 的 ServerAlias 设置多个域名。
6 |- W8 P7 Q. Y4 E0 G5 ?( @* J3 Z 比如 www.ccc.com 的配置文件是 /usr/local/apache/conf/vhost/www.ccc.com.conf ,在 ServerName 后新增一行 ServerAlias ccc.com 即可。" z4 r% n% _! b' x% ?9 o) `
修改示例:
$ s8 i( D2 d# M1 L ServerName www.ccc.com
9 T3 `/ E/ W) V5 ]1 F2 _ ServerAlias ccc.com
- C; x4 @+ H! l  H+ `; h1 W6 G 问8:安装时自定义 MySQL 或 MariaDB 的路径,系统自动初始化数据库时会出错。然后会提示启动失败?
  D; B' F2 `1 v: h: ? 答:自定义 MySQL 的数据库路径时,如果目录不存在的话 MySQL 或 MariaDB 会尝试创建该目录,但一般会由于权限不足而创建失败。7 K+ n/ l+ W" ?- c7 p+ G( h. K
MySQL 编译安装后会将 /usr/local/mysql 目录的 user:group 设为 mysql:mysql,所以默认目录 /usr/local/mysql/data 是没有问题的。* s) P; |; T3 s$ S. A
因此自定义路径时,最好事先创建好该目录,并把目录 user:group 变更为 mysql:mysql,比如更改目录为 /home/mysql/data3 y: e* z; \% x7 j4 O9 [9 [
当然,在还没有安装 LAMP 之前,系统不一定有 mysql 的用户和用户组。执行以下命令可以创建:) J. l; W9 L8 s& f# h3 d2 W4 |
/usr/sbin/groupadd mysql/usr/sbin/useradd -s /sbin/nologin -M -g mysql mysql 然后,在 root 用户下执行:chown -R mysql:mysql /home/mysql/data5 e- `# I/ ^. I$ J7 Y4 n- Y
更新(2015 年 08 月 28 日):本次更新优化了 MySQL 的安装过程,脚本会检测自定义路径是否存在,如果不存在会自行创建目录并改变其 owner 和 group,无需在此之前手动创建了。
# z8 a7 q' g' o0 T1 {& b 问9:LAMP 能配合什么 Web 面板管理呢?' k% O$ F1 Z$ g* L
答:Webmin 免费面板。参考《使用webmin管理PPTP VPN Server》一文,有在 CentOS 下如何快速安装 webmin 的教程。7 X7 U- i7 @3 b& M# K# i# r
问10:请问 xcache 的后台怎么进去?
; n& \! x8 t* W/ ]8 a  M 答:http://域名或IP/xcache/
3 G8 D- Y, G* E  b8 X4 |* B) n 用户名:admin) O! Q% u, @2 {7 f9 z2 q2 A- ^
密码:1234564 U! X5 r2 @9 W4 Q, m+ a/ K/ t. i! Y
前提是你安装了 xcache 后才能进入该后台。
- X9 d. _- `2 K 问11:如何修改 xcache 的后台用户名和密码?
+ V2 F; S8 H5 K4 z" u% Y+ n 答:修改 /usr/local/php/php.d/xcache.ini 中对应的 xcache.admin.user 和 xcache.admin.pass 的值。/ [0 j( \8 L; ^4 p) [" R
注意 xcache.admin.pass 的值是密码 md5 后的值。
2 T7 l" z. t8 d7 Q2 i+ M- x 然后重启 Apache 即可。- L/ w2 R, y( R; m9 S7 L
问12:程序只能支持到PHP 5.3,不支持PHP 5.4,请问具体如何降级到PHP 5.3呢?是否可以直接卸载 PHP 然后单独重新安装PHP 5.3 ?
, \  ~" ]3 z. S- T 答:可以是可以,不过比较麻烦,你要自己重新编译 PHP 5.3.29 。
  e* s8 @- D. q; D 删除已有的 PHP 步骤:
6 a$ E0 [# T9 R$ @ rm -rf /etc/php.ini /usr/bin/php* /usr/local/php
+ ^, \+ W  t7 O$ b% p 编译 PHP 5.3.29 有几点需要注意的。你需要把环境里的 Apache, MySQL 或 MariaDB 配置一并 configure 好才行,具体可以参照 lamp.sh 脚本里的 install_php 函数。
( Q3 N$ F3 H+ \5 w 当然还有一种办法就是备份好数据,卸载 LAMP 后再次安装时选择 PHP 5.3 版本即可。3 D2 P4 h7 {4 ]/ M1 m
问13:安装以后要如何关闭日志功能?& d; w% I6 H3 i6 ^+ P* t/ J# n& z' X
答:修改 Apache 的配置文件 /usr/local/apache/conf/httpd.conf ,, L% o  |9 E6 X1 r$ U
搜索关键字 CustomLog (第300行),在前面加一个“#”注释掉后再重启 Apache 后就不再产生访问日志了。
& m6 X5 ]) Y+ |5 h 问14:FTP 安装使用是怎样的?
# s& Z# |( m5 A+ e# C1 V* J 答:1、安装 LAMP 环境;
, {6 P# \  a6 g 2、运行 pureftpd.sh 安装 pureftpd 软件(pureftpd 相关命令:service pure-ftpd start/stop/restart);. ?  t/ A" d( K, T1 @- c- ^) H6 }
3、运行 lamp ftp add 命令新增 ftp 用户并根据提示绑定该用户的根目录(例:/data/www/default);
+ y$ t/ }6 p; {: u5 n2 {1 \9 P 4、运行 lamp ftp del 命令删除 ftp 用户,但并不会删除数据;
% ^' B8 b' y) k# D, ?9 I 5、运行 lamp ftp list 命令查看已有的 ftp 用户一览。7 V$ k0 G' ~" G$ b1 N& U0 [( Y9 o
敬请注意:安装 FTP 会遇到各种权限问题,会和已有的 apache 用户和用户组产生冲突,导致通过 FTP 上传的文件在程序里不可用。
8 I7 h) u* x+ X9 K4 Q8 M1 l/ {4 T/ w 因此,不推荐使用。目前 SFTP 已经全面替代 FTP 了。你可以用 winscp 客户端 root 连接后上传文件,然后再改下用户和用户组权限为 apache 即可,简单方便。9 o/ d8 V+ R4 G7 o
问15:Apache 的 SSL 如何设置?& f$ q* c- A2 \$ s& U% ?
答:一般设置 /usr/local/apache/conf/extra/httpd-ssl.conf 就够了。, u9 @6 H5 j5 k7 Q* F9 K
还需要在 /usr/local/apache/conf/httpd.conf 中开启 Include conf/extra/httpd-ssl.conf ,也就是将前面的 “#” 去掉。
5 ^3 U% L3 ?+ N: b6 ~5 m+ ^ 可以参考《Apache下部署ssl教程》一文。
6 u2 I# l& O9 p3 l 问16:安装 PHP 时出现以下错误,怎么处理?) J, P( W! \& G
cc: Internal error: Killed (program cc1)( D; ?4 g; A& z1 p+ _' S' Z
Please submit a full bug report.
9 c% Y! v/ J, w% m/ |( l* t+ } See for instructions.
% b9 K: r/ ^4 @5 O! u make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1
+ i$ B4 ~1 x2 A, C Installing PHP failed, Please visit https://teddysun.com/lamp and contact.: j% B+ X. y  l
答:内存不足,安装被 kill了。内存低于 512MB 的又没有 Swap 的话就会如此。如何开启 Swap ,可以参考《如何在CentOS中添加Swap》一文。3 F: U) c4 i; R$ ?5 }
更多错误信息查询,参考《PHP编译安装常见错误总结》一文。4 T& u" O, K$ L7 A& c
问17:请问如何卸载组件呢,比如 xcache memcached?' K1 k5 `/ d+ t# r7 Y
答:删掉对应的 .so 文件及配置文件再重启 Apache 即可。
6 a' ?, q" F7 k' y7 k0 p 比如安装了 PHP 5.4 的话:
. l; `- J2 T( r! o, p0 @& F /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/xcache.so" P) |" K7 J# U7 a  [  l5 u
/usr/local/php/php.d/xcache.ini
% C+ k. O  P+ ]& I. g 问18:怎么卸载 phpMyAdmin?. @) D$ u$ f0 p7 k, @4 V
答:phpMyAdmin 如果不需要的话,直接删除其目录就OK了。& y: j* _; |: ^
默认安装位置是 /data/www/default/phpmyadmin/
4 A% k# F8 \; Q6 g. v, d% q5 F* a 问19:多个IP的VPS如何设置一个IP对应一个域名呢?, ^9 ]% c$ F. I
答:按照以下步骤:
. S! L( G4 g2 `% \ 1、创建虚拟主机,以域名命名;' t- r) D% S5 v
2、修改配置文件/usr/local/apache/conf/vhost/域名.conf,将其中的第一行的 virtualhost *:80修改为 virtualhost IP:80;5 m3 j$ n4 g, b: h
3、解析对应的域名到第二步设定好的的 IP ,重启 Apache。$ q5 ]* `+ V, g- B0 C; T. T

! ~5 V1 k; K" n+ q7 {5 q6 Z6 B
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|

GMT+8, 2026-3-22 01:10 AM , Processed in 0.078174 second(s), 23 queries .

Powered by xyh-moon X3.5

© 2001-2025 Discuz! Team.

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