本文介绍如何在 Linux下搭建一个 PHP 环境。其中 Linux 系统使用是 CentOS 7.3,部署在阿里云服务器上。

 

1,连接登录服务器

拿到服务器的 ip、初始密码以后。我们先通过远程连接工具 putty 连接服务器主机。

2,安装Apache

(1)执行如下命令进行安装
1
yum -y install httpd

(2)开启 apache 服务

1
systemctl start httpd.service

(3)设置 apache 服务开机启动

1
systemctl enable httpd.service

(4)在本机浏览器中输入服务器的 ip 地址,可以看到如下地址则说明 Apache 安装启动成功了。

3,安装MySQL(MariaDB)

centos7 内置的 MySQL 镜像已经放弃 Oracle 公司的 MySQL,改用 MySQL 的分支数据库 mariaDB。
 
(1)执行如下命令进行安装
1
yum -y install mariadb-service mariadb

(2)开启 MySQL 服务

1
systemctl start mariadb.service

如果启动失败,可以运行如下命令查看 mariadb 的依赖情况:

1
sudo yum search mariadb

比如执行后会看到如下结果:

根据上面信息安装缺少的依赖包。安装完毕后就可以成功启动 mariadb 了。
1
yum install mariadb-bench mariadb-devel mariadb-embedded mariadb-libs mariadb mariadb-server

(3)设置开机启动 MySQL 服务

1
systemctl enable mariadb.service

(4)设置 root 帐户的密码(默认是空)

1
mysql_secure_installation

(5)一切设置完毕后,可以使用如下命令验证下。

1
mysql -uroot -p

4,安装PHP

(1)执行如下命令进行安装
1
yum -y install php

(2)安装 PHP 的 MySQL 扩展

1
yum -y install php-mysql

(3)按照其他常用的 PHP 模块

1
yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel php-imap

(4)使用 vi /etc/php.ini 命令编辑 php.ini 文件,将 short_open_tag 成 ON 开启短标签功能。

1
short_open_tag = ON

(5)重启 apache 服务

1
systemctl restart httpd.service

(6)我们使用 vi 命令新建个 php 页面测试一下

1
vi /var/www/html/info.php

文件内容如下:

1
<?php phpinfo(); ?>

保存完毕后,使用浏览器访问这个 /info.php 页面,我们看到如下 PHP 信息,则说明 LAMP 环境已经部署成功了。

5,安装FTP

(1)执行如下命令进行安装
1
yum -y install vsftpd

(2)使用如下命令增加账户,其中 /var/www/html 是我们的 ftp 目录,ftpadmin 为 ftp 用户名。

1
useradd -d /var/www/html -s /sbin/nologin ftpadmin

(3)给 ftpadmin 这个用户设置密码

1
passwd ftpadmin

(4)给 ftp 目录修改权限,否则无法上传文件

1
chmod o+w /var/www/html/

(5)为安全起见,我们还需要使用 vi 命令编辑 vsftpd 的配置文件。

1
vi /etc/vsftpd/vsftpd.conf

修改如下内容:禁止匿名用户登录,不可以让 ftp 用户跳出自己的家目录(前两项修改,最后一项新增)

1
2
3
anonymous_enable=NO
chroot_local_user=YES
allow_writeable_chroot=YES

(5)启动 vsftpd 服务。启动完毕后我们就可以使用 FTP 工具来连接了。

1
systemctl start vsftpd

(6)设置开机自动启动 FTP 服务

1
systemctl enable vsftpd

PHP - CentOS下开发运行环境搭建(Apache+PHP+MySQL+FTP)的更多相关文章

  1. CentOS下Hadoop运行环境搭建

    1.安装ssh免密登录 命令:ssh-keygen overwrite(覆盖写入)输入y 一路回车 将生成的密钥发送到本机地址 ssh-copy-id localhost (若报错命令无法找到则需要安 ...

  2. 【nginx,apache】thinkphp ,laravel,yii2开发运行环境搭建

    缘由 经常会有人问xx框架怎么配置运行环境,这里我就给贴出吉祥三宝(Yii2,Laravel5,Thinkphp5 )的Nginx和Apache的配置,供大家参考 Nginx Yii2 server  ...

  3. CentOS下Web服务器环境搭建LNMP一键安装包

    CentOS下Web服务器环境搭建LNMP一键安装包 时间:2014-09-04 00:50来源:osyunwei.com 作者:osyunwei.com 举报 点击:3797次 最新版本:lnmp- ...

  4. .net core 2.0学习笔记(一):开发运行环境搭建

    期待已久的.net core 2.0终于发布了!大家等的花儿都谢了. 不过比预期提前了一个多月,这在微软历史上还真的不多见.按照历史经验看,2.0版本应该比较靠谱,我猜这也是社区非常火爆的原因吧.下面 ...

  5. net core 2.0学习笔记(一):开发运行环境搭建 (转)

    期待已久的.net core 2.0终于发布了!大家等的花儿都谢了. 不过比预期提前了一个多月,这在微软历史上还真的不多见.按照历史经验看,2.0版本应该比较靠谱,我猜这也是社区非常火爆的原因吧.下面 ...

  6. CentOS下JAVA WEB 环境搭建

    首先介绍下我的软件环境.虚拟机Vmware9.0(已经汉化),CentOS6.4(选择安装语言为简体中文),xshell4.0(强大的安全终端模拟软件),xftp4.0(FTP工具). 方便大家环境搭 ...

  7. centos下的lnmp环境搭建

    1.配置centos的第三方yum源,因为原始的yum是无法安装nginx的 wget http://www.atomicorp.com/installers/atomic  下载atomic yum ...

  8. php学习笔记1--开发环境搭建:apache+php+mysql

    php开发环境搭建:apache + php + mysql1.下载apache,php及mysql安装包2.安装apache:下载的apache若是.msi可直接双击,按指示一步一步安装:(若操作系 ...

  9. lamp环境搭建(apache安装,mysql安装,php安装)

    1.卸载系统内置的LAMP环境 1)卸载httpd服务(内置Apache) ① 使用rpm指令查询安装的httpd服务 ② 卸载httpd服务 如果出现以上提示,代表系统默认不允许我们卸载软件,使用强 ...

随机推荐

  1. Js 百分比进度条

    [构想] CSS3 + JS CSS3控制进度 利用CSS3中的 @keyframes JS实现百分比 根据CSS来调整,时间 [页面代码] 第一种: 默认直接进入就是下载 CSS代码 body { ...

  2. python 解释器交互模块 -- sys

    sys模块是与python解释器交互的一个接口 sys.argv 命令行参数List,第一个元素是程序本身路径 sys.getdefaultencoding(): 获取系统当前编码,一般默认为asci ...

  3. 2015 HIAST Collegiate Programming Contest H

    A sequence of positive and non-zero integers called palindromic if it can be read the same forward a ...

  4. 自学工业控制网络之路1.6-典型的现场总线介绍Interbus

    返回 自学工业控制网络之路 自学工业控制网络之路1.6-典型的现场总线介绍Interbus 1987年正式公布,其主要技术开发者为德国的PhoenixContact公司.1996年,INTERBUS成 ...

  5. if语句实例

    if 单分支#!/bin/bashRATE=`df -hT | grep "/boot" | awk '{print $6}' | cut -d "%" -f1 ...

  6. pandas merge

    merge pandas的merge方法提供了一种类似于SQL的内存链接操作,官网文档提到它的性能会比其他开源语言的数据操作(例如R)要高效. merge的参数 on:列名,join用来对齐的那一列的 ...

  7. 简单认识python(一)

    最近本宝宝被一部小说迷的神魂颠倒的,在网络上四处找免费的小说资源,一直哭唧唧的等待着每天更新的一章.实在是太可怜了,本宝宝决定自己学python,自己抓包小说. 既然知道目的地了,那就和本宝宝一起打怪 ...

  8. vue实现添加与删除图书

    先放大图,当我们点击删除的时候,图书名单就会被我们删掉.当我们重新添加回来或者添加新书的时候,我们只需要在添加新书这里添加即可. 当我点击删除的时候,只需要的就是除却删除的那一个书籍之后剩下的图书. ...

  9. js中this的总结

    http://www.blogjava.net/baoyaer/articles/105864.html 在面向对象编程语言中,对于this关键字我们是非常熟悉的.比如C++.C#和Java等都提供了 ...

  10. Shell脚本编写及常见面试题

      注意事项 1)开头加解释器:#!/bin/bash 2)语法缩进,使用四个空格:多加注释说明. 3)命名建议规则:变量名大写.局部变量小写,函数名小写,名字体现出实际作用. 4)默认变量是全局的, ...