记录下来,方便下次再用时从头查找资料

首先是操作系统和php环境:CentOS 6.5 64位(之所以不是7.0是因为本身对linux不熟,而7.0改变挺大的,搜索查询资料也不好搜索),Php版本:5.3(程序要求,没办法,这也是用lanmp的原因,因为它可以选择好几个版本且包含5.3)

具体步骤:

1、获取root账号密码,用putty链接阿里云,查看是否有数据盘,如果有需要挂载数据盘,具体请查看阿里云论坛中的教程:

#先查看下有几个分区 
df -lh
#然后查看是否有数据盘
fdisk -l
#假如有数据盘,名称为/dev/xvdb,名称以实际名称为准,格式化数据盘
mkfs.ext3 /dev/xvdb
#先在根目录下创建个www文件夹,将数据盘挂载在这里
cd /
mkdir www
#挂载数据盘
mount /dev/xvdb /www/
#可以查看下是否一挂载
df -lh
#将其加入开机自动挂载
echo '/dev/xvdb /www ext3 defaults 0 0' >> /etc/fstab
#重启
init
#重启后在查看下是否开机自动挂载
df -lh

2、安装lanmp,官网安装流程看这里:

#下载lanmp_3.
wget http://dl.wdlinux.cn/files/lanmp_v3.1.tar.gz
#解压
tar zxvf lanmp_v3..tar.gz
#安装,sh lanmp.sh为默认安装,带cus参数为自定义安装,由于我们需要php5.,所以
sh lanmp.sh cus
#按照提示步骤一步步进行

官方默认安装的版本是为:apache-2.4.18、nginx-1.8.1、php-5.6.21、mysql-5.5.49,选择apache和nginx合体的,选择php版本为5.3的,其余的都按照官方默认的版本来安装即可

3、安装完成后,在浏览器输入服务器IP:8080(例如:http://123.123.123.1231:8080)即可登陆wdlinux后台,登陆后先修改本后台的密码和数据库root的密码,在putty命令行中新建网站目录:

#新建vishun目录作为网站根目录
cd /www/web
mkdir vishun

4、创建整站:wdlinux后台中的“网站管理”->"创建整站",同时开通ftp和mysql数据库,在“网站管理”->"php设置"中可以调整上传文件等参数,“MYSQL管理”->“phpmyadmin”可以在线管理数据库

5、调整所有者和所有组,可能是wdlinux默认必须要www组和用户才能执行,在“系统管理”->“文件管理”中将网站所有者和所有组都改成www,也可以在putty命令行中修改:

#vishun为本网站的根目录
chown –R www:www vishun

6、只有调整完上方操作后,ftp才能正常上传下载文件,将本地网站数据打包成zip格式,通过ftp上传后解压到根目录,可以通过“系统管理”->“文件管理”在线解压,也同样可以在putty命令行中解压:

#-n为解压时不要覆盖原文件,-d为指定解压目录
unzip -n test.zip -d /vishun

7、查看上传上去的网站源码的所有者和所有组是否为www,如果不是,按照上面的修改。原先以为还需要修改某些权限为777,但后来发现不需要,但其实lanmp自带的权限是有点问题的,因为:(详细的权限说明点击这里查看另一篇文章)

  a、ftp上传完成时,默认目录为755,文件为644。

  b、查看apache和nginx的配置文件就能发现,安装时自动指定了用户名和用户组为www

  c、而文件的所有者和所有组同样为www

  由b、c可知,www就是owner(所有者),所以文件目录不管是755还是744还是700还是其它,只要第一个是7就会有写权限,即默认所有目录都具有写权限,相当于原有的所有目录权限为777,同样的默认文件就具有6的读写权限,方便是方便了,但是安全性真的有待商榷。

  解决方法:(只用a方法测试过,其余方法原理一致,但未实际测试实施)

  a、新增其它用户,例如lanmp用户,然后修改apache和nginx的配置文件,将其用户名和用户组指定为lanmp,此时再修改某些想具有写权限的目录为777,当apache/nginx执行php时相当于other而不是owner,例如755,则相当于5的权限即读执行,没有写权限(需要先将apache和nginx停止后再更改,否则会有一些进程仍然用www,导致除非重启服务器,否则杀不死,而且网站时而有权限时而无权限,因为说不准哪个进程就去执行它),另外要说的是如果安装了php-fpm,可能还需要修改此服务的用户名和用户组,由于我这边没有安装,所以未测试。

  b、修改原有目录的权限755为5XX,只要第一个是5即可,然后再改某些想具有写权限的目录为7XX,同样将文件权限设置为4XX,只要第一个为4即可,然后某些想可写的文件设置为6XX,但可能还需要修改ftp用户的相关(ftp这个用户及用户组是用mysql数据库存储的,默认是1000也就是www)修改起来可能有点费劲。

  c、新增其它用户,例如lanmp用户,修改网站文件的所有者为lanmp,此时apache/nginx继续用www来访问相当于other,然后再调整权限,或者是非写入的用lanmp用户,需要写入的继续用www用户。同上可能需要修改ftp相关权限

以上为整个php环境的安装

Linux下安装LANMP环境的更多相关文章

  1. Java java jdk在Linux下安装与环境变量的配置

    java jdk在Linux下安装与环境变量的配置 by:授客 QQ:1033553122 linux环境:CentOS-6.0-x86_64-bin-DVD1.iso [root@localhost ...

  2. Linux下安装php环境并且配置Nginx支持php-fpm模块[www]

    Linux下安装php环境并且配置Nginx支持php-fpm模块 http://www.cnblogs.com/freeweb/p/5425554.html 5分钟搭建 nginx +php --- ...

  3. Linux下安装Java环境配置

    1.下载安装文件 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2. ...

  4. linux下安装python环境

    1.linux下安装python3 a. 准备编译环境(环境如果不对的话,可能遇到各种问题,比如wget无法下载https链接的文件) yum groupinstall 'Development To ...

  5. go系列(1)- linux下安装go环境

    安装GO 打开安装包下载地址,查看linux下go的最新版本 https://golang.google.cn/dl/ 经查看go的最新版本为go1.11.4.linux-amd64.tar.gz 右 ...

  6. Linux下安装Go环境

    登录Linux Mac或Linux的用户可以用命令ssh root@xxx.xxx.xxx.xxx登录主机Window的用户可以使用SecureCRT登录主机虚拟机用户直接打开你的虚拟机 安装Go环境 ...

  7. Linux下安装python3环境搭建

    Linux下python3环境搭建 Linux安装软件有哪些方式? rpm软件包 手动安装 拒绝此方式 需要手动解决依赖关系 yum自动化安装 自动处理依赖关系 非常好用 源代码编译安装,可自定义的功 ...

  8. linux下安装apache环境

    Centos6.5  64位下安装apache php mysql(安装包版本一定要正确,网上很多都不准,不要用32位的安装包装再64位上,后期有很多问题,下载安装后一定要检出版本,有的网友操蛋,把3 ...

  9. Linux下安装Java环境配置步骤详述

    0.下载jdk8 登录网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html选择对 ...

随机推荐

  1. 【模拟】【数学】CSU 1803 2016 (2016湖南省第十二届大学生计算机程序设计竞赛)

    题目链接: http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1803 题目大意: 给定n,m(n,m<=109)1<=i<=n,1& ...

  2. 【最短路】FOJ 2243 Daxia like uber

    题目链接: http://acm.fzu.edu.cn/problem.php?pid=2243 题目大意: 给一张N个点M条边的有向图,从s出发,把在x1的人送到y1,在x2的人送到y2用的最短距离 ...

  3. 【无源汇上下界最大流】SGU 194 Reactor Cooling

    题目链接: http://acm.sgu.ru/problem.php?contest=0&problem=194 题目大意: n个点(n<20000!!!不是200!!!RE了无数次) ...

  4. Linux下p2p的聊天功能实现

    Linux下p2p的聊天功能实现细节 Do one thing at a time, and do well. 今天闲着没事,写一个P2P的点对点的聊天功能的小程序,我觉得对网络编程初学者的学习很有用 ...

  5. Android按钮式进度条

    package com.example.progress.demo; import android.annotation.SuppressLint; import android.content.Co ...

  6. [基础] C++与JAVA的内存管理

    在内存管理上(总之一句话——以后C++工程,一定要用智能指针!) 1.同是new一个对象,C++一定得手动delete掉,而且得时刻记住能delete的最早时间(避免使用空指针).JAVA可以存活于作 ...

  7. 解决mysql不能远程登录的问题

    1. 改表法.可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 " ...

  8. Apache XAMPP Fails to start under Windows XP

    Apache XAMPP Fails to start under Windows XP I’ve been installing XAMPP a hundred times before since ...

  9. javascript中错误使用var造成undefined

    在javascript中依据变量作用的范围不同分为局部变量和全局变量,直接定义的变量是全局变量,全局变量能够被全部的脚本訪问:在函数中定义的变量是局部变量,局部变量仅仅在函数内有效. 假设全局变量和局 ...

  10. 利用d3.js绘制雷达图

    利用d3,js将数据可视化,能够做到数据与代码的分离.方便以后改动数据. 这次利用d3.js绘制了一个五维的雷达图.即将多个对象的五种属性在一张图上对照. 数据写入data.csv.数据类型写入typ ...