本文介绍如何在 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. BZOJ3160 万径人踪灭(FFT+manacher)

    容易想到先统计回文串数量,这样就去掉了不连续的限制,变为统计回文序列数量. 显然以某个位置为对称轴的回文序列数量就是2其两边(包括自身)对称相等的位置数量-1.对称有啥性质?位置和相等.这不就是卷积嘛 ...

  2. BZOJ2671 Calc(莫比乌斯反演)

    两个多月之前写的题,今天因为看到一道非常相似的题就翻出来了,发现完全不会,没救. 感觉这个题其实第一步是最难想到的,也是最重要的. 设d=gcd(a,b).那么a=yd,b=xd,且gcd(x,y)= ...

  3. 04 自学Aruba之定制AC的protal认证登陆页面

    点击返回:自学Aruba之路 04 自学Aruba之定制AC的protal认证登陆页面 方法一: 使用Aruba控制器中内置的网页界面 Configuration下MANAGEMENT>Capt ...

  4. poco

    源码安装: 1, ./configure --omit=Data/MySQL,Data/ODBC,Zip,Crypto,NetSSL_OpenSSL     --no-samples  --no-te ...

  5. MATLAB:图像裁切(imcrop函数)

    对图像进行裁切可用imcrop函数,实现过程如下: close all; %关闭当前所有图形窗口,清空工作空间变量,清除工作空间所有变量 clear all; clc; [A,map]=imread( ...

  6. servlet3.0获取参数与文件上传代码示例

    转: servlet3.0获取参数与文件上传代码示例 2018年08月26日 20:25:35 苏凯勇往直前 阅读数:98   package com.igeek.servlet;   import ...

  7. laravel 模型事件 updated 触发条件

    1. 只有 $sku->{attribute} != $sku->getOriginal({attribute}) 不一致的时候才会触发 getDirty() 不为空的时候才触发, 而且不 ...

  8. 爬虫处理网站的bug---小于号未转化为实体符

    1.发现BUG 爬取 chinadrugtrials 详情页的公示的试验信息时候, 发现程序在某些地方跑断掉了,如下: 经排查发现,原来这是网页的bug-----极少数详情页面的某些文字中的小于号,未 ...

  9. request请求地址

    1.String contextPath = httpServletRequest.getServletContext().getContextPath(); /项目名称 2.String conte ...

  10. P1169 [ZJOI2007]棋盘制作 && 悬线法

    P1169 [ZJOI2007]棋盘制作 给出一个 \(N * M\) 的 \(01\) 矩阵, 求最大的正方形和最大的矩形交错子矩阵 \(n , m \leq 2000\) 悬线法 悬线法可以求出给 ...