本文介绍如何在 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. MessageBox函数第一个参数hwnd的作用

    MessageBox 函数用于创建.显示并操作一个消息对话框.该对话框包含由调用程序定义的信息和标题,以及预先定义的图标和按钮. 这个方法的第一个参数hWnd,代表消息框拥有的窗口.这个参数到底有什么 ...

  2. day12-13 文件操作b模式

    为什么需要用到二进制的形式?我们默认的r w a 其实是rt wt at 即txt模式如果是图片,视频,音频,是无法用txt打开的,只能用b模式处理 b 模式是以字节形式打开 f = open(&qu ...

  3. 沉迷Link-Cut tree无法自拔之:[BZOJ2594][Wc2006]水管局长数据加强版

    来自蒟蒻 \(Hero \_of \_Someone\) 的 \(LCT\) 学习笔记 $ $ 这应该算是道套路题吧, 如果将图中的边转换成点, 再将边权变点权, 就可以用 \(LCT\) 来维护了 ...

  4. [HNOI2010] 城市建设_动态最小生成树(Dynamic_MST)

    这个题...暴力单次修改\(O(n)\),爆炸... $ $ 不过好在可以离线做 如果可以在 分治询问 的时候把图缩小的话就可以做了 硬着头皮把这个骚东西看完了 $ $ 动态最小生成树 然后,就把它当 ...

  5. BZOJ 4785 [Zjoi2017]树状数组 | 二维线段树

    题目链接 BZOJ 4785 题解 这道题真是令人头秃 = = 可以看出题面中的九条可怜把求前缀和写成了求后缀和,然后他求的区间和却仍然是sum[r] ^ sum[l - 1],实际上求的是闭区间[l ...

  6. C# 推箱子游戏&对战游戏

    推箱子游戏提纲,只有向右向上的操作,向左向下同理,后期需完善. namespace 推箱子 { class Program { static void Main(string[] args) { // ...

  7. 【codevs4829】数字三角形++

    题目大意:给定一个数字三角形,求从 (1,1) 到第 N 行的路径经过的权值之和加上该路径上任意一个点的权值之和的最大值. 题解:任意加一条路径上的某个值,可以看成是多了一次选择的权利,即:在每次经过 ...

  8. LR和SVM的区别

    一.相同点 第一,LR和SVM都是分类算法(SVM也可以用与回归) 第二,如果不考虑核函数,LR和SVM都是线性分类算法,也就是说他们的分类决策面都是线性的. 这里要先说明一点,那就是LR也是可以用核 ...

  9. nginx安装ngx_lua_waf防护

    ngx_lua_waf基于ngx_lua的web应用防火墙,使用起来简单,高性能和轻量级. ♦防止sql注入,本地包含,部分溢出,fuzzing测试,xss,SSRF等web攻击♦防止svn/备份之类 ...

  10. js的模块化

    模块化的好处 以前我们平常写js,需要引用大量大js文件,还得注意先后顺序,因为是一层一层依赖的关系.很是麻烦,现在有了模块化,我们只需要知道,我们要实现这个功能需要哪一个js文件就ok,其他的不需要 ...