找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 89|回复: 0

LAMP一键安装脚本使用说明

[复制链接]

983

主题

83

回帖

5万

积分

管理员

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

0 H7 H- A' k6 g0 S; }$ X5 h2 I) H3 u                                                        + B" j* S0 h: k; W" s, D: d$ u
LAMP 一键安装脚本持续更新很长一段时间了。在这期间,经常被问到很多问题,回答的比较零散,因此有必要在这里归纳总结一下。9 j9 z9 {1 O" @' C2 [8 U& Q
如果你在使用 LAMP 的过程中也遇到了问题,请参考此文,已经列出了常见的问题和解答,希望能对你有所帮助。! F) r; x( t' w# O+ B7 b) @- }4 A
为什么选择 LAMP 一键安装脚本?
' Q8 }* F) p& o8 J: q) c6 B LAMP 是经典的建站环境,尤其适用于个人站长。" i# m$ J: [% h* v4 L
本脚本的软件版本更新及时,支持 PHP 及数据库自选安装。支持 PHP 和数据库程序自助升级。: Q$ Q$ M  d0 J& z& z% ^4 T
安装方便,支持众多 PHP 插件,实际上是当初为安装 Moodle 而量身打造的 LAMP 环境。) Z/ }8 d+ ~6 p2 C$ {1 t7 j
安装建议:根据自己的 CMS 建站系统要求,选择合适的版本安装即可。
3 R; @- E, D( v0 q2 L! ?1 o3 Y 更新时间:2015 年 08 月 28 日7 ^& D; @# D) O" q5 V
        + Y/ `) F/ h  q  U: ^! R2 l( a
程序目录:
) b, `$ e2 F4 I7 J MySQL 安装目录: /usr/local/mysql
' k8 @+ x* O* V/ C6 ^6 V4 y MySQL 数据库目录: /usr/local/mysql/data(默认,安装时可更改路径,参考问题 8 如何更改)) I7 U6 u  N* C3 l- [
MariaDB 安装目录: /usr/local/mariadb1 C7 i* b& m7 l, W
MariaDB 数据库目录: /usr/local/mariadb/data(默认,安装时可更改路径,参考问题 8 如何更改)
5 N$ `9 @2 n4 K9 F4 q) M PHP 安装目录: /usr/local/php
9 W, O7 }( L* C Apache 安装目录: /usr/local/apache
7 w& H* b3 A3 D" U4 ^1 h phpMyAdmin 安装目录: /data/www/default/phpmyadmin(安装完成后出于安全,建议将此目录改名,比如改为 /data/www/default/admin_8989)
: H7 @: U7 I; h* T! k/ y" r, |& i 网站目录:6 z- M9 D) B+ U6 {! ^- T7 J, j
默认的网站根目录: /data/www/default+ J( }& V; m( J( q7 @% d* t* q
默认页位置: /data/www/default/index.html& b+ z& G8 N! F4 G
新建站点默认目录: /data/www/域名/web
5 b. ?) O) T3 U- u, C& g+ s phpmyadmin 后台地址: http://域名或ip/phpmyadmin/(若目录已改名,此处应为改名后的地址,比如 http://域名或ip/admin_8989/)7 `3 z# V' R7 n# w
phpmyadmin 默认用户名:root 密码:root(此密码即 MySQL 的 root 密码。在安装时会要求输入,如不输入则为默认值)
5 v: g, C% v& P+ q xcache 后台地址: http://域名或ip/xcache/ $ Y1 y5 s! J3 _( i0 h. u
xcache 默认用户名:admin 密码:123456(用户名和密码在配置文件 /usr/local/php/php.d/xcache.ini 中定义)
" X6 n6 H' {' k1 ~ 配置文件:  j) r3 N: e9 ^) ~  U- ?% I3 W2 S
Apache 日志目录: /usr/local/apache/logs6 P0 E6 Q/ Y" z' I1 Y1 h" G
Apache SSL 配置文件: /usr/local/apache/conf/extra/httpd-ssl.conf
6 l, k0 @% a! j& N2 p$ C1 E 新建站点配置文件: /usr/local/apache/conf/vhost/域名.conf
+ p' z7 s( ]; F0 y: B PHP 配置文件: /usr/local/php/etc/php.ini- i# d" }+ y) I  ~9 g
PHP 所有扩展配置文件目录: /usr/local/php/php.d/
& c1 j5 s3 x% F; T0 ^# N MySQL 配置文件: /etc/my.cnf2 j/ p2 }, I! l5 O  C4 o2 x
命令一览:
; _" e' f* Y/ c! Y0 K MySQL 或 MariaDB 命令:/ \# T" e  a+ [/ c, E) `
/etc/init.d/mysqld (start|stop|restart|status)+ I" B* V! H7 d
Apache命令:+ ^, B. [# W- X' `$ C* C! m6 e7 P
/etc/init.d/httpd (start|stop|restart|status)
6 J& Q6 P( u/ M memcached
; G4 K8 j+ n0 }; Z) w3 F /etc/init.d/memcached (start|stop|restart|status)2 i* H9 t& B; Z* a0 g- o0 W3 j
安装LAMP及建站简单流程:- E7 L; `0 r' U& N! R9 J
1、安装 LAMP 环境' T; m! Y' w# P. i# ]* [% E* P
2、添加虚拟主机。运行命令:lamp add (如果只建一个站,则可以直接将网站程序上传至 /data/www/default 目录下即可)
7 \7 \  Q7 V: t1 T5 R& S9 u 3、上传并解压网站程序到网站目录,默认位置为:/data/www/域名/web
5 F" D7 T7 G& x: l% T" L  X0 I- I 4、更改网站目录权限。以 root 用户登录,运行:chown -R apache:apache /data/www/域名
: X% z& u. `3 t( q% a) v 5、运行网站安装程序完成网站安装! I' j6 l$ M# m% L" {" [
问1:安装完网站程序,升级或安装插件等报错,如何更改网站目录权限?( x! h7 X8 f- t9 R0 \. `
答:以 root 登录后,运行:chown -R apache:apache /data/www/域名+ U, z& _% j* C5 N
问2:安装时因内存不足报错,不能完成安装?
5 X! k/ x7 G' V8 A: h# F 答:小于 512M 的 VPS 建议并开启 Swap,如何开启 Swap ,可以参考《如何在CentOS中添加Swap》一文。
# E9 F$ T  v7 R! O. F2 W) a更新(2015 年 08 月 28 日):本次更新优化了在小内存(480-512MB)下的安装体验。当 RAM + Swap 的容量小于 480MB 时,直接退出脚本运行;480-600MB 时,新增 PHP 编译选项 –disable-fileinfo 。( j8 ?+ u, K' B& z; Q8 C
同时还优化了安装过程中对内存的占用。, [+ G7 y% f$ d& ]$ L6 y% `
备注:为什么写成 480 MB ?
* Q" z' b$ m8 h0 q2 z; O; ~, G$ N这是因为基于 Xen 或者 KVM 虚拟的 VPS,内存容量一般会低于标注容量。一般说是 512MB,但实际也就只有 480MB 左右。
5 z2 H( L: {8 O- ?9 B! f 问3:域名跟 ip 地址都显示相同的网页,如何设置?) F- b  O4 ]- j
答:这是因为域名没与 IP 绑定。
, E0 A7 y/ n- l+ \9 f1 _! w( D 修改配置文件 /usr/local/apache/conf/extra/httpd-vhosts.conf
/ {6 w/ N* T7 ^& y+ q 在此文件的第 1 行开始,追加以下虚拟主机的配置:
+ @3 Q% ~" r! _0 l9 B<virtualhost *:80>ServerName  公网 IPRedirect 301 / 完整网址(如:http://teddysun.com)</virtualhost> 注意,格式是301+空格+斜杠+空格+完整网址
( y& S3 c. O6 u% A5 { 此处是用到了 301 永久重定向来达到目的。5 L" z" M: C% [7 {$ _3 X
然后保存并重启 Apache,命令:/etc/init.d/httpd restart
% o) J+ q* l1 Y; N$ [- k 问4:将 MySQL 换成 MariaDB ,应该怎么做?1 s. y5 O1 y- R4 [0 \0 t+ S
答:# A0 Q: C$ w$ u- J9 f% }: \! P* o
1、备份所有数据库,执行命令:/usr/local/mysql/bin/mysqldump -uroot -p你设定的root密码 –all-databases > /root/mysql.dump
: Q1 A( N5 {2 b 2、卸载 LAMP,命令:lamp uninstall! p$ f3 [2 b: i" k+ s3 k8 j% }
3、重新安装 LAMP,选择 MariaDB; C8 x5 A  L7 z
4、安装完成后,恢复数据库,命令:/usr/local/mariadb/bin/mysql -u root -p你设定的root密码 < /root/mysql.dump
, f9 H) L0 i8 }$ B+ z2 k 卸载 LAMP 时,是不会删除 /data/www/default 的,也就是说不会删除网站数据。但数据库会被删掉,因此需要备份。5 B, }0 H- |9 v1 O. |  Y, Q
注意,考虑到程序兼容性问题,不建议这么做(生产环境换数据库程序不妥,应该事先就规划好用哪种数据库),除非你知道如何备份和恢复你的数据库。
; X' @  {- I* F  C 问5:如何更改网站的默认目录?5 B# {. \0 j7 H- x5 i
答:修改配置文件 /etc/httpd/conf/extra/httpd-vhosts.conf 里的 DocmentRoot 目录以及下面的 Directory ,再重启 apache 即可
+ o, c; ~5 i! L; y 问6:全新安装后,无法引用 /data/www/ 之外的目录,如 /home/data/,如何解决?
3 B9 b$ p0 k% L. @( f 答:这是因为出于安全考虑,做了目录权限的 open_basedir 限制。7 D9 b* J1 C: R5 E9 X
如何添加比如 /home/data 目录呢?修改 /usr/local/apache/conf/extra/httpd-vhosts.conf 中的 php_admin_value open_basedir 后的值,将 /home/data 添加到最后,注意要用冒号分割。再重启 Apache 即可。
$ A& M% d% ]: i& _9 u5 Q 问7:请问如果网站是www.ccc.com, 如何让ccc.com跳转到www.ccc.com?
( p+ ~0 P9 n; {0 C, n% j 答:既可以在域名解析的时候设置域名跳转(比如 Dnspod 就可以),也可以通过 Apache 的 ServerAlias 设置多个域名。
! |+ ^1 Q, x  N 比如 www.ccc.com 的配置文件是 /usr/local/apache/conf/vhost/www.ccc.com.conf ,在 ServerName 后新增一行 ServerAlias ccc.com 即可。, e5 g9 c' ?6 P7 E4 q& G
修改示例:; {7 ^: {$ t8 a+ j3 W  T( X% o
ServerName www.ccc.com
. F4 b# b  A8 I* p6 W ServerAlias ccc.com# ?: y1 m+ H2 T* R7 ]& O+ G
问8:安装时自定义 MySQL 或 MariaDB 的路径,系统自动初始化数据库时会出错。然后会提示启动失败?
" T+ l+ }6 \0 Z 答:自定义 MySQL 的数据库路径时,如果目录不存在的话 MySQL 或 MariaDB 会尝试创建该目录,但一般会由于权限不足而创建失败。
9 S/ a+ D1 ?% u MySQL 编译安装后会将 /usr/local/mysql 目录的 user:group 设为 mysql:mysql,所以默认目录 /usr/local/mysql/data 是没有问题的。( |6 M/ e! H) u+ O* p( `5 W3 t  z/ H
因此自定义路径时,最好事先创建好该目录,并把目录 user:group 变更为 mysql:mysql,比如更改目录为 /home/mysql/data
4 N0 ~; Z7 }* s. y* b  o& s 当然,在还没有安装 LAMP 之前,系统不一定有 mysql 的用户和用户组。执行以下命令可以创建:# ^5 r- V  C3 f4 W  x: |: c
/usr/sbin/groupadd mysql/usr/sbin/useradd -s /sbin/nologin -M -g mysql mysql 然后,在 root 用户下执行:chown -R mysql:mysql /home/mysql/data
0 p' v8 }# B) F+ T更新(2015 年 08 月 28 日):本次更新优化了 MySQL 的安装过程,脚本会检测自定义路径是否存在,如果不存在会自行创建目录并改变其 owner 和 group,无需在此之前手动创建了。
& W+ ?& Z8 Z8 k7 a* {; Y. r 问9:LAMP 能配合什么 Web 面板管理呢?
! H+ i* o# D4 N( C 答:Webmin 免费面板。参考《使用webmin管理PPTP VPN Server》一文,有在 CentOS 下如何快速安装 webmin 的教程。
. ~  b- p, c9 w9 H: N6 B 问10:请问 xcache 的后台怎么进去?$ J# s" U% J* t$ |! C
答:http://域名或IP/xcache/
) J9 M) r, Z0 g! c6 F% V7 L+ y 用户名:admin
. g9 }( j7 U: t9 H9 T 密码:123456
' o, b4 S2 I8 ~3 ^; n 前提是你安装了 xcache 后才能进入该后台。: G( K+ n* ~* ]& ]7 W" K
问11:如何修改 xcache 的后台用户名和密码?$ N) ~$ A# H5 @/ i8 ?: p- G
答:修改 /usr/local/php/php.d/xcache.ini 中对应的 xcache.admin.user 和 xcache.admin.pass 的值。
2 ^7 }' E& @7 R, j2 Y4 C% r& H  l4 k/ b& E 注意 xcache.admin.pass 的值是密码 md5 后的值。  ?0 h* C' F4 ~
然后重启 Apache 即可。
8 z! Z- r) E7 t% w% H9 M: F 问12:程序只能支持到PHP 5.3,不支持PHP 5.4,请问具体如何降级到PHP 5.3呢?是否可以直接卸载 PHP 然后单独重新安装PHP 5.3 ?' U5 @0 I0 s; G) l+ F! ]. L
答:可以是可以,不过比较麻烦,你要自己重新编译 PHP 5.3.29 。% w' X2 M1 F! V  d: Q& g* E
删除已有的 PHP 步骤:) h  C5 o% r6 S) k+ \
rm -rf /etc/php.ini /usr/bin/php* /usr/local/php
; Z0 b% Z1 A, A% L  Y3 `# L) v 编译 PHP 5.3.29 有几点需要注意的。你需要把环境里的 Apache, MySQL 或 MariaDB 配置一并 configure 好才行,具体可以参照 lamp.sh 脚本里的 install_php 函数。. k8 R+ Q# I5 g' {9 W
当然还有一种办法就是备份好数据,卸载 LAMP 后再次安装时选择 PHP 5.3 版本即可。
1 K, ~5 O( X' b4 Z8 a4 v 问13:安装以后要如何关闭日志功能?4 x' p( s/ Z; `
答:修改 Apache 的配置文件 /usr/local/apache/conf/httpd.conf ,
7 y" n3 T' z2 w4 l- @7 a* ~' Z 搜索关键字 CustomLog (第300行),在前面加一个“#”注释掉后再重启 Apache 后就不再产生访问日志了。2 c9 I0 c: j9 U
问14:FTP 安装使用是怎样的?, t" ]7 ]- Z9 f* I; I4 c' b
答:1、安装 LAMP 环境;1 w3 r! _, C; G7 i/ A1 x5 `
2、运行 pureftpd.sh 安装 pureftpd 软件(pureftpd 相关命令:service pure-ftpd start/stop/restart);
! m! v, l: g$ K$ f1 H" }2 V 3、运行 lamp ftp add 命令新增 ftp 用户并根据提示绑定该用户的根目录(例:/data/www/default);1 ^' V1 i, {* r! V; v, o& R
4、运行 lamp ftp del 命令删除 ftp 用户,但并不会删除数据;
. P, m: ^/ q% m6 z) J 5、运行 lamp ftp list 命令查看已有的 ftp 用户一览。( v& p* I% i7 u
敬请注意:安装 FTP 会遇到各种权限问题,会和已有的 apache 用户和用户组产生冲突,导致通过 FTP 上传的文件在程序里不可用。4 B0 Z5 T6 ?) `5 X% L: D
因此,不推荐使用。目前 SFTP 已经全面替代 FTP 了。你可以用 winscp 客户端 root 连接后上传文件,然后再改下用户和用户组权限为 apache 即可,简单方便。
% c( l) s/ ~: q+ H' z2 R& ~1 m 问15:Apache 的 SSL 如何设置?. l% U; P8 r. T6 }5 v0 H1 I
答:一般设置 /usr/local/apache/conf/extra/httpd-ssl.conf 就够了。. X$ x& i0 X9 C& L( b6 `+ U
还需要在 /usr/local/apache/conf/httpd.conf 中开启 Include conf/extra/httpd-ssl.conf ,也就是将前面的 “#” 去掉。
& |- T* q- Z# `7 N9 \+ S4 @6 w3 j 可以参考《Apache下部署ssl教程》一文。
1 o3 L# d7 l$ ?. i! R8 E% n 问16:安装 PHP 时出现以下错误,怎么处理?
% Y( u% F* w9 h/ F- Z4 O cc: Internal error: Killed (program cc1)  i3 e/ i0 E# @1 ~: b" Z1 R; A: w
Please submit a full bug report.1 I5 ?' d8 D# ~  X1 Z4 z  B/ o
See for instructions.
  n: L( J- t+ B make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1: R% p& y/ m; e( H; |
Installing PHP failed, Please visit https://teddysun.com/lamp and contact.
  w. P5 ]/ W2 \8 L7 \9 c& H0 ] 答:内存不足,安装被 kill了。内存低于 512MB 的又没有 Swap 的话就会如此。如何开启 Swap ,可以参考《如何在CentOS中添加Swap》一文。
6 _6 i  r! M7 R& x# I 更多错误信息查询,参考《PHP编译安装常见错误总结》一文。* m% j7 u1 I9 O
问17:请问如何卸载组件呢,比如 xcache memcached?
' Y" d& f2 `0 e7 [% w% E 答:删掉对应的 .so 文件及配置文件再重启 Apache 即可。
. U$ ?/ H3 g/ Z: e 比如安装了 PHP 5.4 的话:8 r" `) ]; J  l& N: h
/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/xcache.so
; U6 M) c4 h3 M7 a0 h5 `/ ~ /usr/local/php/php.d/xcache.ini* F" O  I0 X. d) K& H: _  n) m
问18:怎么卸载 phpMyAdmin?& o5 I( H, [$ ]0 U8 {# t! |
答:phpMyAdmin 如果不需要的话,直接删除其目录就OK了。. K" U9 M  a! i( g; m) M3 N
默认安装位置是 /data/www/default/phpmyadmin/' I/ i7 j! [' f' @4 |9 ^0 r7 }/ h
问19:多个IP的VPS如何设置一个IP对应一个域名呢?
4 O: B/ m8 Q* j2 @1 u 答:按照以下步骤:
0 S, R- U1 N2 ^4 t+ ] 1、创建虚拟主机,以域名命名;0 {- q5 t- V$ J6 n
2、修改配置文件/usr/local/apache/conf/vhost/域名.conf,将其中的第一行的 virtualhost *:80修改为 virtualhost IP:80;, _7 x' I( s6 `4 i1 ?
3、解析对应的域名到第二步设定好的的 IP ,重启 Apache。2 x5 f9 T3 p! U- D: S; p2 S

, V; N0 B2 o4 w& W+ Z
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|返回首页

GMT+8, 2024-12-23 20:31 , Processed in 0.113166 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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