本文介绍如何在 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. ZOJ1363 Chocolate 【生成函数】 【泰勒展开】

    题目大意: 有c种不同的巧克力,每种无限个,意味着取出每种的几率每次为1/c.现在你需要取n次.然后将统计每种取出来的巧克力的数量.若为偶数则舍去,否则留下一个.问最后留下m个的概率是多少. 题目分析 ...

  2. MT【215】集合中元素个数

    设$M=\{1,2,3\cdots,2010\}$,$A$是$M$的子集且满足条件:当$x\in A$时$15x\notin A$,则$A$中的元素的个数最多是______ 分析:由于$x,15x,( ...

  3. 【BZOJ2671】Calc(莫比乌斯反演)

    [BZOJ2671]Calc 题面 BZOJ 给出N,统计满足下面条件的数对(a,b)的个数: 1.\(1\le a\lt b\le N\) 2.\(a+b\)整除\(a*b\) 我竟然粘了题面!!! ...

  4. luogu4185 [USACO18JAN]MooTube (并查集)

    类似于NOI2018d1t1的离线做法,把询问存下来,排个序,然后倒着给并查集加边,每次询问并查集联通块大小 #include<bits/stdc++.h> #define ll long ...

  5. Mysql distinct、group by

    具体业务场景:根据某些字段组合去重得到所有字段结果. 遇到的error:sql_mode=only_full_group_by. 原因是mysql配置问题. distinct: distinct这个关 ...

  6. 教程] 《开源框架-Afinal》之FinalHttp 01一步一脚

    1.FinalHttp是什么 :FinalHttp 对 HttpClient再次封装,最简洁的就是增加了许多回调的方法,对Get 和 Post 请求进行了简化.另外一点就是FinalHttp加入线程池 ...

  7. UVA 10480 Sabotage (网络流,最大流,最小割)

    UVA 10480 Sabotage (网络流,最大流,最小割) Description The regime of a small but wealthy dictatorship has been ...

  8. A1077. Kuchiguse

    The Japanese language is notorious for its sentence ending particles. Personal preference of such pa ...

  9. C++中的STL中map用法详解

    Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据 处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时 ...

  10. asp(utf-8) set cookie 用 javascript 读cookie发现一个问题

    asp: <%setCookie("user_id","test")%>   //传一个cookie ,名: user_id 值:test java ...